Release notes for Scriptable

Here you’ll find the release notes for the latest builds.

1 Like

Build 16

New in this build:

  • New: All files can now be stored in the iCloud document directory. This means you can now store assets in the iCloud document directory and access them from your scripts using the FileManager API.
  • New: Adds WebView API which can load an HTML string or a file. The API also supports loading other files, e.g. images. You may want to use a web view for display an image if the image is very large. More information in the documentation.
  • New: Added example script showing how to load an HTML string into a web view.
  • New: The UITableCell.text() function now takes an optional subtitle argument. The subtitle is shown below the title.
  • New: Improves logging. JavaScript objects and arrays will now automatically be converted to JSON when logged.
  • New: Adds the “log” and “logError” global functions because typing console.log and console.logError is just too long.
  • New: The syntax highlighter now supports ES6 templates delimited by backticks (`)
  • New: No longer hides the log when a external keyboard is attached.
  • Bugfix: Fixed issue where the “open” function of the CallbackURL API did not return the correct value.
  • Bugfix: Fixed issue where the promise returned by CallbackURL.open() was not completed if the user manually returned to the app without the target app invoking either the success, error or cancel callback.
  • Bugfix: Fixed issue where images written to using FileManager.writeImage() did not have correct rotation.
  • Bugfix: Downsamples image when reading it from disk using the FieManager.readImage() API. This wi reduce the memory usage of the API, especially when using in a Siri Shortcut. If you’re experiencing issues where a Siri Shortcut was crashing when loading an image, this might fix it. If it still crashes, your image may still be too big and for now, you will need to downsample it manually.
  • Bugfix: Fixed issues where the cursor was not visible while force-pressing on the keyboard and dragging it around.
  • Bugfix: Fixed issue where the Speech.speak API did not work in Siri for some languages. If this, for some reason, still doesn’t work for your language, please let me know.
  • Bugfix: Fixed issue where no error message was given when a Siri Shortcut was triggered for a script that no longer existed on the device.
  • Bugfix: Fixed issue where file URLs passed to ShareSheet.present() would be shared as strings rather than references to the underlying files.
  • Bugfix: Fixed issue where headers were not correctly set on an instance of Request.
1 Like

Build 17

New in this build:

  • New: Shortcuts you have recently used in the app now shows up in the Shortcuts app.
  • New: Added support for copying API names, property names, method names, parameter names and declarations from documentation. Long press an API or entries under “Properties”, “Methods” and “Parameters” to copy them. Long press or tap a declaration to copy it.
  • New: Added Reminder.scheduled() which will fetch all reminders that are due today or overdue.
  • New: Added CallbackURL.getURL() which returns the configured URL.
  • New: Added FileManager.listContents() which lists all file names in a directory.
  • New: Added FileManager.move() which moves a file from one location to another.
  • New: Added FileManager.copy() which copies a file from one location to another.
  • New: Added FileManager.fileExists() which examines if a file exists at the specified path.
  • New: Added FileManager.isDirectory() which examines if a path points to a directory.
  • New: Added FileManager.createDirectory() which creates a directory at the specified path.
  • New: Added FileManager.allTags(), FileManager.addTag() and FileManager.removeTag() to manage tags on a file.
  • New: Added FileManager.readExtendedAttribute(), FileManager.writeExtendedAttribute(), FileManager.removeExtendedAttribute() and FileManager.allExtendedAttributes() to manage the extended attributes on a file.
  • New: Added FileManager.getUTI() to get the Uniform Type Identifier of a file.
  • New: The WebView API supports anchors that opens the Scriptable URL scheme.
  • New: Shows date and time messages were added to the log.
  • New: Editor settings have been moved to a separate screen to provide an easier overview of the settings.
  • New: Added setting to choose the font used in the editor.
  • New: The theme of the editor is now specified independent from the theme of the app.
  • New: Added live preview of editor in settings.
  • New: The dark editor theme differs more from the blue theme.
  • New: All themes have been adjusted to slightly increase contrast.
  • New: Added about screen.
  • New: Added licenses screen that shows the great open source projects Scriptable relies on.
  • Bugfix: The icon for shortcuts were not shown correctly.
  • Bugfix: Opening two or more CallbackURLs at the same time would result in all promises returning the same value.
  • Bugfix: Logging messages with objects of certain types could cause the app to crash.
  • Bugfix: Texts in UITableCells would not wrap correctly.
  • Bugfix: Scripts would still appear on the list of scripts after they removal.
  • Bugfix: Script list would sometimes not be updated after moving or 3D touching a script.
  • Bugfix: Scripts would sometimes not appear in the list after being duplicated.
  • Bugfix: File variables weren’t removed from the script body when importing a JavaScript file.
  • Bugfix: The body of a .scriptable would include the file variables.
  • Bugfix: The Siri extension would sometimes crash.
  • Bugfix: The documentation of the Health API was formatted incorrectly.
  • Bugfix: The app would sometimes crash when presenting an Alert.
  • Bugfix: Alert.addTextField() did not respect default text value.
1 Like

Unfortunately the latest build broke the Siri Shortcuts. I’ve got a build ready that fixes the issue but there’s some problems with TestFlight right now that prevents me from releasing it. The new build is coming ASAP.

Sorry for the inconvenience.

2 Likes

Build 18

This build fixes a critical issue that was introduced in build 17 where scripts would not run in a shortcut triggered from Siri or search. Sorry for the inconvenience.

New in this build:

  • New: CallbackURL.addParameter() supports multiple parameters with the same name and respects the order parameters were added in.
  • New: Enabled auto correct in text fields added to an alert.
  • Bugfix: Fixed critical issue where scripts could not be run in a shortcut.
1 Like

Build 20

New in this build:

  • New: Supports picking app icon independent from the app theme.
  • New: Introduces the Image API. All APIs that previously returned UIImage now returns Image.
  • New: Introduces the Data API which represents raw data. This is useful when working with file uploads.
  • New: Request.body can now be a Data object.
  • New: Added Request.addImageToMultipart() which converts the Request to a multipart HTTP request and adds image data to the body for uploading. The function automatically detects MIME type and file name.
  • New: Added Request.addFileToMultipart() which converts the Request to a multipart HTTP request and adds file data to the body for uploading. The function automatically detects MIME type and file name.
  • New: Added Request.addFileDataToMultipart() which converts the Request to a multipart HTTP request and adds file data to the body for uploading.
  • New: Added Request.addMultipartParameter() which converts the Request to a multipart HTTP request and adds a parameter with a name and value.
  • New: Added Message.addImageAttachment() which attaches an image to a message.
  • New: Added Message.addFileAttachment() which attaches a file to a message.
  • New: Added Message.addDataAttachment() which attaches a file in raw data to a message.
  • New: Added Mail.addImageAttachment() which attaches an image to a message.
  • New: Added Mail.addFileAttachment() which attaches a file to a message.
  • New: Added Mail.addDataAttachment() which attaches a file in raw data to a message.
  • New: Added FileManager.fileName() which gets the name of a file given a file path.
  • New: Added FileManager.fileExtension() which gets the extension of a file given a file path.
  • New: Added DocumentPicker.exportImage() which exports an image using the document picker.
  • New: Added ShareSheet.presentAndWait() which stalls execution of the scripts until the share sheet is dismissed.
  • New: Added privacy policy.
  • Changed API: Request.load() now returns Data instead of a string. Use Request.loadString() instead.
  • Changed API: FileManager.read() now returns Data instead of a string. Use FileManager.readString() instead.
  • Changed API: FileManager.write() now writes Data to disk instead of a string. Use FileManager.writeString() instead.
  • Changed API: ShareSheet.present() now takes an array of items rather than a single item. As a consequence, ShareSheet.presentActivityItems() have been removed.
  • Changed API: DocumentPicker.exportStringWithName() have been combined with DocumentPicker.exportString(). The name is now an optional argument.
  • Removed API: StringUtils. Take a look at the Data API instead.
  • Bugfix: The font size of the themes in Settings -> Theme was incorrect.
  • Bugfix: The title and subtitle was incorrectly aligned in a table cell.
  • Bugfix: The action extension could crash when certain editor fonts were selected.
  • Bugfix: The editor would scroll down to the bottom when running the script.
3 Likes

Build 23

New in this build:

  • New: 811 new glyphs. Some of your scripts might show the default “magic” glyph. You can change the glyph from the script settings. Sorry for the inconvenience.
  • New: Glyphs are now categorised and searchable.
  • New: Added tip jar.
  • New: Added review prompt.
  • New: Added link to forum.
  • New: Added setting to send support e-mail.
  • Bugfix: Fixed issue where the ShareSheet did not share files properly.
  • Bugfix: Fixed various issues that would cause incorrect line numbers to be reported.
  • Bugfix: Fixed issue where the app icon name was not correctly updated after changing icon.
1 Like

Build 24

New in this build:

  • Bugfix: Fixed issue where some icons would not show up in Quick Actions. Unfortunately, this fix means that you might experience that few icons have been reset to the “magic” icon. I’m sorry for the inconvenience. This time I feel comfortable it won’t happen again :slight_smile:
  • Bugfix: The icon picker supports landscape orientation on iPhone.
  • Bugfix: Fixed issue where the keyboard would overlap the glyphs when picking icons on the iPad.
  • Bugfix: Fixed issue where the search queries could not be read in the icon picker when using the blue or dark theme.
  • Bugfix: Fixed background color of log when using dark theme.
1 Like