ANNOUNCE: Script Debugger 7.0 (7A26)

A new Script Debugger 7.0 BETA build is available. You can update to this new build within Script Debugger using the Check For Updates command in the Script Debugger menu or you can download here:

Release Notes

Script Debugger 7 Release Notes

Enhanced Applet Release Notes

Bundle Editor Release Notes — Updated for 7A26

Scripts & Clippings Changes

Script Debugger 7 Explorer Variable Editing

Script Debugger 7 Explorer Application Object Editing & Recording

Changes for build 7A26

  • 903: Resolved a regression in the 7A25 build that causes a crash when the template chooser panel is closed (Command-W, File>Close).

  • 902: Changed progress reporting in enhanced applets with idle handlers. Once the progress window appears, it remains visible so that on idle handlers can contribute to progress displays.

  • 911: The method for overriding droplet behavior in applets has been revamped and simplified. Please see the updated release notes for details.

  • 905: Dragging the splitter in the Bundle pane to the top no longer causes the Description head to disappear.

  • 907: Clicking on the Resources head in the Bundle pane no longer selects all entries.

  • 909: Fixes an issue where the bar at the bottom of the Bundle pane would appear empty.

  • 895: Resolved a series of issues that could result in crashes when AppleScript is unable to display a value.

  • 904: Improved error handling when displaying Best (WebView) results for a URL string.

  • 916: The Show Startup Screen checkbox is no longer disabled when saving as an Enhanced Applet.

  • 785: Resolved a crash that occurs when a script interactions with the SecurityAgent process while a password entry dialog is visible and active.

  • 918: When dragging files to invoke an on open handler, the drop action sheet’s Run button changes to Step when debugging is enabled.

  • 920: The Save/Reset Dictionary Window Size & State commands are properly enabled when keyboard focus is in the dictionary window’s search field.

  • 921: Resolved a crashing that occurs when splitting the editor into two panes.

  • 825: Accessibility improvements for tables, outlines and some controls.

  • 922: Fixes issue where Clippings and Scripts menu items may appear twice. You will need to clear out ~/Library/Application Support/Script Debugger 7 manually to see the change.

  • 806: Improved accessibility in Template Chooser.

  • 923: Event Log entries are now accessible.

  • 932: Corrected a bug that prevented the creation of new documents when running in true lite mode (i.e. Lite mode after the demo period has expired and when no valid registration number has been entered).

  • 914: Saving as an Enhanced Applet will turn off persistent globals and properties for the document.

  • 930: General accessibility improvements.

  • 933: Resolved a series of problems with the Merge All Windows command.

  • 939: Resolved a crash that occurs when you drag a tab displaying a document into another window displaying the same document.

  • 941: Added the ability to get a handler’s parameters to the scripting interface. See the new handler parameter object.

  • 946: Removed the ability to switch between Demo, Lite and Registered modes from the About panel.

  • 943: Improve About panel in FREE/LITE mode.

  • 944: Corrected bugs in the entering of license codes once Script Debugger is in Lite mode.

  • 938: Fixed an issue where text could disappear when closing a split pane.

Changes for build 7A25

  • 893: If there is a problem with codesigning when saving or exporting a file, the file will now still be saved, unsigned, and a warning dialog displayed.

  • 901: Resolved a problem with enhanced applets where the progress window does not appear for applets that don’t have an on open handler.

  • 899: Resolved a crash that occurs when deselecting all templates in the template chooser and then pressing the Choose button.

  • 782: The Merge All Windows command on the Windows menu will merge all open script documents as tabs in the frontmost window.

  • 894: Codesign menus are now also disabled if the xcode-select path is invalid.

  • 872: Script Debugger will not allow a Run-Only version to overwrite the file of an open document.

Changes for build 7A24

  • 881: Resolved a regression that prevented the resizing of panels within the Resources inspector.

  • 889: When an enhanced applet presents a AppleScript runtime error, the “Cancel” button has been renamed to “Quit”.

  • 886: Enhanced applets lacking an on open handler and saved with the Show Startup option enabled run without displaying a main window. Sheets displayed with the display alert, display dialog, choose file, choose file name, choose folder and choose from list commands now displayed as app-modal alerts with a title bar.

  • 882: Resolved a series of issues with enhanced applets that cause the progress window to fail to appear when an applet lacking an on open handler and with the Show Startup option disabled.

  • 660: Script Debugger now issues a warning when saving a script with an unknown code signing identity. Options are given to continue (without code signing) or enable the option to code sign on export.

  • 789: Upgraded the regular expression engine used in Script Debugger to the latest offered by Apple (NSRegularExpression).

  • 891: Corrected a regression where new scripts created with the New Script menu item are created in tabs when the Open In Tabs preference setting is checked.

