# Titanium SDK 9.1.0.RC - 14 August 2020
# About this release
Titanium SDK 9.1.0 is a minor release of the SDK, addressing high-priority issues from previous releases, as well as the addition of new features/functionality/APIs.
As of this release, Titanium SDK 9.0.x will not receive updates more than six months after the release of 9.1.0 (2021-02-14). Any needed fixes will be in 9.1.x or later supported releases within the 9.x branch. See Axway Appcelerator Deprecation Policy (opens new window) and Nominal Lifetimes (opens new window) documents for details.
❗️ Warning
With the release of Titanium SDK 9.0.0, we will no longer support Node.js 8.X. Node 10.13.0 will be the new minimum supported version with SDK 9.0.0.
❗️ Warning
Deprecation Notice: The next major release of the Titanium CLI, version 6.0.0, will no longer support plugins and hooks for commands other than "appc ti clean", "ti clean", "appc run", and "ti build". Titanium CLI v6 will have a new plugin system with a new hook system and it will be incompatible with Titanium CLI v5 plugins and hooks. Please refer to TIMOB-27233 (opens new window) and TIMOB-27255 (opens new window) for more information.
❗️ Warning
With the release of Titanium SDK 9.0.0, Windows platform will no longer be supported and has been removed from distribution in the SDK. Customers on Pro and Enterprise plans may continue to request critical fixes on SDK 8.x releases until August 18, 2020.
# Overview
Titanium SDK 9.1.0's Notable new features include: Webpack project support (opens new window), Intl
JS APIs on both major platforms, Cross-platform Dark/Light mode theming, Named/Semantic Colors, new focused
/closed
query methods on some UI components, cross-platform parity for Ti.UI.Shortcut
, and Ti.UI.View.borderRadius
extended to support 2 or 4 values (in addition to single value existing support) to allow for custom border radii (rounded corners).
# Community Credits
Michael Gangolf
TIMOB-27879 (opens new window) - add getScaledTouchSlop() to ListView (901f991 (opens new window))
TIMOB-27977 (opens new window) - add "isTrusted" property to Slider "change" event (8e96445 (opens new window))
TIMOB-25633 (opens new window) - adding androidback property to showCamera (b890f7c (opens new window))
TIMOB-27855 (opens new window) - animate color (4fa4e19 (opens new window)) and elevation (38a82ed (opens new window))
fix OptionDialog example (c0b13a1 (opens new window) and 6b99cf9 (opens new window))
TIMOB-27834 (opens new window) - navigationWindow open/close event (ec1976a (opens new window))
Andrea Vitale
- TIMOB-27958 (opens new window) - add fallback for countryCode in reverseGeocoder method (9823b0d (opens new window))
Hans Knöchel
TIMOB-27895 (opens new window) - support using named colors for color properties directly (5135b59 (opens new window))
TIMOB-27757 (opens new window) - fix watchOS targets that include frameworks (bd59e19 (opens new window))
TIMOB-27773 (opens new window) - add search bar token API (0680dcd (opens new window))
Sergey Volkov
TIMOB-27519 (opens new window) - semantic colors with alpha value (3c9aa10 (opens new window))
fix keyboardToolbar property type (7fbf2c7 (opens new window))
fix Ti.UI.iOS.MenuPopup.items type (e886d64 (opens new window))
Skoften
- TIMOB-27697 (opens new window) - Add "progress" event to Ti.UI.WebView for Android (parity) (2caa8e7 (opens new window))
# Bug Fixes
# Android platform
TIMOB-27513 (opens new window) - TabGroup bottom navigation style fires redundant event
TIMOB-27519 (opens new window) - Semantic Colors with alpha value
TIMOB-27616 (opens new window) - TextField with decimal keyboard type does not allow comma for decimal separator
TIMOB-27731 (opens new window) - Camera fails to open when using saveToPhotoGallery: true (56986c3 (opens new window))
TIMOB-27779 (opens new window) - Setting "labels" via TabbedBar "click" event hangs app (749ff1d (opens new window))
TIMOB-27797 (opens new window) - Unable to see "error" event in remote images (68d11f7 (opens new window))
TIMOB-27825 (opens new window) - High CPU usage in Android Studio (11dff9d (opens new window))
TIMOB-27834 (opens new window) - NavigationWindow doesnt trigger open and close events
TIMOB-27872 (opens new window) - Blob imageAsX() methods ignore EXIF orientation if not wrapping a file (7ce3ae1 (opens new window))
TIMOB-27882 (opens new window) - Unable to do a production build after switching SDK on Windows
TIMOB-27916 (opens new window) - App logs Titanium version as
__VERSION__
on startup as of 9.1.0 (08227a9 (opens new window))TIMOB-27927 (opens new window) - Changing currently selected row's color in picker does not update shown color
TIMOB-27950 (opens new window) - "tiapp.xml" setting
<navbar-hidden>
is ignored if<fullscreen>
or<statusbar-hidden>
is also not set as of 9.0.0 (54e42b1 (opens new window))TIMOB-27963 (opens new window) - Always specify default Tab.tintColor (9a6d417 (opens new window))
TIMOB-27972 (opens new window) - ACS push notifications received multiple times on same device after re-installing app
TIMOB-27990 (opens new window) - Ti.UI.ShortcutItem has lot of issues
TIMOB-28020 (opens new window) - Parity with iOS Shortcut click event payload (dc102e3 (opens new window))
changing picker row color should update selected text (7aa5290 (opens new window))
clean/rebuild should release gradle file locks (be923f1 (opens new window))
# iOS platform
TIMOB-18256 (opens new window) - setting TextField.value to wrong type triggers change event (e06f9b5 (opens new window))
TIMOB-27649 (opens new window) - deprecate statusbar constant (3c83fd8 (opens new window))
TIMOB-27757 (opens new window) - watchOS: Frameworks are referenced incorrectly
TIMOB-27767 (opens new window) - Parity: httpClient should trigger error callback when url is invalid (7630868 (opens new window))
TIMOB-27821 (opens new window) - ti.urlsession - Event sessioncompleted does not get all specified values (ebae7bd (opens new window))
TIMOB-27832 (opens new window) - Liveview disconnect triggers infinate error loop
TIMOB-27846 (opens new window) - Calling Ti.Platform.openURL without all parameters causes the app to crash (regression) (b5bb437 (opens new window))
TIMOB-27874 (opens new window) - parseDecimal() whitespace thousands sep handling (ed7bbe6 (opens new window))
TIMOB-27897 (opens new window) - master branch is not building on Xcode < 11
TIMOB-27930 (opens new window) - iPad crashing intermittently during unit test suite (c2e5fb5 (opens new window))
TIMOB-27935 (opens new window) - TableViewRow does not return getRect methods
TIMOB-27958 (opens new window) - Ti.Geolocation.reverseGeocoder() crashes the app on iOS
TIMOB-27969 (opens new window) - View in a tab window goes under tabs in a tabgroup on Ipad (e9330a9 (opens new window))
TIMOB-27994 (opens new window) - itemclick event its firing instead of a move event when ordering items in a list (iOS 13+) (40cc28d (opens new window))
TIMOB-27997 (opens new window) - Ti.Blob images from device (via Ti.UI.View#toImage()) would report dimensions in points, not pixels (51b6237 (opens new window))
TIMOB-28001 (opens new window) - setting TableView row layout to "horizontal" or "vertical" crashes (fd53a51 (opens new window))
TIMOB-28031 (opens new window) - CLI: Unable to find an iOS Simulator running iOS 14.0.
allow custom property getters to work in bindings (a53f8c6 (opens new window))
call callback with success no byte event on writeFromBuffer with no length (8a639d8 (opens new window))
define dark/light theme constants/properties for ios < 13 (a16e698 (opens new window))
don't ignore close call immediately after open on Window (07502db (opens new window))
handle Ti.Stream.write with length 0 or empty buffer as success no-op (b58349d (opens new window))
have Ti.Color hex be AARRGGBB format (not RRGGBBAA) (9c3321b (opens new window))
make Ti.UI.Window close/open run more async ala Android (6a6fda4 (opens new window))
properly report partial results on thrown error for Ti.DB.executeAll (f1372ba (opens new window))
remainingComplicationUserInfoTransfers is number on ipad (0fcd6d2 (opens new window))
TableViewRow does not return getRect methods (b15d184 (opens new window))
# Multiple platforms
TIMOB-27785 (opens new window) - buffer: Proxy object's 'set' trap returned falsy value for property '0' (a45a8d0 (opens new window))
TIMOB-27808 (opens new window) - add missing console.trace (83a64a1 (opens new window))
TIMOB-27525 (opens new window) - Liveview: Commented out line with Ti.include in it causes LiveView failure
TIMOB-27416 (opens new window) - LiveView: Changes made to a theme's style are not reflected in app when using LiveView
TIMOB-26267 (opens new window) - LiveView: Calling "liveview server stop" causes exception, but stops connections
TIMOB-26649 (opens new window) - LiveView: Unable to use LiveView with KitchenSink-v2
TIMOB-26798 (opens new window) - Angular: Project template is outdated
do not remove log file when cleaning (a699bf5 (opens new window))
add .buffer and #set to Buffer (264b175 (opens new window))
add no-op stubs for fs.chown methods (1dd99ef (opens new window))
assume hex is ARGB (daf8056 (opens new window))
copy sliced buffer doesn't extend beyond view now (035c579 (opens new window))
expose Buffer.hexSlice to fix console.log of ArrayBuffer (d7f863b (opens new window))
expose constructor off global console instance (2568c6f (opens new window))
correct type sniffing of some ES6 types (bac4bb3 (opens new window))
# Features
# Android platform
TIMOB-25633 (opens new window) - Add "androidback" callback property to camera overlay (b890f7c (opens new window))
TIMOB-26315 (opens new window) - Support touch feedback on backgroundImage, backgroundGradient, and transparent backgrounds (2a0b1be (opens new window))
TIMOB-27240 (opens new window) - Add Intl.NumberFormat support (269de3f (opens new window))
TIMOB-27242 (opens new window) - Improve getter and setter warnings (3507dd0 (opens new window))
TIMOB-27473 (opens new window) - Replace clang Java formatter with gradle "checkstyle" tool (3cbc754 (opens new window))
TIMOB-27501 (opens new window) - Be able to determine dark / light theme, as well as changes on it
- add Ti.UI.Android.getColorResource(), Ti.UI.Color (d852331 (opens new window))
TIMOB-27697 (opens new window) - Add "progress" event to Ti.UI.WebView for Android (parity) (82a3579 (opens new window))
TIMOB-27719 (opens new window) - Remove python dependency from SDK build
TIMOB-27855 (opens new window) - Animate elevation value
TIMOB-27862 (opens new window) - Add callback support to Ti.Platform.openURL() (43d287e (opens new window))
TIMOB-27869 (opens new window) - KEYBOARD_TYPE_ASCII should not allow emoji like iOS
TIMOB-27870 (opens new window) - KEYBOARD_TYPE_NUMBERS_PUNCTUATION should allow all chars except emoji like iOS
TIMOB-27871 (opens new window) - Setting TextField/TextArea "editable" to false should allow user to copy text to clipboard
TIMOB-27879 (opens new window) - ListView should only fire "scrolling" event when moving a min distance
TIMOB-27889 (opens new window) - Implement Ti.UI.Shortcut (5432efc (opens new window))
TIMOB-27890 (opens new window) - Add Intl.DateTimeFormat support (269de3f (opens new window))
TIMOB-27891 (opens new window) - Add Intl.Collator support (269de3f (opens new window))
TIMOB-27892 (opens new window) - Update toLocale*String() methods to support locale/options (683adaf (opens new window))
TIMOB-27906 (opens new window) - Add Kotlin based template for native modules (23c3aea (opens new window))
TIMOB-27938 (opens new window) - Update gradle build tools to 4.0.x
TIMOB-27946 (opens new window) - Implement Ti.View.borderRadius multiple values for custom edge radii (545f8d5 (opens new window))
add NDK side-by-side support (71f25e8 (opens new window))
MOD-2588 (opens new window) - add passcode fallback to ti.identity (1f84b35 (opens new window))
added "codeStyleConfig.xml" to SDK (a9f6895 (opens new window))
MOD-2634 (opens new window) TIMOB-27972 (opens new window) - migrate CloudPush to Firebase (d61e66e (opens new window))
module builds should fail with aar in lib folder (0c72020 (opens new window))
# iOS platform
TIMOB-27773 (opens new window) - Support search bar tokens
TIMOB-26959 (opens new window) - Add TLS 1.3 support
TIMOB-27853 (opens new window) - Add ability to detect that screenshot was taken on iOS (b9df339 (opens new window))
TIMOB-26818 (opens new window) - Move application shortcut under Ti.UI.Shortcut to have parity (8446d39 (opens new window))
TIMOB-27305 (opens new window) - Implement Ti.View.borderRadius multiple values for custom edge radii (34b3a93 (opens new window))
TIMOB-27649 (opens new window) - Deprecate Status Bar style constants
TIMOB-27767 (opens new window) - Parity: httpClient should trigger error callback when url is invalid
TIMOB-27792 (opens new window) - Remove python dependency from SDK build
TIMOB-27974 (opens new window) - Make iOS development-project compatible with Xcode 12
add list of new iPhone/iPad models for
os
module (8839c2c (opens new window))
# Multiple platforms
TIMOB-13764 (opens new window) - TiAPI: After animating properties on a view, update in the view properties (3fef676 (opens new window))
TIMOB-25968 (opens new window) - Liveview: Write more information to pidfile, such as port and ip data
TIMOB-26572 (opens new window) - TiAPI: Extend global console API to be more Node-compatible (e398a10 (opens new window))
TIMOB-27429 (opens new window) - Webpack: Integration into the CLI build command
TIMOB-27501 (opens new window) - cross-platform light/dark mode API (28eba34 (opens new window))
TIMOB-27511 (opens new window) - Webpack: Alloy loader
TIMOB-27716 (opens new window) - Webpack: Classic and Alloy project templates
TIMOB-27711 (opens new window) - TiAPI: Add state querying methods to UI components
add Ti.UI.Window.closed property (1c66a80 (opens new window)) (574fec6 (opens new window))
add Ti.UI.Window.focused property (26f8dcd (opens new window)) (c5de6e2 (opens new window))
add Ti.UI.SearchBar focused property (64c334d (opens new window)) (e0161ed (opens new window))
add Ti.UI.TextField/Area focused property (5e822f5 (opens new window)) (19ab4dc (opens new window)) (78357ec (opens new window)) (7b53d67 (opens new window))
TIMOB-27800 (opens new window) - Webpack: Angular plugin
TIMOB-27856 (opens new window) - Webpack: Angular project template
TIMOB-27857 (opens new window) - Webpack: Add support for plugins from NPM
TIMOB-27860 (opens new window) - Webpack: Tap into hooks before/after other plugins
TIMOB-27874 (opens new window) - TiAPI: Add Ti.Locale.parseDecimal() method (6253813 (opens new window))
TIMOB-27895 (opens new window) - TiAPI: Handle semantic colors (dark mode) without helper function
TIMOB-27907 (opens new window) - Liveview: Compatibility with Webpack builds
TIMOB-27977 (opens new window) - TiAPI: Add "isTrusted" property to Ti.UI.Slider "change" event
add basic stream shim (1720456 (opens new window))
MOD-2621 (opens new window) - use ASWebAuthenticationSession when possible (5e1dfa1 (opens new window))
# SDK Module Versions
Module | Android version | iOS Version |
---|---|---|
9.0.0 | 8.0.0 | |
ti.cloudpush | 7.1.0 | n/a |
ti.map | 5.0.1 | 3.3.0 |
ti.webdialog | 2.0.0 | 1.2.0 |
ti.playservices | 17.1.1 | n/a |
ti.identity | 3.0.2 | 1.1.0 |
urlSession | n/a | 2.2.0 |
ti.coremotion | n/a | 2.1.0 |
ti.applesignin | n/a | 1.1.1 |
ti.cloud | 3.2.11 | 3.2.11 |
hyperloop | 5.0.3 | 5.0.3 |