Changelog

v2.4.0

2026-05-05

New

  • Added Add executable permission to the built-in script - add chmod +x to the selected file, suitable for command line tools or scripts downloaded from compressed packages/online

Improvements

  • The built-in scripts “Remove Quarantine Flag” and “Repair App Signature” now run with normal user rights (no longer need to enter the administrator password for the first time), and support Multi-select batch operations
  • Fix app signature” is no longer only displayed for .app - any codesign applicable object such as .dylib / .framework / command line binary can be used
  • The “Copy Path” built-in function uses shell safe format (single quoted package path + space separated), consistent with macOS Finder option-cmd-C. Pasting into Terminal can now be used directly as a command line parameter (paths containing spaces are no longer broken); pasting into a plain text context will add quotation marks but does not affect the content

Bug fixes

  • Fixed the problem that commands such as pbcopy / osascript to control GUI App in the script menu (custom shell/python/applescript, etc.) failed silently - the previous command was “successful” but did not actually write to the clipboard/control the App. Now the user’s clipboard and GUI session can be accessed normally
  • Fixed an issue where the cursor would jump to the end when deleting characters in the middle when editing script content in the menu editor.
  • Fixed the issue where the Dock icon remains and does not disappear after closing the script error dialog box (such as IPA installation failure prompt)
  • Fixed the issue where double-clicking the .app icon did not respond after the main window was closed - the main window will now be reopened

Upgrade instructions

  • The menu library templates of the two built-in scripts “Remove Quarantine Flag” and “Fix App Signature” have been upgraded to the new version, but old menu items that have been dragged to the right-click menu will not be automatically synchronized - If you want to use the new version, please delete them in the menu editor and then re-drag them from the menu library.
  • Add executable permission” is a new built-in script. After upgrading, old users will not automatically add it to the right-click menu** (to avoid disturbing the configured menu); it can be seen under “Menu Library → Script” on the left side of the menu editor. Drag it to the right-click menu as needed to take effect.
  • “Copy path” format changed from newline-delimited to shell-quoted - if your previous workflow relied on splitting clipboard content by line (such as pbpaste | while read line), the script needs to be adjusted accordingly

Feedback and communication

If you encounter problems or want to communicate, please contact:

  • Customer service QQ: 102378237
  • QQ communication group: 1097016301
  • Support email: support@byteage.com

v2.3.0

2026-04-20

Bug fixes

  • Fixed the issue where two error dialog boxes were accidentally displayed after the execution of some plug-ins.
  • Fixed the issue where the Lua error dialog box pops up after some plug-ins are executed (affecting plug-ins such as IPA installer)
  • Fixed the issue where button text such as “Cancel”, “OK”, “Select” and “Unnamed Folder” are displayed in English under the Chinese system
  • Plug-in engine version upgraded to 1.3.0
  • app.crypto added HMAC-SHA1, PBKDF2, ECDSA signature/verification, HTML entity codec, Base64URL codec
  • app.network added resolve (DNS resolution) and ping (connectivity test)
  • app.system added deviceModel, isLoginItem, setLoginItem
  • app.system adds new PII hardware identifiers serialNumber / hardwareUUID / diskSerial, which requires hardware_id permission. An authorization window will pop up for first time use.
  • app.window.element adds new sub-namespaces: tree / find / click / value / setValue, supporting AX element-level automation
  • A new read-only constant table app.errors (INVALID_ARGUMENT / OPERATION_FAILED / PERMISSION_DENIED / SYSTEM_PERMISSION_NOT_GRANTED) is added on the Lua side, which can replace the hard-coded string match err.code
  • Added L2 permission: login_item (modify startup items)
  • Fixed the problem that app.plugin.name() / app.plugin.version() / app.plugin.author() always returns nil (the plug-in name in the log will be displayed correctly instead of “Unnamed Plugin”)
  • Fixed the issue where app.api.since(path) returns "1.0.0" instead of nil for non-existing APIs (nil means “API does not exist” and is clearly distinguished from “API introduced in 1.0.0”)

Upgrade instructions

  • After the update, it is recommended to go to the plug-in management to check for plug-in updates. Some plug-ins that have been adapted to the 1.3.0 API can bring more capabilities.
  • Old plug-ins (minEngineVersion ≤ 1.2.0) do not need to be modified and are fully backward compatible

v2.2.0

2026-04-17

