Titanium SDK 9.0.0.GA
About this release
Titanium SDK 9.0.0 is a major release of the SDK, addressing high-priority issues from previous releases; introducing some breaking changes; and removing a number of long-deprecated APIs.
As of this release, Titanium SDK 8.x will not be supported one calendar year (2021-02-07) from 9.0.0's release date. See Axway Appcelerator Deprecation Policy and Nominal Lifetimes documents for details.
⚠️ With the release of Titanium SDK 9.0.0, we will no longer support Node.js 8.X. Node 10.2.0 will be the new minimum supported version with SDK 9.0.0.
Community Credits
Sergey Volkov
- fix optional parameters on "timers" methods (8a00014)
- split interface and property definition for console and JSON (958a6a3)
- fix Ti.UI.TableView.setData argument (70c16f7)
- fix PickerColumn parent class (0a55a4b)
- remove duplicate events from Ti.UI.Tab (f618aeb)
- fix Ti.UI.iOS.ApplicationShortcuts.getDynamicShortcut (a841846)
- fix Ti.Platform.openURL parameters (17f258d)
- fix Ti.UI.Slider.value type (2663d7d)
- fix Ti.Media.audioSessionCategory type (21bca1d)
- fix type of "services" property (410aee2)
- add missing types for events properties (5b7732f)
- remove "optional" key from event property (b1c0967)
- add missing types for events properties (76cd92a)
- add Ti.UI.View.id property (b295e63)
- mark as optional property "animated" of AnimationOption (aee1bdd)
- remove duplicate prop "category" from "localnotificationaction" (163065a)
Hans Knöchel
- add generated .cxx directory to .gitignore (37b446c)
- TIMOB-27441 - do not log Ti.App events (2c84e30)
Giorgio Mandolini
- webview onlink is now called only on link activated (aedd2aa)
Michael Gangolf
- optimize all pngs (#11321) (e563e28)
- TIMOB-13286 - add single/doubletap to scrollview (0326b7e)
David Bankier
- TIMOB-23281 - search bar color ignored on ios 13+ (0aa9b36)
Mathias Lykkegaard Lorenzen
- make event argument in fireEvent optional (0250df0)
Bug Fixes
Android platform
- add extension to encrypted assets (bf8a6bf)
- TIMOB-27606 - amend load app info order (38ea44b)
- avoid infinite recursion in tab/tabgroup toJSON() (7280fcc)
- avoid recursion, properties beginning with _ in toJSON() (f5b6561)
- TIMOB-27706 - build with uppercase module JAR on case-sensitive system (8a906c7)
- can't set versionCode in manifest as of 9.0.0 (a69f6b6)
- TIMOB-27633 - clean up module/require code (612afd7)
- TIMOB-27747 - crash with old "ti.playservices" in 9.0.0 (c194ecf)
- TIMOB-27694 - default Ti.Ui.TextField.editable is true in #focus() (99d08f6)
- TIMOB-27496 - do not modify original ListView proxy (e75b514)
- TIMOB-25945 - fix losing elevation effect after dimensions change (f46784b)
- fix scroll view's layout resizing with children (5723b11)
- fix support for Java 8 in Kotlin (2287e83)
- getCurrentPosition() compatibility with some Samsung devices (fa5866a)
- improve reliability of fused location lib detection (b8cc24a)
- location permission not auto-added as of 9.0.0 (db56070)
- TIMOB-27684 - prevent duplicate launch animation (135e3dc)
- prevent snapshots from failing build (40bd1d9)
- remove deprecated contacts methods (7e0a46a)
- remove deprecated contacts methods (7caecb8)
- TIMOB-27602 - softRestart() must account for snapshots (62a603d)
- specify default inspector context (c29960d)
- TIMOB-27746 TIMOB-27746 - strip xmlns definitions from child elements in AndroidManifest.xml (476ac79)
- TIMOB-27406 - support raw document identifiers (c2d89d4)
- use correct blob for toImage() (f07e012)
iOS platform
- TIMOB-27623 - server is receiving two consecutive calls for the same url (8cdac18)
- TIMOB-27158 - ui glitch in lazyloading fixed (c00da08)
- added proper condtion to import MediaPlayer (3943012)
- TIMOB-27159 - allow changing WebView read access when loading local file (dd7b319)
- behaviour of toString function of TiBlob fixed (e63b30e)
- cookies updated while reloading webview (fc11337)
- expose TiApp singleton accessor to swift (495d76c)
- TIMOB-27350 - fix toString() for binary blobs (c95ddb3)
- handle when new proxies are created with dictionary arguments (2c8e2ac)
- handle when throwing new obj-c proxy error without subreason (3e2934b)
- navBar properties not working properly with extendEdges set to Ti.UI.EXTEND_EDGE_TOP (d673c36)
- proper macro used for wrapping code (5bb63c5)
- remove deprecated contacts methods (207b4ab)
- remove deprecated contacts methods (e8c4b43)
- remove deprecated tab blur/focus events (f5d0bbe)
- remove deprecated tabgroup unselected/selected events (74f1134)
- remove deprecated TextField padding properties (337ee8f)
- remove deprecated Ti.Media methods (e8fff19)
- remove deprecated Ti.Media methods (b3bd05e)
- remove deprecated UI appearance properties (b8c1f84)
- remove references to Ti.Contacts methods that are removed (440e9cc)
- TIMOB-27480 - setting last index of tabbedBar after initialization not work (5fbe782)
- status bar background color crash fix ios13 (b999f27)
- statusbar ui issue fixed (6a5664b)
- tintColor not working for TabbedBar in iOS 13 (ec6fbf6)
- TIMOB-27484 - update to core-js 3 (ffa4cef)
- TIMOB-27630 - use correct target for transpiling on ios (c4a998a)
- when firing events to new proxies, fill in type/source (e56abfc)
Features
Multiple platforms
- use babel-plugin-transform-titanium when transpiling (c21f77c)
Android platform
- TIMOB-26434 - added app-bundle support (5d93fea)
- TIMOB-27686 - allow gradle to automatically download missing dependencies (57a6b49)
- TIMOB-27718 - log build warnings if res files have invalid names (e7df669)
- TIMOB-27696 - replace Support libraries with AndroidX (0558c28)
- target Java8 and Kotlin support for native modules (5ce5e72)
- TIMOB-27685 TIMOB-27298 TIMOB-27297 - update hyperloop for gradle (13f78c4)
- Update V8 to 7.8.279.23 (9006b4d)
iOS platform
- TIMOB-25847 - support font scaling for custom fonts (8045620)
BREAKING CHANGES
Multiple platforms
- TIMOB-27605 - Removal of Node 8 support, move to Node 10.13+ (f35cf0e)
- TIMOB-27650 - Remove ti.touchid and ti.safaridialog from the SDK distribution
- TIMOB-25578 - Ti.Geoclocation.reverseGeocoder now uses consistent properties postalCode (in place of zipcode) and countryCode (in place of country_code) (3d32e33)
Android platform
- Removed Ti.Contacts requestAuthorization method (in favor of requestContactsPermissions)
- Removed Ti.Contacts getPersonByID method (in favor of getPersonByIdentifier)
- Removed the create, destroy, pause, restart, resume, start, and stop events on Ti.Android.Activity (use callback properties) (0221467)
- Removed the Ti.UI.Webview onStopBlacklistedUrl event. Please use blacklisturl event instead (85b32d8)
- Removed deprecated Ti.UI.Window.android:* events (f01055c)
- Removed deprecated webview error event properties: errorCode and message (5144ac9)
- Removed deprecated tcp error callback errorCode property (7e405aa)
- Removed deprecated stream callback properties (4b48db8)
- Removed the LINKIFY_* constants living in Android namespace (7c88912)
iOS platform
- TIMOB-27497 - Drops support for Xcode 8. Please use Xcode 9+ (d5ede39)
- Removed Ti.UI.TextField paddingLeft and paddingRight properties (in favor of padding.left and padding.right)
- Removed Ti.Media requestAudioPermissions method (in favor of requestAudioRecorderPermissions)
- Removed Ti.Media requestAuthorization and requestCameraAccess methods (in favor of requestAudioRecorderPermissions and requestCameraPermissions)
- Removed Ti.Contacts requestAuthorization method (in favor of requestContactsPermissions)
- Removed Ti.Contacts getGroupByID and getPersonByID methods (in favor of getGroupByIdentifier and getPersonByIdentifier)
- Removed Ti.UI.Tab blur/focus events in favor of selected/unselected
- Removed Ti.UI.TabGroup selected/unselected events in favor of focus/blur
- Removed the BLEND_MODE_* constants on Ti.UI.iOS namespace (use constants on Ti.UI namespace) (3c2a0ec)
- Removed Ti.UI.TextArea, Ti.UI.TextField appearance property (in favor of keyboardAppearance)
- Removed deprecated Ti.Media.cameraAuthorizationStatus property (cbf994e)
- Removed deprecated ipad popover properties: height, width, leftNavButton and rightNavButton (14cd341)
- Removed deprecated tcp error callback errorCode property (6f4814d)
- Removed deprecated stream callback properties (f4de7a9)
- Ti.Network.TCPSocket has been removed, use Ti.Network.Socket.TCP in it's place. (9647181)
- TIMOB-27619, TIMOB-27076 - Ti.Network.BonjourService methods have become asynchronous. Use optional callback arguments or event listeners to react to results.
- Removed the updateLayout(), startLayout() and finishLayout() methods on Ti.UI.View (54e2eeb)
SDK Module Versions
| Module | Android version | iOS Version |
|---|---|---|
| 9.0.0 | 7.0.1 | |
| ti.cloudpush | 6.0.1 | n/a |
| ti.map | 5.0.0 | 3.3.0 |
| ti.webdialog | 2.0.0 | 1.1.0 |
| ti.playservices | 17.1.0 | n/a |
| ti.identity | 3.0.1 | 1.1.0 |
| urlSession | n/a | 2.2.0 |
| ti.coremotion | n/a | 2.0.1 |
| ti.applesignin | n/a | 1.1.1 |
| ti.cloud | 3.2.11 | 3.2.11 |
| hyperloop | 5.0.0 | 5.0.0 |