Link Search Menu Expand Document

Release Notes

Drafts updates often. Keep up with the latest additions and fixes below. You can also always get highlights of the latest additions in the app via “What’s New” (Settings on iOS, Help menu on Mac).


Updates and Changes

  • Change: Apple doesn’t publish its secret Apple Notes deep link URLs, and they are weird URLs based on an applenotes:note/ URL structure, but if you figure out how to get one, and put it in a draft, it will work with link mode and live links in the default Markdown syntax definitions now.
  • Fix: Auto-complete suggestions for linked draft titles which contain a forward slash should escape said forward slash in titles when inserting a link.
  • Change: If the “highlight insertion point” editor setting is enabled, only highlight insertion point if no text selection is present.
  • Change: Significant refactoring in editor code. In theory, should not effect any functionality – just laying some groundwork for future changes.
  • Fix (iOS): Prompt buttons should better respect dynamic type sizes.
  • New: Add new Claude 3.5 Sonnet Model to Anthropic known model list.
  • Fix: A few fixes for the HTML to Markdown conversion functions used when pasting HTML, specifically for cases where the HTML contained multiple links that also had emphasis tags applied.
  • Fix (iOS): app.currentWindow.isDraftListVisible returned erroneous results on iOS.
  • Fix: Prevent link syntax patterns from wrapping a line in Markdown syntax definitions.


Updates and Changes

  • All Platforms
    • New: Advanced Find now keep a history of recent queries that can be restored
    • New: Advanced Find now offers button to reverse the values in the find and replace fields.
    • New: Mail Drop setting to control whether attachment summary is included in the import.
    • Change: editor.showFind(preferAdvancedFind, initialQuery) adds new initialQuery optional parameter to pass in the initial find text.
    • Fix: Autocomplete for cross-links could erroneously suggests a recent draft with an empty first line, which would result in an invalid link.
    • Fix: Command Palette cached recent actions too agressively.
  • iOS
    • Fix: Editor not updating immediately when editor settings changed.
    • Change: Do not resign responder when backgrounded.
    • Change: Update minimum required iOS version to 15.6 (from 15.0)
    • Fix: Regression effecting links coloring and link mode activation.
  • Mac
    • Change: The editor now defaults to using the default system find/replace interface, which is simpler and more appropriate for most users. If you prefer the advanced find panel with reg. ex support, etc., enable “Use Advanced Find” in the Edit > Find menu, or in Settings.
    • New: Add “Get Info” menu command to the File menu.
    • Change: Some additional basic state restoration on Mac, like remembering collapsed toolbar.



AI: Google Gemini & Anthropic Claude Integration

Similar to existing integrations with OpenAI-ChatGPT, Drafts now provides wrappers for integrating Google Gemini and Anthropic’s Claude AIs into actions. For details, including example actions, see:

Other Updates and Changes

  • All Platforms
    • New: “Open to Match” submenu on drafts list contextual menus which open the draft directly to locations matching an active search query on the list. e.g. if you have “my-string” in the search box above the list, this “Open to Match” menu will include direct links to each of the matching strings within the draft, along with line numbers.
    • New: Prompt objects have new helpURL string property. If set to a valid URL string, an additional help button will appear in the prompt when displayed. Useful for actions that may require additional explanation to understand the input values desired.
    • Fix: Empty fenced code blocks should highlight in GitHub and MultiMarkdown syntaxes.
    • New: “Disable Pro” switch in settings to allow temporary use of free mode for troubleshooting purposes.
    • Fix: App should allow app icon to be changed back to default icon even if Pro is not active.
    • Fix: Ignore trailing > character in link detection in built-in syntaxes and link mode.
    • Change: Tighten up prompt/dialog spacing on iOS.
  • iOS
    • Fix: Avoid setting matching attributes on editor when in background to avoid odd scrolling behaviors returning to app.
  • Mac
    • Fix: Hang/crash that could occur when the same draft was open in multiple windows.
    • Fix: Triggering an alert in a script immediately after a call to draft.update on the same draft as is loaded in the editor could cause a timing issue causing the draft to revert to the content in the editor.
    • Fix: Better scrolling of prompts when navigated with keyboard.



Ghost Integration

Drafts can now post to the popular, open-source CMS/blogging platform Ghost. This includes simple posting through a new “Ghost” action step, as well as advanced scripting support for the Ghost Admin API allowing more advanced import-export, and other integrations to be possible.

For all the details, and ready-to-use example actions, visit our new Ghost Integration Guide

OpenAI Improvements, Support for

Previously, OpenAI scripting what hard-coded to work with only OpenAI-ChatGPT’s deployment of their own API. It is now possible to specify any endpoint which supports the OpenAI API –– allowing these integrations to work with Azure deployments of the OpenAI API, or other providers, like that provide access to alternate LLMs (like Llama) using a compatible API.

For details and example actions, visit the OpenAI Integration Guide

Other Updates and Changes

  • Fix: Command palette should draw from its own separate “recent” action suggestions.
  • Change: More consistent alphabetically sorting of tags in editor tag view when loading a draft.
  • Change: Deprecate quickTextEdit and quickCodeEdit functions of OpenAI object, as OpenAI has removed support for the edit endpoint from the API.
  • Fix(Mac): “Get Current Draft” URL and Shortcut intent not always correctly identifying the last focused draft window.
  • Fix(Mac): Select action prompt in “Include Action” action step should allow cancel
  • Change(Mac): Hold down option key when using menu bar menu to get “New Draft” option which opens in a new window.
  • Fix(Mac): Layout issue on auto-complete configuration screen.
  • Fix: WordPress scripting object could not be instantiated with a new initializer.
  • Change: Refactoring significant amounts of theming code.


  • Fix: Resolve issues preventing install to Apple Watch Series 3 devices for some users.
  • Fix: Library Summary charts would sometimes clip text in the tag counts.
  • Fix(Mac): Pasting with “Paste HTML as Markdown” enabled was not properly working with undo points.
  • Change: If conflicted action group is encountered in sync, create version of group in version history before updating.
  • Change: When importing an action group with a name matching an existing group, offer to replace existing group rather than install as new.
  • Fix: Outlook integration was failing to refresh OAuth tokens because Microsoft is weird, causing the need to reauthenticate.


  • All Platforms
    • New: Task widget font size configuration options, and some layout tweaks.
    • Change: Add absoluteDate and relativeOffset read only properties to Alarm objects.
    • New: Add editor.nextDraft() and editor.previousDraft() functions that mimic behavior of next/previous buttons in interface.
    • Fix: Quick search should scroll when selecting items with arrow keys.
    • Fix: “Show Current Tags” was not handling nested tags properly.
  • iOS
    • Fix: Layout issues with Quick Capture share extension on iPad.
  • Mac
    • Fix: Pasting on Mac with “Paste as HTML” enabled did not set undo registration properly.
  • Apple Watch
    • Change: Increase minimum supported watchOS version to 8.5.
    • Change: Minor watchOS widget layout changes.


  • All Platforms
    • New: Actions and Action Groups have a new visibility toggle to allow hiding individual actions or entire groups from search results in the action list and command palette. Useful to hide utility and supporting actions you do not wish to clutter results.
    • Change: Return of the “Only Current Tags” option in the filtering pane, which limits the list of selectable tags to ones assigned to a draft in the currently visible draft list tab. Enable in (…) options above tag filters.
    • Fix: Improve the URL recognition patterns for the Live Links option added in v42.0.
    • Fix: Last workspace not getting restored properly on cold start of the app.
  • iOS
    • Fix: Workaround for issue with focusing the editor with VoiceOver enabled that only occurred on an iPhone running iOS 17.
    • Fix: If quick search was displayed by dragging down on editor, and canceled by tapping outside the view, the drag control might not be hidden.
    • Fix: Issue with auto-complete popup disappearing when querying for results in longer drafts.
    • Fix: Scrolling issue when navigating Quick Search with arrow keys.
    • Change: Disable auto-correct in tag entry
  • Mac
    • Change: Better VoiceOver announcements when changing folders in the draft list.



  • Refreshed alternate Home Screen/Dock icon options, adding a number of new options – including a fun holiday one. Alternate app icons are selected in the Aa editor settings screen.
  • Add “Live Links” syntax setting to Markdown syntaxes. Makes URLs live even when link mode is disabled. This is disabled by default, so to test go to editor settings > Syntax Settings and turn on “Live Links”.
  • Fix: Modifications from the watch were not properly recording source device of modification.


Notable Changes

  • The character and word count display updated to always reflect the counts of the current selected text. This behavior is more consistent with other editors, and gives a quick way to get word counts for only a selection that previously required an action.
  • Action “After Success” options, that allow you to file or tag a draft when an action completes, have been expanded with an option to change the flagged status as well. Useful to, for example, be sure a flag is always cleared when a draft is processed with the action. Details

