====== What’s New? ====== Keyboard~~Maestro~~11 expands on the powerful base of previous versions, improving the editor, adding many new actions and triggers, New Macro Wizard, a new Security preference pane, a keyboardmaestro command line tool, support for Apple Text Recognition, and more. Keyboard~~Maestro~~11 requires macOS 10.13 High Sierra or later. ==== Editor ==== * Added New Macro Wizard to quickly make new macros. * Added Security [[manual:Preferences|preference pane]] to sumarise the state and adjust the various system security settings. * Added [[manual:Macro_Groups|Macro Group]] synching option to Disable Macro Group on All Macs. ([forum](https://forum.keyboardmaestro.com/t/request-new-group-creation-pref-disabled-on-this-mac-on-all-cpus/32698)) * Report if macros that are deleted are in use by other macros. * Added deprecated: [[manual:Search_Strings|search string]]. * Added action:1234 [[manual:Search_Strings|search string]]. * Added word:wombat [[manual:Search_Strings|search string]]. * Show Click Location in Quick Look view of images in [[action:Move_or_Click_Mouse|Click at Found Image]] action (contstant offsets only). * Added “Do Not Ask Again” option to Evaluate Conditions alert. * Added link to wiki [[manual:Preferences|Preferences]] in the General preferences settings. * Support inserting “¬” characters with option-Return in AppleScript script fields. * Support text completion for Path fields. * Support `macros` in AppleScript smart groups. ([forum](https://forum.keyboardmaestro.com/t/feature-request-applescript-parity-between-macro-groups-and-smart-macro-groups/14602/4)) * Added warning if the Keyboard Maestro application is moved while it is running. ([link](https://www.keyboardmaestro.com/action/linkthru?applicationmoved)) * Added Find button when deleting a named clipboard that is used by one or more macros. * Added Move Action Up/Down menu items. * Added support to [[action:Press_a_Button|Press a Button]] action to scan application windows for buttons. * Default new [[action:Execute_a_JavaScript_in_Front_Browser|Execute a JavaScript]] actions to modern syntax and include no variables. * Added live results to the [[action:Search_and_Replace|Search and Replace]] action. ([forum](https://forum.keyboardmaestro.com/t/action-live-result-display/3124)) ==== Engine ==== * Added [[trigger:keyboardmaestro|keyboardmaestro]] command line tool for triggering or editing macros. * Added modern JavaScript syntax mode. * Added support for limiting variables passed to scripts. * Added Apple Text Recognition to OCR options (macOS 10.15+). ([forum](https://forum.keyboardmaestro.com/t/apple-vision-ocr-instead-of-tessaract/24464)) * Added Active Macro Groups palette to show which groups are active (available via the Help menu or the Status Menu). * Simplified `Paste "xyz"` submenu in the status menu to just display the text. * Added an option to include macro icons in the status menu. * Added an option to include macro icons in the group status menus. * AppleScript `do script` now returns results from the [[action:Return_from_Subroutine|Return]] action. * Execute Macro shortcut returns results from the [[action:Return_from_Subroutine|Return]] action. * Added Blue Topaz palette theme. ([forum](https://forum.keyboardmaestro.com/t/custom-palette-style-colors/3516/28)) * Request Screen Recording permission if the [[condition:Pixel|Pixel]] condition is used. * Request Contacts permission if the [[token:AddressBook|%AddressBook%]] token is used. * Allow [[action:Create_Unique_File|Create Unique File]] action without an output variable to execute without error. * Improved detection and reporting of errors in [[actions:Browser_Actions|Browser Actions]]. * Use custom [[action:For_Each|For Each]] action name in Display Progress title. ([forum](https://forum.keyboardmaestro.com/t/for-each-action-now-has-its-own-progress-bar-km10/26437/8)) * Added an option to show only images in the [[manual:Clipboard_History_Switcher|Clipboard History Switcher]]. ([forum](https://forum.keyboardmaestro.com/t/search-filter-images-only-in-clipboard-history-switcher/30123)) * Support Command & Command-Shift Arrows in Spotlight-like windows. * Support `\` processing in variable token array item separators (eg %Variable%Lines[3]\n%). * Limit [[token:FrontBrowserJavaScript|%JavaScript%]] tokens maximum execution time to half a second. * Support arbitrarily large numbers of files [[trigger:Dragged_File|dropped on a palette entry]]. ([forum](https://forum.keyboardmaestro.com/t/increase-maximum-number-of-files-that-can-be-dropped-on-a-macro/31285)) * Resolve symlinks for Applications (specifically this helps with the move of Safari in Ventura). * Removed use of deprecated SecKeychainUnlock et al. * Remove the "The text is" (and similar) from the Display Text windows. ([forum](https://forum.keyboardmaestro.com/t/change-manipulate-the-title-of-the-display-text-in-window/32567/4)) * Allow [[action:Prompt_for_User_Input|Prompt for User Input]] sliders to return decimals. ([forum](https://forum.keyboardmaestro.com/t/slider-keeps-rounding-my-values-down/32936/2)) ==== Triggers ==== * Added [[trigger:Space_Changed|Space Changed]] trigger. ([forum](https://forum.keyboardmaestro.com/t/feature-request-new-trigger-desktop-space-change/32640)) * Added tapped only once/twice/3 times options to [[trigger:Hot_Key|Hot Key]] and [[trigger:USB_Device_Key|USB Device Key]] triggers. * Added support for modifiers in [[trigger:Typed_String|Typed String]] triggers (eg “em⇧” means e, m, tap the shift key). ([forum](https://forum.keyboardmaestro.com/t/suggestion-use-key-sequences-including-modifiers-to-trigger-macros/27093)) ==== Actions ==== * Added [[action:Prompt_for_Snippet|Prompt for Snippet]] action. * Added [[action:Create_Calendar_Event|Create Calendar Event]] action (macOS 10.14+). * Added [[action:Send_Pushover_Notification|Send Pushover Notification]] action. * Added [[action:Set_Screen_Resolution|Set Screen Resolution]] action. * Added [[action:Select_Menu_by_Name|Select Menu by Name]] action. * Added [[action:Remove_Clipboard_Flavors|Remove Clipboard Flavors]] action. * Added [[action:Set_Audio_Device|Set Audio Input/Output/Sound Effects Device]] actions. * Added [[action:Mute_Audio_Device|Mute/Unmute Audio Device]] actions. * Added [[action:Get_Location|Get Location]] action. * Added option to [[action:Move_or_Click_Mouse|Click at Found Image]] action to wait for the image to appear. * Added option to [[action:Find_Image_on_Screen|Find Image on Screen]] action to wait for the image to appear. * Added Progress Bar option to [[action:Group|Group]] action. ([forum](https://forum.keyboardmaestro.com/t/for-each-action-now-has-its-own-progress-bar-km10/26437/12)) * Added Progress Bar option to [[action:Repeat|Repeat]] action. * Added support for other kinds of behaviours (eg showing a menu) to the [[action:Press_a_Button|Press a Button]] action. ([forum](https://forum.keyboardmaestro.com/t/whats-the-best-way-to-work-with-mini-menus-not-the-menu-bar/10853/2)) * Added an optional HelpURL field to [[manual:Plug_In_Actions|Plug In Actions]]. ([forum](https://forum.keyboardmaestro.com/t/feature-request-support-for-proper-help-information-in-third-party-plugins/20285)) * Added support to [[action:Set_JSON_Value|Set JSON Value]] action to delete dictionary or array entries by setting to `%Delete%`. * Added explicit File Move and File Rename options to the [[action:Move_or_Rename_a_File|Move or Rename a File]] action. ([forum](https://forum.keyboardmaestro.com/t/wiki-update-file-actions/11023)) * Added Hide Other Applications, Bring All Windows to Front and Reopen Initial Windows options to [[action:Activate_a_Specific_Application|Activate a Specific Application]] action when already at front. * Added an option to reduce the CPU usage of [[action:Pause_Until|Pause Until]] actions for long running pauses. * Support [[action:Set_Variable_to_Text|Set Variable to Text]] action setting array elements of a variable. ([forum](https://forum.keyboardmaestro.com/t/how-to-loop-through-array-variable/13498/3)) * Added configurable themes for [[action:Show_Palette_of_Macros|Show Palette of Macros]] action. ([forum](https://forum.keyboardmaestro.com/t/how-to-have-multiple-conflict-palette-styles/29239)) * Added option to [[manual:Applications_Palette|Applications Palette]] to default to Hide Others when switching. * Added option to [[action:Apply_Modifiers_to_a_Specific_Application|Apply Modifiers to Application]] action to default to Hide Others when switching. * Add options for All Windows and Reopen Windows to [[action:Activate_Last_Application|Activate Last Application]] action. ([forum](https://forum.keyboardmaestro.com/t/is-there-a-km-action-equivalent-to-btt-switch-to-previous-window/31917/25)) * Added File option to [[action:Stream_Deck_Set_Image|Stream Deck Set Image]] action. ([forum](https://forum.keyboardmaestro.com/t/stream-deck-set-the-image-to-a-file-like-found-image-works/22619)) * Support Save to File as an output option to the [[action:Get_a_URL|Get a URL]], [[action:Execute_a_Shell_Script|Execute Script]]/[[action:Execute_Shortcut|Shortcut]], and [[action:Plug_In|Plug In]] actions. ([forum](https://forum.keyboardmaestro.com/t/copying-an-image-from-a-web-page-into-clipboard-having-some-issues-best-approach/30527/6)) * Support saving images to Clipboard/File in a variety of formats for [[action:Get_a_URL|Get a URL]], [[action:Execute_a_Shell_Script|Execute Script]]/[[action:Execute_Shortcut|Shortcut]], and [[action:Plug_In|Plug In]] actions. * Adjusted [[action:Hide_Front_Application|Hide Front Application]] action to wait for the application to no longer be active before proceeding. * Adjusted [[action:Quit_a_Specific_Application|Quit Application]] (et al) actions to wait for the application to terminate (or relaunch). ==== Conditions ==== * Add a [[condition:File_Attribute|File Attribute]] condition. ([forum](https://forum.keyboardmaestro.com/t/how-prevent-an-action-from-working-under-certain-conditions/24333)) * Added [[condition:Macro|Macro is Executing]] condition condition. ==== Filters ==== * Added Sentence Case [[manual:Filters|filter]]. * Added Styled Text to/from RTF [[manual:Filters|filter]]. ([forum](https://forum.keyboardmaestro.com/t/request-for-a-new-token-compositetextwidth/23344/15)) * Adjusted the Word Count [[manual:Filters|filter]] so that “1.49” is one word. ==== Tokens ==== * Added [[token:FrontBrowserWindowName|%Safari/Chrome/FrontBrowserWindowName%]] tokens. * Added [[token:FrontBrowserVersion|%Safari/Chrome/FrontBrowserVersion/LongVersion%]] tokens. * Added [[token:FrontBrowserPath|%Safari/ChromeBundleID/Path/Name%]] tokens. * Added [[token:FrontDocumentPath|%FrontDocumentPath%]] token (thanks Chris!). ([forum](https://forum.keyboardmaestro.com/t/finding-the-file-path-for-the-front-document-in-the-front-application/7095)) * Added [[token:ApplicationVersion|%ApplicationVersion/LongVersion%]] tokens. ([forum](https://forum.keyboardmaestro.com/t/feature-request-an-enhancement-to-get-hardware-and-software-based-information-without-coding/31812)) * Added [[token:KeyboardMaestroVersion|%KeyboardMaestroVersion/LongVersion%]] tokens. ([forum](https://forum.keyboardmaestro.com/t/feature-request-an-enhancement-to-get-hardware-and-software-based-information-without-coding/31812)) * Added [[token:SystemVersion|%SystemVersion/LongVersion%]] tokens. ([forum](https://forum.keyboardmaestro.com/t/feature-request-an-enhancement-to-get-hardware-and-software-based-information-without-coding/31812)) * Added [[token:LastAbortedActionID|%LastAbortedActionID%]] token. ([forum](https://forum.keyboardmaestro.com/t/try-catch-would-love-to-get-more-details-in-tokens/25244/3)) * Added [[token:OptionReturn|%OptionReturn%]] token (valid in Insert Text by Typing only). * Added [[token:ScreenResolution|%ScreenResolution(s)%]] tokens. * Added [[token:AudioInputDevice|%AudioInputDevice(UID)%]] tokens. * Added [[token:AudioOutputDevice|%AudioOutputDevice(UID)%]] tokens. * Added [[token:AudioSoundEffectsDevice|%AudioSoundEffectsDevice(UID)%]] tokens. * Added [[token:AudioInputDevices|%AudioInputDevices%]] and [[token:AudioOutputDevices|%AudioOutputDevices%]] tokens. * Added [[token:MusicPlayerState|%MusicPlayerState%]] token. * Added [[token:SystemClipboardFlavors|%SystemClipboardFlavors%]] token * Added [[token:PastClipboardFlavors|%PastClipboardFlavors%]] token * Added [[token:NamedClipboardFlavors|%NamedClipboardFlavors%]] token * Added [[token:TriggerClipboardFlavors|%TriggerClipboardFlavors%]] token * Adjusted the [[token:FinderSelection|%FinderSelection(s)%]] tokens to return the selected item, not the target of an alias/link. ([forum](https://forum.keyboardmaestro.com/t/finderselections-with-symbolic-links/29015)) ==== Functions ==== * Added [[function:PROCESSORS|PROCESSORS()]] function. ([forum](https://forum.keyboardmaestro.com/t/feature-request-an-enhancement-to-get-hardware-and-software-based-information-without-coding/31812)) * Added [[function:MEMORY|MEMORY()]] function. ([forum](https://forum.keyboardmaestro.com/t/feature-request-an-enhancement-to-get-hardware-and-software-based-information-without-coding/31812)) * Added [[function:UPTIME|UPTIME()]] function. ([forum](https://forum.keyboardmaestro.com/t/feature-request-an-enhancement-to-get-hardware-and-software-based-information-without-coding/31812)) * Added an optional second parameter to [[function:ROUND|ROUND]], [[function:CEIL|CEIL]], [[function:FLOOR|FLOOR]], and [[function:TRUNC|TRUNC]] functions. ==== Fixes ==== * Fixed a performance issue in the editor switching to/from macros with large numbers of triggers. ([forum](https://forum.keyboardmaestro.com/t/performance-of-a-macro-with-many-key-triggers/16128)) * Fixed a crash that could happen if the icon of one macro was dependent on another recursively. ([forum](https://forum.keyboardmaestro.com/t/km-editor-crashing-at-launch/32735)) * Fixed a possible crash after duplicate [[trigger:Typed_String|Typed String]] triggers fire and the macros are immediately reloaded. * Fixed an issue with [[action:Prompt_for_User_Input|Prompt for User Input]] sliders with initial values above 100. ([forum](https://forum.keyboardmaestro.com/t/slider-keeps-rounding-my-values-down/32936/2)) * Fixed some issues with the Ruler in text views. * Fixed an issue with the [[token:VBAR|%|%]] token and emoji. ([forum](https://forum.keyboardmaestro.com/t/bug-cursor-positioned-incorrectly-after-inserting-text-with-emojis/32446)) * Fixed an issue searching for greater than 16-bit unicode characters. ([forum](https://forum.keyboardmaestro.com/t/im-not-sure-that-emoji-are-reliably-searchable-in-the-keyboard-maestro-editor/16852)) * Fixed some issues with truncating strings with greater than 16-bit unicode characters. * Fixed a glitch in the KeyCaps.icns file. ([forum](https://forum.keyboardmaestro.com/t/other-icons-export-as-trigger-file/31740/3)) * Fixed an issue with [[token:FinderSelection|%FinderSelection%]] and [[token:FinderSelections|%FinderSelections%]] tokens. * Fixed an issue with [[trigger:USB_Device_Key|USB Device Key]] trigger and MacBook Pro M2 Product ID = 0 keyboards. * Fixed [[action:Execute_a_JavaScript_in_Custom_Prompt|Execute a JavaScript in Custom Prompt]] action to process tokens on script paths. * Fixed using Helvetica in the Spotlight-like windows. * Fixed [[manual:URL_Schemes|keyboardmaestro: URL]] so it works when the editor is launched. * Fixed [[trigger:Typed_String|Typed String]] triggers with regular expressions to produce conflict palettes if appropriate. * Fixed an issue with the non-edit trigger display of times in certain time zones. ([forum](https://forum.keyboardmaestro.com/t/set-a-time-trigger-shows-a-different-time/29059)) * Fixed setting [[action:Trigger_Macro_by_Name|Trigger Macro by Name]] to a Smart Macro Group. ([forum](https://forum.keyboardmaestro.com/t/trigger-macro-by-name-limit-to-smart-group-results/29546)) * Fixed a memory leak when finding images. ([forum](https://forum.keyboardmaestro.com/t/excessive-keyboard-maestro-engine-memory-usage/30175/)) * Fixed an issue with the Interactive Help listing macro execution multiple times. * Fixed an issue with the Interactive Help not listing recorded Quick Macro executions. * Added some logging for failed Accessibility window manipulations. * Fixed issue where a duplicated search string matched action does not appear matched. * Fixed an issue with overly enthusiastic search field completion suggestions. * Fixed issue with Palettes displaying wide enough to hold a title that is not shown. ([forum](https://forum.keyboardmaestro.com/t/cant-understand-why-palette-contains-a-wide-blank-area/33081/4)) * Fixed an issue with the window switcher switching to different monitors. ([forum](https://forum.keyboardmaestro.com/t/window-switcher-activate-window-on-other-monitor/33018)) ==== Download ===== [[https://www.stairways.com/action/linkthru?download|Download Keyboard Maestro]] now to try all these great capabilities. Or keep reading for even more details about the [[Features]] of Keyboard Maestro. Alternatively, you can [[mailto:support@stairways.com|contact us]] if you have a question about whether Keyboard Maestro can solve your automation needs. We want all our customers to be satisfied, so we are happy to help you understand how Keyboard Maestro can achieve your automation goals.