Changelog
Eagle Plugin API changelog, documenting all important feature changes since the first Plugin API version.
August 21, 2025
💻 App API Enhancement
New Feature: app.userDataPath Property (Eagle 4.0 build12+)
Added
app.userDataPathproperty, returns the path to the current user data directoryProvides quick access to Eagle's user data storage location
console.log(eagle.app.userDataPath);
// "C:\Users\User\AppData\Roaming\Eagle"August 19, 2025
📁 Folder API Enhancements
New Feature: Folder parent Property Modifiable (Eagle 4.0 build12+)
Added
folder.parentproperty modification support, allowing dynamic adjustment of folder hierarchySupport for moving folders to different parent directories or root directory
// Move to another parent folder
folder.parent = 'parent_folder_id';
await folder.save();
// Move to root directory
folder.parent = null;
await folder.save();New Feature: Folder iconColor Property Modifiable (Eagle 4.0 build12+)
Changed
folder.iconColorproperty from read-only to modifiableAdded
eagle.folder.IconColorstatic constant object, providing predefined color optionsSupported colors: Red, Orange, Yellow, Green, Aqua, Blue, Purple, Pink
folder.iconColor = eagle.folder.IconColor.Blue;
await folder.save();August 13, 2025
🏷️ Tag API Feature Expansion
New Feature: Tag Filtering and Tag Class Enhancement
eagle.tag.get()method addednameparameter, supporting fuzzy search by tag nameTag instance added
save()method, supporting tag name modificationAdded Tag instance properties:
name(modifiable),count,color,groups,pinyin
// Filter tags
const filteredTags = await eagle.tag.get({ name: "design" });
// Modify tag name
tag.name = 'new-name';
await tag.save();⚠️ Note: Modifying tag names will automatically update all files using that tag
August 5, 2025
📄 Item API Performance and Selection Enhancements
New Feature: Performance Optimization
eagle.item.get()addedfieldsparameter, supporting selective field return for significant query performance improvementAdded
eagle.item.getIdsWithModifiedAt()method, optimized for incremental synchronizationAdded
modifiedAtproperty, recording file last modification time
// Return only needed fields
let items = await eagle.item.get({
tags: ["Design"],
fields: ["id", "name", "tags", "modifiedAt"]
});
// Efficient incremental sync
let fileInfo = await eagle.item.getIdsWithModifiedAt();New Feature: Counting and Selection Methods
Added
eagle.item.count(options)- conditional countingAdded
eagle.item.countAll()- total file countAdded
eagle.item.countSelected()- selected file countAdded
eagle.item.select(itemIds)- programmatic file selection
let count = await eagle.item.count({ isSelected: true });
await eagle.item.select(['ITEM_ID_1', 'ITEM_ID_2']);Enhanced Feature: open() Method
eagle.item.open()addedwindowoption, supporting opening files in new window
await eagle.item.open('item_id', { window: true });July 31, 2025
🪟 Window API Expansion
New Feature: Window Geometry Control
Added
eagle.window.getSize()- get window sizeAdded
eagle.window.setBounds(bounds)- set window bounds (position + size)Added
eagle.window.getBounds()- get window bounds information
await eagle.window.getSize();
await eagle.window.setBounds({ x: 440, y: 225, width: 800, height: 600 });
await eagle.window.getBounds();November 28, 2024
🏷️ TagGroup CRUD Operations
New Feature: Complete Tag Group Management
Added
eagle.tagGroup.create(options)- create new tag groupAdded
tagGroup.save()- save modificationsAdded
tagGroup.remove()- delete tag group
// Create tag group
await eagle.tagGroup.create({
name: "new group",
color: "red",
tags: ["tag1", "tag2"]
});
// Modify and save
tagGroup.name = "new name";
await tagGroup.save();
// Delete group
await tagGroup.remove();🗑️ Item Deletion Feature
New Feature: File Trash Operations
Added
item.moveToTrash()instance method, moving files to system trash
let item = await eagle.item.getById('item_id');
await item.moveToTrash();July 25, 2024
🪟 Window API Enhancement
New Feature: HTTP Referer Setting
Added
eagle.window.setReferer(url)method, setting referer header for subsequent network requests
eagle.window.setReferer("https://example.com");May 10, 2024
🖱️ Context Menu API
New Feature: Custom Context Menu
Added
eagle.contextMenu.open()method, supporting custom context menusSupport for multi-level submenus, custom click events, system native styling
eagle.contextMenu.open([
{
id: "edit",
label: "Edit",
submenu: [...],
click: () => { ... }
}
]);🪟 Window API Screenshot Feature
New Feature: Page Screenshot
Added
eagle.window.capturePage(rect)method, supporting full page or specified area screenshotsReturns NativeImage object, convertible to base64 or PNG buffer
// Full page screenshot
const image = await eagle.window.capturePage();
// Specified area screenshot
const image2 = await eagle.window.capturePage({
x: 0, y: 0, width: 100, height: 50
});April 17, 2024
🔍 Preview Plugin Feature Enhancement
New Feature: Zoom Control Parameter
Preview plugin configuration added
allowZoomparameter, controlling whether users can zoom preview content
"thumbnail": {
"path": "thumbnail/icns.js",
"size": 400,
"allowZoom": false
}Last updated