Other Updates and Changes

  • All Platforms
    • Fix: Opening a draft via Quick Search should update accessed time.
    • Fix: Make sure Command Palette does not include duplicate actions if any exist in the installation.
    • Change: Efficiency improvements to avoid some redundant or too frequent updates to UI elements.
    • Fix: A tag filter omitting a parent nesting tag should omit its child tags as well.
    • Change: If a workspace with tag filters using nested child tags is applied to the draft list, the tag filter pane should expand any necessary parent tags in the outline so the required filtered tags are visible.
    • Change: Display tweaks to HTML Previews and default templates, especially around title display.
    • Fix: Tapping a task should move cursor focus to that line, to prevent issues with scrolling to a previous cursor position.
    • New: app.lookup(term) function. On iOS it opens the system reference/dictionary window for the term, like selecting “Lookup” from the text selection menu. On macOS it opens the system dictionary to the term. Try the sample “Lookup” action to lookup the selected text in the editor.
    • Fix: Fix some issues with the way checking tasks participates in the undo stack. You should now be able to reliably use undo/redo on both iOS and Mac to reverse taps on tasks.
    • Fix: Support lines starting with task [ ] for strikethrough and dimming of completed items.
  • iOS
    • Change: Complete re-write of code handling keyboard frames and avoidance. This addresses a few nagging issues with improper display around the on-screen keyboard on iPad, in particular.
    • Fix: Keyboard layout issues in share extension on iPad.
    • Fix: left-right arrow keys would not move cursor in text field within a prompt.
    • Fix: Committing changes to the editor from Arrange mode should be undoable.
    • Fix: Workaround for uncommon crasher reloading autocomplete entries.
    • Fix: Do a better job targetting shortcuts and URLs to the foreground active window if multiple windows are open.
    • Fix: Performance issue using external trackpad/mouse with action bar on iPad.
    • Change: Try to workaround crasher enabling/disabling scrolling in the editor during some operations.
  • Mac
    • Fix: ESC and ⌘-return shortcuts not working in dictation sheet.
    • Fix: Display glitch in purchase screen on macOS 12 and less.
    • Fix: Workspace URLs not showing window if Drafts was already running and main window had been hidden.
    • Fix: Layout tweaks to draft list to try to avoid issue with incorrectly sized cells after sync data comes in and the list refreshes.
    • Fix: Selecting a workspace in a “Configure Window” action step did not always save.



Task Improvements

  • Task lines (starting with [ ], * [ ] or - [ ]) will now be displayed as strikethrough and dimmed when completed. This behavior can be configured via syntax settings (see below) in the built-in Markdown and Simple List syntaxes.
  • Tapping a task provides haptic feedback on supported devices.
  • Navigate to incomplete tasks in a draft using the navigation menu.
  • taskMarkDefinitions in syntaxes have a few new options to support better locating and displaying tasks. These are configured in the built-in syntaxes, but if you create custom syntaxes you may need to update your syntax definitions if you wish to better support new task features.
  • New scripting interfaces to work with Task objects parsed from a draft or the editor. See scripting reference for details.
  • More details and sample actions in the tasks article

Task Widget

The New Task Widget type displays only tasks from a selected draft. The widget is interactive, so tasks can be tapped to change status right in the widget - or tapping the text of the task open to it in Drafts. Options include the ability to include completed tasks. More in the Widgets article. As this is an interactive widget, it requires iOS 17 or macOS 14.

Syntax Settings

Syntax highlighting definitions can now provide settings specific to the syntax to turn on/off display or behavior options of the syntax. For example, the built-in Markdown syntaxes now provide settings to enable or disable completed task lines being displayed as strikethrough or being dimmed.

If a syntax provides options, they are available under the “Syntax Settings” link in Editor Settings.

If you develop custom syntaxes, see Feature Key documentation for information about implementing settings in your own syntaxes.

Other Changes and Updates

  • All Platforms:
    • Change: Autocomplete triggers must now be two or more characters. Too many conflicts and performance issues were incurred when using 1 character triggers. If you use autocomplete and have a single character trigger configured, you will need to update that value. More about autocomplete
    • Change: Split “Create Draft” Shortcuts action into two options, one “Capture Text” just takes text and prompt to input it if it’s blank - this is best suited to use with the iPhone Action Button as an app shortcut, and a full featured “Create Draft” with all the tagging/folder options that can also create a blank draft, which is more flexible for use in a full shortcut. There’s also still the “Show Capture” version that works well if you want to be prompted and want options like tagging.
  • iOS:
    • Fix: Editor not theming text if light/dark mode switch while app was running in background.
    • Fix: Glitchy text selection when Typewriter Scrolling enabled.
    • Fix: Prevent tap to select autocomplete value in editor from passing through to an internal link behind the auto-complete pop-up.
    • Fix: If you open a URL that runs an action from within drafts, from a call to app.openURL in another action, you are probably being silly – but you might also have triggered a UI deadlock if the action being called display prompts. Now you won’t.
  • Mac:
    • Fix: Workaround for search fields above draft and action list displaying in the wrong dark/light mode appearance if they were not visible when the app launched.
    • Fix: Address case were tag filters could erroneously be cleared.
    • Fix: Prevent action log window from expanding too wide for certain content.


Note that some of these issues have been in previous 40.0.1 and 40.0.2 bug fix release, just rolled up in these notes:

  • Change: Align watchOS Shortcut identifier for the “Show Capture” intent with iOS version, so it is possible to wrap it in a shortcut to use with Action Button on Apple Watch Ultra. Install this “Show Capture” Shortcut for example usage. If you assign this shortcut to your Action Button on watchOS, it will open Drafts ready for capture. The app also publishes an “App Shortcut” for this purpose, but as of watchOS 10.0, it is not possible to select an App Shortcut to assign to the action button on the watch.
  • Change: Command Palette action results were too limited. Increased the number of matching results returned.
  • Fix: Rename and Delete Tag global actions below draft list were not working properly.
  • Fix: Some added a couple of keyboard shortcut reservations to prevent conflicts.
  • Fix: app.openURL should return true when routing internal URLs.
  • Change: Include partial matches in tag suggestion drop-down to better accomdate nested tagging.
  • Fix (iOS): Large dynamic text sizes could cause Action Bar layout problems
  • Fix: Command Palette keyboard shortcut not available on iOS 16.
  • Fix (macOS): Capture window not focusing editor when open due to side effect from VoiceOver fix.
  • Fix: If a parent tag changed from not having child tags, or having them, it would not change it’s expandability status in the tag filter view immediately.


Updated OS version requirements:

  • iOS 15.0 or greater (was iOS 14.7 or greater). Widgets require iOS 16 or greater.
  • macOS 10.15.1 or greater (no change)
  • watchOS 7.1 or greater (no change)

New Tag Filtering Interface


We updated the panel to the left of the draft list used for applying tag filters. A few notes about the new features:

  • The new panel has two “modes,” which can be switched in the (...) options menu at the top:
    • “Single Tag” mode (default): Only a single tag at a time can be selected. This allows filtering to work more like folder selection, and it is great for many people who prefer simple filtering.
    • “Multiple Tags” mode: Advanced multi-tag filtering, with support for all/any querying as well as tag omission.
  • The new Tag Filters appear if running iOS 16 or macOS 13 or greater. Older OS versions will continue to use the legacy filtering interface.

More about tag filtering

Nested Tags

As part of the update to the tag filtering panel, it now supports nested tags in the format parent-tag/child-tag. If you assign tags with a / forward slash, they will be treated as an outline in tag filtering, and filtering for parent will also find parent/child-a, parent/child-b, etc.

Nested tags can be useful to group related tags or subject areas when organizing your drafts.


As a side-effect of this change, tags may not longer be assigned with begin or end with the / (forward slash) character. If you have existing tags beginning or ending with a / they will remain assigned, but we recommend modifying those with the “Rename Tag” command, or action for compatibility moving forward. If you have any actions which assign tags that begin or end in “/”, they should be updated to reflect this change.

New Quick Search and Command Palette


The Quick Search window has been rewritten to focus on quick location and selection of only drafts. It significantly optimizes use with keyboards. Just hit shift-command-F and start typing.

There is also a new Command Palette window for quickly locating and running actions, opening workspaces, and running common commands. It is also optimized around use with a keyboard, just hit shift-command-P and start typing. Locating and running actions can be much faster than browsing through the action list.

More about Quick Search and the Command Palette

Apple Watch Updates

The Drafts Apple Watch app has migrated to the use of Widgets for complications on newer watchOS versions. In some cases this may require you set up your watch face complications again after the update.

A “Capture in Drafts” app shortcut is also now available and suitable for use with the Apple Watch Ultra’s action button.

General Updates

Quite a bit of work was done in this release to modernize various interface elements through the app and to align better areas that were divergent between the iOS and Mac versions. Most of these are subtle changes and not worth calling out individually, but taken as a whole, they make the overall experience better in several ways.