Plug-in capability extension

  • Plug-ins can now manage Bluetooth devices, control windows, obtain location information, and query audio devices
  • The plug-in can monitor system events: Bluetooth device connection/disconnection, screen configuration changes, location updates, etc.
  • Added APK installer plug-in

Plug-in management optimization

  • Redesigned the plug-in list, the name and description are displayed in two lines, and the function of each plug-in can be seen clearly at a glance
  • Plug-ins that are incompatible with the current version will be clearly prompted, and you will find that they cannot be used until you no longer install them.
  • The information on the plug-in details page is arranged more clearly, and the permission management function is added
  • Sensitive permissions (such as keyboard simulation, location acquisition) will pop up to confirm when used for the first time, and can be managed at any time on the details page

Bug fixes

-Fixed the problem of application becoming unresponsive after script execution failed. - Fixed the problem that built-in operations such as copying paths, cutting files, and creating new folders are not available - Fixed the issue that the environment variables in the preferences were not saved after the window was closed after being modified. -Fixed the problem of repeated plug-in permission pop-up windows in some scenarios - Fixed multiple potential issues affecting stability

Upgrade instructions

  • After updating, please go to the plug-in management to check for plug-in updates. Some plug-ins may need to be updated to the latest version before they can be used properly.
  • When using Bluetooth, location, keyboard simulation and other functions for the first time, the system will pop up a permission request. Please authorize as needed.
  • The plug-in engine version has been upgraded to 1.2.0, adding bluetooth, window, location, and audio modules
  • All API error return values are changed from string to table {code, message}, This is a destructive change, please update the error handling logic in the plug-in
  • plugin.json adds a minEngineVersion field to declare the minimum engine version required by the plugin, and refuse to load if it is not met.
  • Added app.api / app.plugin modules to query the engine version and API capabilities at runtime

If you encounter problems or have any suggestions after the update, please join the QQ communication group (1097016301) to give feedback, and we will follow up as soon as possible.

v2.1.0

2026-04-09

Experience optimization

  • Added first-time user guide to help you quickly understand the menu editor
  • The plug-in management page has been changed to a three-panel layout, which is consistent with the menu editor style.
  • Plug-in management supports right-click menu (install/uninstall/enable/disable/update/export)
  • Added “Help → Instructions” entry to the menu bar
  • Display operation prompts when the menu tree is empty
  • Added “Diagnosis” tab in preferences (log level, open log folder)

Improved stability

  • Optimize the underlying architecture to improve the stability and response speed of plug-in execution
  • When the main program is not running, the right-click operation will automatically launch the main program without manual startup.
  • Fixed the issue of layout occasionally jumping when switching pages

Bug fixes

  • Fixed the issue where the plug-in menu is incorrectly displayed on non-target files -Fixed the problem that prompt tool is unavailable when re-signing plug-in is started
  • Fixed the problem that the new file function cannot find the template
  • Fixed the problem of incomplete display due to line wrapping of long text in the form input box
  • Fixed the search box accidentally gaining focus when the menu editor is launched
  • Fixed the issue where the selected status is out of sync when right-clicking on the plug-in list
  • Support directory extension matching (such as .app directory)

v2.0.0

2026-04-06

New menu designer

  • Visual menu editor, drag-and-drop sorting, hierarchical nesting, and multi-select batch operations
  • Built-in rich menu template library, add frequently used menu items with one click
  • Real-time editing of various settings of menu items in the property panel
  • Menu items can be displayed in the right-click menu and status bar at the same time

Plug-in system

  • Brand new Lua plug-in engine, 56+ functional interfaces
  • Online plug-in store, one-click installation, update and uninstall
  • 10+ official plug-ins: file hash verification, file locking, IPA re-signing, image conversion, smart decompression, batch renaming, etc.
  • Plug-in signature verification, safe and reliable

Built-in script

  • Added 15 practical scripts: calculating file check value, converting HEIC to JPG, converting image format, repairing application signature, cleaning .DS_Store, converting plist, formatting JSON/XML, etc.
  • Script execution supports progress display and cancellation

System compatibility

  • Full support for macOS 26
  • Finder extensions are automatically enabled, no manual settings required
  • Supports iCloud Drive, OneDrive and other cloud disk directories

Other improvements

  • Full adaptation to dark mode
  • iCloud menu configuration backup and restore
  • The prompt sound after execution can be customized
  • Overall performance optimization, menu response is faster