Link Search Menu Expand Document

iOS Beta Changelog

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

31.1.4

  • Build with Xcode 13.3

31.1.3

  • Adjustments to tag filtering pane.
  • VoiceOver text for word/character counts should respect settings to hide/show those counts.
  • VoiceOver should include tags in draft list.
  • Fix: Issue with draft scrolling to top when editing some lists with typewriter scrolling enabled.
  • Break up longer drafts into more paragraph blocks when posting to Notion, to avoid block size limits.

31.1.2

  • Fix: Find window not remembering options.
  • Fix: Error importing older exported Workspaces.
  • 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.
  • Update to 2022-02-22 version of Notion API and drop “(Beta)” label, since Notion announced the API is out of beta.

30.2.9

  • Reminder script object now has startDate, startDateIncludesTime, and completionDate properties available.
  • Tweaks to Quick Search layout.
  • Clearing search in the action list would not reload last loaded group if a group had not be selected since cold start of the app.
  • Long press menu on Aa editor settings button now has options to toggle visibility of word/charactor/selection counts.

30.2.7

  • The Action Bar selection view now has action menus for available groups. So, in addition to selecting other groups and loading them in the action bar, you can tap the list button, and select from actions in that group to use one without loading the group in the action bar.
  • Append/Prepend options in Watch app now have text input with options (pencil icon) options to allow access to scribble on Series 7 watches.
  • More misc. UI tweaks.

30.2.6

  • New: “Configure Window” action step. Provides an easy to configure action step that can configure the editing window, hiding/showing side panes, switching pinning/link mode, and loading workspaces and/or action groups.
  • New: Workspaces are now included in periodic backups. Options in Settings > Backups.
  • New: “Reinstall Default Actions” mainenance task. Adds current versions of the five default action groups that come in a new installation.
  • New: “Remove Excess Versions” maintenance task.
  • Migrate alternate app icons to asset catalogs, update selection interface.
  • More interface tweaks in the app.

30.2.5

  • Revamp handling of 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. This has some chance of breakage, so please test undo/redo operations around actions, autocomplete, and the like and report any issues.
  • “Open page” option in Notion step should work when appending.
  • New “Remove Excess Versions” maintenance task.

30.2.4

  • Notion action step updates:
    • Added option to determine parent page by specifying explicitly by page ID, or by asking for a page selection each time the action is run.
    • Added options to add as new sub-page, or by appending to the selected parent page.
    • Added option to open the resulting page in Notion after completion of the step.
    • Added “Title” field to configure a page title. If appending to an existing page, the title is added as a heading.
  • New “Maintenance” view in Settings/Preferences. Currently houses two tasks:
    • Purge Sync Transactions: Deletes processed sync transactions. Not a big one, but in a log-running installation, the transaction log database can end up with a lot of unneeded stuff, and this might have a minor effect on performance. This task existed in the iCloud settings previously.
    • Clean Action Log: Delete all failed/cancelled action log entries. This is user-visible data, but over time you can build up a history of failed logs that don’t do a lot of good.

30.2.3

Initial Notion Support

Notion action step. Aspects of this step may change, but it’s a start. You must edit these examples and add a valid Notion page ID, which you can get using the “Select” option in the action step editor, or via copy and page from Notion URLs (the ID is the UUID in a Notion link)

Also: Notion Script object is available to make requests directly against the Notion API. Any API calls can be used, see Notion API docs for information on available methods. This object may add convenience methods for some functions, but right now only has a single request method that allows for arbitrary calls against the Notion API. Example action:

Other

  • Fix: Workspace bar items with name displayed could truncate name.
  • New: ActionLog.status readonly property to indicate status (“completed”, “failed”, etc.) of the log entry.
  • New: WordPress action step now includes option to specify whether user comments should be allowed on the resulting post.

