SDK 9.2.0 · Release notes
Version9.2.0
- 13.4.1latest
- 13.4.0
- 13.3.1
- 13.3.0
- 13.2.0
- 13.1.1
- 13.1.0
- 13.0.1
- 13.0.0
- 12.8.0
- 12.7.1
- 12.7.0
- 12.6.4
- 12.6.3
- 12.6.2
- 12.6.1
- 12.6.0
- 12.5.1
- 12.5.0
- 12.4.0
- 12.3.1
- 12.3.0
- 12.2.1
- 12.2.0
- 12.1.2
- 12.1.1
- 12.1.0
- 12.0.0
- 11.1.1
- 11.1.0
- 11.0.0
- 10.1.1
- 10.1.0
- 10.0.2
- 10.0.1
- 10.0.0
- 9.3.2
- 9.3.1
- 9.3.0
- 9.2.2
- 9.2.1
- 9.2.0
- 9.1.0
- 9.0.3
- 9.0.2
- 9.0.1
- 9.0.0
- 8.3.1
- 8.3.0
- 8.2.1
- 8.2.0
- 8.1.1
- 8.1.0
- 8.0.2
- 8.0.1
- 8.0.0
Titanium SDK 9.2.0.GA
Released
Titanium SDK 9.2.0.GA - 23 September 2020
About this release
Titanium SDK 9.2.0 is a minor release of the SDK, addressing high-priority issues from previous releases.
As of this release, Titanium SDK 9.1.x will not receive updates more than six months after the release of 9.2.0 (2021-03-15). Any needed fixes will be in 9.2.x or later supported releases within the 9.x branch. See Axway Appcelerator Deprecation Policy and Nominal Lifetimes documents for details.
::: danger ❗️ Warning With the release of Titanium SDK 9.0.0, we no longer support Node.js 8.X. Node 10.13.0 is the new minimum supported version. :::
Overview
Titanium SDK 9.2.0 is primarily focused on providing support for iOS 14 and Xcode 12. Fixing high priority issues, adding support for new APIs, support for using xcframeworks in native modules, as well as a beta for macOS support via Mac Catalyst.
macOS support
This release includes an initial beta for supporting macOS applications via Mac Catalyst, which allows you to run your iOS application on Mac as if they were apps built for the Mac.
This initial beta mostly focuses on enabling the target and necessary build changes, but most of the core SDK APIs work out of the box however there are a some items worth mentioning:
-
As the application is run in a sandbox, we inject entitlements for certain sandboxed APIs by default. In a future release we will look to detect API usage and inject these automatically
-
Most core modules have been rebuilt for macOS support, with the notable exception of ti.facebook
-
Certain APIs that require custom entitlements, such as the KeyChain access in ti.identity or ti.applesignin, currently will not work with the macOS target
-
Currently there are no new APIs exposed for macOS development such as Menu APIs. As a result apps will feel more like an iPad app currently.
-
Currently the only way to build is to using the CLI via
ti build -p ios -T macos
We will iterate on the macOS support in the coming releases and when we feel that it's stable enough we will remove it from beta. But we encourage you to give it a spin, and report any issues you might find to us on our GitHub Issues.
Rebuilding iOS modules
It is not required, but it is heavily recommended to rebuild your native modules with SDK 9.2.0. Not doing so will produce a warning during application build and will lead to build failures when Apple ships the upcoming "Silicon Macs". To build your application to macOS it's also required to rebuild the module.
To update your module:
-
Update the titanium.xcconfig file with the following
-
Ensure the TITANIUM_SDK_VERSION is pointed to a 9.2.0 SDK
-
Edit the FRAMEWORK_SEARCH_PATHS value to be $(inherited) "$(TITANIUM_SDK)/iphone/Frameworks/**"
-
-
Update the manifest file
-
minsdk should be 9.2.0
-
We recommend bumping the version to the next semver major
-
For an example of the changes required, see the PR to update ti.coremotion
Community Credits
-
Hans Knöchel
-
TIMOB-28147 - support app clips (56b8da4)
-
add since version for Ti.UI.Picker.datePickerStyle (ab250c3)
-
TIMOB-28104 - support new date picker styles (d3cdfc5)
-
-
Michael Gangolf
Bug Fixes
Android platform
- TIMOB-28090 - allow node to clear event loop (d6d9a5b)
iOS platform
-
TIMOB-27132 - fix location of Ti.Filesystem.applicationDataDirectory on macos (9caf847)
-
TIMOB-28138 - optionally build macos and/or ios arm64 sim (ed7d149)
-
TIMOB-28130 - remove Frameworks directory prior to copying (405e179)
-
TIMOB-28099 - remove old tiverify.xcframework references from project (cd7c270)
-
tweak titanium.xcconfig template to use variables in sdk path (7da6dbd)
-
TIMOB-28130 - unmark product directory to prevent removing required files (635d08c)
-
TIMOB-28143 - use TITANIUM_SDK variable to point at xcframework path in xcode project (559b5bc)
-
use xcodeTargetOS of 'iphoneos' for mac catalyst (60220c7)
-
TIMOB-28142 - when building module test project, unzip via spawn to avoid max buffer error (345eee1)
-
added missing left (“) (ff27c9b)
-
TIMOB-28108 - allow Ti.UI.RefreshControl.tintColor to accept a semantic color (815a0fc)
-
TIMOB-28113 - do not update properties if transition animation (4a835fd)
-
TIMOB-28062 - enable swift development in Titanium (2b4aa7b)
-
TIMOB-28116 - exclude arm64 arch for sim target if native modules aren't xcframeworks (faba6e1)
-
TIMOB-28042 - exclude arm64 architecture from simulator build (178bf92)
-
fix Ti.Filesystem.getAsset and getFile on devices (f57e938)
-
TIMOB-27985 - fix to add resources and sources file in widget extension (4b97cec)
-
gaurd code for MediaModule on xcode 11 to avoid compile issues (a9dae74)
-
TIMOB-28112 - guard new picker types (fa8f547)
-
handle adding Ti.UI.Shortcut when existing array is nil (82e011a)
-
modify BOOL to bool for return types to fix JS representation (0b251e2)
-
TIMOB-28100 - only include presentationControllerDidDismiss when photogallery is used (14a5e5b)
-
TIMOB-28126 - rely on flush interval (0c83fab)
-
TIMOB-28091 - update liveview for ios 14 compatibility (e89065b)
-
TIMOB-28101 - use arc to create corner radius instead of qudratic curve (b5ed723)
-
TIMOB-28103 TIMOB-28110 - view shadow missing with multiple borderRadius values (2a38bf3)
-
fix location of Ti.Filesystem.applicationDataDirectory on macos (9caf847)
Multiple platforms
- TIMOB-28094 - process.toString() (a15f7f6)
Features
iOS platform
-
TIMOB-27986 - support xcframeworks in modules/platform folders (b2ccfbf)
-
TIMOB-28077 - added new error constant and updated doc for local network privacy (f8de8c0)
-
add Ti.Blob.toArrayBuffer() (e42bbcb)
-
TIMOB-28098 - add Ti.Platform.versionPatch (a78e9cc)
-
TIMOB-27984 - allow multiple photo selection (04b4292)
-
build modules as xcframeworks (w/ macos support) (5b766ae)
-
TIMOB-28012 - expose new APIs to customize paging control (6acad54)
-
TIMOB-27976 - expose new APIs to use location AccuracyAuthorization (a55f9a3)
-
TIMOB-27987 - expose new iOS 14 APIs in Ti.UI.WebView (840b0d2)
-
TIMOB-27132 - support macos/dist-macappstore targets (cfac6e4)
-
TIMOB-28078 - support new APIs timeoutForResource and waitsForConnectivity (09f20d2)
-
TIMOB-28116 - use/support/build xcframeworks (133527e)
Multiple platforms
-
TIMOB-28061 - add os version major/minor int constants (3fd8535)
-
TIMOB-28061 - add OS_ANDROID/OS_IOS for non-transpiled builds (b21c5d7)
-
TIMOB-28098 - add OS_VERSION_PATCH global (86d33df)
-
TIMOB-28093 - add uprightWidth/uprightHeight props to Ti.Blob (09b4591)
-
TIMOB-28070 - add vscode config files to app templates (f8ef53a)
-
TIMOB-28030 - add WebView blockedURLs property (9006c00)
Android platform
-
add Ti.Blob.toArrayBuffer() (36e7244)
-
TIMOB-28098 - add Ti.Platform.versionPatch (587ddea)
-
support converting byte[] to ArrayBuffer (9e77600)
Performance Improvements
Multiple platforms
- make buffer shim more efficient (9efe874)
SDK Module Versions
| Module | Android version | iOS Version |
|---|---|---|
| 10.0.0 | 9.0.0 | |
| ti.cloudpush | 7.1.0 | n/a |
| ti.map | 5.0.1 | 4.0.0 |
| ti.webdialog | 2.0.0 | 2.0.0 |
| ti.playservices | 17.1.1 | n/a |
| ti.identity | 3.0.2 | 2.0.0 |
| urlSession | n/a | 3.0.0 |
| ti.coremotion | n/a | 3.0.0 |
| ti.applesignin | n/a | 2.0.0 |
| ti.cloud | 3.2.11 | 3.2.11 |
| hyperloop | 6.0.0 | 6.0.0 |