Changes for build 7A23

  • 870: Fixes issues with window placement when document tabs are dragged between screens.

  • 74: Improved the insertion of newlines within the context of AppleScript lists.

  • 810: Improved the creation of new script when using script templates that include script library references.

  • 723: Script Debugger now issues a warning when asked to save a script with an incorrect filename extension. You are given the option to continue or have the filename extension corrected.

  • 55: Moved the Done button in search dialog to make it less likely to be hidden in narrow windows.

  • 879: Removed initial caps from headings in dictionary display and tweaked vertical spacing.

Changes for build 7A22

  • 872: Script Debugger will not allow a Run-Only version to overwrite the file of an open document.

  • 863: Fixes regression that broke exporting run-only via script.

  • 866: Fixes issue where dragging a file with the correct extension on to an editor window would not offer the option of invoking the script’s open handler.

  • 868: The initial text selection is now correct when expanding a template without clipping directives that control text selection (i.e. [[select...]]).

  • 864: Revised all the script templates to use the [[copyright]] clipping directive. This allows all templates to respond to changes made to the copyright user preference setting.

  • 766: Added support for a new tag in clippings and text substitutions to ensure a use statement for a library is included in the script. The form of the tag can be either [[*library:libname]] or [[*library:libvariable:libversion:libname]]. In the latter case, libvariable and libversion can be empty strings to avoid the parameter being added, so [[*library:libname]] and [[*library:::libname]] are identical. In cases where there is an existing use statement for the library, if there is a conflict of variable names or the new version number is higher than that already defined, a second user statement will be added. This will result in an error at compile time, alerting you to the conflict. If there is no issue, the specified parameters will be added to the existing statement where necessary.

  • 871: Provide retina versions of tab control artwork.

  • 873: Fixes drawing issue in dictionaries inspector pane after dragging document tab between windows.

  • 644: When an event returns an error, the Event Log contextual menu’s Copy Event Result command will be replaced with a Copy Event Error command.

  • 869: Corrected a text layout bug that can cause slowdowns when typing, selecting, opening, and compiling scripts.

  • 860: Revised Demo and Lite menu icons.

  • 875: The model demo/lite alert is only appears once per day when Script Debugger is launched.

Changes for build 7A21

  • 497: When you type (* at the end of a line and Auto-pair delimiters is on, the closing *) is inserted automatically.

  • 858: Corrected a bug that prevented Finder file instances from being dragged into folder or container instances.

  • 859: Improve validation when dragging application object instances into element collections.

  • 856: Script Debugger 7 now imports preferences settings (including text substitutions) from previous Script Debugger versions (6, 5 & 4) when launched for the first time.

Changes for build 7A20

  • 845: changed the idd text substitution to create a template field for the the -- your code goes here portion of the text substitution.

  • 846: The Enhanced applet’s display dialog sheet is no longer resizable, to match the behavior of Standard Additions.

  • 847: Enhanced Applet’s display dialog sheet will make a button called Cancel the cancel button, unless the cancel button parameter directs otherwise. This matches Standard Additions’ behavior.

  • 839: Corrected a series of Script Debugger 7 regressions that rendered many properties of the script document and script window classes inoperable. You should now be able to get/set all properties of these scripting interface classes.

  • 557: Setting a windows index property now re-orders the window correctly. Negative indexes (relative to the end of the window list) are supported.

  • 849: It is now possible to drag items around within Explorers. Dragging an item within a list moves the item, option-dragging within a list copies the item. Dragging an element around within an application’s element hierarchy moves the element within that application. Option-dragging an element around within an application’s s element hierarchy copies the element within that application.

  • 850: When AppleScript recording is on, Explorer operations (set, delete, move, copy) that effect a remote operation are recorded.

  • 754: Improved explorer element introspection so that element entries are displayed with the greatest fidelity possible based either on the dictionary defined type of the element collection or the object type of the object specifier returned by the application for the element instance. For instance, elements of the Finder’s files collection which are actually document file instances are displayed as document file objects rather than as file objects.

  • 852: Improve filtering of invalid URLs when the kPrefDictRenderURLStrings expert preference is set to true.

  • 63: Improve error reporting when the kPrefDictRenderURLStrings expert preference is true and the web view fails to load the URL.

  • 779: Creating a new document via scripting now honours the Open In Tabs preferences setting.

  • 828: Enhanced Applets now restore their window size and position.

  • 655: The way in which the Script menu and the Clippings menu and Clippings pane are populated has changed. See separate release notes for details.

  • 854: Improved Event Log display by removing the line # column, combining the event duration and time into a single column and improving the display of events and replies.

  • 778: Corrected a drawing bug that made text unreadable when based at a statement within a deeply recurring handler.

  • 756: When recovering damaged compiled data fork scripts, Script Debugger will fall back to using the QuickLook text resource if the backup text resource is missing.

  • 377: The dictionary window no longer lists applications that have been moved to the trash.

  • 855: Resolved issues that could cause exporting of code-signed scripts to fail.

  • 820: Resolved a Script Debugger 7 regression that prevented the resizing of multiple splitters when dragging a splitter in the Results & Variables tab.

  • 758: Bundle support has been significantly enhanced. See separate release notes for details.

  • 793: Revised demo expiration to allow for continued use of Script Debugger in “Lite” mode.

  • 168: The Edit -> AppleScriptObjC -> Migrate to Properties command will offer to compile an uncompiled script.

  • 829: Enhanced applets now respond to subroutine calls, just as the standard Apple applets do.