Other Updates and Changes

  • All Platforms:
    • Change: The small size home screen widget now displays four items when running on iOS 17 or macOS 14.
    • Fix: `` tag now working in Mustache template.
    • New: /commandPalette?query= URL scheme to launch directly to command palette.
    • Fix: Update to support Reminders / Calendar permissions changes when running on iOS 17 and macOS 14.
  • iOS:
    • Fix: Problem selecting workspace theme if existing assign theme was deleted.
  • Mac:
    • New: Update Mac toolbar to more modern layout.
    • New: Add “Copy” button in capture window
  • Shortcuts (iOS 17/macOS 14 only)
    • New: “Arrange Text” shortcuts action, which can be used with continuation returning result to next action in the shortcut.
    • New: “Dictate Text” shortcuts action, which can be used with continuation returning result to next action in the shortcut.
    • New: Shortcuts action to start/end Live Activity for a specified draft.
  • Scripting
    • Change: Significant increase in useful parameter checking errors logged to action log when incorrectly using function calls in the Drafts scripting library. If you use incorrect parameter types or are missing parameters on Drafts’ native javascript functions, you should now get more helpful feedback in the action log.
    • New: app.currentWindow.showCommandPalette(initialQuery) scripting function to display command palette, if available. (docs)
    • New: Tag.renameTag(oldTag, newTag) function. Returns the number of drafts effected. (docs)


  • Fix: Address timing issues mixing and matching editor and draft object manipulations in scripts.
  • New: Extend default OpenAI request timeout to 2 minutes, and add timeout property to OpenAI script object to allow override of timeout in seconds.
  • Fix (Mac): Issue with editor scrolling after tag entry view was hidden or made visible.


  • All Platforms
    • New: Add progress indicators over editor for long-running actions.
    • New: Mail action step supports additional “Reply-To” field to override the Reply-To header when sending background email.
    • Change: When sorting tags, use localized compare instead of string alpha ordering.
    • Fix: Posting tags to Medium was not working properly.
    • New: Display the input mic in use in the dictation interface.
    • Refactoring and removal of unused code in a number of areas.
  • iOS
    • Fix: Hiding iPad keyboard bar not working properly due to a change in iPadOS.
    • Fix: Evernote no longer likes valid hex entity references, so use named entities where possible in the Evernote action step.
  • Mac
    • Change: Rewrite dictation interface on Mac to more reliable select the default mic for input.
  • Scripting
    • New: Add timeout property to HTTP script object, which takes a time interval in seconds determining how long to wait for the request to complete. Default is still 60 seconds. Docs
    • New: draft.linesWithPrefix(prefix) -> [string] convenience method to return only lines starting with a certain prefix string in the draft.
    • New: replyToRecipients:[string] property to Mail script object. Allows optional reply-to header values to be set on background email.



OpenAI - ChatGPT Scripting

There has been a lot of excitement recently about AI, and in particular OpenAI’s ChatGPT. It can be a useful tool for a variety of text transformations and analysis, like translation and summarization. A number of users have already created example actions for Drafts that directly access the OpenAI API, but we wanted to make doing so a bit easier, so we’ve added a new OpenAI scripting interface to take care of some of the heavy lifting of working with these APIs.

If you are interested in ChatGPT-OpenAI integration, how it can be used in Drafts, and getting some example actions, head on over to our new OpenAI-ChatGPT integration guide

More on OpenAI-ChatGPT integration

Tabbed Window Support on macOS

Keyboard Shortcut Note

The default keyboard shortcuts control-tab and shift-control-tab are now assigned to next/previous tab navigation to match Safari and other tab-based apps. These were previously used for next/previous draft. Those commands are now bound to shift-control-up/down arrow.

The Mac version of Drafts now supports macOS’s tabbed window system. You have always been able to open multiple drafts in separate windows, but it is not also possible to do with with tabs in the same window - and drag and drop tabs in and out of the window, etc.

To use, right-click on a draft in the draft list and select “Open in New Tab”, or Select View > Show Tabs in the main menu to always display the window’s tab bar.

Cursor Positioning Options

The editor settings (Aa) pane has two new options to control what happens when a draft is selected from the draft list and loaded in the editor:

  • Focus Editor: If enabled, when a draft is selected, cursor focus will be immediately placed on the editor, ready to start typing. On iOS, this means the virtual keyboard will appear, etc. If disabled, the draft is loaded but still requires a tap-click to focus the editor and begin editing.
  • Place Cursor: This option controls where the newly loaded draft should have the cursor placed at the point of the last edit of that draft (the previous default), or always at the top or bottom of the text.

The right combination of these options depends on your use cases. If you are always opening draft to add more text at the end, you would likely want focus editor enabled, and “bottom” as your cursor position. If you more commonly browse existing content in your drafts library, you may prefer to disable focus editor and not have the editing automatically enabled.

More on Editor Settings

