Releases: avanrossum/actions-releases
Releases · avanrossum/actions-releases
Actions v0.7.27-beta
What's New in v0.7.27-beta
[0.7.27-beta] - 2026-03-13
Added
- Script arguments - Script-type actions can now receive CLI arguments via a new "Script Arguments" field. Use
${{var_name}}placeholders for variable substitution. Arguments are split respecting quotes and passed directly to the script interpreter (e.g.,python3 script.py --server=${{host}} --port=${{port}}). Variables, presets, global variable imports, and auto-run variables all work for scripts just like terminal commands. - Login shell for scripts - Script-type actions now support the "Use login shell" option (previously terminal-only). When enabled, scripts run inside a login shell that sources your profile (
~/.zprofile,~/.bash_profile, etc.), making tools installed via pyenv, nvm, rbenv, conda, and custom PATH entries available to your scripts. Includes the shell selector dropdown to choose between installed shells.
Fixed
- Documentation: Variable syntax - Fixed user docs showing
{{var}}instead of the correct${{var}}syntax throughout variables.md and related pages - Documentation: Missing Shortcut type - Added Apple Shortcuts action type to action-types.md (was completely undocumented)
- Documentation: Action types page - Fixed incorrect terminal options (listed "Run as admin" which is script-only), added script options (arguments, login shell, admin, variables)
- Documentation: Settings data location - Fixed env variables filename from
env-encrypted.jsontoenv-variables.enc - Documentation: Missing features - Added Data tab (import/export), "Show output on error", "Run in login shell for scripts" to relevant help pages
- Governance: ARCHITECTURE.md - Updated Action schema (variables/shell options now terminal+script), added
scriptArgsandshowOutputOnErrorfields, fixedrunScriptsignature, removed deleteduseModalAPI.jsfrom directory tree - Governance: CLAUDE.md - Updated gotcha #9 to note login shell applies to scripts, updated utils.js description
Fixed
- Security: Path traversal in help window -
help:get-page-contentIPC handler now validates that resolved file paths stay within the docs directory, blocking../traversal attempts - Security: innerHTML XSS in help window - Replaced innerHTML with textContent/DOM API for error messages and nav section titles to prevent XSS from untrusted content
- Security: SVG path injection in popout window - Replaced innerHTML SVG construction with
document.createElementNSto prevent injection via SVG path data - Security: Debug handlers exposed in production - Crash test handlers (
crash:test,crash:test-fatal) now gated behind!app.isPackagedso they're only available in development - Security: executeJavaScript injection surface - Migrated theme and accent color application from
executeJavaScriptstring interpolation to safe IPC messaging (webContents.send) with renderer-side listeners - Stale output after empty run - Fixed bug where viewing an action's output after a run that produced no output would show stale output from a previous run. Caused by
writeActionOutputskipping empty strings (falsy check), leaving old output files on disk - Production bundle missing shared modules - Added
src/shared/**/*andsrc/shared-styles/**/*toelectron-builder.config.jsfiles array. Without these, the consolidatedscriptLanguages.jsmodule and CSS variable stylesheets were excluded from the production.asarbundle, causing runtime crashes
Changed
- Output buffer limits - Output window now enforces a 5MB buffer limit on captured output, preventing unbounded memory growth from long-running commands. Oldest output is trimmed when exceeded, with a truncation notice shown
- Shared CSS variables for all windows - Variable-input, output, and help windows now use the shared
variables.cssdesign tokens instead of hardcoded inline variables. All three windows now support light/dark theme and accent color changes in real-time - Consolidated SCRIPT_LANGUAGES - Script language definitions (extensions, interpreters, labels) extracted into shared
scriptLanguages.jsmodule, removing duplication across action-runner, ScriptEditor, and ScriptEditorApp - React performance: memoized context -
AppContextvalue is now memoized withuseMemo, preventing unnecessary re-renders of all context consumers on unrelated state changes - React performance: batched refreshData -
refreshData()now fetches all data in parallel withPromise.alland dispatches a singleREFRESH_DATAaction instead of 5 sequential dispatches
Removed
- Dead code cleanup - Removed unused
HelpTooltip.jsxfrom renderer (duplicate of the active modal-apps version), removed unuseduseModalAPIhook and its barrel export
[0.7.25-beta] - 2026-02-21
Added
- Show output on error - New "Show output on error" checkbox in action options that opens the output window only when an action fails (non-zero exit code). Output is captured silently during execution and displayed after completion. Only visible when "Show output on run" is unchecked (otherwise redundant). Works for both terminal commands and scripts, across all trigger types (UI click, hotkey, tray, schedule, popout).
[0.7.24-beta] - 2026-02-21
Added
- Pop out to floating button (Pro feature) - Turn any action into a persistent, always-on-top draggable button
- Right-click any action → "Pop Out as Floating Button" to create a compact floating trigger
- Floating buttons stay visible even when the main Actions window is hidden
- Click to run the action; respects
confirmRunsetting (two-click confirm with danger-red "Confirm?" state) - Uses last variable values silently (prompts if never run with variables)
- Draggable to any screen position; position persists across app restarts
- Close button (×) appears on hover to dismiss the popout
- Source action in main list gets a dashed accent-color border to indicate it's popped out
- Running state pulse animation on the floating button while action executes
- Theme and accent color sync — popout buttons update when you change themes
- Action name/icon/color updates reflected in real-time on popout buttons
- Restored on app launch with display validation (handles disconnected monitors)
- Replace All import closes all active floating buttons
- Gated as Pro feature via
LicenseManager.PRO_FEATURES
- Test import data - Added
test-import.jsonwith 32 actions across 6 categories covering all action types, colors, icons, variables, and features for comprehensive testing
Changed
- ActionExecutor callbacks - Added
onActionStartedandonActionDoneoptional callbacks for external notification of action lifecycle events (used by PopoutWindowManager for running state feedback) - Export messaging - Export description now clarifies that environment variables and floating button positions are not included
Fixed
- Test import validation - Fixed separator action in
test-import.jsonfailing validation due to empty name string
[0.7.23-beta] - 2025-02-20
Added
- Actions import/export (Pro feature) - New "Data" tab in Settings for backing up, restoring, and transferring action configurations
- Export All or Export Selected Categories with checkbox picker
- Selective export only includes global variables referenced by exported actions
- Import with file preview showing counts before committing
- Replace All mode overwrites existing data; Append mode adds alongside
- Append matches categories by name — imports into existing categories when names match, creates new ones only when no match exists
- Validates imported data structure and referential integrity before executing
- Smart default filenames: selective exports name the file after selected categories (e.g.,
actions-export-general-devops.json), falls back to count for 4+ categories - Strips runtime state (last run info, scheduling timestamps) from exports
- Environment variables excluded (encrypted secrets, not portable between machines)
- Gated as Pro feature via
LicenseManager.PRO_FEATURES
[0.7.22-beta] - 2025-02-17
Fixed
- Auto-update restart hang - App got stuck on "Restarting..." after downloading an update because
isRestartingForUpdateflag was never set totrue, preventing the app from fully quitting. Also added store flush and schedule cleanup before quit to prevent data loss during update restart.
[0.7.21-beta] - 2025-02-17
Fixed
- Auto-close config not forwarded - Fixed wrapper functions in main.js that swallowed the auto-close config argument, preventing the countdown from ever appearing
- Auto-close checkbox not saving - Added missing
autoCloseOutputandautoCloseOutputDelaytouseCallbackdependency array in ActionEditorApp
Documentation
- Full help documentation review — Updated all 13 help pages to reflect current features:
- Added documentation for pause auto-run, auto-close output window, success return value, shell expansion in variables
- Fixed incorrect Settings tab references (hotkeys are in Hotkeys tab, not General)
- Fixed action hotkeys description (they work in leader key mode, not globally)
- Updated Settings page with correct tab order, Always on Top option, and data backup file
- Added pause mentions to scheduling, tray menu, and leader key docs
[0.7.20-beta] - 2025-02-17
Added
- Auto-close output window on success - Output windows can auto-close after a configurable delay when the action succeeds
- Per-action setting: "Auto-close on success after X seconds" (1-60s, default 5)
- Only triggers when window was auto-opened (not when user manually re-opens to view output)
- Countdown displayed in footer: "Closing in 3s..."
- User interaction (clicking output area, scrolling) cancels the c...
Actions v0.7.25-beta
What's New in v0.7.25-beta
[0.7.25-beta] - 2026-02-21
Added
- Show output on error - New "Show output on error" checkbox in action options that opens the output window only when an action fails (non-zero exit code). Output is captured silently during execution and displayed after completion. Only visible when "Show output on run" is unchecked (otherwise redundant). Works for both terminal commands and scripts, across all trigger types (UI click, hotkey, tray, schedule, popout).
[0.7.24-beta] - 2026-02-21
Added
- Pop out to floating button (Pro feature) - Turn any action into a persistent, always-on-top draggable button
- Right-click any action → "Pop Out as Floating Button" to create a compact floating trigger
- Floating buttons stay visible even when the main Actions window is hidden
- Click to run the action; respects
confirmRunsetting (two-click confirm with danger-red "Confirm?" state) - Uses last variable values silently (prompts if never run with variables)
- Draggable to any screen position; position persists across app restarts
- Close button (×) appears on hover to dismiss the popout
- Source action in main list gets a dashed accent-color border to indicate it's popped out
- Running state pulse animation on the floating button while action executes
- Theme and accent color sync — popout buttons update when you change themes
- Action name/icon/color updates reflected in real-time on popout buttons
- Restored on app launch with display validation (handles disconnected monitors)
- Replace All import closes all active floating buttons
- Gated as Pro feature via
LicenseManager.PRO_FEATURES
- Test import data - Added
test-import.jsonwith 32 actions across 6 categories covering all action types, colors, icons, variables, and features for comprehensive testing
Changed
- ActionExecutor callbacks - Added
onActionStartedandonActionDoneoptional callbacks for external notification of action lifecycle events (used by PopoutWindowManager for running state feedback) - Export messaging - Export description now clarifies that environment variables and floating button positions are not included
Fixed
- Test import validation - Fixed separator action in
test-import.jsonfailing validation due to empty name string
[0.7.23-beta] - 2025-02-20
Added
- Actions import/export (Pro feature) - New "Data" tab in Settings for backing up, restoring, and transferring action configurations
- Export All or Export Selected Categories with checkbox picker
- Selective export only includes global variables referenced by exported actions
- Import with file preview showing counts before committing
- Replace All mode overwrites existing data; Append mode adds alongside
- Append matches categories by name — imports into existing categories when names match, creates new ones only when no match exists
- Validates imported data structure and referential integrity before executing
- Smart default filenames: selective exports name the file after selected categories (e.g.,
actions-export-general-devops.json), falls back to count for 4+ categories - Strips runtime state (last run info, scheduling timestamps) from exports
- Environment variables excluded (encrypted secrets, not portable between machines)
- Gated as Pro feature via
LicenseManager.PRO_FEATURES
[0.7.22-beta] - 2025-02-17
Fixed
- Auto-update restart hang - App got stuck on "Restarting..." after downloading an update because
isRestartingForUpdateflag was never set totrue, preventing the app from fully quitting. Also added store flush and schedule cleanup before quit to prevent data loss during update restart.
[0.7.21-beta] - 2025-02-17
Fixed
- Auto-close config not forwarded - Fixed wrapper functions in main.js that swallowed the auto-close config argument, preventing the countdown from ever appearing
- Auto-close checkbox not saving - Added missing
autoCloseOutputandautoCloseOutputDelaytouseCallbackdependency array in ActionEditorApp
Documentation
- Full help documentation review — Updated all 13 help pages to reflect current features:
- Added documentation for pause auto-run, auto-close output window, success return value, shell expansion in variables
- Fixed incorrect Settings tab references (hotkeys are in Hotkeys tab, not General)
- Fixed action hotkeys description (they work in leader key mode, not globally)
- Updated Settings page with correct tab order, Always on Top option, and data backup file
- Added pause mentions to scheduling, tray menu, and leader key docs
[0.7.20-beta] - 2025-02-17
Added
- Auto-close output window on success - Output windows can auto-close after a configurable delay when the action succeeds
- Per-action setting: "Auto-close on success after X seconds" (1-60s, default 5)
- Only triggers when window was auto-opened (not when user manually re-opens to view output)
- Countdown displayed in footer: "Closing in 3s..."
- User interaction (clicking output area, scrolling) cancels the countdown
- Re-running the action resets the auto-close state
- Pause auto-run - Temporarily pause scheduled/hotkey/tray actions without removing trigger config
- Pause/resume button visible in both normal and manage mode for actions with auto-run contexts
- Paused actions show greyed out at 50% opacity
- Paused actions skip scheduled runs, listening mode hotkeys, and tray menu clicks
- Tray menu shows paused actions as disabled with "(paused)" suffix
- Manual run still works (click Run button directly)
Changed
- Aligned action buttons - Run/Go labels now have consistent width (
min-width: 60px) so buttons align across all rows - Pause button spacer - Actions without auto-run contexts get an invisible spacer to maintain alignment
[0.7.19-beta] - 2025-02-15
Fixed
- Variables tab state bug - New global variables now appear immediately in the list after adding (previously required reopening Settings)
Changed
- Tighter category buttons - Reduced vertical padding in fast category switcher for more compact appearance
Technical
- Dead code cleanup - Removed ~1,500 lines of unused code:
- Deleted
modal-manager.js(613 lines) - entire file was never imported - Removed
runShortcut,getRunningProcess,waitForAllRunningActionsfromaction-runner.js - Simplified
window-utils.jsto only exportapplySecurityHandlers - Deleted 8 renderer components replaced by modal-apps:
OutputWindow.jsx- replaced by standalone output windowGlobalVariablesManager.jsx- replaced by Settings Variables tabCategoryManager.jsx- replaced by modal-apps/category-managerSettingsModal.jsx- replaced by modal-apps/settingsLicenseSection.jsx- only used by dead SettingsModalTerminalCommandInput.jsx- replaced by modal-apps/action-editorVariablePicker.jsx- only used by dead TerminalCommandInputUrlInput.jsx- never imported
- Removed dead state from App.jsx (
outputContent,outputActionId,outputDone,activeModal) - Removed ~70 lines of dead CSS (Output Window styles)
- Deleted
- Fixed
store.addGlobalVariable()to return the new variable's ID instead of the entire array
[0.7.18-beta] - 2025-02-15
Changed
- Independent modal windows - Settings, Action Editor, and other modal windows are now independent from the main window
- Can be moved and positioned separately from main window
- Can be screenshotted individually (no longer grouped with main window)
- Windows stay visible via
alwaysOnTopsince Actions is already always-on-top
[0.7.17-beta] - 2025-02-14
Changed
- Settings modal redesign - macOS System Preferences-style top icon bar
- Split "Settings" tab into 3 focused tabs: General, Display, Hotkeys
- 7 tabs total with icons: General, Display, Hotkeys, Variables, Env, License, About
- Moved "Global hotkey" to Hotkeys tab (consolidates all keyboard shortcuts)
- Larger window (640x520) with more spacious layout
- Renamed "Listening Mode" to "Hotkeys" for clarity
Added
- Design standards reference in CLAUDE.md pointing to external design-standards repo
[0.7.16-beta] - 2025-02-14
Added
- Click row to run - New display option to trigger actions by clicking anywhere on the row
- Toggle in Settings > Display > "Click row to run" (enabled by default)
- Full-row confirmation overlay for actions with "Confirm before run" enabled
- When enabled, the "Run" button becomes a visual label (non-interactive)
- When disabled, only the Run button triggers actions (original behavior)
[0.7.15-beta] - 2025-02-13
Security
- Window navigation protection - All windows now block navigation and window.open
will-navigatehandler prevents navigation away from app contentsetWindowOpenHandlerblocks allwindow.open()calls- Defense-in-depth against clickjacking and redirect attacks
- Dependency audit - Fixed 2 high-severity vulnerabilities (axios, @isaacs/brace-expansion)
Added
applySecurityHandlers()utility inwindow-utils.jsfor consistent security across all windows
[0.7.14-beta] - 2025-02-13
Security
- HTML sanitization - Added DOMPurify to sanitize all dynamic HTML content
- Release notes from GitHub releases are now sanitized before rendering
- Help documentation markdown is now sanitized before display
- Defense-in-depth protection against XSS even from "trusted" sources
Added
dompurifydependency for renderer-side HTML sanitizationisomorphic-dompurifydependency for main process HTML sanitization
[0.7.13-beta] - 2025-02-13
Changed
- Crash report modal now has proper dark background overlay
- "Report on GitHub" keeps modal open so user can r...
Actions v0.7.22-beta
What's New in v0.7.22-beta
[0.7.22-beta] - 2025-02-17
Fixed
- Auto-update restart hang - App got stuck on "Restarting..." after downloading an update because
isRestartingForUpdateflag was never set totrue, preventing the app from fully quitting. Also added store flush and schedule cleanup before quit to prevent data loss during update restart.
[0.7.21-beta] - 2025-02-17
Fixed
- Auto-close config not forwarded - Fixed wrapper functions in main.js that swallowed the auto-close config argument, preventing the countdown from ever appearing
- Auto-close checkbox not saving - Added missing
autoCloseOutputandautoCloseOutputDelaytouseCallbackdependency array in ActionEditorApp
Documentation
- Full help documentation review — Updated all 13 help pages to reflect current features:
- Added documentation for pause auto-run, auto-close output window, success return value, shell expansion in variables
- Fixed incorrect Settings tab references (hotkeys are in Hotkeys tab, not General)
- Fixed action hotkeys description (they work in leader key mode, not globally)
- Updated Settings page with correct tab order, Always on Top option, and data backup file
- Added pause mentions to scheduling, tray menu, and leader key docs
[0.7.20-beta] - 2025-02-17
Added
- Auto-close output window on success - Output windows can auto-close after a configurable delay when the action succeeds
- Per-action setting: "Auto-close on success after X seconds" (1-60s, default 5)
- Only triggers when window was auto-opened (not when user manually re-opens to view output)
- Countdown displayed in footer: "Closing in 3s..."
- User interaction (clicking output area, scrolling) cancels the countdown
- Re-running the action resets the auto-close state
- Pause auto-run - Temporarily pause scheduled/hotkey/tray actions without removing trigger config
- Pause/resume button visible in both normal and manage mode for actions with auto-run contexts
- Paused actions show greyed out at 50% opacity
- Paused actions skip scheduled runs, listening mode hotkeys, and tray menu clicks
- Tray menu shows paused actions as disabled with "(paused)" suffix
- Manual run still works (click Run button directly)
Changed
- Aligned action buttons - Run/Go labels now have consistent width (
min-width: 60px) so buttons align across all rows - Pause button spacer - Actions without auto-run contexts get an invisible spacer to maintain alignment
[0.7.19-beta] - 2025-02-15
Fixed
- Variables tab state bug - New global variables now appear immediately in the list after adding (previously required reopening Settings)
Changed
- Tighter category buttons - Reduced vertical padding in fast category switcher for more compact appearance
Technical
- Dead code cleanup - Removed ~1,500 lines of unused code:
- Deleted
modal-manager.js(613 lines) - entire file was never imported - Removed
runShortcut,getRunningProcess,waitForAllRunningActionsfromaction-runner.js - Simplified
window-utils.jsto only exportapplySecurityHandlers - Deleted 8 renderer components replaced by modal-apps:
OutputWindow.jsx- replaced by standalone output windowGlobalVariablesManager.jsx- replaced by Settings Variables tabCategoryManager.jsx- replaced by modal-apps/category-managerSettingsModal.jsx- replaced by modal-apps/settingsLicenseSection.jsx- only used by dead SettingsModalTerminalCommandInput.jsx- replaced by modal-apps/action-editorVariablePicker.jsx- only used by dead TerminalCommandInputUrlInput.jsx- never imported
- Removed dead state from App.jsx (
outputContent,outputActionId,outputDone,activeModal) - Removed ~70 lines of dead CSS (Output Window styles)
- Deleted
- Fixed
store.addGlobalVariable()to return the new variable's ID instead of the entire array
[0.7.18-beta] - 2025-02-15
Changed
- Independent modal windows - Settings, Action Editor, and other modal windows are now independent from the main window
- Can be moved and positioned separately from main window
- Can be screenshotted individually (no longer grouped with main window)
- Windows stay visible via
alwaysOnTopsince Actions is already always-on-top
[0.7.17-beta] - 2025-02-14
Changed
- Settings modal redesign - macOS System Preferences-style top icon bar
- Split "Settings" tab into 3 focused tabs: General, Display, Hotkeys
- 7 tabs total with icons: General, Display, Hotkeys, Variables, Env, License, About
- Moved "Global hotkey" to Hotkeys tab (consolidates all keyboard shortcuts)
- Larger window (640x520) with more spacious layout
- Renamed "Listening Mode" to "Hotkeys" for clarity
Added
- Design standards reference in CLAUDE.md pointing to external design-standards repo
[0.7.16-beta] - 2025-02-14
Added
- Click row to run - New display option to trigger actions by clicking anywhere on the row
- Toggle in Settings > Display > "Click row to run" (enabled by default)
- Full-row confirmation overlay for actions with "Confirm before run" enabled
- When enabled, the "Run" button becomes a visual label (non-interactive)
- When disabled, only the Run button triggers actions (original behavior)
[0.7.15-beta] - 2025-02-13
Security
- Window navigation protection - All windows now block navigation and window.open
will-navigatehandler prevents navigation away from app contentsetWindowOpenHandlerblocks allwindow.open()calls- Defense-in-depth against clickjacking and redirect attacks
- Dependency audit - Fixed 2 high-severity vulnerabilities (axios, @isaacs/brace-expansion)
Added
applySecurityHandlers()utility inwindow-utils.jsfor consistent security across all windows
[0.7.14-beta] - 2025-02-13
Security
- HTML sanitization - Added DOMPurify to sanitize all dynamic HTML content
- Release notes from GitHub releases are now sanitized before rendering
- Help documentation markdown is now sanitized before display
- Defense-in-depth protection against XSS even from "trusted" sources
Added
dompurifydependency for renderer-side HTML sanitizationisomorphic-dompurifydependency for main process HTML sanitization
[0.7.13-beta] - 2025-02-13
Changed
- Crash report modal now has proper dark background overlay
- "Report on GitHub" keeps modal open so user can review details before dismissing
Added
- Dev testing:
crashTestFatal()function to simulate full crash recovery flow with restart
[0.7.12-beta] - 2025-02-13
Added
- Local crash reporting - Privacy-focused crash recovery system
- Crashes logged locally to
~/Library/Application Support/Actions/crash.log - No automatic telemetry - user controls what's shared
- Path sanitization removes user directories from stack traces
- Fatal crashes trigger restart dialog and mark crash as pending
- On restart, in-app modal shows crash details with "Report on GitHub" option
- Users can review sanitized crash info before submitting
- Log rotation prevents unbounded growth (max 100KB, 50 entries)
- Crashes logged locally to
Fixed
- Help window not loading in production - Added missing
src/help-windowandresources/docsto build config - "Use login shell" option now disabled when "Open in Terminal" is selected (terminal handles its own shell)
[0.7.11-beta] - 2025-02-13
Fixed
- Help window now shows error messages instead of blank screen when loading fails (aids debugging)
[0.7.10-beta] - 2025-02-13
Added
- Drag-and-drop file paths - Drag files/folders from Finder onto the command textarea in Action Editor to insert their paths at cursor position
- Multiple files supported (space-separated)
- Paths with spaces or special characters are automatically quoted
- Visual highlight feedback when dragging over the textarea
Fixed
- Store data protection - Added automatic backup mechanism to prevent data loss
- Creates
data.json.bakbefore each write (when meaningful data exists) - Automatically recovers from backup if main file is corrupt
- Backup location:
~/Library/Application Support/Actions/data.json.bak
- Creates
[0.7.9-beta] - 2025-02-13
Changed
- Maintenance version bump for redeployment
[0.7.8-beta] - 2025-02-13
Changed
- Tray icon click behavior swapped - Left-click now shows the menu (standard macOS pattern), right-click toggles window visibility
- Better discoverability for promoted actions in tray menu
- Power users can still quickly toggle with right-click
Fixed
- Fixed separator action type missing from Action Editor type selector
- Separator now available in compact dropdown for new actions
- Type selector visible in separator edit view (allows switching back before save)
- Fixed checkbox styling in separator editor
- Fixed "success" link not appearing for actions run from tray menu, hotkey, or schedule until manually run from app window
- UI now refreshes after any action completes, regardless of trigger source
[0.7.7-beta] - 2025-02-12
Added
- In-app help documentation - Comprehensive help system with markdown rendering
- Accessible from tray menu (Help) and Settings → About tab
- Two-panel layout: collapsible navigation sidebar + content area
- 11 documentation pages covering all features
- Images support for screenshots (bundled with app)
- Prev/Next navigation between pages
- Help window appears in Cmd+Tab (dock shown while help is open)
Changed
- Listening mode visual overhaul - Completely redesigned HUD for leader key mode
- Larger, centered HUD (340x100px) displays on ALL monitors simultaneously
- New layout: countdown ring with number, "Actions: Awaiting hotkey...", "esc to cancel"
- Smooth countdo...
Actions v0.7.21-beta
What's New in v0.7.21-beta
[0.7.21-beta] - 2025-02-17
Fixed
- Auto-close config not forwarded - Fixed wrapper functions in main.js that swallowed the auto-close config argument, preventing the countdown from ever appearing
- Auto-close checkbox not saving - Added missing
autoCloseOutputandautoCloseOutputDelaytouseCallbackdependency array in ActionEditorApp
Documentation
- Full help documentation review — Updated all 13 help pages to reflect current features:
- Added documentation for pause auto-run, auto-close output window, success return value, shell expansion in variables
- Fixed incorrect Settings tab references (hotkeys are in Hotkeys tab, not General)
- Fixed action hotkeys description (they work in leader key mode, not globally)
- Updated Settings page with correct tab order, Always on Top option, and data backup file
- Added pause mentions to scheduling, tray menu, and leader key docs
[0.7.20-beta] - 2025-02-17
Added
- Auto-close output window on success - Output windows can auto-close after a configurable delay when the action succeeds
- Per-action setting: "Auto-close on success after X seconds" (1-60s, default 5)
- Only triggers when window was auto-opened (not when user manually re-opens to view output)
- Countdown displayed in footer: "Closing in 3s..."
- User interaction (clicking output area, scrolling) cancels the countdown
- Re-running the action resets the auto-close state
- Pause auto-run - Temporarily pause scheduled/hotkey/tray actions without removing trigger config
- Pause/resume button visible in both normal and manage mode for actions with auto-run contexts
- Paused actions show greyed out at 50% opacity
- Paused actions skip scheduled runs, listening mode hotkeys, and tray menu clicks
- Tray menu shows paused actions as disabled with "(paused)" suffix
- Manual run still works (click Run button directly)
Changed
- Aligned action buttons - Run/Go labels now have consistent width (
min-width: 60px) so buttons align across all rows - Pause button spacer - Actions without auto-run contexts get an invisible spacer to maintain alignment
[0.7.19-beta] - 2025-02-15
Fixed
- Variables tab state bug - New global variables now appear immediately in the list after adding (previously required reopening Settings)
Changed
- Tighter category buttons - Reduced vertical padding in fast category switcher for more compact appearance
Technical
- Dead code cleanup - Removed ~1,500 lines of unused code:
- Deleted
modal-manager.js(613 lines) - entire file was never imported - Removed
runShortcut,getRunningProcess,waitForAllRunningActionsfromaction-runner.js - Simplified
window-utils.jsto only exportapplySecurityHandlers - Deleted 8 renderer components replaced by modal-apps:
OutputWindow.jsx- replaced by standalone output windowGlobalVariablesManager.jsx- replaced by Settings Variables tabCategoryManager.jsx- replaced by modal-apps/category-managerSettingsModal.jsx- replaced by modal-apps/settingsLicenseSection.jsx- only used by dead SettingsModalTerminalCommandInput.jsx- replaced by modal-apps/action-editorVariablePicker.jsx- only used by dead TerminalCommandInputUrlInput.jsx- never imported
- Removed dead state from App.jsx (
outputContent,outputActionId,outputDone,activeModal) - Removed ~70 lines of dead CSS (Output Window styles)
- Deleted
- Fixed
store.addGlobalVariable()to return the new variable's ID instead of the entire array
[0.7.18-beta] - 2025-02-15
Changed
- Independent modal windows - Settings, Action Editor, and other modal windows are now independent from the main window
- Can be moved and positioned separately from main window
- Can be screenshotted individually (no longer grouped with main window)
- Windows stay visible via
alwaysOnTopsince Actions is already always-on-top
[0.7.17-beta] - 2025-02-14
Changed
- Settings modal redesign - macOS System Preferences-style top icon bar
- Split "Settings" tab into 3 focused tabs: General, Display, Hotkeys
- 7 tabs total with icons: General, Display, Hotkeys, Variables, Env, License, About
- Moved "Global hotkey" to Hotkeys tab (consolidates all keyboard shortcuts)
- Larger window (640x520) with more spacious layout
- Renamed "Listening Mode" to "Hotkeys" for clarity
Added
- Design standards reference in CLAUDE.md pointing to external design-standards repo
[0.7.16-beta] - 2025-02-14
Added
- Click row to run - New display option to trigger actions by clicking anywhere on the row
- Toggle in Settings > Display > "Click row to run" (enabled by default)
- Full-row confirmation overlay for actions with "Confirm before run" enabled
- When enabled, the "Run" button becomes a visual label (non-interactive)
- When disabled, only the Run button triggers actions (original behavior)
[0.7.15-beta] - 2025-02-13
Security
- Window navigation protection - All windows now block navigation and window.open
will-navigatehandler prevents navigation away from app contentsetWindowOpenHandlerblocks allwindow.open()calls- Defense-in-depth against clickjacking and redirect attacks
- Dependency audit - Fixed 2 high-severity vulnerabilities (axios, @isaacs/brace-expansion)
Added
applySecurityHandlers()utility inwindow-utils.jsfor consistent security across all windows
[0.7.14-beta] - 2025-02-13
Security
- HTML sanitization - Added DOMPurify to sanitize all dynamic HTML content
- Release notes from GitHub releases are now sanitized before rendering
- Help documentation markdown is now sanitized before display
- Defense-in-depth protection against XSS even from "trusted" sources
Added
dompurifydependency for renderer-side HTML sanitizationisomorphic-dompurifydependency for main process HTML sanitization
[0.7.13-beta] - 2025-02-13
Changed
- Crash report modal now has proper dark background overlay
- "Report on GitHub" keeps modal open so user can review details before dismissing
Added
- Dev testing:
crashTestFatal()function to simulate full crash recovery flow with restart
[0.7.12-beta] - 2025-02-13
Added
- Local crash reporting - Privacy-focused crash recovery system
- Crashes logged locally to
~/Library/Application Support/Actions/crash.log - No automatic telemetry - user controls what's shared
- Path sanitization removes user directories from stack traces
- Fatal crashes trigger restart dialog and mark crash as pending
- On restart, in-app modal shows crash details with "Report on GitHub" option
- Users can review sanitized crash info before submitting
- Log rotation prevents unbounded growth (max 100KB, 50 entries)
- Crashes logged locally to
Fixed
- Help window not loading in production - Added missing
src/help-windowandresources/docsto build config - "Use login shell" option now disabled when "Open in Terminal" is selected (terminal handles its own shell)
[0.7.11-beta] - 2025-02-13
Fixed
- Help window now shows error messages instead of blank screen when loading fails (aids debugging)
[0.7.10-beta] - 2025-02-13
Added
- Drag-and-drop file paths - Drag files/folders from Finder onto the command textarea in Action Editor to insert their paths at cursor position
- Multiple files supported (space-separated)
- Paths with spaces or special characters are automatically quoted
- Visual highlight feedback when dragging over the textarea
Fixed
- Store data protection - Added automatic backup mechanism to prevent data loss
- Creates
data.json.bakbefore each write (when meaningful data exists) - Automatically recovers from backup if main file is corrupt
- Backup location:
~/Library/Application Support/Actions/data.json.bak
- Creates
[0.7.9-beta] - 2025-02-13
Changed
- Maintenance version bump for redeployment
[0.7.8-beta] - 2025-02-13
Changed
- Tray icon click behavior swapped - Left-click now shows the menu (standard macOS pattern), right-click toggles window visibility
- Better discoverability for promoted actions in tray menu
- Power users can still quickly toggle with right-click
Fixed
- Fixed separator action type missing from Action Editor type selector
- Separator now available in compact dropdown for new actions
- Type selector visible in separator edit view (allows switching back before save)
- Fixed checkbox styling in separator editor
- Fixed "success" link not appearing for actions run from tray menu, hotkey, or schedule until manually run from app window
- UI now refreshes after any action completes, regardless of trigger source
[0.7.7-beta] - 2025-02-12
Added
- In-app help documentation - Comprehensive help system with markdown rendering
- Accessible from tray menu (Help) and Settings → About tab
- Two-panel layout: collapsible navigation sidebar + content area
- 11 documentation pages covering all features
- Images support for screenshots (bundled with app)
- Prev/Next navigation between pages
- Help window appears in Cmd+Tab (dock shown while help is open)
Changed
- Listening mode visual overhaul - Completely redesigned HUD for leader key mode
- Larger, centered HUD (340x100px) displays on ALL monitors simultaneously
- New layout: countdown ring with number, "Actions: Awaiting hotkey...", "esc to cancel"
- Smooth countdown animation for both ring and number
- Prepared for future search mode with wider design
Fixed
- Fixed tray icon disappearing when entering listening mode
- Created proper listening mode tray icon with indicator dot
[0.7.6-beta] - 2025-02-12
Changed
- Action Editor UI revamp - Redesigned with two-column layout for...
Actions v0.7.20-beta
What's New in v0.7.20-beta
[0.7.20-beta] - 2025-02-17
Added
- Pause auto-run - Temporarily pause scheduled/hotkey/tray actions without removing trigger config
- Pause/resume button visible in both normal and manage mode for actions with auto-run contexts
- Paused actions show greyed out at 50% opacity
- Paused actions skip scheduled runs, listening mode hotkeys, and tray menu clicks
- Tray menu shows paused actions as disabled with "(paused)" suffix
- Manual run still works (click Run button directly)
Changed
- Aligned action buttons - Run/Go labels now have consistent width (
min-width: 60px) so buttons align across all rows - Pause button spacer - Actions without auto-run contexts get an invisible spacer to maintain alignment
[0.7.19-beta] - 2025-02-15
Fixed
- Variables tab state bug - New global variables now appear immediately in the list after adding (previously required reopening Settings)
Changed
- Tighter category buttons - Reduced vertical padding in fast category switcher for more compact appearance
Technical
- Dead code cleanup - Removed ~1,500 lines of unused code:
- Deleted
modal-manager.js(613 lines) - entire file was never imported - Removed
runShortcut,getRunningProcess,waitForAllRunningActionsfromaction-runner.js - Simplified
window-utils.jsto only exportapplySecurityHandlers - Deleted 8 renderer components replaced by modal-apps:
OutputWindow.jsx- replaced by standalone output windowGlobalVariablesManager.jsx- replaced by Settings Variables tabCategoryManager.jsx- replaced by modal-apps/category-managerSettingsModal.jsx- replaced by modal-apps/settingsLicenseSection.jsx- only used by dead SettingsModalTerminalCommandInput.jsx- replaced by modal-apps/action-editorVariablePicker.jsx- only used by dead TerminalCommandInputUrlInput.jsx- never imported
- Removed dead state from App.jsx (
outputContent,outputActionId,outputDone,activeModal) - Removed ~70 lines of dead CSS (Output Window styles)
- Deleted
- Fixed
store.addGlobalVariable()to return the new variable's ID instead of the entire array
[0.7.18-beta] - 2025-02-15
Changed
- Independent modal windows - Settings, Action Editor, and other modal windows are now independent from the main window
- Can be moved and positioned separately from main window
- Can be screenshotted individually (no longer grouped with main window)
- Windows stay visible via
alwaysOnTopsince Actions is already always-on-top
[0.7.17-beta] - 2025-02-14
Changed
- Settings modal redesign - macOS System Preferences-style top icon bar
- Split "Settings" tab into 3 focused tabs: General, Display, Hotkeys
- 7 tabs total with icons: General, Display, Hotkeys, Variables, Env, License, About
- Moved "Global hotkey" to Hotkeys tab (consolidates all keyboard shortcuts)
- Larger window (640x520) with more spacious layout
- Renamed "Listening Mode" to "Hotkeys" for clarity
Added
- Design standards reference in CLAUDE.md pointing to external design-standards repo
[0.7.16-beta] - 2025-02-14
Added
- Click row to run - New display option to trigger actions by clicking anywhere on the row
- Toggle in Settings > Display > "Click row to run" (enabled by default)
- Full-row confirmation overlay for actions with "Confirm before run" enabled
- When enabled, the "Run" button becomes a visual label (non-interactive)
- When disabled, only the Run button triggers actions (original behavior)
[0.7.15-beta] - 2025-02-13
Security
- Window navigation protection - All windows now block navigation and window.open
will-navigatehandler prevents navigation away from app contentsetWindowOpenHandlerblocks allwindow.open()calls- Defense-in-depth against clickjacking and redirect attacks
- Dependency audit - Fixed 2 high-severity vulnerabilities (axios, @isaacs/brace-expansion)
Added
applySecurityHandlers()utility inwindow-utils.jsfor consistent security across all windows
[0.7.14-beta] - 2025-02-13
Security
- HTML sanitization - Added DOMPurify to sanitize all dynamic HTML content
- Release notes from GitHub releases are now sanitized before rendering
- Help documentation markdown is now sanitized before display
- Defense-in-depth protection against XSS even from "trusted" sources
Added
dompurifydependency for renderer-side HTML sanitizationisomorphic-dompurifydependency for main process HTML sanitization
[0.7.13-beta] - 2025-02-13
Changed
- Crash report modal now has proper dark background overlay
- "Report on GitHub" keeps modal open so user can review details before dismissing
Added
- Dev testing:
crashTestFatal()function to simulate full crash recovery flow with restart
[0.7.12-beta] - 2025-02-13
Added
- Local crash reporting - Privacy-focused crash recovery system
- Crashes logged locally to
~/Library/Application Support/Actions/crash.log - No automatic telemetry - user controls what's shared
- Path sanitization removes user directories from stack traces
- Fatal crashes trigger restart dialog and mark crash as pending
- On restart, in-app modal shows crash details with "Report on GitHub" option
- Users can review sanitized crash info before submitting
- Log rotation prevents unbounded growth (max 100KB, 50 entries)
- Crashes logged locally to
Fixed
- Help window not loading in production - Added missing
src/help-windowandresources/docsto build config - "Use login shell" option now disabled when "Open in Terminal" is selected (terminal handles its own shell)
[0.7.11-beta] - 2025-02-13
Fixed
- Help window now shows error messages instead of blank screen when loading fails (aids debugging)
[0.7.10-beta] - 2025-02-13
Added
- Drag-and-drop file paths - Drag files/folders from Finder onto the command textarea in Action Editor to insert their paths at cursor position
- Multiple files supported (space-separated)
- Paths with spaces or special characters are automatically quoted
- Visual highlight feedback when dragging over the textarea
Fixed
- Store data protection - Added automatic backup mechanism to prevent data loss
- Creates
data.json.bakbefore each write (when meaningful data exists) - Automatically recovers from backup if main file is corrupt
- Backup location:
~/Library/Application Support/Actions/data.json.bak
- Creates
[0.7.9-beta] - 2025-02-13
Changed
- Maintenance version bump for redeployment
[0.7.8-beta] - 2025-02-13
Changed
- Tray icon click behavior swapped - Left-click now shows the menu (standard macOS pattern), right-click toggles window visibility
- Better discoverability for promoted actions in tray menu
- Power users can still quickly toggle with right-click
Fixed
- Fixed separator action type missing from Action Editor type selector
- Separator now available in compact dropdown for new actions
- Type selector visible in separator edit view (allows switching back before save)
- Fixed checkbox styling in separator editor
- Fixed "success" link not appearing for actions run from tray menu, hotkey, or schedule until manually run from app window
- UI now refreshes after any action completes, regardless of trigger source
[0.7.7-beta] - 2025-02-12
Added
- In-app help documentation - Comprehensive help system with markdown rendering
- Accessible from tray menu (Help) and Settings → About tab
- Two-panel layout: collapsible navigation sidebar + content area
- 11 documentation pages covering all features
- Images support for screenshots (bundled with app)
- Prev/Next navigation between pages
- Help window appears in Cmd+Tab (dock shown while help is open)
Changed
- Listening mode visual overhaul - Completely redesigned HUD for leader key mode
- Larger, centered HUD (340x100px) displays on ALL monitors simultaneously
- New layout: countdown ring with number, "Actions: Awaiting hotkey...", "esc to cancel"
- Smooth countdown animation for both ring and number
- Prepared for future search mode with wider design
Fixed
- Fixed tray icon disappearing when entering listening mode
- Created proper listening mode tray icon with indicator dot
[0.7.6-beta] - 2025-02-12
Changed
- Action Editor UI revamp - Redesigned with two-column layout for better organization
- Left column: Action definition (name, category, type, command/content, variables)
- Right column: Options & appearance (behavior, triggers, icon, color)
- Wider modal window (680px) to accommodate new layout
- Compact dropdown type selector saves vertical space
- Triggers grouped together (hotkey, tray menu, scheduling)
- Appearance grouped together (icon, color)
- Separator actions keep simple single-column layout
Fixed
- Fixed EPIPE crash on app shutdown by adding global uncaught exception handler
- EPIPE errors (from closed console pipes during shutdown) are now silently ignored
- Fixed output window not resetting when action re-runs while window is open
- Halt button, running status, and elapsed timer now properly reset on re-run
[0.7.5-beta] - 2025-02-12
Added
- Auto-run variables - Pre-configure variable values for auto-run contexts
- New "Auto-Run Variables" section appears in Action Editor when:
- Action has variables AND (scheduling enabled OR hotkey assigned OR tray menu enabled)
- "Set Variables for Auto-Run" button opens variable input in preset mode
- Once configured, hotkey/tray triggers use saved values without prompting
- Scheduled runs use saved values (skips with warning if not configured)
- Variables can be edited or cleared at any time
- New "Auto-Run Variables" section appears in Action Editor when:
Fixed
- Fixed EPIPE crash in ScheduleManager when app shuts d...
Actions v0.7.19-beta
What's New in v0.7.19-beta
[0.7.19-beta] - 2025-02-15
Fixed
- Variables tab state bug - New global variables now appear immediately in the list after adding (previously required reopening Settings)
Changed
- Tighter category buttons - Reduced vertical padding in fast category switcher for more compact appearance
Technical
- Dead code cleanup - Removed ~1,500 lines of unused code:
- Deleted
modal-manager.js(613 lines) - entire file was never imported - Removed
runShortcut,getRunningProcess,waitForAllRunningActionsfromaction-runner.js - Simplified
window-utils.jsto only exportapplySecurityHandlers - Deleted 8 renderer components replaced by modal-apps:
OutputWindow.jsx- replaced by standalone output windowGlobalVariablesManager.jsx- replaced by Settings Variables tabCategoryManager.jsx- replaced by modal-apps/category-managerSettingsModal.jsx- replaced by modal-apps/settingsLicenseSection.jsx- only used by dead SettingsModalTerminalCommandInput.jsx- replaced by modal-apps/action-editorVariablePicker.jsx- only used by dead TerminalCommandInputUrlInput.jsx- never imported
- Removed dead state from App.jsx (
outputContent,outputActionId,outputDone,activeModal) - Removed ~70 lines of dead CSS (Output Window styles)
- Deleted
- Fixed
store.addGlobalVariable()to return the new variable's ID instead of the entire array
[0.7.18-beta] - 2025-02-15
Changed
- Independent modal windows - Settings, Action Editor, and other modal windows are now independent from the main window
- Can be moved and positioned separately from main window
- Can be screenshotted individually (no longer grouped with main window)
- Windows stay visible via
alwaysOnTopsince Actions is already always-on-top
[0.7.17-beta] - 2025-02-14
Changed
- Settings modal redesign - macOS System Preferences-style top icon bar
- Split "Settings" tab into 3 focused tabs: General, Display, Hotkeys
- 7 tabs total with icons: General, Display, Hotkeys, Variables, Env, License, About
- Moved "Global hotkey" to Hotkeys tab (consolidates all keyboard shortcuts)
- Larger window (640x520) with more spacious layout
- Renamed "Listening Mode" to "Hotkeys" for clarity
Added
- Design standards reference in CLAUDE.md pointing to external design-standards repo
[0.7.16-beta] - 2025-02-14
Added
- Click row to run - New display option to trigger actions by clicking anywhere on the row
- Toggle in Settings > Display > "Click row to run" (enabled by default)
- Full-row confirmation overlay for actions with "Confirm before run" enabled
- When enabled, the "Run" button becomes a visual label (non-interactive)
- When disabled, only the Run button triggers actions (original behavior)
[0.7.15-beta] - 2025-02-13
Security
- Window navigation protection - All windows now block navigation and window.open
will-navigatehandler prevents navigation away from app contentsetWindowOpenHandlerblocks allwindow.open()calls- Defense-in-depth against clickjacking and redirect attacks
- Dependency audit - Fixed 2 high-severity vulnerabilities (axios, @isaacs/brace-expansion)
Added
applySecurityHandlers()utility inwindow-utils.jsfor consistent security across all windows
[0.7.14-beta] - 2025-02-13
Security
- HTML sanitization - Added DOMPurify to sanitize all dynamic HTML content
- Release notes from GitHub releases are now sanitized before rendering
- Help documentation markdown is now sanitized before display
- Defense-in-depth protection against XSS even from "trusted" sources
Added
dompurifydependency for renderer-side HTML sanitizationisomorphic-dompurifydependency for main process HTML sanitization
[0.7.13-beta] - 2025-02-13
Changed
- Crash report modal now has proper dark background overlay
- "Report on GitHub" keeps modal open so user can review details before dismissing
Added
- Dev testing:
crashTestFatal()function to simulate full crash recovery flow with restart
[0.7.12-beta] - 2025-02-13
Added
- Local crash reporting - Privacy-focused crash recovery system
- Crashes logged locally to
~/Library/Application Support/Actions/crash.log - No automatic telemetry - user controls what's shared
- Path sanitization removes user directories from stack traces
- Fatal crashes trigger restart dialog and mark crash as pending
- On restart, in-app modal shows crash details with "Report on GitHub" option
- Users can review sanitized crash info before submitting
- Log rotation prevents unbounded growth (max 100KB, 50 entries)
- Crashes logged locally to
Fixed
- Help window not loading in production - Added missing
src/help-windowandresources/docsto build config - "Use login shell" option now disabled when "Open in Terminal" is selected (terminal handles its own shell)
[0.7.11-beta] - 2025-02-13
Fixed
- Help window now shows error messages instead of blank screen when loading fails (aids debugging)
[0.7.10-beta] - 2025-02-13
Added
- Drag-and-drop file paths - Drag files/folders from Finder onto the command textarea in Action Editor to insert their paths at cursor position
- Multiple files supported (space-separated)
- Paths with spaces or special characters are automatically quoted
- Visual highlight feedback when dragging over the textarea
Fixed
- Store data protection - Added automatic backup mechanism to prevent data loss
- Creates
data.json.bakbefore each write (when meaningful data exists) - Automatically recovers from backup if main file is corrupt
- Backup location:
~/Library/Application Support/Actions/data.json.bak
- Creates
[0.7.9-beta] - 2025-02-13
Changed
- Maintenance version bump for redeployment
[0.7.8-beta] - 2025-02-13
Changed
- Tray icon click behavior swapped - Left-click now shows the menu (standard macOS pattern), right-click toggles window visibility
- Better discoverability for promoted actions in tray menu
- Power users can still quickly toggle with right-click
Fixed
- Fixed separator action type missing from Action Editor type selector
- Separator now available in compact dropdown for new actions
- Type selector visible in separator edit view (allows switching back before save)
- Fixed checkbox styling in separator editor
- Fixed "success" link not appearing for actions run from tray menu, hotkey, or schedule until manually run from app window
- UI now refreshes after any action completes, regardless of trigger source
[0.7.7-beta] - 2025-02-12
Added
- In-app help documentation - Comprehensive help system with markdown rendering
- Accessible from tray menu (Help) and Settings → About tab
- Two-panel layout: collapsible navigation sidebar + content area
- 11 documentation pages covering all features
- Images support for screenshots (bundled with app)
- Prev/Next navigation between pages
- Help window appears in Cmd+Tab (dock shown while help is open)
Changed
- Listening mode visual overhaul - Completely redesigned HUD for leader key mode
- Larger, centered HUD (340x100px) displays on ALL monitors simultaneously
- New layout: countdown ring with number, "Actions: Awaiting hotkey...", "esc to cancel"
- Smooth countdown animation for both ring and number
- Prepared for future search mode with wider design
Fixed
- Fixed tray icon disappearing when entering listening mode
- Created proper listening mode tray icon with indicator dot
[0.7.6-beta] - 2025-02-12
Changed
- Action Editor UI revamp - Redesigned with two-column layout for better organization
- Left column: Action definition (name, category, type, command/content, variables)
- Right column: Options & appearance (behavior, triggers, icon, color)
- Wider modal window (680px) to accommodate new layout
- Compact dropdown type selector saves vertical space
- Triggers grouped together (hotkey, tray menu, scheduling)
- Appearance grouped together (icon, color)
- Separator actions keep simple single-column layout
Fixed
- Fixed EPIPE crash on app shutdown by adding global uncaught exception handler
- EPIPE errors (from closed console pipes during shutdown) are now silently ignored
- Fixed output window not resetting when action re-runs while window is open
- Halt button, running status, and elapsed timer now properly reset on re-run
[0.7.5-beta] - 2025-02-12
Added
- Auto-run variables - Pre-configure variable values for auto-run contexts
- New "Auto-Run Variables" section appears in Action Editor when:
- Action has variables AND (scheduling enabled OR hotkey assigned OR tray menu enabled)
- "Set Variables for Auto-Run" button opens variable input in preset mode
- Once configured, hotkey/tray triggers use saved values without prompting
- Scheduled runs use saved values (skips with warning if not configured)
- Variables can be edited or cleared at any time
- New "Auto-Run Variables" section appears in Action Editor when:
Fixed
- Fixed EPIPE crash in ScheduleManager when app shuts down during scheduled execution
- All console logging in schedule-manager.js now wrapped in safe try-catch functions
[0.7.3-beta] - 2025-02-11
Added
- Tray menu promotion - Add actions to the menu bar icon's right-click menu
- New "Show in tray menu" checkbox in action editor (available for all action types)
- Actions grouped by category in submenus
- Separators render as disabled menu items with "── name ──" format
- Skips confirm dialog (like hotkey-triggered actions)
- Shows variable input window if action has variables
[0.7.2-beta] - 2025-02-11
Changed
- Maintenance version bump to sync version numbering
[0.7.1-beta] - 2025-02-11
Added
- Logical separators (Pro) - New action type...
Actions v0.7.16-beta
What's New in v0.7.16-beta
[0.7.16-beta] - 2025-02-14
Added
- Click row to run - New display option to trigger actions by clicking anywhere on the row
- Toggle in Settings > Display > "Click row to run" (enabled by default)
- Full-row confirmation overlay for actions with "Confirm before run" enabled
- When enabled, the "Run" button becomes a visual label (non-interactive)
- When disabled, only the Run button triggers actions (original behavior)
[0.7.15-beta] - 2025-02-13
Security
- Window navigation protection - All windows now block navigation and window.open
will-navigatehandler prevents navigation away from app contentsetWindowOpenHandlerblocks allwindow.open()calls- Defense-in-depth against clickjacking and redirect attacks
- Dependency audit - Fixed 2 high-severity vulnerabilities (axios, @isaacs/brace-expansion)
Added
applySecurityHandlers()utility inwindow-utils.jsfor consistent security across all windows
[0.7.14-beta] - 2025-02-13
Security
- HTML sanitization - Added DOMPurify to sanitize all dynamic HTML content
- Release notes from GitHub releases are now sanitized before rendering
- Help documentation markdown is now sanitized before display
- Defense-in-depth protection against XSS even from "trusted" sources
Added
dompurifydependency for renderer-side HTML sanitizationisomorphic-dompurifydependency for main process HTML sanitization
[0.7.13-beta] - 2025-02-13
Changed
- Crash report modal now has proper dark background overlay
- "Report on GitHub" keeps modal open so user can review details before dismissing
Added
- Dev testing:
crashTestFatal()function to simulate full crash recovery flow with restart
[0.7.12-beta] - 2025-02-13
Added
- Local crash reporting - Privacy-focused crash recovery system
- Crashes logged locally to
~/Library/Application Support/Actions/crash.log - No automatic telemetry - user controls what's shared
- Path sanitization removes user directories from stack traces
- Fatal crashes trigger restart dialog and mark crash as pending
- On restart, in-app modal shows crash details with "Report on GitHub" option
- Users can review sanitized crash info before submitting
- Log rotation prevents unbounded growth (max 100KB, 50 entries)
- Crashes logged locally to
Fixed
- Help window not loading in production - Added missing
src/help-windowandresources/docsto build config - "Use login shell" option now disabled when "Open in Terminal" is selected (terminal handles its own shell)
[0.7.11-beta] - 2025-02-13
Fixed
- Help window now shows error messages instead of blank screen when loading fails (aids debugging)
[0.7.10-beta] - 2025-02-13
Added
- Drag-and-drop file paths - Drag files/folders from Finder onto the command textarea in Action Editor to insert their paths at cursor position
- Multiple files supported (space-separated)
- Paths with spaces or special characters are automatically quoted
- Visual highlight feedback when dragging over the textarea
Fixed
- Store data protection - Added automatic backup mechanism to prevent data loss
- Creates
data.json.bakbefore each write (when meaningful data exists) - Automatically recovers from backup if main file is corrupt
- Backup location:
~/Library/Application Support/Actions/data.json.bak
- Creates
[0.7.9-beta] - 2025-02-13
Changed
- Maintenance version bump for redeployment
[0.7.8-beta] - 2025-02-13
Changed
- Tray icon click behavior swapped - Left-click now shows the menu (standard macOS pattern), right-click toggles window visibility
- Better discoverability for promoted actions in tray menu
- Power users can still quickly toggle with right-click
Fixed
- Fixed separator action type missing from Action Editor type selector
- Separator now available in compact dropdown for new actions
- Type selector visible in separator edit view (allows switching back before save)
- Fixed checkbox styling in separator editor
- Fixed "success" link not appearing for actions run from tray menu, hotkey, or schedule until manually run from app window
- UI now refreshes after any action completes, regardless of trigger source
[0.7.7-beta] - 2025-02-12
Added
- In-app help documentation - Comprehensive help system with markdown rendering
- Accessible from tray menu (Help) and Settings → About tab
- Two-panel layout: collapsible navigation sidebar + content area
- 11 documentation pages covering all features
- Images support for screenshots (bundled with app)
- Prev/Next navigation between pages
- Help window appears in Cmd+Tab (dock shown while help is open)
Changed
- Listening mode visual overhaul - Completely redesigned HUD for leader key mode
- Larger, centered HUD (340x100px) displays on ALL monitors simultaneously
- New layout: countdown ring with number, "Actions: Awaiting hotkey...", "esc to cancel"
- Smooth countdown animation for both ring and number
- Prepared for future search mode with wider design
Fixed
- Fixed tray icon disappearing when entering listening mode
- Created proper listening mode tray icon with indicator dot
[0.7.6-beta] - 2025-02-12
Changed
- Action Editor UI revamp - Redesigned with two-column layout for better organization
- Left column: Action definition (name, category, type, command/content, variables)
- Right column: Options & appearance (behavior, triggers, icon, color)
- Wider modal window (680px) to accommodate new layout
- Compact dropdown type selector saves vertical space
- Triggers grouped together (hotkey, tray menu, scheduling)
- Appearance grouped together (icon, color)
- Separator actions keep simple single-column layout
Fixed
- Fixed EPIPE crash on app shutdown by adding global uncaught exception handler
- EPIPE errors (from closed console pipes during shutdown) are now silently ignored
- Fixed output window not resetting when action re-runs while window is open
- Halt button, running status, and elapsed timer now properly reset on re-run
[0.7.5-beta] - 2025-02-12
Added
- Auto-run variables - Pre-configure variable values for auto-run contexts
- New "Auto-Run Variables" section appears in Action Editor when:
- Action has variables AND (scheduling enabled OR hotkey assigned OR tray menu enabled)
- "Set Variables for Auto-Run" button opens variable input in preset mode
- Once configured, hotkey/tray triggers use saved values without prompting
- Scheduled runs use saved values (skips with warning if not configured)
- Variables can be edited or cleared at any time
- New "Auto-Run Variables" section appears in Action Editor when:
Fixed
- Fixed EPIPE crash in ScheduleManager when app shuts down during scheduled execution
- All console logging in schedule-manager.js now wrapped in safe try-catch functions
[0.7.3-beta] - 2025-02-11
Added
- Tray menu promotion - Add actions to the menu bar icon's right-click menu
- New "Show in tray menu" checkbox in action editor (available for all action types)
- Actions grouped by category in submenus
- Separators render as disabled menu items with "── name ──" format
- Skips confirm dialog (like hotkey-triggered actions)
- Shows variable input window if action has variables
[0.7.2-beta] - 2025-02-11
Changed
- Maintenance version bump to sync version numbering
[0.7.1-beta] - 2025-02-11
Added
- Logical separators (Pro) - New action type for visual dividers within categories
- Thin, full-width rows that span both columns in grid layout
- Displays separator name in uppercase with muted styling
- Supports custom background colors (same color picker as actions)
- Draggable for reordering with other actions
- Pro-gated: free users see existing separators but can't create new ones
Changed
- DRY hotkey utilities - Extracted
hotkeyUtils.jswithformatHotkey,formatHotkeyCompact,hasModifiersfunctions shared across components
Fixed
- Action limit dialog - Free tier limit (10 actions/category) now shows a clear confirmation dialog instead of silently opening Settings
- Settings tab navigation - Fixed
initialTabparameter so "Upgrade" links correctly open to License tab - Grid overflow - Fixed action items getting clipped on some monitors by adding
overflow-x: hiddenandmin-width: 0to grid items
[0.7.0-beta] - 2025-02-11
Added
- Category icons - Assign icons, emojis, or text to categories using the same icon picker as actions
- Default folder icon shown when no custom icon is set
- Icons display in category manager and fast category switcher
- Fast category switcher - Horizontal scrolling bar with category buttons for quick navigation
- Shows category icons, truncated names, and background colors
- Hotkey pills displayed at top of buttons (theme-aware styling)
- Auto-hiding scroll arrows when content fits
- Toggle visibility in Settings > Display > Show Category Switcher
- Buttons stretch to uniform height when any has a hotkey
- Variable input window positioning - Now spawns above main window like other modals (fixes positioning on large monitors)
- Pro feature gates - Soft locks for premium features with "Pro" badges
- Environment variables, scheduling, and category backgrounds require license
- Graceful degradation with links to Settings for license activation
- Scheduled action execution - Run terminal commands and scripts on a schedule
- Four schedule types: Interval, Daily, Weekly, and Monthly
- Multiple schedules per action (up to 5)
- Schedule badge and "next run" indicator on action items
- In-app scheduling - runs while Actions is open (system-level scheduling via launchd planned for future release)
- Confirmation dialog automatically skipped for scheduled runs
Changed
- **DRY icon uti...
Actions v0.7.15-beta
What's New in v0.7.15-beta
[0.7.15-beta] - 2025-02-13
Security
- Window navigation protection - All windows now block navigation and window.open
will-navigatehandler prevents navigation away from app contentsetWindowOpenHandlerblocks allwindow.open()calls- Defense-in-depth against clickjacking and redirect attacks
- Dependency audit - Fixed 2 high-severity vulnerabilities (axios, @isaacs/brace-expansion)
Added
applySecurityHandlers()utility inwindow-utils.jsfor consistent security across all windows
[0.7.14-beta] - 2025-02-13
Security
- HTML sanitization - Added DOMPurify to sanitize all dynamic HTML content
- Release notes from GitHub releases are now sanitized before rendering
- Help documentation markdown is now sanitized before display
- Defense-in-depth protection against XSS even from "trusted" sources
Added
dompurifydependency for renderer-side HTML sanitizationisomorphic-dompurifydependency for main process HTML sanitization
[0.7.13-beta] - 2025-02-13
Changed
- Crash report modal now has proper dark background overlay
- "Report on GitHub" keeps modal open so user can review details before dismissing
Added
- Dev testing:
crashTestFatal()function to simulate full crash recovery flow with restart
[0.7.12-beta] - 2025-02-13
Added
- Local crash reporting - Privacy-focused crash recovery system
- Crashes logged locally to
~/Library/Application Support/Actions/crash.log - No automatic telemetry - user controls what's shared
- Path sanitization removes user directories from stack traces
- Fatal crashes trigger restart dialog and mark crash as pending
- On restart, in-app modal shows crash details with "Report on GitHub" option
- Users can review sanitized crash info before submitting
- Log rotation prevents unbounded growth (max 100KB, 50 entries)
- Crashes logged locally to
Fixed
- Help window not loading in production - Added missing
src/help-windowandresources/docsto build config - "Use login shell" option now disabled when "Open in Terminal" is selected (terminal handles its own shell)
[0.7.11-beta] - 2025-02-13
Fixed
- Help window now shows error messages instead of blank screen when loading fails (aids debugging)
[0.7.10-beta] - 2025-02-13
Added
- Drag-and-drop file paths - Drag files/folders from Finder onto the command textarea in Action Editor to insert their paths at cursor position
- Multiple files supported (space-separated)
- Paths with spaces or special characters are automatically quoted
- Visual highlight feedback when dragging over the textarea
Fixed
- Store data protection - Added automatic backup mechanism to prevent data loss
- Creates
data.json.bakbefore each write (when meaningful data exists) - Automatically recovers from backup if main file is corrupt
- Backup location:
~/Library/Application Support/Actions/data.json.bak
- Creates
[0.7.9-beta] - 2025-02-13
Changed
- Maintenance version bump for redeployment
[0.7.8-beta] - 2025-02-13
Changed
- Tray icon click behavior swapped - Left-click now shows the menu (standard macOS pattern), right-click toggles window visibility
- Better discoverability for promoted actions in tray menu
- Power users can still quickly toggle with right-click
Fixed
- Fixed separator action type missing from Action Editor type selector
- Separator now available in compact dropdown for new actions
- Type selector visible in separator edit view (allows switching back before save)
- Fixed checkbox styling in separator editor
- Fixed "success" link not appearing for actions run from tray menu, hotkey, or schedule until manually run from app window
- UI now refreshes after any action completes, regardless of trigger source
[0.7.7-beta] - 2025-02-12
Added
- In-app help documentation - Comprehensive help system with markdown rendering
- Accessible from tray menu (Help) and Settings → About tab
- Two-panel layout: collapsible navigation sidebar + content area
- 11 documentation pages covering all features
- Images support for screenshots (bundled with app)
- Prev/Next navigation between pages
- Help window appears in Cmd+Tab (dock shown while help is open)
Changed
- Listening mode visual overhaul - Completely redesigned HUD for leader key mode
- Larger, centered HUD (340x100px) displays on ALL monitors simultaneously
- New layout: countdown ring with number, "Actions: Awaiting hotkey...", "esc to cancel"
- Smooth countdown animation for both ring and number
- Prepared for future search mode with wider design
Fixed
- Fixed tray icon disappearing when entering listening mode
- Created proper listening mode tray icon with indicator dot
[0.7.6-beta] - 2025-02-12
Changed
- Action Editor UI revamp - Redesigned with two-column layout for better organization
- Left column: Action definition (name, category, type, command/content, variables)
- Right column: Options & appearance (behavior, triggers, icon, color)
- Wider modal window (680px) to accommodate new layout
- Compact dropdown type selector saves vertical space
- Triggers grouped together (hotkey, tray menu, scheduling)
- Appearance grouped together (icon, color)
- Separator actions keep simple single-column layout
Fixed
- Fixed EPIPE crash on app shutdown by adding global uncaught exception handler
- EPIPE errors (from closed console pipes during shutdown) are now silently ignored
- Fixed output window not resetting when action re-runs while window is open
- Halt button, running status, and elapsed timer now properly reset on re-run
[0.7.5-beta] - 2025-02-12
Added
- Auto-run variables - Pre-configure variable values for auto-run contexts
- New "Auto-Run Variables" section appears in Action Editor when:
- Action has variables AND (scheduling enabled OR hotkey assigned OR tray menu enabled)
- "Set Variables for Auto-Run" button opens variable input in preset mode
- Once configured, hotkey/tray triggers use saved values without prompting
- Scheduled runs use saved values (skips with warning if not configured)
- Variables can be edited or cleared at any time
- New "Auto-Run Variables" section appears in Action Editor when:
Fixed
- Fixed EPIPE crash in ScheduleManager when app shuts down during scheduled execution
- All console logging in schedule-manager.js now wrapped in safe try-catch functions
[0.7.3-beta] - 2025-02-11
Added
- Tray menu promotion - Add actions to the menu bar icon's right-click menu
- New "Show in tray menu" checkbox in action editor (available for all action types)
- Actions grouped by category in submenus
- Separators render as disabled menu items with "── name ──" format
- Skips confirm dialog (like hotkey-triggered actions)
- Shows variable input window if action has variables
[0.7.2-beta] - 2025-02-11
Changed
- Maintenance version bump to sync version numbering
[0.7.1-beta] - 2025-02-11
Added
- Logical separators (Pro) - New action type for visual dividers within categories
- Thin, full-width rows that span both columns in grid layout
- Displays separator name in uppercase with muted styling
- Supports custom background colors (same color picker as actions)
- Draggable for reordering with other actions
- Pro-gated: free users see existing separators but can't create new ones
Changed
- DRY hotkey utilities - Extracted
hotkeyUtils.jswithformatHotkey,formatHotkeyCompact,hasModifiersfunctions shared across components
Fixed
- Action limit dialog - Free tier limit (10 actions/category) now shows a clear confirmation dialog instead of silently opening Settings
- Settings tab navigation - Fixed
initialTabparameter so "Upgrade" links correctly open to License tab - Grid overflow - Fixed action items getting clipped on some monitors by adding
overflow-x: hiddenandmin-width: 0to grid items
[0.7.0-beta] - 2025-02-11
Added
- Category icons - Assign icons, emojis, or text to categories using the same icon picker as actions
- Default folder icon shown when no custom icon is set
- Icons display in category manager and fast category switcher
- Fast category switcher - Horizontal scrolling bar with category buttons for quick navigation
- Shows category icons, truncated names, and background colors
- Hotkey pills displayed at top of buttons (theme-aware styling)
- Auto-hiding scroll arrows when content fits
- Toggle visibility in Settings > Display > Show Category Switcher
- Buttons stretch to uniform height when any has a hotkey
- Variable input window positioning - Now spawns above main window like other modals (fixes positioning on large monitors)
- Pro feature gates - Soft locks for premium features with "Pro" badges
- Environment variables, scheduling, and category backgrounds require license
- Graceful degradation with links to Settings for license activation
- Scheduled action execution - Run terminal commands and scripts on a schedule
- Four schedule types: Interval, Daily, Weekly, and Monthly
- Multiple schedules per action (up to 5)
- Schedule badge and "next run" indicator on action items
- In-app scheduling - runs while Actions is open (system-level scheduling via launchd planned for future release)
- Confirmation dialog automatically skipped for scheduled runs
Changed
- DRY icon utilities - Shared
iconUtils.jsmodule for icon parsing across components - Icon picker UX - Picker stays open after selection to allow trying multiple icons
[0.6.1-beta] - 2025-02-09
Added
- Shell selector for login shell - When "Use login shell" is enabled, choose which shell to use from a dropdown
- Detects installed shells from
/etc/shells - Defaults to system default shell (
$SHELL) - Shows available shells: ...
- Detects installed shells from
Actions v0.7.14-beta
What's New in v0.7.14-beta
[0.7.14-beta] - 2025-02-13
Security
- HTML sanitization - Added DOMPurify to sanitize all dynamic HTML content
- Release notes from GitHub releases are now sanitized before rendering
- Help documentation markdown is now sanitized before display
- Defense-in-depth protection against XSS even from "trusted" sources
Added
dompurifydependency for renderer-side HTML sanitizationisomorphic-dompurifydependency for main process HTML sanitization
[0.7.13-beta] - 2025-02-13
Changed
- Crash report modal now has proper dark background overlay
- "Report on GitHub" keeps modal open so user can review details before dismissing
Added
- Dev testing:
crashTestFatal()function to simulate full crash recovery flow with restart
[0.7.12-beta] - 2025-02-13
Added
- Local crash reporting - Privacy-focused crash recovery system
- Crashes logged locally to
~/Library/Application Support/Actions/crash.log - No automatic telemetry - user controls what's shared
- Path sanitization removes user directories from stack traces
- Fatal crashes trigger restart dialog and mark crash as pending
- On restart, in-app modal shows crash details with "Report on GitHub" option
- Users can review sanitized crash info before submitting
- Log rotation prevents unbounded growth (max 100KB, 50 entries)
- Crashes logged locally to
Fixed
- Help window not loading in production - Added missing
src/help-windowandresources/docsto build config - "Use login shell" option now disabled when "Open in Terminal" is selected (terminal handles its own shell)
[0.7.11-beta] - 2025-02-13
Fixed
- Help window now shows error messages instead of blank screen when loading fails (aids debugging)
[0.7.10-beta] - 2025-02-13
Added
- Drag-and-drop file paths - Drag files/folders from Finder onto the command textarea in Action Editor to insert their paths at cursor position
- Multiple files supported (space-separated)
- Paths with spaces or special characters are automatically quoted
- Visual highlight feedback when dragging over the textarea
Fixed
- Store data protection - Added automatic backup mechanism to prevent data loss
- Creates
data.json.bakbefore each write (when meaningful data exists) - Automatically recovers from backup if main file is corrupt
- Backup location:
~/Library/Application Support/Actions/data.json.bak
- Creates
[0.7.9-beta] - 2025-02-13
Changed
- Maintenance version bump for redeployment
[0.7.8-beta] - 2025-02-13
Changed
- Tray icon click behavior swapped - Left-click now shows the menu (standard macOS pattern), right-click toggles window visibility
- Better discoverability for promoted actions in tray menu
- Power users can still quickly toggle with right-click
Fixed
- Fixed separator action type missing from Action Editor type selector
- Separator now available in compact dropdown for new actions
- Type selector visible in separator edit view (allows switching back before save)
- Fixed checkbox styling in separator editor
- Fixed "success" link not appearing for actions run from tray menu, hotkey, or schedule until manually run from app window
- UI now refreshes after any action completes, regardless of trigger source
[0.7.7-beta] - 2025-02-12
Added
- In-app help documentation - Comprehensive help system with markdown rendering
- Accessible from tray menu (Help) and Settings → About tab
- Two-panel layout: collapsible navigation sidebar + content area
- 11 documentation pages covering all features
- Images support for screenshots (bundled with app)
- Prev/Next navigation between pages
- Help window appears in Cmd+Tab (dock shown while help is open)
Changed
- Listening mode visual overhaul - Completely redesigned HUD for leader key mode
- Larger, centered HUD (340x100px) displays on ALL monitors simultaneously
- New layout: countdown ring with number, "Actions: Awaiting hotkey...", "esc to cancel"
- Smooth countdown animation for both ring and number
- Prepared for future search mode with wider design
Fixed
- Fixed tray icon disappearing when entering listening mode
- Created proper listening mode tray icon with indicator dot
[0.7.6-beta] - 2025-02-12
Changed
- Action Editor UI revamp - Redesigned with two-column layout for better organization
- Left column: Action definition (name, category, type, command/content, variables)
- Right column: Options & appearance (behavior, triggers, icon, color)
- Wider modal window (680px) to accommodate new layout
- Compact dropdown type selector saves vertical space
- Triggers grouped together (hotkey, tray menu, scheduling)
- Appearance grouped together (icon, color)
- Separator actions keep simple single-column layout
Fixed
- Fixed EPIPE crash on app shutdown by adding global uncaught exception handler
- EPIPE errors (from closed console pipes during shutdown) are now silently ignored
- Fixed output window not resetting when action re-runs while window is open
- Halt button, running status, and elapsed timer now properly reset on re-run
[0.7.5-beta] - 2025-02-12
Added
- Auto-run variables - Pre-configure variable values for auto-run contexts
- New "Auto-Run Variables" section appears in Action Editor when:
- Action has variables AND (scheduling enabled OR hotkey assigned OR tray menu enabled)
- "Set Variables for Auto-Run" button opens variable input in preset mode
- Once configured, hotkey/tray triggers use saved values without prompting
- Scheduled runs use saved values (skips with warning if not configured)
- Variables can be edited or cleared at any time
- New "Auto-Run Variables" section appears in Action Editor when:
Fixed
- Fixed EPIPE crash in ScheduleManager when app shuts down during scheduled execution
- All console logging in schedule-manager.js now wrapped in safe try-catch functions
[0.7.3-beta] - 2025-02-11
Added
- Tray menu promotion - Add actions to the menu bar icon's right-click menu
- New "Show in tray menu" checkbox in action editor (available for all action types)
- Actions grouped by category in submenus
- Separators render as disabled menu items with "── name ──" format
- Skips confirm dialog (like hotkey-triggered actions)
- Shows variable input window if action has variables
[0.7.2-beta] - 2025-02-11
Changed
- Maintenance version bump to sync version numbering
[0.7.1-beta] - 2025-02-11
Added
- Logical separators (Pro) - New action type for visual dividers within categories
- Thin, full-width rows that span both columns in grid layout
- Displays separator name in uppercase with muted styling
- Supports custom background colors (same color picker as actions)
- Draggable for reordering with other actions
- Pro-gated: free users see existing separators but can't create new ones
Changed
- DRY hotkey utilities - Extracted
hotkeyUtils.jswithformatHotkey,formatHotkeyCompact,hasModifiersfunctions shared across components
Fixed
- Action limit dialog - Free tier limit (10 actions/category) now shows a clear confirmation dialog instead of silently opening Settings
- Settings tab navigation - Fixed
initialTabparameter so "Upgrade" links correctly open to License tab - Grid overflow - Fixed action items getting clipped on some monitors by adding
overflow-x: hiddenandmin-width: 0to grid items
[0.7.0-beta] - 2025-02-11
Added
- Category icons - Assign icons, emojis, or text to categories using the same icon picker as actions
- Default folder icon shown when no custom icon is set
- Icons display in category manager and fast category switcher
- Fast category switcher - Horizontal scrolling bar with category buttons for quick navigation
- Shows category icons, truncated names, and background colors
- Hotkey pills displayed at top of buttons (theme-aware styling)
- Auto-hiding scroll arrows when content fits
- Toggle visibility in Settings > Display > Show Category Switcher
- Buttons stretch to uniform height when any has a hotkey
- Variable input window positioning - Now spawns above main window like other modals (fixes positioning on large monitors)
- Pro feature gates - Soft locks for premium features with "Pro" badges
- Environment variables, scheduling, and category backgrounds require license
- Graceful degradation with links to Settings for license activation
- Scheduled action execution - Run terminal commands and scripts on a schedule
- Four schedule types: Interval, Daily, Weekly, and Monthly
- Multiple schedules per action (up to 5)
- Schedule badge and "next run" indicator on action items
- In-app scheduling - runs while Actions is open (system-level scheduling via launchd planned for future release)
- Confirmation dialog automatically skipped for scheduled runs
Changed
- DRY icon utilities - Shared
iconUtils.jsmodule for icon parsing across components - Icon picker UX - Picker stays open after selection to allow trying multiple icons
[0.6.1-beta] - 2025-02-09
Added
- Shell selector for login shell - When "Use login shell" is enabled, choose which shell to use from a dropdown
- Detects installed shells from
/etc/shells - Defaults to system default shell (
$SHELL) - Shows available shells: zsh, bash, sh, fish, and any others installed
- Detects installed shells from
- Profile file hints - Dynamic hint shows which profile file gets sourced based on selected shell
- zsh →
~/.zprofile - bash →
~/.bash_profile - sh →
~/.profile - fish →
~/.config/fish/config.fish - Clarifies that interactive configs (
.zshrc,.bashrc) are NOT sourced
- zsh →
- Encrypted environment variables - New "Env" tab in Settings for managing sensitive environment variables
- Variables are encrypted at rest using macOS Keychain (via Electron's safeStorage ...
Actions v0.7.13-beta
What's New in v0.7.13-beta
[0.7.13-beta] - 2025-02-13
Changed
- Crash report modal now has proper dark background overlay
- "Report on GitHub" keeps modal open so user can review details before dismissing
Added
- Dev testing:
crashTestFatal()function to simulate full crash recovery flow with restart
[0.7.12-beta] - 2025-02-13
Added
- Local crash reporting - Privacy-focused crash recovery system
- Crashes logged locally to
~/Library/Application Support/Actions/crash.log - No automatic telemetry - user controls what's shared
- Path sanitization removes user directories from stack traces
- Fatal crashes trigger restart dialog and mark crash as pending
- On restart, in-app modal shows crash details with "Report on GitHub" option
- Users can review sanitized crash info before submitting
- Log rotation prevents unbounded growth (max 100KB, 50 entries)
- Crashes logged locally to
Fixed
- Help window not loading in production - Added missing
src/help-windowandresources/docsto build config - "Use login shell" option now disabled when "Open in Terminal" is selected (terminal handles its own shell)
[0.7.11-beta] - 2025-02-13
Fixed
- Help window now shows error messages instead of blank screen when loading fails (aids debugging)
[0.7.10-beta] - 2025-02-13
Added
- Drag-and-drop file paths - Drag files/folders from Finder onto the command textarea in Action Editor to insert their paths at cursor position
- Multiple files supported (space-separated)
- Paths with spaces or special characters are automatically quoted
- Visual highlight feedback when dragging over the textarea
Fixed
- Store data protection - Added automatic backup mechanism to prevent data loss
- Creates
data.json.bakbefore each write (when meaningful data exists) - Automatically recovers from backup if main file is corrupt
- Backup location:
~/Library/Application Support/Actions/data.json.bak
- Creates
[0.7.9-beta] - 2025-02-13
Changed
- Maintenance version bump for redeployment
[0.7.8-beta] - 2025-02-13
Changed
- Tray icon click behavior swapped - Left-click now shows the menu (standard macOS pattern), right-click toggles window visibility
- Better discoverability for promoted actions in tray menu
- Power users can still quickly toggle with right-click
Fixed
- Fixed separator action type missing from Action Editor type selector
- Separator now available in compact dropdown for new actions
- Type selector visible in separator edit view (allows switching back before save)
- Fixed checkbox styling in separator editor
- Fixed "success" link not appearing for actions run from tray menu, hotkey, or schedule until manually run from app window
- UI now refreshes after any action completes, regardless of trigger source
[0.7.7-beta] - 2025-02-12
Added
- In-app help documentation - Comprehensive help system with markdown rendering
- Accessible from tray menu (Help) and Settings → About tab
- Two-panel layout: collapsible navigation sidebar + content area
- 11 documentation pages covering all features
- Images support for screenshots (bundled with app)
- Prev/Next navigation between pages
- Help window appears in Cmd+Tab (dock shown while help is open)
Changed
- Listening mode visual overhaul - Completely redesigned HUD for leader key mode
- Larger, centered HUD (340x100px) displays on ALL monitors simultaneously
- New layout: countdown ring with number, "Actions: Awaiting hotkey...", "esc to cancel"
- Smooth countdown animation for both ring and number
- Prepared for future search mode with wider design
Fixed
- Fixed tray icon disappearing when entering listening mode
- Created proper listening mode tray icon with indicator dot
[0.7.6-beta] - 2025-02-12
Changed
- Action Editor UI revamp - Redesigned with two-column layout for better organization
- Left column: Action definition (name, category, type, command/content, variables)
- Right column: Options & appearance (behavior, triggers, icon, color)
- Wider modal window (680px) to accommodate new layout
- Compact dropdown type selector saves vertical space
- Triggers grouped together (hotkey, tray menu, scheduling)
- Appearance grouped together (icon, color)
- Separator actions keep simple single-column layout
Fixed
- Fixed EPIPE crash on app shutdown by adding global uncaught exception handler
- EPIPE errors (from closed console pipes during shutdown) are now silently ignored
- Fixed output window not resetting when action re-runs while window is open
- Halt button, running status, and elapsed timer now properly reset on re-run
[0.7.5-beta] - 2025-02-12
Added
- Auto-run variables - Pre-configure variable values for auto-run contexts
- New "Auto-Run Variables" section appears in Action Editor when:
- Action has variables AND (scheduling enabled OR hotkey assigned OR tray menu enabled)
- "Set Variables for Auto-Run" button opens variable input in preset mode
- Once configured, hotkey/tray triggers use saved values without prompting
- Scheduled runs use saved values (skips with warning if not configured)
- Variables can be edited or cleared at any time
- New "Auto-Run Variables" section appears in Action Editor when:
Fixed
- Fixed EPIPE crash in ScheduleManager when app shuts down during scheduled execution
- All console logging in schedule-manager.js now wrapped in safe try-catch functions
[0.7.3-beta] - 2025-02-11
Added
- Tray menu promotion - Add actions to the menu bar icon's right-click menu
- New "Show in tray menu" checkbox in action editor (available for all action types)
- Actions grouped by category in submenus
- Separators render as disabled menu items with "── name ──" format
- Skips confirm dialog (like hotkey-triggered actions)
- Shows variable input window if action has variables
[0.7.2-beta] - 2025-02-11
Changed
- Maintenance version bump to sync version numbering
[0.7.1-beta] - 2025-02-11
Added
- Logical separators (Pro) - New action type for visual dividers within categories
- Thin, full-width rows that span both columns in grid layout
- Displays separator name in uppercase with muted styling
- Supports custom background colors (same color picker as actions)
- Draggable for reordering with other actions
- Pro-gated: free users see existing separators but can't create new ones
Changed
- DRY hotkey utilities - Extracted
hotkeyUtils.jswithformatHotkey,formatHotkeyCompact,hasModifiersfunctions shared across components
Fixed
- Action limit dialog - Free tier limit (10 actions/category) now shows a clear confirmation dialog instead of silently opening Settings
- Settings tab navigation - Fixed
initialTabparameter so "Upgrade" links correctly open to License tab - Grid overflow - Fixed action items getting clipped on some monitors by adding
overflow-x: hiddenandmin-width: 0to grid items
[0.7.0-beta] - 2025-02-11
Added
- Category icons - Assign icons, emojis, or text to categories using the same icon picker as actions
- Default folder icon shown when no custom icon is set
- Icons display in category manager and fast category switcher
- Fast category switcher - Horizontal scrolling bar with category buttons for quick navigation
- Shows category icons, truncated names, and background colors
- Hotkey pills displayed at top of buttons (theme-aware styling)
- Auto-hiding scroll arrows when content fits
- Toggle visibility in Settings > Display > Show Category Switcher
- Buttons stretch to uniform height when any has a hotkey
- Variable input window positioning - Now spawns above main window like other modals (fixes positioning on large monitors)
- Pro feature gates - Soft locks for premium features with "Pro" badges
- Environment variables, scheduling, and category backgrounds require license
- Graceful degradation with links to Settings for license activation
- Scheduled action execution - Run terminal commands and scripts on a schedule
- Four schedule types: Interval, Daily, Weekly, and Monthly
- Multiple schedules per action (up to 5)
- Schedule badge and "next run" indicator on action items
- In-app scheduling - runs while Actions is open (system-level scheduling via launchd planned for future release)
- Confirmation dialog automatically skipped for scheduled runs
Changed
- DRY icon utilities - Shared
iconUtils.jsmodule for icon parsing across components - Icon picker UX - Picker stays open after selection to allow trying multiple icons
[0.6.1-beta] - 2025-02-09
Added
- Shell selector for login shell - When "Use login shell" is enabled, choose which shell to use from a dropdown
- Detects installed shells from
/etc/shells - Defaults to system default shell (
$SHELL) - Shows available shells: zsh, bash, sh, fish, and any others installed
- Detects installed shells from
- Profile file hints - Dynamic hint shows which profile file gets sourced based on selected shell
- zsh →
~/.zprofile - bash →
~/.bash_profile - sh →
~/.profile - fish →
~/.config/fish/config.fish - Clarifies that interactive configs (
.zshrc,.bashrc) are NOT sourced
- zsh →
- Encrypted environment variables - New "Env" tab in Settings for managing sensitive environment variables
- Variables are encrypted at rest using macOS Keychain (via Electron's safeStorage API)
- Stored separately from main data file for added security
- Show/hide toggle for viewing values
- Automatically injected into all terminal commands and scripts at runtime
- Perfect for API keys, tokens, and other secrets you don't want in plain text
Changed
- Login shell tooltip - Updated to clarify the difference between login profiles and interactive shell configs
[0.6.0-beta] - 2025-02-08
Added
- Shortcuts.app integration - New "Short...