Changes for build 7A18

  • 801: Update dictionary description appearance.

  • 648: Code completion is again summonsed by the esc key.

  • 612: The Resources list contextual menu has a new menu item, Add Script Libraries Folder, which creates a Script Libraries folder in the correct directory.

  • 832: Fixed a regression that disabled AppleScriptObjC code-completion.

  • 834: Results for Cocoa objects with very long descriptions will have them truncated.

  • 837: Enhanced applet scripting addition overrides activate to show sheets.

  • 842: Corrected a bug that prevents the deletion of script variables using the explorer when debugging is enabled.

  • 843: Enhanced Applets now show a Startup Screen when they contain an on open handler.

  • 838: Corrected a bug in Enhanced Applets where launching the applet by dropping files on it would cause the applet to fail to launch properly.

  • 844: When an Enhanced Applet has its Show Startup flag set to TRUE and an empty script description, the following text appears in the applet’s startup screen: Your script’s description goes here.

Changes for build 7A17

Changes for build 7A16

  • 794: Corrected a bug where the Toggle Debugging toolbar item was not available when debugging is disabled.

  • 816: If you edit a sub-item value of a global variable (list or record), and then reset the variable’s value by re-running the script, the explorer will correctly display the list or record’s subitem values.

  • 817: You can delete sub-items items of list and records in explorers. You can also delete global variables/properties and properties of script objects from the variables explorer.

  • 818: You can now delete individual elements and element collections directly form application explorers.

  • 819: Clicking a window close button while in the version browser now exits the browser.

  • 823: Advance copyright date to 2018.

  • 547: The Open Quickly panel displays one entry for multiple search hits (name, content) on a single file. Relevance is the maximum of name or content search hits.

  • 827: Allow Script Debugger 7 beta builds to auto-update via Sparkle.

Changes for build 7A12

  • 777: Remove any existing Script Debugger.plist file when exporting as Run-Only.

Hey Mark, this URL is for (7A25)!

Thanks for the heads up. I’ve corrected the error.

Never mind, either you fixed it or I’m seeing things. Downloading now!

After updating I did the Update menu again

“Script Debugger 7.0 is currently the newest version available”

Wouldn’t the build number be more helpful here?

Sure. For the time being the build number is available in the About panel.

One thing that didn’t make it to the original 7A26 release notes above is some significant changes to the Droplet Behavior fields in the Bundle panel. A separate release note is available here:

Bundle Editor Release Notes — Updated for 7A26

Mark & Shane,

I’ve been looking at the change in SD 7.0 (7A26) with the UTIs to specify what kind of items to accept. It is a pretty small list. I do a lot of processing of AppleScript files and I don’t see how to do that with a compiled bundle script, a regular Apple applet, or an Enhanced applet. There is no “public.script”, “”,, … So this change makes the choices far more limited than in the previous version. I don’t see anyway to add more types, I don’t see anything in the “info.plist” that could be edited.

The enhanced applet allowed more advanced tasks to be done easier. But the file choice types are something that only allows the power of the enhanced applet to a small list of simple common types. I was excited about the enhanced applet in the previous version because it allowed so many types to be entered like:

  • public.script
  • and more

Now if I want to process files outside the given list I have to implement that feature in the AppleScript code myself. I am really, really wondering why this change was made. Did it turn out to be too hard to do?



Please read the release notes. The new menu is an extra way to add UTIs — you can still type them, or drag files over the field, exactly as before.


I did read the release notes but I was pretty distracted by the notion of limiting the types available that could be used as UTIs at the beginning of the release notes. By the time I got to the end of the release notice where it said “Entering UTIs can be done in three ways. You can type them in directly, similarly to extensions, you can drag a file or files of the type you want over the field, …” I think I was lost in thought. Could be the result of too many late nights. Sorry.

If it helps the addition of the popup menu for common types is a nice addition.


If you (or anyone) thinks some other UTIs should appear on the menu, yell.