Other Updates and Changes

  • All Platforms
    • Auto-complete suggestions now place items beginning with search value at the top of the list of results. So, typing [[t would always put a draft titled “Test” before a note title “My Test”. Modification date descending is still the secondary sort.
    • Auto-complete now allows backspacing your query down to zero characters before dismissing the drop-down.
    • Add template tag helper popover in auto-complete configuration to make it easier to insert tag values.
    • Display source device in version history.
    • Share and action extension now set the last cursor position of newly created drafts to the end of the content.
    • Trim whitespace from HTML to Markdown conversions to avoid unnecessary line feeds.
  • iOS
    • Auto-complete dissappearing when used in longer drafts.
    • Crasher in lock screen widget configurator generating placeholders.
  • Mac
    • ”+” menu buttons at top of draft and action list, similar to ones that already exist in iOS version to allow creation of new drafts and actions.
    • Work to avoid some peculiar, difficult-to-reproduce crashes in Quick Search.
    • Tag suggestions behaved slightly differently in the capture window. Aligned behavior with main window.
    • Add shift-command-A keyboard shortcut to toggle between inbox/archive destination in the capture window.
  • Scripting
    • OpenAI script object. See above, or docs for details.
    • app.currentWindow.canOpenTab True on Mac, false on iOS.
    • app.currentWindow.openInNewTab(draft) function. Returns boolean for whether tab was opened successfully.
    • Deprecations: The below properties and functions have been moved to the Window object from the App object. All will continue to work as-is, but the preferred use is now app.currentWindow.- instead of app.- More details in docs
      • isDraftListVisible
      • showDraftList()
      • hideDraftList()
      • showQuickSearch(initialQuery)
      • showDraftInfo(draft)
      • isActionListVisible
      • showActionList()
      • hideActionList()
      • loadActionGroup(group)
      • loadActionBarGroup(group)



Mail Drop PRO

Mail Drop allows you to send emails to a unique email address and have those messages imported automatically into Drafts. When you enable Mail Drop, you will be assigned a unique email address. Send an email to that address, and its content will be imported into Drafts and appear in your inbox. Great for getting information into Drafts from anywhere.

More on Mail Drop Mail Drop requires Drafts Pro.

HTML to Markdown

Drafts has always has Markdown parsers to turn Markdown into HTML. We’ve now added tools to turn HTML back into Markdown. It’s not perfect, but converts a lot of common HTML elements into their Markdown counterpart–including headings, emphasis, lists, quotes, and more.

By default, when pasting text into Drafts’ editor, if an HTML version of the content is available in the clipboard, Drafts will prefer this version to the plain text version and convert it to Markdown before pasting. The most common use cases for this is copying from web pages, where the browser typically places an HTML version of the content you copy in the clipbaord. You can control this behavior, and some stylistic elements of the coversion, in settings.

These conversion features can also be used via scripting with the new HTMLToMarkdown object, and in web capture templates used when sharing from Safari, which now support a new [[selection_markdown]] template tag that inserts the Markdown converted version of the text selection, rather than the plain text one. Learn more about the Web Capture Template.

Lastly, a new “HTML to Markdown” Shortcuts app action has been provided to access this conversion as a service from other shortcuts.

More Details about HTML to Markdown

Folder Icons

A cosmetic change, but worth calling out: The folder tabs above the draft list for the Inbox, Flagged, and Archive tab have been changed to icon representations. They still behave the same.

Other Changes and Updates

  • All Platforms:
    • Change: Add option to include-exclude backticks from auto-match to prevent conflict with typing accented characters in some languages. Setting available in Editor Settings.
  • iOS:
    • Fix: Evernote action step generating invalid ENML errors converting headings, as Evernote did like the way the updated MultiMarkdown generates headings with id attributes.
    • Change: Improvements to the positioning of the auto-complete popover.
    • Fix: Draft count below list not always updating properly when background changes occur.
  • Mac:
    • “Copy” contextual menu on find results in find window to allow copying the matched string to the clipboard.
    • Fix: GitHub Markdown options not saving properly.
  • Scripting:
    • HTMLToMarkdown object used to convert HTML text to Markdown. See documentation for options.
    • Setting editor.pinningEnabled now respects Live Activity preferences on supported devices.
    • New Live Activity scripting options:
      • app.areLiveActivitiesSupported: boolean indicating whether Live Activities are supported on the current device.
      • app.startLiveActivity(draft): Start a Live Activity for the passed draft.
      • app.stopLiveActivity(draft): Stop any current Live Activity for the passed draft.
      • Related Docs
    • app.setClipboard can still take a string value to put in the keyboard, or, optionally, take an object of key values to set multiple types. Supported types are string, html, url.
    • app.getClipboard can now take an option type string (same options as above) to explicitly request HTML or a URL from the pasteboard - if one exists in the clipboard.



Airtable Support

Drafts now includes support for integration with Airtable, the online database service. Integration consists of a simplified Airtable action step to create records, as well as full access to the Airtable API via scripting.

For details and sample actions, see our Airtable integration guide.


The included MultiMarkdown parser has been updated to v6.6.3 (from v6.2), and is better integrated to include future updates. In addition, the MultiMarkdown script object has new functions for working with metadata in MultiMarkdown front matter.

GitHub Markdown

The parser used to provide GitHub Flavored Markdown output has changed and is now the cmark-gfm library used by GitHub. This change should improve compatibility and performance but does affect available options and HTML output somewhat. If you rely on specific options, please review Markdown Settings

Other Additions, Changes, and Updates

  • All Platforms
    • New: The editor auto-match feature now also matches backticks (``), and angle brackets (<>).
    • New: “Modern” HTML Preview template, plus tweaks to the CSS of the other default preview template styles.
    • Change: Change the background email provider used by the Mail action step when “Send in Background” is enabled. This change resulted from several unplanned outages caused by the previous provider but should otherwise be an invisible change.
    • Fix: Case where a non-Pro user could get a workspace load error on cold start.
    • Markdown syntaxes better recognize trailing # when using a # Heading # format style.
    • Fix: Use of `` in Mustache templates could fail because it was not fetched on the main thread.
    • New: HTTP object has new followRedirects boolean property, which defaults to true. If set to false, requests will not automatically follow 301/302 redirect responses.
  • iOS
    • New: “Customize Keyboard Bar” option now available in editor settings (Aa) to allow disabling the new actions in the iPad keyboard shortcut bar for people who prefer the system default behaviors for the keyboard shortcut bar.
  • Mac
    • Fix: In some cases the capture window would not properly restore it’s size and location after a restart of the app.
    • Fix: Focus filters on Ventura were interfering with “Show main window on launch” preference.
    • Fix: Case where launching the app with dark appearance, with side panels closed, would prevent search fields above lists from taking on proper dark appearance.
    • Fix: Changes to resolve a weird layout crash in Quick Search only on the Mac.
  • Apple Watch
    • Change: Tweaks to Apple Watch complication appearance to better fit in with system complications.



Action Bar Update

Requires iOS 16/macOS 13

The action bar is the row of actions that appears above the keyboard when editing on iOS and below the editor on Mac.

When running on iOS 16, the action bar selector button at the left of the bar is now menu-based and provides easier access to action group selection and common commands like find, pinning, and arrange mode.

Additionally, the keyboard dismissal button at the left of the bar now also has a long-press menu that provides quick access to run actions from any action bar visible group without the need to load the group in the bar, and, as a bonus, if you long-press an action button in the bar, a menu appears with options to open the action in the action editor to tweak the action’s options.

More on the action bar

iPad Keyboard Shortcut Bar Update

Requires iOS 16

On the iPad, the keyboard shortcut bar – the bar that displays commands along with auto-correct suggestions and floats over the interface when an external keyboard is connected – now also has a compact version of the action bar as a menu to the left, as well as a menu to the right like the long-press menu of the action bar, to run other actions.

In many cases, you may find this allows you to hide the action bar on iPad and use these features instead. This is particularly useful if you often use Drafts in split view, slide over, or Stage Manager, as the display of the action bar can make things a bit cluttered in those views. Find options to control the visibility of the action bar in the Aa editor settings.

More on the keyboard shortcut bar

Template Tag & Action Step Helpers

Requires iOS 16/macOS 13


Drafts uses templates in action steps to insert values dynamically when actions run. This update makes it easier to insert commonly used template tags when configuring actions by adding a template tag helper popup. This popup has a list of tags, basic. tag descriptions, and can insert them in your templates, including examples for more advanced tags, like formatted dates.

When adding new action steps to an action, the popup is now searchable and contains more detailed information about the available steps – and each step type now has an associated icon to help visually distinguish them in longer, multi-step actions.

Performance Improvements

Not a lot to say here, but we’re always working to improve the overall performance, and especially launch time, of Drafts. This update shaves another 5-10% off launch time – a little more on Mac – and makes a variety of changes to make more efficient use of memory while running.

Other Additions, Changes, and Updates

  • All Platforms
    • New: app.currentWindow.selectedDrafts property to retrieve currently selected drafts in the draft list. Useful to write an action the processes a set of drafts based on the user selection. Docs
    • Improve action step type descriptions and summaries.
    • Change: Open URL and Callback URL action step templates now support template editor options when editing.
    • Fix: Temporary workspace could be mistakenly displayed in workspace list when using Focus Filters to change workspace.
  • iOS
    • Fix: If main editor pane is dimmed, its elements should not be visible to VoiceOver.
  • Mac
    • New: “Recent” menu at the top of the “Actions” main menu.
    • Fix: Action groups in context menu not always updating properly.
    • Fix: placeholder option not working for prompt textfields on Mac.
  • Apple Watch
    • Increase allowed size of drafts transferred to the Apple Watch to 3000 characters.


  • Fix (Mac): Action Bar group selection could be interferred with by paragraph numbering.
  • Fix (Mac): Drafts list collapsed status not restored properly on cold start of the app.
  • Fix (Mac): Don’t advertise temporary drafts with user activities.
  • Fix (Mac): Tag entry should not insert auto-complete suggestion unless hitting return/tab.
  • Fix (iOS): Crashing using “Run Action” operation on multiple selected drafts.


  • Fix: Flag would sometimes not appear in draft list.
  • Fix (Mac): Allow clicks on line numbering to move cursor.
  • Fix (iOS): Crash in action group editor tapping on actions
  • Fix (iOS): Some layout issues with the action bar group selector.



SF Symbol Icons

In addition to the many built-in icons available to assign to actions and workspaces, Drafts now supports assigning SF Symbols as icons. The symbol library is part of iOS and macOS, and adds thousands of new icon options - all of which are available to select (and searchable) when editing icons.

A couple of things worth noting about SF Symbol support:

  • Symbols require iOS 16 or macOS 13 (Ventura) or greater.
  • If some of the devices you use Drafts on are not updated to a compatible OS, and a symbol is selected on one of your actions or workspaces, the icon will fallback to displaying a default icon for that item.
  • If you share an action or workspace to the Directory that has a symbol assigned, the directory will display a placeholder icon, as symbol license do not allow their use outside Apple’s platforms. The symbol will still be properly display if a user installs your action in their Drafts installation.

More on configuration icons

Mastodon Integration

Mastodon is a popular, decentralized social network for posting status updates. This update adds support for posting to Mastodon accounts, as well as support for scripting access to the entire Mastodon API.

If you use Mastodon and would like get sample actions and learn more about how to configure Mastodon support, check out our Mastodon integration guide

New Date Formatting and Localization Options

Drafts templates have long supported formatting date values with strftime style formatting. This update adds the option to use format strings compatible with Apple’s DateFormatter class, which offers better, more flexible localization options. If you work in non-English languages, or create and share actions which might be used internationally. A few examples:

See template docs for details

Other Additions, Changes, and Updates

  • Fix: FlickType keyboard integration working again in Watch app.
  • Fix (Mac): Tint colors of icons not reflecting changes to dark/light mode properly.
  • New: Editor script object now has draft property to get/set active draft in the editor.
  • Fix: A few visual issues in widget configuration.
  • New: Prompt.addButton can now take an additional boolean parameter to mark the button as destructive.
  • Fix: “Open Draft” shortcut action not properly supporing options to hide/show lists.


  • All Platforms:
    • Change: Background email sent via Mail action step and Mail script object now come from If you use background actions and have any mail client filters that rely on the address, they will need to be updated.
    • Change: Rework how exiting a Focus Filter works to better restore last active workspace when exiting a focus mode.
    • Fix: “Open Draft” Shortcut action might not open draft when used in certain ways (like in Choose from Menu selections) in a shortcut.
    • Change: Action script object now has description read-only property to get the description text for the action.
  • iOS/iPadOS:
    • New: “Open links in app” setting in editor setting. If enabled, link mode links will open in Safari View Controller. If disabled, directly in Safari.
  • Mac:
    • Fix: Tabbing between fields in find window on Ventura.
    • Fix: Workspace backup should not create the backup folder if there are no workspaces to backup.


Mostly a bug fix release rolling up some fixes and minor improvements since the v34 update.

  • iOS/iPadOS:
    • Change: Reworked Live Activity support a little. Live Activities are now tied to a specific draft, and multiple activities can be started-stopped by long-press on pin button below the editor. You can also use the long-press menu to start a Live Activity for a draft without entering pinned mode.
    • Fix: Workaround for “Open Draft” shortcut action not working on iOS 16.1.
    • Change: Workspace and Action Group icons now tinted in menus.
    • Fix: Some issues with editor scrolling in slide-over/Stage Manager on iPadOS 16.1
  • Mac:
    • Fix: Single draft widget issues on pre-Ventura versions of macOS.
    • Fix: Scrolling issue after resizing capture window.
  • All Platforms:
    • Fix: “Get Current Draft” shortcut action now works when the current draft is a new blank draft.
    • Change: Improve error reporting on failure in dictation to allow for better troubeshooting.
    • Fix: FileManager.exists did not ensure permissions for a bookmark-based folder.
    • Change: Improve display of some items when selecting them in shortcuts actions and widget configuration.
    • Change: Add categories to shortcut actions so they appear grouped when editing shortcuts.
    • Fix: Reduce number of drafts returned in widget configuration to avoid hitting extension memory limits.



Support for New OS Features

Drafts v34 update is ready for iPadOS 16, and macOS 13 (Ventura). Many features that became available for iOS/iPhone in v33 – like Focus Filters, the Library Summary, and the new Shortcuts implementations – are now available across all your devices.


In addition to providing quick access to recent drafts, and navigation to headings in the current draft, the Navigation Menu now also includes submenus for:

  • Linked Items: Any linked items, as defined by the current syntax, found in the draft. Most commonly, this is [[wiki-style]] cross-links to other drafts in the Markdown syntaxes, but could be other things depending on the syntax configuration.
  • URLs: Listing any valid URLs found in the draft. This provides a quick way to open those URLs in Safari without the need to use link mode.

Also, note that the URLs found in the draft can also be accessed via long-press on the link mode button. Learn more

Quick Search Improvements

Quick search is updated with visual improvements and a few new options. The (...) menu allows you to restore recently used queries and provides new options for whether to include commands, workspaces, and actions in your results. Learn more

Arrange Mode Improvements

Arrange is a great way to re-organize your text by blocks, lines, or sentences. This update enhances arrange mode with additional command buttons to move individual items up and down. Existing drag-and-drop operations still work as well. You can hide the command buttons if you prefer not to use them (in (...) options). Learn more

Live Activities

On devices that support Live Activities (iPhones running iOS 16.1 or greater), Drafts will now start a Live Activity for the current draft when pinning is enabled in the editor. This allows quick access to that draft in a longer research/editing session from the Lock Screen and Dynamic Island. If you prefer not to have activities created, disable this feature via long press options on the pinning button. Learn more

Other Additions, Changes, and Updates

  • All Platforms
    • New: Share/Capture windows now provide an option to route newly created drafts to the archive.
    • Fix: Using prefix:: partial scoped tag in a tag filter with other tags and “all” matching would not filter properly.
    • Change: Exiting Focus Filter should apply default workspace.
    • Change: Revise tint color selection control in action/workspace managers. content.
    • New: [[trimmed_body]] template tag. Same as [[body]] but with any whitespace characters trimmed from beginning or end. Useful especially in cases where you have extra line feeds you would prefer to remove.
    • Change: Improvements to the draft selection interface used in share extension and Messages app.
    • VoiceOver labeling improvements around the app.
  • iOS
    • Change: Draft Lock Screen widget now respects the font size configuration option, and fits more text.
    • Fix: Filter pane not updating properly when workspace changed in some cases.
    • Fix: app.openURL could hang further actions if called on a drafts: URL.
  • Mac
    • Change: Updates to capture window, especially in draft selection.
    • Fix: Visual issue with tag sizing for 1 and 2 character tag names.
    • Fix: Menu item to toggle action group bar not updating properly.
    • Fix: Allow images to be selected when using File > Import.
    • Fix: Crash when updating a draft in the editor with multiple items selected in the draft list.
    • Fix: Crash specific to the “Show Tags” option being disabled in the draft list.
    • Fix: Save partial tags in the tag edit field if menu commands triggering new drafts are called.
    • Fix: Better handling of tag creation with a mix of special and non-special characters.
    • Fix: Editor could become unscrollable if the window is resized only from top or bottom.
    • If the app is quit and relaunched in pinned mode should restore the last loaded draft.
    • Add “Get Info” menu item to the draft list contextual menu.
  • Apple Watch
    • Tweaks to complications and some general design improvements.


  • Editor object has new urls property which returns an array of URLs found in the text.
  • Editor object has new linkedItems property which returns array of objects describing items identified by the syntaxes’ Link Definitions. See docs for details.
  • Draft object has new urls property which returns an array of URLs found in the text.
  • Draft object has new linkedItems property which returns array of objects describing items identified by the syntaxes’ Link Definitions. See docs for details.
  • Draft object now has navigationMarkers and related next/previous methods previously available only on the Editor, so they can be used without loading a draft in the editor.
  • Draft script object has new convenience urls() function that returns an array or URL strings found in the draft



The minimum system requirement Drafts are now:

  • iOS 14.7 or newer (was iOS 14.0, expect iOS 14 support to be dropped in early 2023)
  • macOS 10.15.1 (Catalina) or newer (was macOS 10.13 or newer)
  • watchOS 7.1 or newer (no change)

It is highly recommended you use the latest version on all of your devices if you are syncing data. If you have an older device which cannot support these operating system requirements, and you wish to run an older version of Drafts, please disable iCloud sync on that device.

Support for New OS Features

NOTE: It’s a slight awkward time for cross-platform apps with iOS 16 released for iPhone, but not iPad, and macOS 13 (Ventura) not yet released. A number of these features will be available on an iPad if you are running an iPadOS 16 beta, otherwise will become available when iPadOS 16 is out soon. We will also be following up with a new macOS release enabling features like Focus Filters once Ventura ships.

Lock Screen Widgets


iOS 16 added the ability to have widgets on your iPhone Lock Screen. Drafts provides two Lock Screen widget:

  • A multi-function widget with the same functionality as a small-size Grid Widget on the Home Screen. Each widget can be assigned to run a common command, display information about your inbox or a workspace, or even run an action! Learn more
  • Draft widget, which can display text from a draft, either in a rectagular Lock Screen widget, or inline with the date above the time. Tapping this widget opens the app to the selected draft.
Focus Filter

Drafts offers a Focus Filter which allows you to configure aspects of the app when your Focus mode changes at the system-level. Focus Filters are configured in the OS Settings app. If you add the Drafts’ Focus Filter to your Focus mode configuration, you can use it to apply a workspace, change themes, change loaded action groups, and other options. The Focus Filter is currently available only for iOS, but will be available on iPadOS 16 and macOS 13 (Ventura) later this Fall.

Shortcuts & App Shortcuts

iOS 16 & macOS 13 introduce an entirely new way to build integration with Shortcuts. Drafts extensive array of Shortcuts actions have all be updated to use this new “App Intents” system. Mostly this should be seemless to you, the user, but it does add some nice new abilities, like the ability for Drafts to automatically provide a variety of shortcuts without any need for configuration on your part. These include quite a few Siri trigger phrases. A few examples to try:

  • “Create draft”
  • “Dictate draft”
  • “Capture with Drafts”
  • “Search Drafts”
  • “Load Workspace (Name) in Drafts”

NOTE: These changes are iOS 16 only right now, but will be available on iPadOS 16 and macOS 13 (Ventura) later this Fall. We have tried to maintain backward-compatibility of Shortcuts actions, but there are a few cases where there will be behavioral difference when running Shortcuts on iOS 16/macOS 13 vs. previous versions of the OSes. If you run into any of these, please let us know via support or the forums and we’ll help work through any necessary modifications.

New Find-Replace UI on iOS

iOS 16 introduced a new native text find-and-replace interaction. Drafts has adopted this as the default find interface in the editor, so if you trigger find (magnifying glass in Action Bar selector, or via action) the system find will appear. Drafts advanced find is still available on iOS 16 by tapping for options in the find view which appears above the keyboard, if you need advanced regular expression or other options.

NOTE: You can tap and hold on the quick search magnifying glass above the editor to get to “Find in Draft”, or directly to advanced find.

New Menus

iOS 16 introduced new ways to configure popup menus, and Drafts takes advantage of these throughout the app where menus are used. Primarily a cosmetic improvements, it does make menus more readable in many cases.

Scoped Tags


Scoped tags provide a special markup to have multiple tags treated as members of the same scope, and only allow assignment of a single tag in the scope at a time. Scoped tags are in the format prefix::tag. Drafts will automatically allow only one tag in a given prefix to be assigned to a draft. For example, if you a draft is assigned the tag status::new, and you later assign the tag status::completed to the draft - status::new will automatically be removed. This is a great tool for creating workflows tracking status or priority. Learn more

Image OCR

The heading pretty much says it…much like Drafts can already do document scanning, or transcribe text from audio and video files, it now registers itself to handle images, and if you open an image in Drafts, it will offer to use OCR to transcribe and text found in the image into a new draft. Learn more

Action Aliases

Action aliases are quick way to create an action that references another action. If you have an action you want to appear in multiple action groups, but don’t want to duplicate it and have to worry about maintaining both if you make changes - aliases are a simple solution.

Create action aliases in the context menus on actions in the action list (right-click on Mac, tap and hold on iOS). Learn more

Library Summary (iOS 16 only)


The Library Summary is a quick overview of library statistics, with charts of workspace draft counts, and tag counts. The summary is available only on iOS 16 or macOS 13 (Ventura). To access the summary:

  • Select the operations button (two gears) below the draft list, then Global > Library Summary.

Note: The Library Summary is iOS 16 only right now, but will be available on iPadOS 16 and macOS 13 (Ventura) later this Fall.

Other Additions, Changes, and Updates

  • All Platforms
    • New: “Open to…” contextual menu options in draft list. If a draft has navigation markers (as determined by syntax, like # Headings in Markdown), this menu will be available and allows you to open the draft directly to a navigation marker, rather than the last selection.
    • New: Workspaces have a new option to filter by flagged status. This is also available on Workspace script objects as the flaggedStatus property (accepts: “flagged”, “unflagged”, “any”).
    • New: Workspace manager now displays number of drafts in the folders of the workspace.
    • Tag filters now support scoping queries based on :: and /. If you filter by a tag name ending in :: or /, it will be treated like you are searching for any tags that begin with the prefix, so a tag filter for status:: would find tags status::new, status::old, etc. Similarly, status/ would find status/new, and status/old. This works in Workspace tag filters, and in searches using the tag: prefix in search fields and quick search.
    • New: Additional Shortcuts Actions (iOS 16 only)
      • Set Theme: Allow updating active theme mode and themes.
      • Quick Search in Drafts opens Drafts directly to quick search, optionally with a value in the search field.
    • Better handling of rare catastrophic failure states that no one should ever see.
    • Performance and memory use improvements.
    • Some minor design improvements to a number of action icons. Add Wordpress, Craft, and Obsidian logo icons.
    • Fix: Crasher with out of bounds negative line indexes using the [[line|n]] tag in tmeplate processing.
  • iOS
    • New: Number of drafts in the current tab now displayed below draft list.
    • Change: Removed Action Group side panel that could be swiped in from the right side of the Action List. Action Groups are now switched via down-arrow menu at top of list, or via Quick Access Tabs (enabled in “…” list options) at the bottom of the screen. If you used this panel, sorry for the adjustment, but very few people used this panel, and its existence kind of messed with people expectations for swipe action to appear on actions when swiping to the left in the list.
    • Fix: Issue with date picker dismissal in scripted prompts leaving the prompt in an unusable state.
    • Fix: A “File” action step configured to write to a Bookmark folder could generate a blank finder tag attached to the file if no tags were assigned.
    • New: Recent actions now available in long press menu of action list button at top right of the editor.
    • Added long press menu on trash tab, with “Empty Trash” operation.
  • Mac
    • New: Holding down option key when using “Workspaces” menu in the main menu will open the workspace in a new window.
    • New: “Copy…” context menu commands in draft list now support multiple selected drafts and will merge them together in the pasteboard.
  • Scripting Changes
    • New: Autocomplete script object to access and update global autocomplete items. See beta docs for details.
    • New: Tag script object, with two functions:
      • Tag.query(matching: string) -> [string] : return array of tag names matching query, or all unique tags if you omit the matching argument.
      • Tag.recentTags() : Replaces now deprecated Draft.recentTags() returning list of recently used tags.
      • Docs
    • Change: Notion script object now has optional version property to specific which Notion API revision to target. Defaults to “2022-02-22”.
    • Change: editor.showFind() can now take an optional boolean parameter preferAdvancedFind that will default to showing advanced find interface on iOS 16.
    • Change: Todoist API updates:
      • Todoist quick add functionality now calling v9 of Todoist Sync API (v8 being discontinued in the Fall).
      • Todoist script object now calls v2 of REST API. If you rely on Todoist scripting, see migration docs. If you need to temporarily fallback to v1 API, set todoist.apiVersion = "1" on your Todoist objects before making any requests.
    • New: Prompt now has the ability to add segmented control. Use .addSegmentedControl(name: string, label: string, values: [string], selectedValue: string)
    • New: Implemented toJSON() function on Draft script objects to produce standardize rendering of a draft, which is also compatible with JSON.stringify. Useful for posting to webhooks, etc.


  • Change: /create URL scheme now supports optional flagged (true/false) and folder (inbox/archive) query arguments. (docs)
  • Change (iOS): Do not allow tap outside dictation window on iPad to cancel the dictation.
  • Fix (Mac): The “tools” options to copy content in Preview window were not working (only preview via File > Preview, not affecting HTML Preview action steps).
  • Fix: Leaving a template value blank in the action editor could cause it to revert to default template value.
  • Fix (iOS): Undo could cause undesireable scrolling on longer drafts.


  • New: “Create Draft” action step. Supports creation of new draft with content and tags/flagged status, syntax assigned without the need for scripting. Docs
  • Fix (iPad): Tweaks to some layout issues with floating and external keyboards on iPad.
  • Fix: Gmail action step body was not being generated properly, resulting in blank emails being sent.
  • Fix (Mac): “Configure Window” action step not saving changes of some values.
  • Misc. under-the-hood refactoring.



What’s New

Action Bar Tint Colors

For those who are fond of using color to distinguish items on screen, there is now an option to use action tint colors in the Action Bar. To enable on iOS, scroll to Action Bar options in Aa editor settings. On Mac, toggle menu item in Action Bar’s group selection drop-down menu.

Date Math - Travel in Time, Sort of…

It is sometimes useful to output a date that is relative to another date (usually the current one), adjusted by some time interval. It has always been possible in script to create and adjust future and past dates, but now it is easier with the addition of a new method to adjust dates using simple date math expressions.

This begins with a new way to create related date expressions, which consist of a list of plus or minus time intervals which can applied to a date. Each expression look like (+|-)(integer) (unit), and can be combined in a list to make multiple adjustments to a date. A couple of quick examples:

  • +1 year : Add one year to the date.
  • -2 months -6 hours: Subtract two months and six hours from date.

Units supported are: year, month, day, hour, minute, second. Units can be used in either singular or plural forms.

These expressions can be used in JavaScripts with the adjustDate(date, expression) function, or by providing an additional expression argument, along with the strftime formatting argument, in template tags which work with date. Those tags are the [[date]], [[time]], [[created]], and [[modified]] tags. Again, by example:

  • [[date|+1 year|%Y-%m-%d]]: Current date next year. So, on May 1, 2022, this would output: 2023-05-01.
  • [[created|-1 month|%Y-%m-%d]]: Output a month before the creation date of the draft.

Adjustment expressions are calendar-aware, such that adding 1 month to May 31 would result in June 30, since June does not have a 31st.

A couple of ready to use examples:

Mustache Templates

Drafts templates, with their square-bracket, [[title]]-style tags are still the default throughout actions, but with this update we have introduced the option to use an alternate template engine based on Mustache templates.

Mustache templates provide some additional power, like the ability to have conditionally rendered blocks, loop over arrays, insert information from other drafts, as well as more powerful filtering options. For details, see the Mustache documentation.

Mustache templates are available as a option on all long-form templates in action steps, can can also be triggered via script using the draft.processMustacheTemplate function.

Using Mustache Templates for Safari Web Capture

If you often capture using the share extension and Safari, you might be interested in switching your web capture template to use Mustache. This has the advantage of being able to use conditional sections to only render part of the text template for the captured text selection if a selection exists.

Improved Template Editing

Drafts now includes basic syntax hightlighting definitions for both Drafts templates, and the new Mustache templates. When editing long-form templates in actions steps, the templates can now (optionally) be opened in an editor with syntax highlighting and basic autocomplete for common tags. Use the edit button by the template in the action editor to open the template editor.

Other Changes and Updates

  • All Platforms
    • New: “Include Action” step configuration now includes “Select” button to allow selection of an existing action, rather that requiring typing of the action name.
    • Fix: TaskPaper syntax did not size indents correctly.
  • iOS
    • Fix: External keyboard navigation of dialogs (up-down arrows, etc.) was not working on iOS 15.
    • Fix: Share button with options was not visible on in the Preview window on iPad.
    • Change: Navigation to markers should respect the “Edit on selection” preference, not activating the editor after scrolling to the properly location if it off.
  • Mac
    • Change: When new modal capture windows are opened via Services or Sharing, they should appear more as modals with a “Cancel” button to clarify that they are transient and cannot be closed without losing the text.
    • Fix (Mac): Issue were editor undo could corrupt if using the “Undo” command on an empty, new draft.
    • Fix (Mac): If paragraph number display was active, and the window was narrow, text might not wrap properly and it would get clipped.


  • New (Mac): Ability to select alternate dock icons in Editor Preferences. Not quite like changing the app icon on iOS, but the best you can do with native Mac APIs. Be aware the alternate dock icon:
    • Only changes the app icon when it appears in the Dock.
    • Only changes the app icon in the Dock while the app is running.
  • New: A few new monochrome alternate icon options, with dark logo.
  • Fix: Update Dropbox authentication to avoid issue with credentials expiring shortly after creation, required re-authentication.
  • Fix (Mac): Issue with side panels overlapping editor text after being hidden-shown in some cases.
  • Fix: Drafts returned by Draft.queryByTitle might not update properly if modified in a script while also being loaded in the editor.
  • New (iOS):: Commands under the draft icon long-press menu to go directly to version and action log histories.
  • Change (Mac): Side panels no longer animate when hiding and show.


  • Fix: Issue with draft scrolling to top when editing some lists with typewriter scrolling enabled.
  • Fix: Find window not remembering options.
  • Fix: Error importing older exported Workspaces.
  • New (Mac): Add “flag” toolbar button option.
  • Change (Mac): Allow “open in new window” windows to remember last used size.
  • Change (Mac): Update Markdown syntaxes to better match parser output for middle of the word bold and italics, which are only supported when using asterisks, not underscores.
  • Change: Update to 2022-02-22 version of Notion API and drop “(Beta)” label, since Notion announced the API is out of beta.
  • Change: Break up longer drafts into more paragraph blocks when posting to Notion, to avoid block size limits.
  • Change: Adjustments to tag filtering pane.
  • Fix: VoiceOver text for word/character counts should respect settings to hide/show those counts.
  • Fix: VoiceOver should include tags in draft list.


What’s New

Interface Refresh

Lots of general usability and interface and improvements, including updated icons, some button re-organization, and a variety of new features. Highlights:

  • iOS:
    • Quick Search is now in the top toolbar. Note that you can tap and hold on the search button for quick access to “Find in Draft…” as well.
    • Menus to load workspaces and action groups are now (v) down-arrow menus at the top of the list. If you would also like to access from the bottom of the screen, enable workspace/action group bars in (...) list options
    • The (i) detail button was removed to reduce clutter. Long press the draft icon at the top left of the editor and select “Get Info” to access draft details.
    • Actions can be accessed from the Action Bar above the keyboard without loading the action group in the bar. Tap the group icon at the left to select groups, and each group has a list icon along with it which will open a menu of actions in that group. This makes it easy to access seldom used text manipulation actions without swapping out the group displayed in the action bar.
    • New options (in Aa editor settings) to toggle visibility of the word, character, and selection counts. These can also be toggled quickly by long-pressing the Aa button.
  • Mac:
    • Workspace and action group bars are now available at the bottom of the list panes for quick access to loading groups and workspaces in the lists. These can be toggled on and off in the View menu.
  • Configure Window action step. Provides an easy way to create actions that configure the editing window, hiding/showing side panes, switching pinning/link mode, and loading workspaces and/or action groups. Great for jumping to a particular workflow. (more)
  • Show/hide character, word, and selection counts. Options in the Aa editor settings view. These options can quickly be toggled using the long-press menu on the Aa button.
  • Focus Mode is now Pinning. The “focus” name was a bit confusing, and the eyeball icon did not clarify what it did. Apple adding the “Focus” system feature didn’t help, either. This mode has been replaced by the “pinning” option, which pins the current draft in the editor, temporarily disabling the “new draft after” timeout. (more)
  • New setting available to control what happens in the editor after an action’s “After Success” setting files a draft in the archive or trash. The default is to open a new draft, but, optionally, the “next draft” from the current draft list can be loaded. This was a feature of focus mode, but one that few people knew about.
  • Workspaces Backups: Workspaces are now included in periodic backups. Options in Settings > Backups. (more)

Notion Integration (Beta)

This version introduces basic integration with the Notion online project management system. Notion’s API is still in beta but has become stable enough to start offering integration in Drafts. Be aware that aspects of this functionality may change or stop working if Notion makes changes in its API during the development process. We also plan to expand functionality based on feedback, so if you are using Drafts with Notion, please let us know other features you would like to see added.


This initial integration provides:

  • Notion Action Step that allows easy configuration of actions which create or append to pages in Notion as either text or todo lists.
  • The Notion script object, which provides access to the entire Notion API for advanced use cases.

For details, example actions, etc., see our Notion Integration Guide.

Maintenance Tasks

New “Maintenance” view in Settings/Preferences. This view is a home for completely optional periodic maintenance tasks to help restore defaults, clean up data you may no longer care about, or improve performance. Make sure you understand what the tasks do before running one because some are destructive and not reversible. Details on available tasks in the User Guide.

Other Changes and Updates

  • All Platforms
    • Change: Action steps configurations can now be viewed as read-only in the free version to allow for better content review.
      • Fix: Revamp handling a number of text modifications in the editor, both via the editor script object in actions, and via autocomplete, auto-match, and list completions, to better participate in the editor’s undo/redo stack and avoid a few cases where undo could stop functioning.
      • New: WordPress action step now includes the option to specify whether user comments should be allowed on the resulting post.
    • Fix: Autocomplete canceling when typewriter scrolling enabled.
    • New: Individual autocomplete items can be shared as URLs which can be used to installed in other installations of Drafts.
  • Scripting Changes:
    • Reminder script object now has startDate, startDateIncludesTime, and completionDate, and location properties available.
    • editor.focusModeEnabled deprecated, and replaced by editor.pinningEnabled (still works, may be phased out on future release)
    • FileManager.exists method
    • ActionLog.status readonly property to indicate status (“completed”, “failed”, etc.) of the log entry.
  • iOS
    • Fix: Clearing search in the action list would not reload the last loaded group if a group had not be selected since cold start of the app.
  • Mac
    • Fix: Issue deleting actions shared to the Directory in the “Manage Actions” view.
    • Fix: Paragraph numbers not always redrawing on scrolling.
  • Apple Watch
    • Append/Prepend options in Watch app now have text input with options (pencil icon) options to allow access to scribble on Series 7 watches.


  • Operations to rename and delete tags should look also look for drafts with those tags in the trash.
  • Better handle import of text files with some uncommon text encodings.
  • Crasher using share extension for some users.
  • Misc. small fixes.
  • Updates to default actions groups for new installs. Note that the default groups can be re-installed from the Directory, if desired.


What’s New


Transcribe Text from Audio and Video Files

Drafts now registers itself to open most common audio and video formats. If you open an audio or video file in Drafts, you will be prompted with an option to transcribe text using speech recognition. Speech recognition will process the audio in the same way as dictation, so dictation commands for punctuation, etc., are supported.

This is most useful for transcribing the content of single-speaker voice audio, like a voice memo, or recorded lecture, but it will happily attempt to transcribe other forms of audio as well, though the quality of the results may vary.

To try it out:

  • iOS
    • Tap and hold the “+” button, and select “Transcribe…”. You will be prompted to select an audio or video file.
    • Share any audio or video file from other apps, including Files and Voice Memos, to Drafts.
  • Mac
    • Select File > Import... from the main menu, and choose and audio or video file.
    • Drag and drop an audio or video file on the Drafts app icon.

If you plan to use this transcription, please read the full documentation to understand its capabilities and limitations.

Extract Text from PDFs

If you attempt to open a PDF file in Drafts, you will now be offered the option to extract text from the PDF into a new Drafts.

To try it out:

  • iOS
    • Tap and hold the “+” button, and select “Import File…”. Select any PDF file.
    • Share any PDF file from other apps, including Files, to Drafts.
  • Mac
    • Select File > Import... from the main menu, and choose a PDF file.
    • Drag and drop a PDF file on the Drafts app icon.

Extraction will only grab actual text content from the PDF. Some PDF files have embedded image content and will not work with this feature.

Learn more about PDF Text Extraction

Other Changes and Updates

  • Change: Replaced microphone icon on Apple Watch complications and buttons. Since Apple has made it so it is not possible to launch input directly to dictation on watchOS 8.1, it no longer makes sense to use microphone icon. (PS: Please let Apple know if you do not like this change! We’d love to get back the ability to go straight to dictation.)
  • Change: Change sort order of trash to use accessed date/descending to make it easier to find and restore items recently added to the trash.
  • Change: [[line]] template tag when used with specifying a line argument, now returns the text of the current selection extended to the beginning and end of the lines. Useful for grabbing the current line text in an action without needing to select the text first.
  • Fix (iOS): Issues sorting actions upwards in the action list.
  • Fix: Issue appending to files in Bookmark folders from different devices.
  • A variety of performance improvements and fixed for visual glitches.


Bug fix release for a few issues in the inital 29.0 release.

All Platforms

  • Fix: A few specific icons would cause problems when the action/workspace they were assigned to was displayed in a widget.
  • New: “Last Draft” widget command.
  • Change: Create additional tab stops in editor to allow for deeper indenting.


  • Fix: Issue re-ordering actions in the action list.
  • New: Option to clear recent tag list in tag suggestion drop-down.
  • Change: Pressing return on virtual keyboard should accept an autocomplete value.


  • Fix: Widgets not functioning properly on Big Sur.


What’s New

Shortcuts for Mac / macOS 12 Support

Drafts provides a wide variety of actions for use in Apple’s automation app, Shortcuts. These can be used for simple things like creating a new draft, opening Drafts directly to specific workspaces – or advanced processing by querying and updating multiple drafts.


With macOS 12, Apple has brought the power of Shortcuts to the Mac, and Drafts is ready. All Drafts’ Shortcuts actions now work on both iOS and Mac, and shortcuts created using these actions work cross-platform, allowing you to create, modify, and use those shortcuts on all your devices!


Drafts now includes an extensible system to provide drop-down autocomplete suggestions while typing in the editor. Autocomplete includes a global system for creating and inserting text snippets. Additional autocomplete suggestions can also be provided by syntax definitions.

Global Autcomplete Suggestions

Do you have snippets of text you reuse regularly? Email addresses? Templates? Then autocomplete suggestions will be a handy addition.


Visit the Autocomplete tab in Editor Preferences (Aa button below editor) to get started configuring your suggestion drop-down items. Set the “Trigger” text to control what sequence of characters will trigger the suggestion drop-down to appear, and add items for frequently used snippets. Suggestions can use Drafts template tags to insert the current date, location, or other values.

Drafts built-in Markdown syntaxes (Markdown, GitHub Markdown, and MultiMarkdown) now include two additional autocompletion features to work with other drafts in your library:

  • Type [[ to trigger auto-completion of [[wiki-style]] links to other drafts by title.
  • Type << to trigger the selection of another draft and insert the full content of that draft.


These features are implemented using a new set of configuration options available to all syntax definitions. If you create custom syntax definitions, and would like to add this functionality (or similar) to your custom syntax definitions, take a look at the related documentation on autocomplete in syntaxes

Learn more about Autocomplete

Other Updates and Fixes

All Platforms

  • Fix: A numbered list item with more than one digit, indented 4 characters, would be treated as code block in Markdown syntaxes.
  • Fix: /open URL with title param would not properly find drafts with “:” in the title parameter.


  • Fix: “Last Draft” option available with long press on app icon would not work properly on iOS 15 if the app was already running and the new draft timeout had passed.
  • Configuration tweak to allow the “Add Link” option to work to create links to the current draft in Quick Notes.


Bug fix release addressing a few issues in release 28:

  • General
    • Change: Improve efficiency of workspace count calculations for widgets to avoid an issue that could result in a blank widget in some configurations.
    • Change: Internal link previews now only work on iOS 15 to workaround issue that conflicted with use of cut/copy/paste menu.
    • New: “Process Template” shortcut action which takes a template and draft and runs the text through the Drafts template engine to expand tags (like [[body]], [[title]], etc.)
    • Fix: Prevent case where sending file to share extension would not capture content, or duplicate content.
    • Change to find/replace regular expression configuration to support replacement of positive lookahead constructs.
    • Fix: Case where an internal link by title could find drafts that had the query title string in some place other than the first line.
    • [[hashtags]] template tag should replace spaces in tags with “-“.
    • availability property of Event object should be a read/write property, not read only.
    • Address several VoiceOver issues.
  • iOS-Watch Only
    • Fix: Add keyboard shortcuts (⌘-, option-⌘-,) back for Settings/Preferences and Editor Settings/Preferences.
    • Fix-Watch: Background scheduling crash
  • Mac Only
    • Fix: Issue re-showing action bar if it was hidden.
    • Fix: Issue configuring widgets on macOS 11 (Big Sur).
    • Fix: Last line in action script editor clipping.


What’s New

Ready for iOS 15 and macOS 12


Drafts is ready for iOS 15 and macOS 12! Updated for compatibility, of course, but also to take advantage of some of the great new features. New details below, but Drafts works great with “Live Text” to capture text from images, has full support for Shortcuts on the Mac, and brings great new iPad features, like powerful external keyboard menus.

New Apple Watch App


We have re-written the Drafts Apple Watch app from the ground up to use the latest watchOS technologies. It’s still the best, easiest way to capture ideas on the go, but has a few new tricks:

  • Multiple complication types to capture, capture with options, or see your inbox or flagged draft count.
  • Inbox drafts synced to watch now reflect your default workspace options on the phone.
  • Flagged drafts now also synced to the watch.
  • Requires watchOS 7.1 or greater.

Note that you may need to reconfigure your complication options after upgrade, especially if you want auto-capture, which was previously a setting and not based on the complication used.

Learn More About Drafts on Apple Watch →

Shortcuts Support on macOS 12

We’re ready for Shortcuts on the Mac! It’s just not quite ready for us. Look for full, cross-platform support for all of Drafts’ Shortcuts actions when macOS 12 (Monterey) is released in the coming weeks!

In the meantime, enjoy these new shortcut actions on iOS:

  • Get Current Draft: Retrieves the draft object for the draft currently open in the editor.
  • Open Draft Enhancements: The “Open Draft” shortcut action now has a bunch of additional optional parameters to configure Drafts while opening - to load a workspace, actions groups, hide/show the drafts and action lists, etc. Great for bookmarking a specific set of options in a Shortcut.

Learn More About Shortcuts →

Folder Bookmarks

Up to now, Drafts file actions and scripts have been limited to working with files in the “Drafts” folder in iCloud Drive (or by working directly with cloud-provider APIs, like Dropbox and Google Drive). With folder bookmarks, it is now possible to grant permissions to additional folders outside the Drafts App Sandbox, making it easier to integrate with other apps and services, to, say, export a draft content to another system - like an Obsidian Vault, etc.

Learn More About Bookmarks →

Document Scanning and Live Text Support

Drafts has been tested and works great with the new “Live Text” features in iOS 15 and macOS 12. In addition, we have incorporated document scanning to OCR directly in the iOS app. Tap and hold the “+” and select “Scan Document” to open the document scanning camera. It supports scanning multi-page documents, and directly runs the results through OCR to create a new draft with the result text.

Learn More About Live Text & Scanning →

Share Extension and Capture Window Updates

Drafts capture flow used in the iOS Share extension and the “Capture” window on Mac, has received a number of updates:

  • Both now remember your recently used selections for appending and prepending to existing drafts, to make it easier to re-use active drafts.
  • The Mac Share extension now displays in a new capture window, allow preview/editing of captured text as well as appending-prepending to other drafts - more like the iOS Share extension.
  • Mac Services menu now contains “Capture to Drafts” and “Capture to Drafts with Options” services to send text selections to Drafts from anywhere in the system. The “with Options” version displays a capture window, while the other version capture silently as a new draft.
  • New /capture URL scheme, and Shortcut “Show Capture” action, allow you display the capture window in app, optionally pre-filled with text and tags. This is useful in capture workflows from other apps, as well as web bookmarklets.

Learn more about the iOS Share Extension and Mac Capture Window

General Improvements

  • New tag suggestion interface on iOS to make it easier to tag your drafts with just the right tags.
  • On iOS, long press on links to other drafts now generates a preview and several command options for the draft. This includes [[wiki-style]] links, or drafts://open links in link mode.
  • On Mac, command-click on links to other drafts to open them in a new window.
  • Tags in the tag filter pane now have contextual menu (tap and hold) with “rename” and “delete” commands to bulk manage tags. These options already existed in the draft list “Operations” commands, but these versions pre-fill the tag value for better accuracy.

Other Updates and Fixes

All Platforms

  • New “What’s New” screen accessible via Settings > What’s New (iOS) or Help > What’s New (macOS)
  • “Run Shortcut” action step has new “Return to Drafts” option. If disabled, Drafts will not include callback parameters to return to Drafts after completing the Shortcut. If you do not care about a result from Shortcuts, and wish to end up in a different app when the shortcut finishes, disable this option.
  • [[hashtags]] template tag. Returns assigned tags as comma-separated list, with each tag prefixed with a “#”. Convenience tag to remove the need to script this conversion when exporting to systems that use hash tags.
  • Estimated read time now calculated and displayed in draft detail (i) screen.
  • Fix: Markdown syntaxes not recognizing [ref][links] with space.
  • Fix: After success “Trash” would not load next draft properly in focus mode.


  • Refactor the next-previous button logic because it was not updating properly in some cases.
  • A few new app icon options.
  • Require iOS 14.1 or greater.
  • Remove pre-iOS 14 “Today” widgets.


  • More toolbar options to customize your toolbar. Focus, link modes, preview, arrange buttons now available.
  • List types returned from AppleScript not converted properly to JavaScript arrays.

Scripting, Shortcuts, and URL Schemes

  • version.delete() function to allow scripted deletion of versions in the version history. (docs)
  • ActionLog script object used to read and manipulation entries in the Action Log. Generally accessed from the draft.actionLogs property. (docs)
  • /scandocument URL scheme. (docs)
  • editor.scanDocument() -> string function. Also similar to editor.dictate() function, opens the document scanner and returns any OCR results as a string which you can do with as you please. (docs)
  • New “Get Current Draft” shortcut action retreives the draft currently open in the main editor.
  • “Open Draft” shortcut action has additional options to configure state of window (show/hide side panes, load workspace, etc. - docs)
  • /open and /create URL schemes now support several additional parameters to configure the environment (docs):
    • showDraftList [true/false]
    • showActionList [true/false]
    • loadWorkspace, loadActionGroup, loadActionBarGroup: take names of valid group/workspaces and applies them


What’s New

Custom Theme Support for Widgets + New Action Icons

It is now possible to select custom light and dark themes for Home Screen (iOS) and Notification Center (macOS) widgets from the built-in and custom themes you have installed in Drafts. To make changes, tap and hold on a widget, select “Edit Widget”, and make changes in the widget configuration.


We have also added dozens of new icons for actions/workspaces in categories like Health, Animals, Education, Email, and more.

If you create custom themes, you may wish to add the following new keys in colors.interface: widgetBackground, widgetBackgroundAlternate, widgetForeground, widgetForegroundAlternate. If not present, these values will fall back to existing related keys: background, backgroundCollection, foreground, so existing themes should work out of the box without updates.

Google Tasks and Microsoft To Do Integration

Extensive integration with two of the most popular task managers: Google Tasks and Microsoft To Do. This version adds new action steps which can create individual tasks, or add each line of draft as a task, to lists in either Google Tasks or Microsoft To Do.


Both services are available via scripting, with powerful script objects with convenience methods for creating and updated tasks and lists, while also exposing the full APIs to advanced users.

For sample actions and details:

Arrange Mode Improvements

Arrange mode has better external keyboard support, especially on iOS, including: - Esc and ⌘-return to cancel or accept changes - Arrow keys navigate up-down in the list - ⌘-up/down move the selected line up and down in the list.

Other Updates and Fixes

  • Change (iOS): iOS 12 no longer supported.
  • Fix (iOS): URL scheme could be called twice on cold start of app.
  • Fix: Better support for import of exported files from Drafts 3 or earlier
  • Script changes:
    • Event object properties:
      • identifier
      • attendees array to access (readonly) attendee list.
      • availability string with values busy, free, tentative, unavailable, notSupported
    • Reminder object properties:
      • identifier
  • Fix: Drafts set in the editor via editor.load should get added to recent drafts list.
  • Fix (iOS): Messages app background in dark mode had issues.
  • Fix (macOS): loadActionGroup and loadActionBar URLs were not supported on Mac.
  • Fix (macOS): Possible fix case where “Undo” would stop working in the editor until the app was restarted.
  • Refactor assets to save on binary size.

Changelog Archive

Starting with version 27, the iOS and Mac changelogs were merged on this page. For previous release notes, see archives below.

Table of contents

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