Changelog

Also visit the News & Updates Topic on the Community for for update notes.

Drafts for Mac is coming soon. Drafts Pro subscribers can try a preview release now. Learn more.

5.5

In addition to some non-obvious changes preparing for the upcoming release of Drafts for Mac (learn more at: https://getdrafts.com/mac/beta), this release brings the following updates:

Markdown Updates

Drafts 5.5 brings significant new customizations for advanced Markdown users, letting you tailor the Markdown used in Drafts to specific needs. These customizations are in two parts.

  • MultiMarkdown & GitHub Markdown Syntax Highlighting: In addition to the default “Markdown” syntax highlighting option, there are new “MultiMarkdown” and “GitHub Markdown” syntax options which add highlight for some of the extensions specific to those flavors of Markdown. The default “Markdown” syntax has been simplified to more closely match the original Markdown specification as well. If you prefer one of these advanced highlighting options, you may wish to select it as your default for new drafts. More details
  • Markdown Processor Options: Markdown options have been added in setting to control the Markdown rendering used in templates and previews. It is now possible to choose between MultiMarkdown and GitHub Markdown when rendering, as well as control many advanced options provided by these renderers. More details

Workspace, List Options Additions

The draft list, and Workspaces, can now optionally sort flagged drafts to the top of the list in the inbox and archive - and the option to omit flagged drafts that has been available for the inbox is now also available for the archive. The Workspace script object has also been extended to support these features. More details in list options and Workspaces documentation.

Other Additions, Changes and Fixes in 5.5

  • New: [[line]] template tag now has support for negative indexes in ranges which count back from last line, like [[line|-1]] returns last line draft, [[line|-2..-1]] returns last two lines. Templates and tags documentation
  • Fix: Margin sizing on iPad accidently broken in previous release.
  • Change: Merge operation should remember last selected destination (archive, trash, etc.)
  • New: Add additional step summaries for more types of action steps when viewing steps in the action editor.
  • Change: Add “keepit” URL scheme to whitelist to work in link mode.
  • Fix: Better handling of keyboard accessory positioning to avoid issue with Chinese keyboards on X style phones.

5.4.4

  • Change: Ready for the latest iPad screen sizes.
  • Fix: Fix a couple of obscure watch-phone communication issues.
  • New: Periodic backup settings now have frequency option allowing choice of daily, weekly or month backup schedule.
  • Change: Change trash can sweep to keep 30 days instead of only 7.
  • Fix: Crasher in template processing when importing template from file with [[template|path.txt]] when the template was very short.
  • Fix: Some layout issues on SE size phones.
  • Fix: If only omitted tags were in the draft list tag filter, the filter status did not display properly.

5.4.3

General Additions

  • Searching drafts in the draft list now supports “quoted strings” and -negated strings, Google style. e.g. You can search for "red dress" -blue and only drafts containing the full phrase red dress and NOT containing blue will be returned.
  • Global ⇧-⌘-F search drafts external keyboard shortcut.
  • “Merge” operation now has option on whether to place originals in archive, trash or leave them where they are.
  • “Rename Tag” and “Delete Tag” operations in drafts list operations to globally rename or remove a tag across all drafts.
  • [[template|path.txt]] template tag to load a template from a file in the /Drafts/Library/Templates folder in iCloud Drive. Docs

Scripting Additions

  • Workspace scripting object now has full support for creation and editing of workspaces, as well as the ability to query for drafts contained in the workspace. Docs
  • require(path); global script function which imports content of script in the /Drafts/Library/Scripts folder in iCloud Drive. Useful to reuse script libraries across actions, or when developing new scripts in an external editor. Docs
  • Additional parameters to Draft.query function to omit tags, and specify sort order. Docs

Other fixes and changes

  • Fix: Some improvement to pushing data to Apple Watch more actively.
  • Fix: Work on some cases where the search field would not display correctly.
  • Fix: Taskpaper indentation on wrapped lines not working properly.
  • Fix: Case where action with Callback URL step might not archive after success properly when run from a keyboard key.

5.4.2

  • Change: Work to more aggressively restore Watch-Phone sessions if they get stuck and are not passing information.
  • Fix: Crash with some WebDAV step configurations.
  • Fix: Case where creating a draft using Siri could create duplicate drafts.
  • Fix: VoiceOver actions not working on action rows in the action list.
  • Fix: Some entity encoding issues in XML created by WordPress/XML-RPC requests.
  • Fix: Undo causing scrolling on longer drafts.
  • Change: Remove “Run Workflow” action step as option for new steps (replaced by Run Shortcut).
  • Fix: Spotlight indexing a bit too aggressive reindexing some content.
  • Fix: Do not donate Siri “View” intents for blank drafts.

5.4.1

  • New: Update Watch app to support new Series 4 complication types.
  • Change: Move Apple Watch app setting inside Drafts Settings (no longer in Watch app on phone).
  • New: Add setting to “Show inbox count” on complications. Disable to only show icons for most complication types.
  • Fix: Some cases where WordPress API calls failed could get reported as success, depending on how the server returned the error.
  • Fix: Missing placeholder text in dark mode for Mail/Messages action steps.

5.4

Note: An additional 5.4.1 release is planned for release before September 24, 2018 to fully support new Apple Watch Series 4 and iPhone XS, etc., models.

Siri & Shortcuts Support (iOS 12 Required)

  • “Run Shortcut” action step. Pass text to the Shortcuts app and trigger a Shortcut by name with a single tap. This is the same functionality available in the “Run Workflow” action step, updated for the new Shortcuts app. Details
  • Siri Intents:
    • “Capture clipboard” Siri shortcut. This shortcut allows capture of the current clipboard content to a new draft in Drafts without launching the app.
    • “View draft” Siri Shortcut. Allows creation of a shortcut which displays the content of a specific draft in the Siri interface - with the ability to tap and open that draft in the app. Great for previewing lists, or regularly view reference notes.
  • “Add to Siri” buttons to create voice shortcuts to functions in Drafts directly in the app in the following locations (iOS 12 only):
    • Add shortcut to open a specific draft in the (i) detail view.
    • Add shortcut to load a workspace on Workspace edit screen.
    • Add shortcut to run an action without input text from the action edit screen.
  • Drafts creates shortcuts as the app is used for a variety of other tasks, such as using the Drafts dictation interface. As you use Drafts, these become available in iOS Settings > Siri & Search and can be attached to custom Voice Shortcuts. A common example would be to create a “Dictate” voice shortcut that launches Drafts directly to dictation of a new draft.
  • Watch the community site for more information and guides to using Shortcuts with Drafts in the coming weeks.

WordPress Support

  • WordPress action step. Allows posting to WordPress blogs with a variety of basic options. Details
  • WordPress script object allows access to the entire WordPress XML-RPC API to provide advanced features, both reading and writing data for posts, taxonomy information and more.
  • Example actions and details in our “Using Drafts with Wordpress” integration guide.:

Expanded Google Drive support for Google Docs and PDFs

  • Google Drive action step enhancements allow creation of Google Docs and PDFs on Google Drive:
    • Template output of a Google Drive action step can be selected between Text, Markdown & HTML. This is similar to setting on Evernote steps and determines how the output of the content template will be treated.
    • Upload type allows you select the type of result file. If “Text”, well, you’ll get a text file. This is the only type that supports append/prepend. If “Google Doc” or “PDF”, Google drive will convert the uploaded file to those formats. When combined with HTML template output, you can create fully-styled documents and PDFs.
    • Additional details and sample actions

Full Dropbox API Scripting

  • Dropbox script object exposes entire Dropbox API. New rpcRequest, contentDownloadRequest and contentUploadRequest methods wrap and expose the entire Dropbox API. This is an advanced feature and requires direct API knowledge, but it is possible now to create share links, list files, folders, query files and version, create Paper documents, etc. Anything you can do with the API, essentially. Details in the Scripting Reference.
  • Example Actions:

Other New Features in 5.4

  • Separators in action groups. Separators act like headings and allow for visual organization of actions in a large action group or keyboard rows. Each has a full text name for the action list, and optional shorter key label for display in the keyboard row. Create them using the “+” button in the action list. Manage them just like an action - drag and drop to move the around, etc.
  • Light Gray theme.
  • XMLRPC.request(url, methodName, params) script method to interface with XML-RPC based services. Takes care of creation and decoding of XML needed to interact such services. Suitable far wrapping XML-RPC based APIs like the MetaWeblog API or others.
  • HTTP script object now supports parameters setting to specific URL query args as a javascript object.
  • Draft detail (i) screen now has button to copy UUID or draft text to clipboard, in addition to existing copy link option.
  • More summary information in Draft detail (i) screen.
  • addLabel(name, label, options) method on Prompt scripting object allows adding text labels, captions and headings in a prompt.
  • strftime(date, format) global script method. Returns formatted date string.
  • Toggle device sleep off and on via script. app.isIdleDisabled and app.setIdleDisabled(bool) script methods to allow disabling of system sleep timer to keep the screen from dimming. Useful for times when you do not want to have to keep waking up your phone when referencing a draft. Example Toggle System Sleep action is available. See reference for more information
  • Ability to clear all version history for draft in Details (i) > Versions, or individually delete specific versions (swipe to left).
  • Markdown list auto-complete will now try to enable capitalization for first word of new list line if Sentence auto-capitalization is enabled.

Other Fixes and Changes in 5.4

  • Change: A few updates to default action groups. These will only take effect for new installations - but these groups can all be reinstalled from the Action Directory
  • Change: Make “edit” the default swipe option for Workspaces in Workspace list.
  • Fix: Problem with login credentials for Work/School OneDrive accounts expiring after 1 hour.
  • Change: Display confirmation dialog when clearing the recent tag suggestion list.
  • Change: Prompts using single select fields now display more like radio buttons than checkboxes.
  • Change: Add “Manage Subscriptions” button in settings for Pro users.
  • Change: Throw error alert if /get URL scheme does not provide x-success callback to return content.
  • Fix: Badge on iPhone not always updated after receiving new information from Watch app until Drafts as launched.
  • Fix: Scripted callback URL call should fail immediately and not wait for timeout to fail if URL could not be opened.
  • Fix: Regression in CallbackURL scripting that prevented it from properly waiting for response.
  • Fix: Certain actions which update draft content, then use prompts or leave the app might lose the update to the draft if run from a keyboard row instead of action list.
  • Fix: Issue where tags assigned to the current editor draft using Select > Operations in list would not get updated.
  • Fix: Be less aggressive about dismissing side panels when app is returned to foreground.
  • Fix: Disabled action steps run when nested in “Include Action” step.
  • Fix: Prevent odd-ball case where sync could temporarily stall in certain network conditions.
  • Fix: Better enforcement of max. size limit for an individual draft (1 MB, ~900,000 characters) to prevent hitting sync issues.
  • Change: Merge operation now remembers last used separator.
  • Fix: Single select prompt options not appearing properly.
  • Fix: Race condition that could cause temporary stall of sync.
  • Fix: Pipe character could disable inline code highlight in Markdown syntax.
  • Change: It is now possible to escape template tags with a backslash to prevent them from be processed. e.g. \[[title]] will come out as [[title]] not get the title of the draft inserted.
  • Change: Make some VoiceOver improvements in Arrange mode.

5.3.1

  • Fix: Undo functions might not work properly in some situations.
  • Fix: Importing action from Action Directory created in beta version of Drafts could fail with “Import Error”.
  • Fix: Issue where changes made to current draft in the editor made via Select > Operations or in action could get ignored.
  • Fix: Reminder import with notes could add unnecessary text.
  • Fix: Provide defaults for addPicker if the caller does not.

5.3.0

New in 5.3

  • TODOIST SUPPORT
    • For full details, see our new Todoist integration guide.
    • Todoist action step. Adds task to Todoist inbox, which optional configuration to specify reminder and comment. Details
    • Todoist script object access any methods on the Todoist REST API. Allow creation and updating and reading of tasks, projects, comments, labels and more. See reference for details
  • Three new alternate app icons options for Pro subscribers, accessed via “Aa” appearance settings.
  • Prompt improvements
    • addPicker method on Prompt object to add iOS picker style control for selecting values. Details in reference
    • Prompt addButton method can now take optional second value parameter. When provided, the the buttonPressed property will be returned as the value instead of the button name. Value can be any data type. Useful for associating non-string values with a prompt button, or simply alternate string values.
    • Prompt addTextField and addTextView options parameter can now accept a wantsFocus boolean value to hint that the field should be focused for editing when the prompt is displayed. Should only be set on one field in the prompt.
    • Prompts with only one button will treat that one button as the default action and continue with CMD-Return on external keyboard as if that button was pressed.
  • ReminderList object now has getAllReminderLists() and find(title) methods to match those on Calendar object.
  • Learning resources page in Settings for easy access to community site, screencasts, etc.

Other Fixes and Changes in 5.3

  • Change: Allow higher paragraph spacing settings to work better with larger font sizes.
  • Change: More aggressively attempt to re-process Watch transactions which may have failed. Should avoid cases where some drafts created on the watch were stuck an not transferred to the phone.
  • Change: Tighten tolerances of side-panel display gestures to cancel if the swipe moves too much up or down to avoid accidental swipes.
  • Fix: Changing draft list filters should scroll to top of list.
  • New: Add several small animation and visual tweaks.
  • Fix: Insert text step after a script step that called draft.update() might not get freshest draft content.
  • Change: Reset tag entry field when tag is selected in tag suggestions.
  • New: Add uuid parameter to x-success callbacks for the /create URL scheme (also supports retParam to specify parameter name to use).
  • Fix: Embedded iframes in HTML preview action steps were triggering redirects.
  • Change: Refactored all handling of “after success” settings on actions to avoid a few edge cases where the move to archive/trash might not get saved properly.
  • Change: General pass of tweaks to prompts to better support Dynamic text and display better.
  • Change: Tweaks to Markdown bold/italic syntax definitions.
  • Fix: Subproject syntax highlighting in Taskpaper.
  • Change: Text views will also be focused if provided in a prompt.
  • Fix: Issue where “after success” settings on an action might not take properly when in focus mode.
  • Fix: Deleting an action group in manage view should not leave edit mode.

5.2.1

  • New: Navigate window (access via down arrow at top right) now also offers navigation to recent drafts. Defaults to displaying recent drafts if current draft does not have any identifiable navigation markers.
  • New: Sprinkle in more user activity registrations.
  • Fix: Clean up a couple of crashers with unexpected arguments in scripting methods.
  • Fix: Avoid deadlock running OneDrive append action with a subfolder path configured.
  • Fix: If the URL provided to Drafts in an x-success parameter did not already have any parameters, return parameters might not get appended correctly.
  • Fix: Matching projects in Taskpaper syntax should be less greedy matching : in tasks.
  • Fix: Resuming dictation after editing while paused could lose edits.
  • Fix: Spotlight in-app search continuation was not configured properly.
  • Fix: Better handling of more than one watch connected to an iPhone.
  • Fix: Request refresh of calendar store data before script methods that read from calendars.
  • Fix: Crash deleting multiple action log entries.
  • Fix: Crash requesting product information from App Store in poor network conditions.

5.2.0

New in 5.2

  • Actions now have an “Assign tags” after success setting. In addition to moving a draft to the archive or trash, after success can now also assign tags - great for marking or filing away drafts automatically when processing them. For example, set the Tweet action to automatically assign the “tweet” tag when run on a draft and you can later easily filter for tweets. Details
  • In-draft navigation to jump between key marks in longer drafts. Accessed via the navigate button (down arrow icon) in the upper right (or ⌘-\ shortcut). Currently navigation supports jumping to headers in a Markdown draft, projects in a Taskpaper draft, and functions and “// #region Name” region comments in Javascript drafts. Details
  • Scripting additions to support switching workspaces and action groups:
    • Allows for action setup to load a workspace, and simultaneously switch selected action list and keyboard row.
    • Inquiry about and toggle visibility of drafts and action lists:
      • app.isDraftListVisible, app.showDraftList(), app.hideDraftList()
      • app.isActionListVisible, app.showActionList(), app.hideActionList()
    • Load action groups and apply workspaces in script:
      • app.loadActionGroup(group), app.loadKeyboardActionGroup(group)
      • app.applyWorkspace(workspace)
    • Also Workspace and ActionGroup objects to allow lookup of groups and workspaces.
    • More details on scripting reference site
  • Additional URL Actions
    • /loadActionGroup?name=GROUP-NAME - loads action group in action list
    • /loadKeyboardActionGroup?name=GROUP-NAME - loads action group in extended keyboard.
    • Details in URL scheme documentation
  • “List in Reminders” action step now has a template. Useful to create one for sending only [[selection]] or passing in values from script or prompt. Details

Other Fixes and Changes in 5.2

  • Fix (Watch): Improvements to communication between Watch and Phone to address some issues with stuck transfers.
  • Fix (Watch): Watch app auto-capture from complication did not work if app was already running and open to a view other than the main capture view.
  • Fix: Some tweaks to Taskpaper syntax.
  • Change: Do not dismiss any presented views when the new draft creation timeout is fired to avoid loosing unsaved work in actions, etc.
  • Fix: Moving through action list with up-down arrow keys should scroll items into view when necessary.
  • Fix: URL action step should ignore “Open in Drafts” option if the URL generated is a non-http(s) URL.
  • Fix: Opening current list options without making changes could result it “current list options” erroneously displayed in list filter.
  • Fix: “Insert text” action step now plays nicer with other subsequent action steps.
  • Fix: Address a case where sync could get stalled in odd timing situations where sync was requested more than once quickly.
  • Fix: [[draft_open_url]] tag was not working.
  • Change: Work on some general improvements to syntax highlighting to avoid a few glitches in rendering.
  • Change: Several improvements to Markdown syntax, including highlighting of horizontal rules and indented code blocks.
  • New: Add keyboard shortcut preview when managing action groups actions.
  • Change: Some under-the-hood improvements to Action Directory sharing to support additional features on the web site.

5.1.0

  • New action steps
    • Event action step returns for creating calendar events with default system card. Docs and sample action.
    • Box action step to create, append, prepend to files in Box.com service. Docs and Examples
    • Open in... action step to support old-style document interaction export. Docs and Examples
  • Other new bits
    • Workspaces and tag filters now support “All - Any” mode selection to control whether drafts in the filter should match all the selected tags (and), or any of them (or). This setting will be saved with Workspaces.
    • Action steps in an action can now be disabled and duplicated (swipe on step in action editing to select). Handy addition for work-in-progress step modifications and testing variants of scripts.
    • Recent action log history (not specific to individual drafts) is now accessible from history button at top of action list. Makes access to recently performed actions quicker. Great for troubleshooting errors as well.
    • Action log entries can now be deleted (Swipe right).
    • CMD-Return external keyboard shortcut to toggle editor focus.
    • Support traditional table edit mode for better VoiceOver experience.
  • Scripting changes
    • Better scripting of Calendars and Events, including the ability to read calendar events. Details:
      • Calendar.default property which returns the system default calendar for new events.
      • Calendar.find(title) method looks up a calendar by name.
      • Calendar.getAllCalendars(); returns array of all known calendars on the device.
      • events(startDate, endDate); method to query the contents of a calendar. Returns an array of Event objects. This can be used to import calendar events into a drafts, among other things.
      • event.edit() method. Displays a Event object in the system event editing card. Allows scripting to create modify the default values for the event (start/end, add alarms, etc.) then display the event for modification/editing and adding to the calendar.
      • More detail in scripting reference
    • Box script object to read and write files to Box.com service. Docs
    • editor.isActive bool property to determine if editor is currently in edit mode.
  • Other fixes and updates
    • Fix: Restore last selection when opening a draft.
    • Fix: Better restore of text selections when undo/redo are used.
    • Fix: Improve frequency of updates to app badge.
    • Fix: Evernote action setup to use “Text” output not properly encoding some HTML entities.
    • Fix: Omit drafts in the trash from queries unless the trash folder is explicitly queried.
    • Fix: Various improvements for dynamic text.
    • Change: Better error reporting when file imports fail for some reason.
    • Fix: Workaround dark theme tinting of the system file import view.
    • Fix: Do not allow external keyboard shortcuts to interfere with arrow keys while editing search fields.

5.0.5

  • New: Full access to Twitter API via Twitter object request method. Drafts will handle the OAuth, and you can make any valid calls against the Twitter API. Details on methods in scripting documentation. Same actions, like a Tweet Storm example, in the Twitter integration guide.
  • Fix: Refactor animation to avoid oddball case where the side panels could get stuck when the cursor was in certain positions with certain content in a draft.
  • Fix: Threading issue scripting twitter updateStatus calls.
  • New: Inbox/Flagged/Archive/Trash tabs now support drag and drop. Draft drafts from list onto them to move them (or assign flags).

5.0.4

  • New: iMessages app is back and better than ever. With tag filtering, it makes it really easy to use Drafts as a snippet library to insert text into Messages. More information
  • New: Inbox/Flagged/Archive/Trash tabs in draft list now support drag and drop. Drag drafts from list onto them to move them (or assign flags).
  • New: “Inbox default swipe action” setting in “…” options of draft list. Allow changing of the default behavior of a full swipe on a draft in the inbox between “Archive” and “Trash”. Default is “Archive”.
  • New: External keyboard shortcuts for cancel (cmd-.) and continue (cmd-return) options in HTML Previews.
  • New: Improvements to drafts selection screen, which is used in iMessages, the Share extension and the app.selectDraft() method. Can now be filtered by a tag and archive can be browsed. Sometime down the road it will get better filtering, but this will do for now.
  • New: Twitter action now logs URL for tweet in action log when successful in the action log. - New: Twitter script object with updateStatus(string) method to post a tweet, returns bool success value. Details in scripting reference. Details
  • New: editor.deactivate(); script method to resign focus - opposite of existing editor.activate(); method

  • Change: Update MultiMarkdown from 6.0 to 6.3.2 to incorporate latest fixes/updates. Includes a few bugs rendering tables w/o opening closing pipe characters and with maintaining indents in code blocks.
  • Change: Improve margin calculations to better optimize readable line lengths, especially on the big iPads.
  • Change: Use Safari View Controller in-app to open http links in Link mode.
  • Change: Improved refresh of processed updates when viewing a draft on Apple Watch.
  • Change: Improve visibility in Workspaces Today widget.
  • Change: A few tweaks to Evernote login process to try to fix login for some in China - this may or may not help users seeing these issues, please report back.
  • Change: Some improvements for migrating actions from Drafts 4.

  • Fix: editor.undo(), editor.redo() were not working properly.
  • Fix: Maintain position of quick access tabs (both Workspace and Action Groups) after selecting new tab.
  • Fix: Text could go behind keyboard row on iPhone X with external keyboard connected. - Fix: Crash accessing App Store with poor network connectivity.
  • Fix: Clean up a few crashes calling Javascript methods is bad arguments.
  • Fix: Do not allow edit of name in current list options workspace.
  • Fix: VoiceOver issues with tag selection and editing.

5.0.3

  • New: Better drag and drop in action list. Actions can now be dragged between groups by switching group tabs, and also dropped on a different group in the group list to move them.
  • Fix: Automatic theme change would loose cursor position and not update keyboard appearance.
  • Fix: Rework implementation of “Insert text” to be faster and work better with TextExpander snippets.
  • Fix: Better updating of app badge when background sync completes or Siri creates draft.
  • Fix: [[selection]] tag not return correct result when selection was at very end of draft.
  • Fix: If a query was left in the draft list search field, it would get restored on a cold start of the app, but the not show in the search text in the text box making you wonder where all your drafts went.
  • Fix: Changes to tags made in scripting might not save if the action had after success setting.
  • Fix: Share extension might not immediately unlock pro features when subscription is initiated.
  • Fix: Clear button in recent tag suggestions would not stay in scrollable view.
  • Fix: Make sure custom template tags generated in an action are cleared when action is finished running.
  • Fix: Remove some overhead from scripts which manipulate editor selections to prevent some race conditions with the selection when actions are run quickly, repeatedly, like from a keyboard shortcut.
  • Fix: Case where bad tag filter could get applied to draft list after launching to search from widget.
  • Fix: Changing syntax highlighting for draft without making any other changes to draft did not save change.
  • Fix: Add “after success” label in group editing.
  • Fix: Scripting theme change should require Pro subscription.

5.0.2

  • Initial public release.