Version 3.27.0
Improvements
- You can now create "MQTT Shortcuts", which let you send MQTT messages without resorting to the
sendMqttMessages
Scripting function - You can now define a custom charset for the response in the
sendHttpRequest
function
Bugfixes
- The charset for the response can now also be configured even when the response is not displayed, e.g. for the use in Scripting.
- It is now no longer possible to create certificate pinnings with invalid hostname patterns
- Having cyclical references in Scripting function parameters no longer crashes the app
- Very long responses are now truncated when displayed to avoid crashing the app
Miscellaneous
- When an unexpected error occurs, a more meaningful toast message is displayed
- Implemented a workaround for a crash caused by a recent Tasker update
- Lots of big changes in the underlying database. Hopefully everything still works.
Version 3.26.0
Improvements
- Categories can now be subdivided into sections, allowing for better structuring of your shortcuts
- You can now create "Wake-on-LAN" shortcuts, which allow you to wake up computers on your network
- Scripting functions
htmlEncode
and htmlDecode
were added
Bugfixes
- Fixed an issue where byte arrays were not properly handled in Scripting functions, such as
hmac
Miscellaneous
- Added icons to some of the menus
- Added a few useful hints here and there to better explain some features
- The Scripting examples were moved out of the general Scripting documentation and into their own dedicated page
Version 3.25.0
Improvements
- Various accessibility improvements
- Added better error handling in some places
Bugfixes
- Scripting functions now work correctly when an integer, integer array, or byte array is used as a parameter (e.g.
hmac
or writeFile
) - The
showNotification
function now also works when only a title but no message is provided
Miscellaneous
- The generation of the "Device ID", which is used for remote editing and crash logs, was unified and simplified
Version 3.24.0
Improvements
- The experimental setting for running all shortcuts in the background was removed and replaced with a revamped per-shortcut setting. It's still somewhat experimental, but should be more stable now.
- In addition to toasts, dialogs and windows, shortcuts can now be configured to display their response (or custom message) in a notification
- New Scripting functions
showNotification
and showWindow
were added, which allow to display content in a notification or a fullscreen window - The Scripting functions
promptColor
, promptDate
, promptTime
and showSelection
now support adding a title to the dialog. Similarly, variables of type "Date Input" and "Time Input" can now be configured to show a title on the picker dialog. - The Scripting function
sendHttpRequest
now also supports adding custom headers, a text-based body and form data to the request - Improved accessibility in some places by adding content descriptions to some UI elements and increasing touch surfaces or font sizes
Bugfixes
- The
parseHtml
function no longer fails when returning an array
Version 3.23.0
Improvements
- There is now rudimentary support for the Quick Access Device Controls feature (on Android 11 and up)
Bugfixes
- The "Display Type" dropdown field no longer fails to open after having been disabled and re-enabled
- The progress spinner now no longer flickers up for really short-lived shortcut executions
- Scripting functions no longer fail when an empty string is passed to them
Version 3.22.0
Improvements
- The JavaScript engine used for the Scripting feature was completely replaced. This reduces the size of the app, should improve performance and fix some more exotic bugs, and allow the app to build again for F-Droid.
Bugfixes
- The "Show at startup" checkbox in the Changelog now behaves correctly
Miscellaneous
- The minimum supported Android version was raised to Android 8 (Oreo).
Version 3.21.0
Improvements
- Homescreen widgets can now be reconfigured without needing to be removed and re-added
- The size of the icon on home screen widgets can now be reduced
- It is now possible to select whether IPv4 or IPv6 should be used for a shortcut's hostname (thanks menendezeldemente)
- You can now send simple HTTP requests directly from Scripting with the newly added
sendHttpRequest
function
Bugfixes
- The circle icon in the icon picker now has the correct aspect ratio
Miscellaneous
- The size of the app has been reduced
Version 3.20.0
Improvements
- It is now possible to enable JavaScript as part of the response display window. This feature is experimental and it may not work for every website.
- When selecting the "Read from File" or "Write to File" options from the Code Snippet picker in Scripting, there is now a picker to select the directory that should be used.
Bugfixes
- When exporting shortcuts that use the
getDirectory()
function in their Scripting, the directories are now also included in the export.
Miscellaneous
- When creating your very first shortcut, a useful hint is now shown if you haven't opened the "Response Handling" section
- Removed some broken icons
Version 3.19.0
Improvements
- It is now possible to show/hide categories with Scripting
- The
writeFile
and appendFile
Scripting functions can now also write raw bytes instead of just strings - The Code Snippet picker now includes an "Append to File" option
Miscellaneous
- Prepared for Android 15
- Fixed typos and other minor improvements to documentation and help texts (thanks @NathanBaulch)
Version 3.18.0
Improvements
- In addition to
writeFile
, there is now also an appendFile()
Scripting function which allows to append content to a file instead of fully replacing the file's content.
Bugfixes
- The
getDirectory(...).readFile()
and getDirectory(...).writeFile()
Scripting function should now work as expected. - The "Allow receiving files from share dialog" checkbox now only shows for regular HTTP shortcuts instead of all shortcut types.
Miscellaneous
- Rearranged some options on the "Response Handling" screen for clarity
- The "Display JSON array as table" option is now enabled by default, and it now also applies if the response is a JSON object with a single key which holds a JSON array.
For older versions, check the full changelog.