30.2.1

  • Lots of UI improvements/changes around main screens.
  • Focus mode deprecated, and replaced by pinning option, and new setting to control whether the “after success” filing of an action will create a new draft or load the next draft for processing.
  • New: editor.focusModeEnabled deprecated, and replaced by editor.pinningEnabled (still works, may be phased out on future release)
  • New: Settings (in Aa editor settings) to show/hide character, word, and selection counts
  • New: FileManager.exists method
  • New: add location string property to Reminder object.
  • Change: Include partial matches in tag autocomplete suggestions.
  • Fix: Tweaks to find window.
  • Fix: Autocomplete cancelling when typewriter scrolling enabled.
  • New: Individual autocomplete items can be shared as URLs which can be installed in other installations of Drafts.
  • Change: Action steps can now be viewed as read-only in free version.

30.1.6

  • Build with Xcode 13.2 RC

30.1.5

  • Fix: Crasher using share extension for some users.

29.2.8

  • Attempt to fix issues some are having selecting drafts to append in the Share extension. Please test appending in the share extension! I have not been able to reproduce this issue, so not sure the changes I made will have any effect.
  • Fix: Possible crashing in template engine

29.2.7

  • Change sort order of trash to use accessed date/descending to make it easier to find and restore items recently added to the trash.
  • Fix: Issues sorting actions upwards in the action list.
  • A variety of performance improvements.

29.2.5

  • Transcribing speech from video files is now supported as well.
  • Audio transcription features now handle long transcriptions better. Still would not necessarily recommend it for transcribing really long files, but I threw an full 2 hour episode of ATP at it and it worked. Because of the system limitations on speech recognition duration, this works similarly to long dictation in Drafts, by chunking the input into 1 minute segments, and adding a divider to mark the transitions between chunks.
  • A few visual glitches on iOS 15.

