Link Search Menu Expand Document

iOS Beta Changelog

Visit the Beta Program page for details about participating in the beta. These notes reflect changes in the current beta cycle, since the last App Store release of Drafts.


  • New: Support for FlickType keyboard on watchOS 7 ( FlickType has enabled a new method of integration that does not require inclusion of an SDKs. All the “with options” capture buttons in the watch app (pen icons) will now offer FlickType as an option. The FlickType watch app must be installed on the watch and the watch must be running watchOS 7 or greater.
  • New: HTML Previews can now reference local assets in the iCloud Drive/Drafts/Library/Previews folder, if it exists. Place images, stylesheets, and other resources in this folder and it’s subfolders, and previews can reference them via relative paths, e.g. <img src="image.jpg">. If the /Library/Previews does not exist, previews will continue to function as they always have. If it does exist, the html will be written to a temporary file in that directory and loaded so that the directory can be used to access other assets.
  • New: Allow search in Action Selection window (used by “Run Action” operation in draft list).
  • Change: Simplify app icon badge settings and make sure the default correctly align with default workspace settings.
  • Back to building with Xcode 12.2b3 / iOS 14.2 SDK.


  • Build with Xcode 12.1 GM. Final testing for v23 release.


  • New: New query tokenizer:
    • Support for title: and tag: prefixes to force query to only look for term in draft titles or tags. May be combined with exact phrase searching, so title:"My Draft" will look for only drafts with the string “My Draft” in the first line.
    • AND and OR operator support. AND is not really needed, as it is assumed as the operator at any space between terms. Examples:
      • blue OR green would find any drafts with either “blue” or “green” in the text.
      • blue red OR green would find drafts with both “blue” and “red” or only “green”.
    • Regular expression terms. Marked by wrapping a term in forward slashes (/term/). Examples (not necessarily useful ones:
      • /.*ABC.*/ would find any drafts with “ABC” in the text.
      • /\d+/ would find any drafts that start with a number.
      • NOTE: Regular expressions can be slow, consider that when using them. In most cases it would be best to use them after another filtering term, like say: projectA /.*\[ \].*/, which would filter by “projectA” first, then apply the regex, which has to scan content (example would find any drafts with incomplete tasks and a “projectA” tag), or within a workspace/tag filter so the data set is already limited (yes, you could also just search "[ ]" to find incomplete tasks, just an arbitrary example).
    • There is no way to group constructs for now. Hope to get to that at a later date.
    • Existing "exact phrase" and -omit still work, of course.
  • Change: If /open URL with title parameter finds more than one matching draft, the resulting search now opens with title:"value" search to limit results to only matching titles.
  • New: “Save Current” option in workspaces menu to create a new workspace based on current list options.
  • New: draft.bodyPreview(maxLength: Int) function. Returns trimmed body preview similar to what is used in the draft list, removing first line and triming whitespace and truncating to the requested length.
  • Fix: Extended amount of text that can be displayed “Draft” widget


  • New: “Draft” widget type, that displays content from a single selected draft with a few display options.
  • New: [[display_title]] and [[body_preview]] template tags. These match the trimmed display versions of the title and body displayed in the draft list.
  • New: List widget now has “All” as a folder selection option.
  • New: List widget supports small widget size, displaying only the one top draft in the workspace.
  • Fix: Disable smart quotes-dashes in find window.
  • New: Add way to enable link mode from action bar selection view.


  • Fix: Import from backup might not maintain correct modification dates.
  • Fix: Restore “Miscellaneous” category of action icons which was missing for some reason.
  • Fix: Widget intent configuration options should not appear in the Shortcuts app.
  • Change: Couple of tweaks to vivid dark theme
  • Change: Continuing search from Spotlight should go to quick search when available.
  • Fix: Better handle import of old actions.
  • Change: Built with Xcode 12.2b2


  • Fix: Possible fix for issue with automatic changes between dark-light mode not updating editor text properly.
  • Fix: XML-RPC requests might improperly entify parameter strings.
  • Change: Build with Xcode 12.2 beta


  • Small but useful change: When searching the action list, groups appear as separators. It is now possible to tap on those group separators to load the group in the list.
  • A few tweaks to Widgets
  • New: “Duplicate” swipe action in Workspace manager.
  • New: “Open App” command option for widgets which just opens Drafts like tapping the app icon (not the “Empty” option already does this, too, but that’s not really clear)
  • Fix: Workspace directory sharing options not appearing in workspace editor.
  • Fix: Crash in watch complication timeline generation on watchOS versions less than 7.
  • Fix: Workspaces using date filters would display incorrect counts in a Widget.
  • Fix: app.showDraftList() called with a pinned draft list on iPad could result in greyed out editor.


  • Change: Use new search preview text in quick search results
  • Fix: VoiceOver label in dictation.
  • Change: Better step preview texts for some step types.
  • New: Update default first-install action groups.
  • Change: Better validation messages for keyboard shortcuts.


  • New: /open URL scheme will now support navigating to markers within a draft. This can be used it two ways:
    • Pass explicit marker=MarkerIdentifier parameter - intended for use when using open with uuid parameter to specify draft.
    • Include marker identifier in title parameter after a / separator, in the format title=Title%2FSectionName (%2F is / url encoded). This format is intended primary for use in wiki-style links within Drafts, such that [[Draft Title/Section Name]] will navigate directly to the “Section Name” marker in the draft “Draft Title”. If your title or marker identifier contain /, you have to escape them as \/.
    • Markers are defined in syntax definitions and are used to build the “Navigate” menu. A marker identifier will generally equate to the label displayed for the marker in the navigation menu - so, in the case of the Markdown definitions, the heading name. In the case of a Taskpaper draft, the project names, etc.
  • Better VoiceOver support in Widget.
  • Tweaks to Vivid Dark theme.


  • New: Action versioning. Available in action edit view. Allows capture and restore of snapshot versions of actions. Currently only original installation versions are saved automatically. Manual versions can be created at any time.
  • New: Workspace.showSearchPreview boolean property to toggle new search preview feature.
  • New: Added something else new. We’ll see if anyone notices it.


  • New: “Show search preview” option in drafts list options and workspaces. When enabled, if a text search is done in the search field, the body preview displayed in the list will change to show line numbers and text snippets where the matches term appears in the text of the draft.
  • Change: Drag and drop of a message from Mail will now insert not just the subject of the dragged message, but the “message:” URL linking to the original message.
  • New: The following properties of the Drafts script object, which were previous read-only, can now be modified as well: createdAt, createdLongitude, createdLatitude, modifiedAt, modifiedLongitude, modifiedLatitude. I generally would not recommend excess use of overrides for these values, but it can be useful for imports which maintain values from another system.
  • Change: Be less aggressive about resigning editor focus when in background.
  • New: Backups now have a “keep” setting to control how many backups to keep, automatically sweeping older backups to avoid consuming too much space on iCloud Drive.
  • New: Add “reset sync state” troubleshooting option in iCloud settings (previously only available on Mac).
  • Change: Allow /workspace URL to open default workspace without pro subscription.


  • New: /actionSearch?query=TEXT URL to open directly to a search of the action list.
  • Change: The /open URL, when used with allowCreate=true should prompt about the creation of the new draft. This affect [[wiki-links]] and prevents mistyped links from creating drafts unintentionally.
  • New: Workspace script object has new installURL property which exposes the URL which can be used to share the workspace. Useful for scripted backups and sharing.
  • New: Action script object has new installURL property which exposes the URL which can be used to share the action. Useful for scripted backups and sharing.
  • Change: Revert “Add to Siri” options for drafts, actions and workspaces to use NSUserActivity-based suggestions, because the Intent-based ones do not remember configured details properly.
  • Change: Update OAuthSwift library.


  • New: The tag filter pane can now be set to “Show All Tags”, or “Only Tags in Current Filter”. The later is a new option which filters the list of available tags to only show tags that are assigned to at least one draft in the current query in the draft list. Set via “…” options menu.
  • Fix: Cursor position when tapping to edit in Typewriter mode did not always select the right location in the text.
  • Fix: Better handling of nested blockquotes in Markdown syntax definitions.
  • Build with Xcode 12b5


  • New: Workspace date ranges. It is now possible to configure start and end dates for a workspace. They are optional, and likely most useful for constructs like a “Modified Today” workspace, or similar. Ranges are date-based and can be configured as specific absolute dates or dynamic relative dates +/- n days from the current date. These are also scriptable. I will post sample code to Slack.
  • Fix: Markdown syntax did not recognize indented code blocks starting with a number.
  • Change: Improve display of new extra large watch complication.
  • Change: More widget layout tweaks.
  • Fix: The “+” button in the draft list wasn’t working so well.


  • New: Calls to console.log in HTML Previews now get routed to and saved in the action log.
  • More design review around the app.


  • Change: Widgets now have the option to override light/dark mode.
  • Fix: Images in widget configuration were not tinting properly.
  • Fix: Remove action separators from action options in widget configuration.
  • Change: If a [[wiki-style]] title link matches multiple drafts, the app will now throw up a warning and open a search for the title to help you disambiguate your intentions and make you aware that more than one match exists and you may need to be more specific in your naming conventions.
  • Fix: Arrow key navigation of draft and actions list regression in the previous build.


  • New: WIDGETS! Implemented workaround for Widget distribution issues, so widgets should now be visible and installable when running on iOS 14 betas with this build. There are two basic widget types provided:
    • Grid Widget: Configurable widget that can appear in any widget size, and has individual, configurable elements which link to workspaces (including default, with inbox counts), pre-defined commands (new, dictate, search, etc.), or any action from your action list. Note that not all actions make a lot of sense in this case, because they are running on no text - but it can be pretty useful if you have actions that do things like create a new draft based on a template, or configure the environment a certain way.
    • List Widget: Displays the top drafts from the inbox of a configurable workspace (include default workspace).
  • New: Keyboard shortcut assignments now support using several special keys - notably arrow keys. Assignment of these shortcuts in the editor currently required iOS 14 (although if the assignments are made on Mac or another iOS device running 14, the shortcuts themselves should work on iOS 13.


  • New: File action step has new “Tags” field which can be configured to assign Finder tags to files when writing them. Use [[tags]] to pass through tags assigned to the draft.
  • New: FileManager object has new getTags(path): string[] and setTags(path, tags) functions to get and set finder tags on files.
  • Fix: Select draft window should run modally.
  • Many more visual tweaks.


  • Fix: Alter method processing “after success” in actions to avoid case where it is not handled properly.
  • Fix: Action steps with text fields would not display to be edited due to auto-layout issue on 14.
  • Fix: Watch crasher on watchOS 6
  • Change: Draft selection view now has menus for tag/workspace filtering.
  • Change: More visual tweaks.
  • Change: Migrate language identification code used in RTL support to use NaturalLanguage framework.
  • New: editor.getLineRange(location, length) function. Like editor.getSelectedLineRange() but to expand a range anywhere in the text to line start/end positions.



This build does have iOS 14 widgets, but it appears TestFlight distribution is not currently compatible with widgets, so they are not visible for installation yet. Hopefully Apple will resolve this soon.

  • New: First builds using iOS 14 beta SDK.
  • Change: Variety of visual and functional updates throughout the app.
  • Change: When importing an action, look for an existing action with the same name and offer to replace the existing action or import as a new action.
  • New: Add wind down properties to donated shortcuts to allow them to appear in Wind Down shortcut suggestions.
  • Change: Support auto_reminder option in Todoist step and scripts
  • Fix: Issue causing auto-correct to be disabled when “Hide Keyboard Bar” is set to external keyboard.
  • Change: Menus on new and select buttons in draft list.
  • New: HTMLPreview script object now has prefersFullScreen boolean property. When true, the presentation will try to use the full screen on iPad.
  • Fix: Next-previous buttons might not update properly after some edits.
  • Change: Bump minimum required iOS version to 12.4
  • Fix: draft.append and draft.prepend should not require separator argument.


  • Fix: Dropbox API compatibility issue.
  • Fix: Drag and drop of drafts could lose syntax assignment.
  • Fix: Crasher in iMessages app.
  • Change: Add “All” tab to drafts select view.


  • Change: Refactor some of the FileManager code. The write method no longer replace the file, just update contents so creation date is maintain and it interferes less with other apps using the same folders.
  • Change: Better detection of previous free trial.
  • Change: Improvements to the way workspaces are loaded in app.selectDraft


  • New: app.isPro boolean to determine if the app is pro unlocked.
  • New: “Insert Text” action steps should register undo point.
  • Fix: Various undo fixes.
  • Change: Allow HTML Preview step with “hide interface” enabled to be dismissed by swiping down. Equivalent to cancelling.


  • New: app.currentWorkspace property returns a Workspace object configured as the current drafts list is configured. Note this is not the same as a named workspace object, even if you have recently applied a workspace to the list. Calling update() on this retreived copy will create a new workspace. It is recommend this be used primarily as a read-only verion of the workspace to use to pass to another function, such as app.selectDraft().
  • New: HTML Preview action step has new “Hide Interface” advanced option which hides buttons/toolbars. For use only when JavaScript with the preview will call Drafts.continue() or Drafts.cancel() in its logic to close the preview.
  • New: HTMLPreview script object adds hideInterface boolean property (as described above)
  • Fix: Clicking on a non-HTTP link in an HTML Preview should close the preview as if the cancel button were pressed.
  • Fix: Clipping regression in iPhone share extension.


  • New: HTML Preview script steps now provide access to the JavaScript functions below, which can be called from scripts embedding in the preview document to pass values out for use in Drafts script steps, and control flow. Using these features, you can build user-interfaces for actions using HTML forms, and gather and submit data or user selections for use in other script steps.
    • Drafts.send(key, value): Send data out to the action context. These values will be available to subsequent scripts using the context.previewValues object. So, if you call Drafts.send("mydata", {"a": 1, "b": true}) in your preview, you can later retrieve those values in a script step using context.previewValues["mydata"].
    • Drafts.continue() and Drafts.cancel(): Equivalent to pressing the continue/cancel buttons in the preview UI. Allows automatic continuation of script with a form submission, for example, in the HTML document.
    • I will post examples to the beta Slack.
    • (This also works in scripted previews using HTMLPreview)


  • New: app.selectDraft() can now optionally take a workspace parameter to set the initial search/filtering in the select window.
  • Change: Improve keyboard navigation and selection in Drafts select view (used in Share extension and app.selectDraft()).
  • Fix: Calls to editor.setSelectedRange could inadvertently scroll to the end of the draft.
  • New: Context menu on drafts in the trash can.
  • New: draft.append(text, separator) and draft.prepend(text, separator) convenience functions on draft object. separator is optional and defaults to a line feed.


  • Fix: Starting a line with a smart quote could temporarily align it to the right.
  • Fix: Editing an action from the results of a search in the action list should refresh the search to get the new version of the action.


  • New: Draft.queryByTitle(title) returns array of drafts matching the title. This exposes the logic used by internal links to find drafts with a specific title.
  • New: Link definitions now support [[url:]] option to enable a full URL link external to drafts.
  • Change: Fine-tune the link matching regex a bit to avoid some nesting oddities.
  • Change: Locating draft by title should not be case-sensitive.
  • Fix: Crasher using down arrow on external keyboard past the last result in quick search.
  • Fix: TextExpander could not be enabled on iOS 12.
  • Change: Make “text” sort of draft list case-insensitive.
  • Change: Built with Xcode 11.5


  • Change: Remove arrange mode menus
  • Fix: Keep hold on the “+” from editing the draft.
  • Change: Add command-L keyboard shortcut for “Find in List”


  • Fix: Fix a few glitchy scrolling issues in typewriter mode.
  • Fix: Improve background re-rendering for better performance to avoid background crasher with long drafts.
  • Fix: Loosen title matching to allow for blank lines at the beginning of the draft.
  • Fix: “Hide Toolbars” option was not appearing on iPad.
  • Fix: Link mode would not enable properly if typewriter scrolling was enabled.


  • Fix: Make the [[Title of Draft]] style links work in GitHub and MultiMarkdown syntaxes, too. (oops)


  • Change: [[Title of Draft]] links now supported without requiring teh d: prefix.
  • New: File action step has new “Maintain dates” option which will set the creation/modification date of the newly created file to match those of the current draft. When the action create a new file, creation and modification will be set - if it is appending/prepending, only modification date will be updated.
  • New: FileManager has new getCreationDate(path), getModificationDate(path), and setCreationDate(path, date) and setModificationDate(path, date) functions. Self-explanatory, I think.
  • New: Contextual menus on Inbox/Archive/Flagged/All folder buttons in draft list to change sort options.
  • New: Updates to the navigation contextual menu, including “Next/previous draft in list” options. Also navigation contextual menu is now attached to next/previous buttons at bottom of screen as well.
  • New: Quick search button now has contextual menu including “Find in Draft…” option.
  • Change: Opening a draft via /open URL should restore the last selected position in the draft.
  • Fix: “Export” action step should only add .txt file extension if the filename template did not already provide an extension.
  • Change: Make {== highlight ==} CriticMarkup syntax in MultiMarkdown more prominent in some of the themes.
  • Fix: Multiple tasks [ ] marks on the same line without text between them could do some weird stuff when tapped.
  • Fix: Tapping task marks should be undoable.


These release notes rollup changes since the 19.2 release. These features will be released as 20.0 soon.

What’s New

  • Link Definitions in Markdown syntaxes to support cross-linking between drafts,and executing basic Drafts commands. When embedded in a draft, these become tappable links which open URLs as described below:
    • [[d:Title of Draft]] : creates a link which will open a draft by title (first line) when clicked/tapped. Will create draft with the title if it does not exist.
    • [[u:UUID-OF-DRAFT]] : creates a link for specific draft by UUID to allow exact linking. Will not create a draft, it must exist.
    • [[s:Search Term]] : creates a link which will open a quick search to the specified search
    • [[w:Workspace Name]] : creates a link which will load the named workspace
    • [[google:Search term]] : Opens a Google search for “Search term” when clicked/tapped.
    • [[wikipedia:Search term]] : Opens a Wikipedia page for “Search term” when clicked/tapped.
    • [[bear:Title of Bear Note]] : Opens a note titled “Title of Bear Note” in Bear, if it exists.
  • “Typewriter Scrolling” option which fixes the cursor position in the middle of the editor, moving the text as you type. Feature can be enabled/disabled in teh “Aa” editor settings, or via contextual menu on the “Aa” button.
  • Contextual menu on navigate (down-arrow in top right) now has additional options for navigating to recent drafts.
  • Scripting additions:
    • Most JavaScript objects now support new keyword. So new Draft() now works in lieu of Draft.create() (old syntax still works).
    • Draft object additions and changes:
      • title property now strictly returns first line of draft
      • displayTitle property returns cleaned up title as it would be displayed in draft list, removing Markdown header characters, etc.
      • lines property returns content as array of string split on line feeds.
      • editor.recentDrafts property returns array of recent drafts loaded in the editor, with the most recent previous draft as the first index. Useful for navigation in actions.
    • app.openInNewWindow(draft) script method. (iPad/Mac). Pretty self explainatory I think.
    • Scripting access to editor navigation markers, as displayed in the Navigation window/menu. Allows for the creation of actions which navigate within the current document.
      • editor.navigationMarkers: Array of navigation markers available in the document.
      • editor.navigationMarkerAfter(location: number) and editor.navigationMarkerBefore(location: number) convenience methods to get the next/previous navigation markers relative to a location in the text.
      • navigationMarkers are objects with the following properties:
        • location: start location of the range
        • length: length of the range
        • prefix: Identifying prefix for the marker (like H1, H2 in Markdown syntax) as defined by syntax
        • label: Identifying label for the marker.
        • level: indentation level of the marker.
        • I will post example actions to navigate to the next/prev markers to the Slack.
  • Contextual menus on drafts in Quick Search results.
  • Add option to copy title to clipboard in locations where there are copy options.

Other Changes and Updates

  • Fix: Better routing of URLs in multiple windows to support new links better.
  • Change: Add horizontal rule match to Markdown syntax definitions (***, —).
  • Fix: Editing templates in actions should default to smart quote/dashes disabled.
  • Fix: “Insert Text” action steps could convert quotes and dashes to “smart” ones even when the feature is disabled.
  • Fix: “Edit action in new window” contextual menu command not working properly.
  • Fix: Setting new range with editor.setSelectedRange might not always scroll that range to be visible.
  • New: Refactor some TextExpander integration code.
  • Change: Tighten up display in some of the widgets.
  • New: Added shift-command-L “Toggle flag” keyboard shortcut to match Mac shortcut.
  • Change: Audited reserved keyboard shortcut list to include some additional shortcuts that create conflicts on Mac.
  • New: Drafts in quick search results have contextual menus with common commands.
  • Fix: Changing current draft syntax via script would not re-render the text in the new syntax immediately.
  • New: Context menu on arrange button, allows selection of initial arrange mode (block/line/sentence).
  • Fix: Better handling of empty state in arrange mode.
  • Fix: Avoid case where text did not scroll to fully visibility when editing on the iPad in slideover.
  • Change: Some changes to the way swipe gestures interact with pinning.
  • Fix: Focus mode not selecting next draft after success properly
  • Change: Allow previews to open non-http links.
  • Fix: Submitting invalid data to FileManager.writeJSON could crash the app.


  • Fix: Trackpad/Magic Mouse swiping can be used like touch swiping to open drafts/actions lists.
  • Fix: Syntaxes (like TaskPaper) which apply strikethough styles, the style might not get cleared if edits (like removing @done from a task) no longer required it.
  • Fix: Problems reordering actions in the action list in groups with hidden actions.
  • Fix: Margins not updating after pinned side panels hidden/shown.


  • New: Workspaces can be shared via directory (still not visible in public site, but can be posted).
  • Change: Refactor and simplify Action Directory integration code (preparing for sharing of syntaxes and themes).


  • New: Editor settings have new tab key options, allowing you to select whether the tab key inserts a tab, two spaces or four spaces.
  • Fix: Issue with editor not reflecting changes to a draft made in a scripted action if the draft was loaded in the script via Draft.find instead of referenced as the global draft variable.
  • Change: Refactoring a few more capabilities of the syntax/theming engine. Let me know about any syntax highlighting issues.


  • Minor visual tweaks. This version will be released as 19.1


  • Change: Improved keyboard navigation in find panel.
  • Change: Custom mouse-trackpad pointer states for buttons with contextual menus.
  • Fix?: Possible fix for crash at start for a few users on 13.4, related to enabling pointer hover states.
  • New: Contextual (long press) menu on “Aa” appearance button for changing themes and syntax.
  • Change: A few minor UI tweaks, like improved separators in drafts/actions lists.


  • Fix: Improved keyboard navigation in quick search.
  • Change: Quick search should remember last search.
  • New: Quick search can now be pulled to dismiss.
  • New: More work on mouse/trackpad pointer support.
  • 18.2.10

  • Fix: Quick search crasher with certain result sets
  • New: FileManager objects now have baseURL and basePath properties which return the full file:/// url or POSIX path to the base directory used by the FileManager.
  • New: FileManger objects now have writeJSON(path, obj) and readJSON(path) convenience functions for saving or restoring JavaScript data.
  • 18.2.9

  • New: Pull to quick search. Scrolling beyond the top of the editor can be used to trigger quick search.
  • New: Additional commands in quick search
  • Change: Allow shift-cmd-F to close quick search if it is already open (esc works, too)
  • Change: Misc. polish in quick search.


  • Change: Don’t animate changes in Quick Search, as it seems to cause crashes.
  • New: app.showDraftInfo(draft?) function to display details of a draft.
  • Fix: Restore last editor selection before performing action selected via quick search.


  • Fix: “Get Info…” menu commands should not show quick search.
  • Change: app.showQuickSearch() can now take an optional string parameter to use at the initial query.
  • New: Search buttons widgets should open quick search instead of draft list search.
  • New: /quickSearch?query= URL action to open Drafts directly to quick search when available. Falls back to the same behavior as /search when it is not.
  • New: Quick search empty state.
  • Change: Escape key (⌘-. if you don’t have an ESC key) works to dismiss quick search.
  • Fix: Display issue in workspaces widget for unsubscribed users.
  • Change: Better visibility of empty states
  • Fix: “After success” filing options on actions could cause the next draft to be selected in other windows than the one triggering the action on iPad.
  • Fix: Bug affected restoring tag filter “all/any” status in workspaces saved in state restoration sessions.


  • New: Quick Search. This is a pretty big one, testing and feedback is welcome.
    • This an iOS 13 only feature.
    • Quick search can be access via the search button (replaces (i) button - detail still available via context menu on draft icon), or via shift-command-F keyboard shortcut.
    • Supports quick search of drafts, workspaces, actions, and a set of commands (only a few defined so far).
    • app.showQuickSearch() script method to allow triggering quick search from a script.
    • New: Built with Xcode 11.4b3.


  • Change: Searches now also search tag names in addition to searching full text.
  • Change: Improve identification of HTML tags in Markdown syntax.
  • New: Additional Workspace script object properties:
    • loadActionListGroup (ActionGroup)
    • loadActionBarGroup (ActionGroup)
    • loadFolder (“inbox” “archive” “trash” “flagged”)


  • New: Several additional icon grouping for use on actions and workspaces.
  • Fix: Remember setting if the action bar has been set to be hidden temporarily
  • Fix: Initial positioning of action bar group selector could be wrong on app cold launch.
  • Change: The /workspace URL action can now accept the name=Default argument to clear filters and load the default workspace.


  • Fix: Fix for header styling regression in “Markdown” syntax.
  • New: Several new alternate app icon options.
  • Change: Adjusted the gray app icons to work to blend into the dock on iOS 13, one for dark mode, one for light mode.
  • Change: Refactor and simplify a bunch of code around keyboard visibility.
  • Fix: Top-Bottom navigation options in navigation contextual menu would not always work.
  • Fix: Case where keyboard could be displayed erroneously when returning to app with a view other than the editor open.


  • A few last tweaks getting ready for release.


  • Fix: Since Evernote dev. support is MIA, updated my fork of Evernote SDK to no longer be dependent on the deprecated UIWebView so that (1) Evernote users using “Continue with Google” can sign in and (2) Apple will not reject me. Would appreciate it if Evernote users would forget credentials in Settings, and confirm all is good with the authentication process and Evernote actions.
  • Change: Audit of how/when draft version history entries are automatically created. Should be reliable capture some state changes and avoiding duplicate versions.
  • Fix: Work on several odd-ball crashing cases.
  • Fix: Targeting specific OneNote notebook might not work in some cases.
  • Fix: Issue with reordering action groups not working properly with certain data sets.
  • Fix: Possible issue reordering workspaces with certain data sets.
  • Fix: Case where returning to a session with draft or action list visible after the app had been pushed out of memory by the system could result in a blank list area.
  • Change: Periodically reset sync log if logging is enabled to prevent excessive log sizes.


  • New: Tappable tasks in TaskPaper syntax. Test tasks in general, because this required some refactoring of how tasks work.
  • Change: Misc. fixes/changes/additions to new contextual menus added in last build.
  • Fix: Work on a couple of rare crashing issues.


  • New: Went a little contextual menu crazy. No really, I did. Tap and hold (or force touch where available) on top toolbar items in the editor, drafts in the draft list, actions in the action list.
  • Fix: Workaround RTL alignment issue for strings beginning line with a smart quote.
  • Change: Refactor some initialization code to try to better troubleshoot a couple of minor crashing issues.
  • New: Arrange mode has not compact/expanded mode toggle. Compact mode truncates longer items to allow more to be displayed when working with longer blocks/lines. Compact mode also disabled inline editing of elements.
  • Fix: Issue which could leave action drawer open when returning to drafts after new draft timeout.
  • Change: Remove “Create Draft with Clipboard” shortcut action. This can be handled better with new “Create Draft” intent.
  • Change: Enable raw URLs in preview windows to be tappable.
  • Fix: Background colors applied by syntax highlighting (as inline code) might not get cleared immediately if the text changed it ways that should disable that background color.
  • Fix: Avoid state where action list gets left open after creating a new draft when returning to the app.
  • Change: Lots of hopefully invisible tweaks to editor syntax and themes to get ready for supporting custom syntaxes and themes.
  • Fix: Issue which could leave action drawer open when returning to drafts after new draft timeout.
  • Change: Remove “Create Draft with Clipboard” shortcut action. This can be handled better with new “Create Draft” intent.


  • Fix: Clipping issue printing from HTML previews if images are included.
  • New: Reminder script object has new dueDateIncludesTime boolean property. If true, the time components of the dueDate will be ignored allow Reminders to be set to be due on a date without assigning a time.
  • 17.2.3

  • Change: Enable focus mode on additional iPad draft windows opened by drag and drop. User intent is to keep that draft active if opening in another window.
  • Change: Remember tag drawer expanded state across cold starts of the app.
  • Change: Updates to default action groups.


  • New: Workspace sharing. Ability to import/export Workspaces via URL or file.
  • Change: Updates to document type icons for exported files.
  • Fix: Enabling and disabling link mode could leave the action bar disabled.
  • Change: Better logging in Dropbox actions.
  • Change: OneNote actions will now prompt for the selection of a notebook if a notebook name is not specified and the default notebook cannot be determined.


  • New: Medium action step type to post to New: Medium script object to support scripting Medium API - docs coming.
  • New: Script steps now have “Allow asynchronous execution” option. When enabled, the action will wait for a call to script.complete() to know if a script step is finished. This allow use of async/await, Promises and other async function calls…but your script must call script.complete() of the action will timeout and fail after 60 seconds.
  • Change: A few tweaks to the new monochrome themes.


  • New: CallbackURL objects have a read-only url property to debug the URL which will be used with the configured parameters.
  • New: Two new monochrome themes.
  • Fix: “New draft after” timeout not always working on cold start of the app.
  • Fix: Issue with action bar visibility on cold start.


  • New: Draft select view updated to allow filtering by workspace. This view is used in the share extension, iMessages app, and app.selectDraft() script interface.
  • New: The menu displayed when long pressing the app icon on the home screen can now be configured to display recent drafts (the previous behavior), common commands, or workspaces. This setting now defaults to common commands, and can be changed in Settings.
  • New: Highlight insertion point option to draw different background for current cursor position.
  • New: Editor settings to hide iPad keyboard shortcut bar, action bar and/or toolbar when editing, with options for never, always, or only when external keyboard is attached.
  • New: Editor setting to limit max characters per line. Works along with margin settings to determine a maximum line length.
  • Fix: Possible fix for crash resolving draft assignments in Shortcuts.
  • Fix: Issue with incorrect syntax highlighting styles when editing drafts with different syntax options in multiple windows on iPadOS.
  • Fix: Filemanager.readString would not return undefined properly when file was not found.
  • Fix: Inaccurate action directory URLs used for opening actions posted to the directory.


  • New: Print action steps can now specify page margins (in points). Details
  • Change: Switch to custom link identifier in Link mode to fix a few issues with URL highlighting with data detectors.
  • Fix: Improve usability of share extension on small phones.
  • Change: Tighten authorization scopes requested by Gmail actions based to avoid Google verification issue.


  • Change: Filtering unsupported actions in action list should respect whether unsupported steps are enabled for current platform.
  • Fix: Sync issue which could result in conflicting changes made offline and online creating inconsistent state for a draft between devices…particularly non-modification changes like archiving/flagging.
  • 15.5.26

  • Fix: Fix for case where sync could stall due threading issue, particularly on iOS 13.
  • Change: Change “automatic” theme label to “system” when running on iOS 13.
  • 15.5.25

  • New: “Change Syntax” operation added to draft list options.
  • New: “Markdown to HTML” shortcut action provides access to Drafts’ built-in MultiMarkdown and GitHub markdown processors.


  • New: File import features, configured in settings, to automatically import text files in the “Inbox” folder in iCloud Drive/Drafts/Inbox.
  • Change: Tweak to priority of operations in sync to attempt to prevent some issue on iOS 13.
  • 15.3.20

  • New: Support “tagged” filtering in tag filters and workspaces. The inverse of the existing “untagged” special value - will match any draft with one or more tags assigned.
  • New: Include draft syntax in (i) draft detail summary
  • Change: In Markdown syntaxes, continue markdown quotes like lists are continued.



  • New: 20-30% initial launch speed improvement for cold starts of the app.
  • New: “Disable action bar” option in Aa editor settings allowing the row above the keyboard to be completely disabled.
  • New: Enable and disable individual actions steps by platform. Allows a single action to have different steps on different platforms to account for platform behavior differences when appropriate/necessary.
  • New: Action list filtering setting and support for new action visibility settings.
  • New: Set visibility in lists/keyboard for individual actions within action groups.
  • New: Get Draft by UUID shortcut action to allow retreival of a specific Draft by UUID.

Other Fixes and Changes

  • Change: Streamlining pass through syntax highlighting code. Improves performance and resolves (hopefully) a few little oddities. Please test with large documents, and generally report any syntax highlighting and editing weirdness/regressions.
  • Fix: Red dotted underline of misspelled words should no longer dissapear after typing additional text.
  • Change: Deprecate app.loadKeyboardActionGroup - replaced with app.loadActionBarGroup (old method still works, the later is just preferred now).
  • Fix: Possible fix for some scrolling weirdness moving between multiple open windows on iPad.
  • Fix: Workaround issue where system is processing smart dashes ever when they are not enabled on existing text. Triggered primarily when tapping task marks.
  • Change: Updating some labelling to call the row above the keyboard the “action bar” for consistency with Mac version.
  • Fix: Issue preventing the “60 minutes” draft creation timeout setting from working properly.
  • Fix: Crash using HTTP script object with invalid data parameters.
  • Fix: Allow editor scrolling to bounce vertically even when content does not exceed visible space.
  • Change: When calling Workspace.create(), the initial state of the workspace will be based on the current Default workspace.
  • Fix: Startup timing issue that could result in one of the side panels remaining open after the new draft timeout was fired to create a new draft.
  • Fix: Scrolling issue sometimes affecting actions which change text in the editor.

Download on App Store Download on Mac App Store

© 2012-2020 by Agile Tortoise, Inc.
Drafts is a registered Trademark of Agile Tortoise, Inc.
Privacy | Terms