|
1 | 1 | --- |
2 | | -title: V2.3.3 |
3 | | -published_at: 2025-07-15 08:00:00 |
| 2 | +title: V2.4.1 |
| 3 | +published_at: 2025-10-10 08:00:00 |
4 | 4 | --- |
5 | 5 |
|
6 | | -## 2.1.6 |
| 6 | +## 2.4.1 |
7 | 7 |
|
8 | | -**Assistant Features Update** |
| 8 | +# New Features |
9 | 9 |
|
10 | | -- Introduced custom role mode: Define unique roles for assistants beyond coding support. |
11 | | -- Directly @mention assistant tools in the input box for faster interaction. |
12 | | -- Scripts are now automatically saved to the `scripts` folder under the Scripting App's documents folder for easier access and organization. |
| 10 | +Knowledge Base |
| 11 | +You can now import multiple files at once by selecting a directory. |
13 | 12 |
|
14 | | -**Bug Fixes** |
| 13 | +Assistant Tool |
| 14 | +Introduced a built-in query knowledge bases tool, enabling the Assistant to search associated knowledge bases when completing tasks. |
15 | 15 |
|
16 | | -- Fixed the issue where **file bookmarks weren't working properly** |
17 | | -- Resolved documentation errors to improve clarity and accuracy |
| 16 | +ControlWidget (iOS 18+) |
| 17 | +Added ControlWidget, allowing you to place Button and Toggle controls in Control Center and assign scripts to handle their logic. |
18 | 18 |
|
19 | | -:::details{title=Recent Major Updates} |
| 19 | +Custom Keyboard |
| 20 | +Added the CustomKeyboard API to create and present your own keyboard UI, handle input events, and insert text programmatically. |
20 | 21 |
|
21 | | -**Assistant Tools Migration** |
| 22 | +Bluetooth APIs |
| 23 | +Introduced BluetoothCentralManager and BluetoothPeripheralManager APIs. Build end-to-end Bluetooth experiences, including scanning, connecting, reading/writing GATT characteristics, subscribing to notifications, advertising, and exposing custom services/characteristics. |
22 | 24 |
|
23 | | -- Most importantly, assistant tools have been fully migrated to scripts. You can now **directly create assistant tool scripts through the assistant**, unlocking new levels of flexibility and automation. |
| 25 | +Added layoutPriority View Modifier |
| 26 | +Introduced support for the layoutPriority view modifier, allowing developers to control how space is distributed among sibling views when layout constraints are tight. This behavior is consistent with SwiftUI’s native layoutPriority(\_:). |
24 | 27 |
|
25 | | -**Easier Script Saving from Other Apps** |
| 28 | +Introduced modifiers Property and ViewModifiers System |
| 29 | +A new modifiers property, along with the ViewModifiers class and the modifiers() helper function, has been added to enable fluent, chainable application of view modifiers. |
| 30 | +This system supports applying the same type of view modifier multiple times (e.g., repeated padding() or background() calls) and ensures modifiers are applied in the exact order they are chained, closely mirroring the behavior of SwiftUI. |
26 | 31 |
|
27 | | -- You can now quickly save scripts to the Scripting App from other apps like browsers. |
| 32 | +SVG Rendering |
| 33 | +Added a new SVG rendering component to display vector graphics seamlessly. |
28 | 34 |
|
29 | | -**Widget Preview Enhancements** |
| 35 | +Custom Fonts |
| 36 | +Now supports using fonts installed via the system or third-party apps. |
30 | 37 |
|
31 | | -- Widgets in the preview page are now interactive and properly refresh their UI, providing a more accurate and testable preview experience. |
| 38 | +# Improvements |
32 | 39 |
|
33 | | -**Script Execution & URL Schemes** |
| 40 | +Request API |
| 41 | +Added an allowInsecureRequest field to RequestInit / Request for controlling whether insecure requests are permitted. |
34 | 42 |
|
35 | | -- Added `Script.createDocumentationURLScheme` and `Script.createRunSingleURLScheme` to generate custom deep links for your scripts. |
36 | | -- `Script.run(options)` now supports the `singleMode` parameter to control script execution mode. |
37 | | -- The "Run in App" action in the Shortcuts app also supports configuring `singleMode`. |
| 43 | +Location API |
| 44 | +Location.requestCurrent now returns cached location data by default if available. |
| 45 | +Added a new optional parameter options.forceRequest to always fetch the latest location. |
38 | 46 |
|
39 | | -::: |
| 47 | +Developer Server |
| 48 | +The dev server now remembers and records the last connected address for faster reconnections. |
| 49 | + |
| 50 | +Storage Enhancements |
| 51 | +set, get, contains, remove, setData, and getData now accept an optional options.shared parameter for working with shared storage, which is accessible across all scripts for easier cross-script functionality. |
| 52 | + |
| 53 | +Fixes |
| 54 | +Assistant Tool Calls |
| 55 | +Fixed an issue where the Assistant could misparse tool parameters when invoking tools, improving reliability of tool execution. |
| 56 | + |
| 57 | +Photos API |
| 58 | +Fixed an issue where dismissing the Photos.pickPhotos sheet by swiping down would not resolve the promise. |
| 59 | + |
| 60 | +HealthKit Permissions |
| 61 | +Fixed an issue where requesting Health permissions did not trigger the authorization dialog. |
| 62 | + |
| 63 | +Script Advanced Settings |
| 64 | +Fixed an error when renaming a script in the Advanced Settings page, which could cause a refresh failure after saving. |
| 65 | + |
| 66 | +# Changes |
| 67 | + |
| 68 | +API Providers |
| 69 | +Removed the Pollinations.AI API provider. |
0 commit comments