29.2.4

  • PDF text extraction. Try to import/open a PDF in Drafts, and Drafts will offer to try to extract text from it into a draft. Only captures real text in the PDF, not text in images. Obviously, the usefulness of this varies greatly with the source PDF, but can work well to extract text from straight-forward text-heavy documents. I have not thrown a wide variety of PDFs at it yet, but seems very fast and accurate for most cases.
  • [[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.

29.2.3

  • Audio transcription
    • Added ability to transcribe speech from a pre-existing audio recording.
    • Uses system speech recognition, just like dictation, so supports dictation commands for punctuation, etc.
    • To use:
      • New “Transcribe Audio” menu command (tap and hold on “+”) to open transcription interface and select audio file, or…
      • Simply open/import an audio file into Drafts to be presented the option to attempt transcription.
      • New editor.transcribe() script method, opens transcription interface, and returns string representing the transcribed text
    • Works best with simple, single person recorded speech, like a voice memo. It will try valiantly to transcribe other things, too, but results may vary in their usefulness.
  • Fix: Possible fix for issue appending to files in Bookmark folders from different devices.

29.1.1

  • Fix: Issue re-ordering actions in the action list.
  • Fix: A few specific action icons would cause problems when the action/workspace they were assigned to was displayed in a widget.
  • New: “Last Draft” widget command.
  • New: Option to clear recent tag list in tag suggestion drop-down.
  • Change: Pressing return on virtual keyboard should accept an autocomplete value.
  • Change: Create additional tab stops in editor

29.2.12

  • Build with Xcode 13.1 RC
  • 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.
  • Fix: A numbered list item with more than one digit, indented 4 characters, would be treated as code block in Markdown syntaxes.

29.2.11

  • More work on positioning/sizing issues for autocomplete drop-down.
  • Improve template processing for static autocomplete items. Now processes with current draft in context.
  • Better refresh of global autocomplete item changes coming in via sync.
  • Better VoiceOver labelling in autocomplete forms.

28.2.10

  • New: Global Autocomplete Suggestions.
    • Configured in “Aa” Editor Preferences screen (Autocomplete tab).
    • Allow you to create snippets that can be selected and inserted via drop-down autocomplete while typing.
    • Use the “Trigger” option to set the string that will be recognized to trigger the drop-down.
    • Recommand using a unique trigger string at least 2 characters long.

28.2.8

  • More tweaks to autocomplete drop downs.

28.2.7

  • Add [[ link autocompletion to default Markdown, GitHub Markdown, and MultiMarkdown syntax definitions.
  • Add << transclusion autocompletion to default Markdown, GitHub Markdown, and MultiMarkdown syntax definitions.
  • Fix: Crash triggering auto-complete on blank draft.
  • Use recent drafts as default options for draft-based autocomplete
  • Fix: /open URL with title param would not properly find drafts with “:” in the title parameter.
  • Better logic to position autocomplete dropdown.
  • Misc. general improvements to autocomplete.

28.2.5

  • Initial support for auto-complete. See beta Slack for details and example syntax.
  • Configuration tweak to allow the “Add Link” option to work to create links to the current draft in Quick Notes.

28.1.5

  • Fix: Issue re-showing action bar if it was hidden.
  • Fix: Issue configuring widgets on macOS 11 (Big Sur).

28.1.4

  • Improve efficiency of widget workspace count calculation.
  • Address some VoiceOver issues.

28.1.3

  • 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.)
  • Prevent case where sending file to share extension would not capture content, or duplicate content.
  • Add keyboard shortcuts (command-, option-command-,) back for settings, editor settings.
  • Change to find/replace regular expression configuration to support replacement of positive lookahead constructs.
  • Fix-Watch: Background scheduling crash
  • 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 “-“.
  • Fix a couple of VoiceOver issues.

27.5.39

  • Build with Xcode 13, should be close to final release build of v28.

27.5.37

  • preferredLightTheme: Theme and preferredDarkTheme: Theme properties on the Workspace script object to get/set themes associated with the workspace.
  • Tweak notification banner display.

27.5.36

  • New app icons work on iPad now.
  • Address a couple of watch background crashes.

27.5.34

  • Watch: Speed up opening capture on watch app.
  • “Insert Action…” and “Insert Separator…” contextual menu options on actions in the action list to quickly add new items below the selected one.
  • A few more app icon options.

27.5.32

  • New /capture URL and “Show Capture” shortcut action. Display a new capture window (like used in Share extension) as a modal with optional initial text/tags.
  • [[hashtags]] template tags. 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.

27.5.31

  • New option when importing a .draftsExport file to select whether to update existing drafts with matching identifier, or import all drafts as new.
  • Address a few watch complication and watchOS 7 compatibility issues.
  • Address a few background crashing issues on Watch.

27.5.29

  • Watch: FlickType keyboard support back.
  • Watch: Wrong icon on capture complication on some watch faces.
  • Watch: Allow emoji entry with “capture”.
  • Improve sync logging for a couple of edge cases.
  • Display actions in quick search based on action bar configuration
  • More tweaks to “What’s New” screen.

27.5.26

  • Watch: Complications now work to launch directly to their action if the app is not already running in the background.
  • Watch: Inbox and Flagged complications now open to appropriate destination when tapped.
  • Watch: Tweaks to complication color tinting on certain faces.

27.5.25

  • New “What’s New” screen accessible via Settings > What’s New (iOS) or Help > What’s New (macOS)
  • Fix: Erroneous iCloud quota warning might be displayed.
  • Watch: Add/Remove Tag buttons in watch app now work.
  • Watch: Some UI tweaks.

27.5.23

  • 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.
  • Many minor UI tweaks and improvements around app.
  • Tweaks to draft detail (i) layout, add estimated read time calculation.
  • Watch: Remove FlickType support, at least for now, as it was causing compile issues.
    • “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.
  • Fix: Bold/Ital/Underline commands not working on iOS 15.
  • Adjustments to Watch complications and minor updates/fixes to app.
  • Fix: Crash removing a tag if the tag suggestion dropdown had not been previously displayed.
  • Restore Handoff functionality to Apple Watch app.
  • New: version.delete() function to allow scripted deletion of versions in the version history.
  • New: ActionLog script object used to read and manipulation entries in the Action Log. Generally accesses from the draft.actionLogs property.
  • Fix: Issue where B/I/U buttons could trigger on multiple windows if you had the same draft open in more than one window on iPad.
  • Fix: Clipping issue in dialogs with only a title.

27.5.18

  • Fix: Permissions issue preventing Folder Bookmarks from working on iOS.
  • Bookmarks can now be created in Settings.
  • Passing improving messages and formatting of some dialogs throughout the app.

27.5.17

  • Scan Document command for widgets
  • /scandocument URL scheme.
    • See /dictate URL docs, works basically the same and supports same save and retparam parameters.
  • 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.
  • Scan Document OCR more intelligently orders found text in some cases.
  • 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.
  • Fix: Crash using previous draft button while on new draft.
  • Fix: Crash viewing Apple Watch settings.
  • New Apple Watch app icon.
  • Improve reliability of watch updates.

27.5.15

New Apple Watch App

  • Expect some rough edges, please test!
  • Rewritten in SwiftUI
  • Now requires watchOS 7.1 or greater
  • Multiple complications to divide out different functionality.
    • Capture: Launches directly to dictation
    • Capture with Options: Launches directly to input with options for access to scribble, FlickType, etc.
    • Inbox: Displays inbox count
    • Flagged: Displays flagged count.
  • Flagged drafts now mirrored to Watch.
  • Inbox and flagged drafts mirrored to Watch now based on default Workspace settings.

Bookmarks

  • Bookmarks provide a method to grant Drafts permissions to work with files outside the App Sandbox. Bookmarks are create/used in two ways:
  • The “File” action step now has an additional destination option, to select “Bookmark” instead of Local/iCloud. If selected, provide a unique name for the bookmark to use. When you run the action the first time, you be prompted to select a destination folder to grant permissions. Otherwise the File step will work the same, just treating the bookmarked folder as the root folder the path/file name reference. Create/Append/Prepend are all supported.
  • Scripting. The FileManager object can now be created using a bookmark, and all functions will work the same way, just referencing the root folder of the bookmark. Sample code on beta scripting docs: https://beta-scripting.getdrafts.com/classes/bookmark
  • Existing bookmarks can be managed in Settings/Preferences.
  • Note that bookmarks are device-specific. e.g. you will be prompted to select the destination folder for the bookmark separately on each device you use the action, because security-scoped bookmarks cannot be synced across devices.
  • More details in pre-release docs: https://docs.getdrafts.com/docs/settings/bookmarks

Document Scanning (iOS Only)

Combines a document scanning camera with OCR, to allow you to capture directly from a document (including multiple pages), and get the text output to a new draft. To access, tap and hold the “+” above the editorfor new draft options, and select “Scan Document”.

Note that iOS 15’s Live Text is also fully supported for capture in the editor, and may be more granualar for many cases. This functionality is best suited to longer, printed documents.

Other Updates

  • Support for the new menu system on iPad (when on 15 or greater)
    • This replaces the old system of registering keyboard shortcuts. Please confirm functionality of custom keyboard shortcuts, including on iOS 14 testing for regressions.
    • Menu system is accessed on iPad running iOS 15 by holding down command key on external keyboard.
  • Support for the focus system for keyboard navigation with tab/arrow keys on iOS 15. Similar to previous item, this requires branching for iOS versions, so interested in hearing about any regressions in custom functionality on iOS 14.
  • New tag entry suggestions drop-down interface.
  • Share extension now saves recent append/prepend drafts selections for easy selection of recents for re-use.
  • New “Get Current Draft” shortcut action
  • Open Draft shortcut action has additional options to configure state of window (show/hide side panes, load workspace, etc.)
  • Migrated Shortcuts actions to be handled in-app instead of in extension.
  • /open and /create URL schemes now support several additional parameters to configure the environment:
    • showDraftList [true/false]
    • showActionList [true/false]
    • loadWorkspace, loadActionGroup, loadActionBarGroup: take names of valid group/workspaces and applies them
  • Redesign search fields over draft and action list.
  • Allow tap on background to cancel prompt if it is cancellable.
  • Fix: Refactor the next-previous button logic because it was not updating properly in some cases.
  • Fix: Link mode button not showing state properly.
  • Fix: List options in filters pane not working on iOS 14.
  • Fix: Markdown syntaxes not recognizing [ref][links] with space.
  • Fix: After success “Trash” would not load next draft properly in focus mode.
  • Require iOS 14.1 or greater.
  • Remove pre-iOS 14 “Today” widgets.
  • Build with Xcode 13/iOS 15 beta SDK.

26.5.9

  • Fix: A couple of minor Google Task and Microsoft To Do related fixes.
  • Fix: Better support for import of exported files from Drafts 3 or earlier

26.5.8

Google Tasks integration

Added two action step types and scripting support for working with tasks and lists in Google Tasks (tasks integrated with GMail, on in Google Task apps on iOS)

Action Steps

  • Google Task: Creates a single task in Google Tasks. Similar to existing “Reminder” action, has templates for task title and notes, and ability to set the target list to add the task.
  • List in Google Tasks: Adds tasks to (or creates, if needed) a list in Google Tasks, one for each line of the draft. Similar to existing “List in Reminders” action.

Scripting

New GoogleTask script object to work with the Google Tasks API. Details in the beta scripting docs. Support for working with lists and tasks as well as a generic request function to make direct calls against the API. Requires some knowledge of the API and what it expects to send/receive, but all features of tasks can be accessed, allowing setting of due dates, reminders, etc., by constructing the proper objects.

Example Actions

Example action group available as unlisted in the directory

  • Fix: URL scheme could be called twice on cold start of app.
  • Change: List in Reminders, List in Microsoft To Do, and List in Google Task action will now strip Markdown list prefixes from line if they are there (* , - , etc.) to better convert lists.

26.4.7

Microsoft To Do integration

Added two action step types and scripting support for working with tasks and lists in To Do (https://to-do.office.com/tasks).

Action Steps

  • Microsoft To Do: Creates a single task in To Do. Similar to existing “Reminder” action, has templates for task title and notes, and ability to set the target list to add the task.
  • List in Microsoft To Do: Adds tasks to (or creates, if needed) a list in To Do, one for each line of the draft. Similar to existing “List in Reminders” action.

Scripting

New MicrosoftToDo script object to work with the To Do API. Details in the beta scripting docs. Support for working with lists, tasks and linked resources, as well as a generic request function to make direct calls against the API. Requires some knowledge of the API and what it expects to send/receive, but all features of tasks can be accessed, allowing setting of due dates, reminders, etc., by constructing the proper objects.

Example Actions

Example action group available as unlisted in the directory

26.4.5

  • 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
  • Arrange mode has better keyboard support, including:
    • Esc and ⌘-return to cancel or accept changes
    • Arrow keys navigate up-down in list
    • ⌘-up/down move the selected line up and down in list.
  • Tweaks to widget themes. Properly use theme’s tint colors.
  • Fix: A few missing asset references lost in the asset reshuffle.
  • Fix: Drafts set in the editor via editor.load should get added to recent drafts list.

26.4.4

  • New: Theme support for Widgets. It is now possible to select a light and dark theme for the widget from the built-in and custom themes you have installed in Drafts. 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.
  • New: Dozens of new icons for actions/workspaces
  • Fix: Messages app background in dark mode had issues.
  • Refactor assets to save on binary size.
  • Drop iOS 12 support, and clean up deprecations and delete unneeded backward compatibility code.

26.3.4

  • Fix: Address some performance issues.

26.3.2

  • Built with Xcode 12.5 / iOS 14.5 SDK

26.3.1

  • Fix: Missing visibility of workspace directory sharing options.

26.2.3

  • New: Workspaces have options to apply themes when loaded.
  • Fix: Broken back spacing auto-match in last build.
  • Tweak code block patterns in MultiMarkown and GitHub syntaxes to better support use of a background color in themes.
  • Restore missing punctuation action icons.

26.2.2

  • Rename “balance while typing” to “Auto-match”, and disable by default.
  • Fix: Plain text syntax returning a blank name in scripting.
  • Fix: Some wonky behaviors with “hide action bar” and “hide keyboard bar” preferences.

26.1.4

  • Better indication of selected themes.
  • Fix: iOS 12 only crash selecting fonts.

26.1.3

  • Change: A few updates to the indentationPatterns entries in syntax definitions to allow scope to be specified properly to make sure the indent is calculated using the right font metrics. See docs for details.
  • Fix: Custom syntaxes and themes not properly visible in some menus.
  • Fix: Tag field placeholder not themed correctly on cold start.
  • Fix: Custom syntaxes not available for selection in Shortcuts.
  • Fix: text.url scope configured incorrectly in default themes.

26.1.2

  • Change: Use text.url scope for the URL part of Markdown links in built-in syntaxes. e.g. text.link
  • Fix: Display “Get Themes” and “Get Syntaxes” links in manager under built-in section if no custom ones are installed.

25.2.22

  • Fix: Directory update checking should work properly now.
  • New: Added syntax validation for custom scope names
  • Fix: Could not select custom syntaxes for share extension.
  • Fix: A variety of minor cosmetic issues.

25.2.20

  • New: “Balance while typing” editor setting. When enabled common pairs are auto-closed when typed, or the current selection wrapped with open-close values. Supports (), [], {}, “”, ‘’.
  • Fix: scopes which applied both bold and italic traits would not work.
  • Fix: Actions which requires network access, run via URL/Shortcut, on cold start of the app could sometimes fail with a network error even though network was available.
  • Change: Improve theme preview when selecting themes.
  • 25.2.18

  • New: Action Group Versions. Like action versions, but for groups.
  • New: Action Group Updating. Like action updating. Only applies to action groups installed after this update.
  • Revamp handling of directory updates a bit, so it’s consistent across actions, group, syntaxes and themes.
  • Change: Better VoiceOver announcements for action completion messages.
  • Change: Update TextExpander SDK to 4.6.5
  • New: identifier readonly property on Syntax object to allow comparison of syntaxes.
  • Better display of items found in Spotlight search.
  • Misc. improvements to built-in themes.
  • textSelection interface color from themes not applied properly.

25.2.15

  • Fix: Selecting dictation from keyboard bar with external keyboard connected on iPad not working properly.
  • Fix: Directory installed syntaxes/themes not properly tracking updates.
  • Pass cleaning up descriptions/samples for built-in syntaxes and themes.
  • Implement command buttons on syntax/theme details.
  • Fix: Import of syntaxes and themes would not work if settings was open.

25.2.14

  • Misc. improvements to syntax and theme import/export flow.
  • Change: A few changes to the mechanics of how syntax scopes are applied to better support fallback scopes. In particular, if a syntax defines a scope not present in the active theme, it will be ignored (previously it would have applied base attributes.)
  • Fix: Hide B/I/U options in share extension text selection menu because they don’t do anything.
  • Better refreshing of syntaxes and themes arriving via sync.

25.2.13

  • Custom syntaxes and themes can now be managed in iOS version. See syntaxes and themes tabs in “Aa” editor preferences screens. Please test all aspects of import/sharing/directory posting, etc. Even if you are not creating your own, it’s helpful to test.
  • New: New pink tint color option for actions and workspaces (if you already created custom themes, you’ll need to add a colors.interface.tintPink key to your themes)
  • Fix: When creating reminders with Reminders and List in Reminders action steps, only set the “note” value if it will contain content. This avoids a bug in the Reminder’s watch app that displays tasks with a blank note as having a note (Watch only, this does not happen on iOS).

25.2.11

  • Custom syntax and theme support. This is in its early stages, some notes:
    • Pre-release documentation on format and development process:
      • Syntaxes: https://docs.getdrafts.com/docs/extending/syntax-definitions/syntax-definitions
      • Themes: https://docs.getdrafts.com/docs/extending/theme-definitions/themes
      • Developer Mode: https://docs.getdrafts.com/docs/extending/developer-mode
    • Managing syntaxes and themes is currently ONLY ON MAC. Custom syntaxes can be installed and used on the iOS beta (25.2.11), and development mode is available to load and test from iCloud Drive, but the UI to manage (delete, upload to directory, preview, see errors) is not yet available on iOS. That will come soon.
    • If you are working with these, please join the Slack. Discussions will follow (details on beta page: https://docs.getdrafts.com/beta/).
  • Syntax script object to work with syntax definitions. With the following:
    • readonly type: ‘builtIn’, ‘custom’, ‘file’
    • readonly name: string
    • readonly installURL: string
    • static getAll(): Syntax[]
    • static find(type: syntaxType, name: string): Syntax, undefined
  • Theme script object to work with theme definitions. With the following:
    • readonly type: ‘builtIn’, ‘custom’, ‘file’
    • readonly name: string
    • readonly installURL: string
    • static getAll(): Syntax[]
    • static find(type: syntaxType, name: string): Syntax, undefined
  • Draft object has new syntax property to get/set Syntax assigned. languageGrammarName is deprecated
  • app object adds lightTheme and darkTheme properties to set preferred Theme

  • Fix: Action steps disabled on current platform could run when that action is used via an “Include Action” step.

25.2.5

  • New: Limited support for update checking and installation for actions installed from the Directory. Currently only available for actions installed after installing this update. Updates are checked and offered in the action versions screen.
    • For testing purposes: Share Action A from your actions (unlisted is fine). Install it from the directory as a separate action (Action B). If you push updates to Action A, then visit the action versions screen for Action B, it will offer the update for installation.
    • When update is select, a confirmation prompt is presented, and a backup version of the previous action state automatically created for rollback purposes.
  • Fix: Allow folder tab and action group assignments to be set on default workspace.
  • Fix: crash passing invalid values to strftime
  • Change: Increase batch sizes for Spotlight indexing updates.
  • Fix: Paragraph number alignment could get off with paragraph spacing values assigned.

25.2.1

  • New: Directory now supports update notes. When updating an item (action, group, workspace) previously shared to the directory, update notes can be added explaining changes. These will be stored and displayed along with the item in the Directory.
  • Change: Remove “launch in focus mode” preference. Session will just launch with focus mode in it’s last active state.
  • Fix: Obscure crasher with scripted prompts with multiple pickers with different number of components.

25.1.3

  • Performance and memory use improvements.
  • Fix: Line height not always set properly in a new draft until a character was typed. Mostly visible when “highlight insertion point” is enabled.

25.1.2

  • New: Option to export sync log to Files app for users who do not use the default Mail app.
  • New: Convenience methods on Todoist object to work with Sections.
    • getSections() -> [object]
    • getProjectSections(projectID: Int) -> [object]
    • createSection(options: object) -> object
    • getSection(sectionID: Int) -> object
    • updateSection(sectionID: Int, options: object) -> object

25.1.1

  • New: Print step now allows setting font size for plain text format printing.
  • Fix: Scroll position placed wrong when returning to app without creating a new draft.
  • New: HTTPResponse script object now has headers object property exposing any HTTP headers returned with the response.

24.3.4

  • New: Action list option (in “…”) to display keyboard shortcuts in action list.
  • Change: Allow wiki-style links with headings specified to navigate to the heading within the same draft.

24.3.3

  • Change: Allow wiki-style links with headings specified to navigate to the heading within the same draft.

24.3.2

  • Fix: Add warning if an action group is reaching the maximum size limit (1 MB) for a single action group’s data.
  • Fix: Memory leak when running actions.
  • Change: Build with Xcode 12.3

24.3.1

  • Change: It is now possible to use Tab and Shift-Tab as keyboard shortcuts assigned to actions.
  • Change: Rewrite of list completion, moving it to syntax definitions to allow better control. For example, TaskPaper list completion will now only complete for “- “ lines, not “* “ lines which are not part of that format.
  • Change: Simple List syntax now supports { } {-} {x} three state curly braces tasks as well as the standard [ ] [x] square bracket tasks.
  • Fix: Encoding agreement issue with remote loaded content in HTML previews
  • New: editor.preferredTabString property returns the current selected tab insertion type for the editor in the form of a string. Useful for making actions respect that setting when inserting indents, etc. - will return either “\t”, “ “, or “ “.

24.2.3

  • New: context.addSuccessParameter(key, value) method to assign query arg parameters to be included with the x-success callback of /runAction URLs.
  • Additional keywords assigned to icons for search.

24.2.2

  • New: Icon keyword searching when selecting icons for workspaces and actions.
  • Fix: Better refresh of widgets after drafts are created/altered outside of the app (via extensions and shortcuts).
  • Fix: Display issue with buttons in find window on iOS 12.

24.2.1

  • New: ActionGroup script object has installURL [string] property to access the shareable URL to import the group.
  • New: /getCurrentDraft URL action. Takes no parameters, calls x-success URL with parameters for the uuid, url, title, content of current draft.
  • New: Web capture template used in share extension now supports [[date]] and [[time]] tags.
  • Fix: On a cold start of app some URLs might not get routed properly.
  • Fix: complication asset issue on watchOS versions less than 7.
  • Fix: Address several crashers.

24.1.2

  • Change: Based on popular demand, changed “New” to “New with Clipboard” option in long press on app icon.
  • Change: Test Widgets. There were a few changes related to making them work on Mac, and just want to be sure they didn’t break anything.

24.1.1

  • Fix: Encode temp files for HTML Preview with UTF-16.
  • Change: Ability to base app icon badge on flagged instead of inbox folder of the selected workspace.
  • A bunch of housekeeping, updating some third party libraries, migrating a number from CocoaPods to Swift Package Manager, etc. Should not be noticeable, but you never know.

23.1.7

  • Built with XCode 12.2 RC, should match v24 release build.
  • Fix: When an action was run from search, it did not respect the default “After Success” setting of its action group.
  • Fix: Recent draft with excessively long first line could create performance problems displaying the navigation menu.
  • Fix: When triggering a share sheet from script, if you selected a share extension, then cancelled, it could result in a crash.

23.1.6

  • Fix: Wiki-style title links starting with escaped forward slashes failed to find proper draft.
  • Fix: Address crasher on watchOS versions < 7.
  • New: “Purge Transactions” maintanance task in Settings > iCloud Sync. Not generally necessary, but this task cleans out sync transaction log entries which have been processed, which may improve performance (not much, if any) in long-lived installation.

23.1.4

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

22.1.10

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

22.1.9

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

22.1.8

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

22.1.4

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

22.1.3

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

22.1.2

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

21.5.34

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

21.5.33

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

21.5.32

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

21.5.30

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

21.5.29

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

21.5.27

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

21.5.26

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

21.5.25

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

21.5.23

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

21.5.20

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

21.5.17

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

21.5.15

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

21.5.14

NOTE:

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

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

21.1.2

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

20.2.7

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

20.2.6

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

20.2.3

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

20.2.2

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

20.2.1

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

20.1.3

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

20.1.2

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

19.3.22

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

19.3.21

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

19.3.17

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

19.3.16

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

19.3.15

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

What’s New

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

Other Changes and Updates

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

19.2.4

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

19.2.3

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

19.2.2

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

19.1.3

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

19.1.2

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

18.2.11

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

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

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

18.2.7

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

18.2.6

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

18.2.5

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

18.2.1

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

18.1.3

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

18.1.2

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

17.3.7

  • A few last tweaks getting ready for release.

17.3.6

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

17.3.4

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

17.3.3

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

17.2.4

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

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

17.2.2

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

16.2.6

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

16.2.5

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

16.2.4

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

16.1.2

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

15.5.29

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

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

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

15.3.21

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

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

15.3.18

New

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

Other Fixes and Changes

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

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

Mastodon