# Titanium SDK 9.3.0.RC - 1 December 2020
# About this release
Titanium SDK 9.3.0 is a minor release of the SDK, addressing high-priority issues from previous releases.
As of this release, Titanium SDK 9.2.x will not receive updates more than six months after the release of 9.3.0 (2021-05-01). Any needed fixes will be in 9.3.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 no longer support Node.js 8.X. Node 10.13.0 is the new minimum supported version.
Overview
Titanium SDK 9.3.0 is primarily focused on providing support for Android 11.
# Community Credits
Sergey Volkov
- TIMOB-25556 (opens new window) - add separate lock mode for left and right drawers (e51c84b (opens new window))
Michael Gangolf
TIDOC-3186 (opens new window) - adding drawerlayout alloy example (7d5b1f5 (opens new window))
TIMOB-27779 (opens new window) - fix TabbedBar Click loop (1c5327d (opens new window))
TIMOB-27859 (opens new window) - add Ti.UI.Tab.badge and badgeColor (a19c36e (opens new window)) (6ca467a (opens new window))
fix Ti.UI.Window.extendSafeArea default value text (ec2f867 (opens new window))
Hans Knöchel
- TIMOB-28104 (opens new window) - support new date picker styles (78bce40 (opens new window))
# Features
# Android platform
TIMOB-28045 (opens new window) - Android 11 Support
TIMOB-18069 (opens new window) - make ListSection.getItemCount() and/or getContentCount() public
TIMOB-24983 (opens new window) - Add "HTTPClient.responseHeaders" support (feature parity with iOS)
TIMOB-25556 (opens new window) - Extend drawerLockMode to set Gravity
TIMOB-25854 (opens new window) - Grant WebView permissions for Audio/Video WebRTC streams
TIMOB-25991 (opens new window) - RefreshControl in ListView only works when dragging content
TIMOB-27077 (opens new window) - Rewrite Ti.UI.TableView to use RecyclerView
TIMOB-27138 (opens new window) - Add photo/video capture support to WebView
TIMOB-27201 (opens new window) - Update "Ti.Filesystem.File" to support unimplemented APIs when wrapping a "content://" URL
TIMOB-27714 (opens new window) - Add "Material Components" theme support (eb46ca0 (opens new window))
TIMOB-27743 (opens new window) - Remove hidden API usage from SDK
TIMOB-27787 (opens new window) - Add C/C++ debugging to SDK test app builds
TIMOB-27838 (opens new window) - Style default tableViewSection headerTitle using XML
TIMOB-27859 (opens new window) - Add "badge" support to TabGroup
TIMOB-27873 (opens new window) - Remove "nineoldandroids" library from SDK
TIMOB-27887 (opens new window) - Support WebAssembly in V8
TIMOB-27934 (opens new window) - Update "ti.playservices" module to use 17.5.0
TIMOB-27948 (opens new window) - Use of wrong string operator in string comparison in TiJSService
TIMOB-27970 (opens new window) - Update V8 runtime to 8.4
TIMOB-28046 (opens new window) - Compile with SDK version 30 (Android 11)
TIMOB-28047 (opens new window) - Target API Level 30 (Android 11) by default (4490c3e (opens new window))
TIMOB-28049 (opens new window) - Investigate "ACCESS_BACKGROUND_LOCATION" handling on Android 11
TIMOB-28050 (opens new window) - Investigate "package visibility" handling on Android 11
TIMOB-28051 (opens new window) - Add foreground service type constants for "camera" and "microphone" (8fcbd4a (opens new window)) (0e98584 (opens new window))
TIMOB-28057 (opens new window) - Modify WebView to use scoped storage for
<input/>
file selectionTIMOB-28058 (opens new window) - Change Ti.Filesystem "temp" APIs to use app's cache folder
TIMOB-28059 (opens new window) - Modify Ti.Media APIs to use scoped storage
TIMOB-28080 (opens new window) - Add "tapjacking" prevention features (34cbeea (opens new window)) (413da3e (opens new window))
TIMOB-28084 (opens new window) - use material theme by default (00e2816 (opens new window))
TIMOB-28087 (opens new window) - Add "NoTitleBar" and "Fullscreen" themes which derive from custom app theme (00e2816 (opens new window))
TIMOB-28088 (opens new window) - Rewrite Ti.UI.ListView to use RecyclerView
TIMOB-28102 (opens new window) - Update module Kotlin language support to 1.4.x (5dc0872 (opens new window))
TIMOB-28140 (opens new window) - WebView should request location permission when HTML uses geolocation API
TIMOB-28146 (opens new window) - Ti.Filesystem.File rename() should support an absolute path in same directory
TIMOB-28173 (opens new window) - Update gradle to 6.7
TIMOB-28182 (opens new window) - Only add WRITE_EXTERNAL_STORAGE permission when needed
TIMOB-28183 (opens new window) - Add Ti.Media.requestPhotoGalleryPermissions() support
TIMOB-28214 (opens new window) - Remove dead "TiAuthenticator" Java code to avoid security warnings
TIMOB-28223 (opens new window) - Use vector graphics for list/table icons
TIMOB-28230 (opens new window) - Add Ti.Filesystem.externalCacheDirectory support
TIMOB-28231 (opens new window) - Change Ti.Filesystem.externalStorageDirectory to use scoped storage
MOD-2588 (opens new window) - add passcode fallback to ti.identity (7e7934d (opens new window))
# iOS platform
TIMOB-27984 (opens new window) - allow multiple photo selection (8b53023 (opens new window))
TIMOB-28195 (opens new window) - Add node-ios-device v1 support for Node 14
add iphone 12 models to Node.js
os
shim (69bf699 (opens new window))add new constants for
Ti.Media.VIDEO_MEDIA_TYPE_
(d85d6f8 (opens new window))
# Multiple platforms
add
"build.post.install"
build hook (372bf70 (opens new window)) (7186384 (opens new window))emit
'create.module.app.finalize'
build hook during module build before launching test app (8778f3f (opens new window)) (403d7e2 (opens new window))
# Bug Fixes
# Android platform
TIMOB-15015 (opens new window) - TableView.headerView cannot be set after setting data
TIMOB-16498 (opens new window) - Undesired tableView separatorColor is appearing in footerView
TIMOB-24874 (opens new window) - Selected row does not stay highlighted when using a TableView.
TIMOB-25333 (opens new window) - SearchBar height should default to Ti.UI.SIZE like iOS instead of FILL
TIMOB-26602 (opens new window) - Ti.Media.takePicture() will wrongly assign mp4 extension to image file if camera is configured for MEDIA_TYPE_VIDEO
TIMOB-26887 (opens new window) - TableView "headerTitle" and "footerTitle" cannot be changed after creation
TIMOB-27481 (opens new window) - Navigating back from camera overlay can wrongly close the app
TIMOB-27796 (opens new window) - TableViewSection does not scroll after a certain point
TIMOB-27948 (opens new window) - string reference equality in service (5ba35d3 (opens new window))
TIMOB-28027 (opens new window) - Build fails as duplicate string with "app_name" in i18n strings.xml file (98ff0e7 (opens new window)) (d8d442e (opens new window))
TIMOB-28048 (opens new window) - RefreshControl in TableView only works when dragging content
TIMOB-28079 (opens new window) - ACA module no longer loaded first on startup as of 8.1.0
TIMOB-28081 (opens new window) - App build fails if it includes an Apache "commons-logging" library
TIMOB-28084 (opens new window) - Modal/Translucent window ignores
<navbar-hidden/>
setting in "tiapp.xml"TIMOB-28105 (opens new window) - AudioRecorder "recording" and "stopped" properties return the wrong state values (340bc36 (opens new window)) (8e8d160 (opens new window))
TIMOB-28149 (opens new window) - App builds fail if it includes "Java-WebSocket" library
TIMOB-28161 (opens new window) - Modules built with 9.1.0 and using deprecated getter/setter property methods will crash on 9.0.x apps (6e025c5 (opens new window))
TIMOB-28162 (opens new window) - TableViewRow does not scale to height of parent
TIMOB-28163 (opens new window) - TableViewRow ignores borderRadius
TIMOB-28164 (opens new window) - TableViewRow displays incorrect background upon press
TIMOB-28165 (opens new window) - TableViewRow does not activate ripple effect from child views
TIMOB-28166 (opens new window) - TableViewRow does not apply opacity to child views
TIMOB-28167 (opens new window) - ListViewItem does not activate ripple effect from child views
TIMOB-28176 (opens new window) - createTempDirectory() does not create a directory
TIMOB-28177 (opens new window) - createTempFile() should create file under Ti.Filesystem.tempDirectory
TIMOB-28178 (opens new window) - Canceling out of Ti.Media.openPhotoGallery() causes a crash as of 9.1.0 (0e284e5 (opens new window))
TIMOB-28189 (opens new window) - Opening TabGroup crashes when using AppCompat theme as of 9.3.0 (6403da2 (opens new window))
TIMOB-28193 (opens new window) - Selecting multiple photos/videos via openPhotoGallery() can cause a crash as of 9.1.0 (0b1116f (opens new window))
TIMOB-28212 (opens new window) - Listview modifies other rows on scroll
TIMOB-28220 (opens new window) - tintColor/activeTintColor or titleColor/activeTitleColor not respected for tabgroup with style TABS_STYLE_BOTTOM_NAVIGATION (f640850 (opens new window))
TIMOB-28222 (opens new window) - Ti.Android.R.transition doesn't exist (2773c51 (opens new window))
TIMOB-28240 (opens new window) - TableViewRow unable to change colour of row after a set time (Regression)
TIMOB-28246 (opens new window) - Ti.Media.previewImage() fails to display in-memory blobs as of 9.1.0 (984f811 (opens new window))
add accessor for Ti.Media.fullscreen property, default initialPlaybackTime to 0 (204827d (opens new window))
allow overriding of toString() (f20ed51 (opens new window))
amend chevron vector icon color and size (8fde5bb (opens new window))
amend icon color and size (8e63037 (opens new window))
amend size of more icon (ae23408 (opens new window))
amend Ti.UI.Shortcut implementation (975af13 (opens new window))
debug snapshot generation (dcfd0c7 (opens new window))
default to newer scalingMode constant default value (c151ff0 (opens new window))
draw outer border path correctly (e8c6d54 (opens new window))
formatting (db0cd77 (opens new window))
formatToParts() on Android 4.4 (2a2f0dc (opens new window))
match static value for Ti.Media.MEDIA_TYPE_VIDEO to iOS (b0f6527 (opens new window))
null out Ti.UI.Window's navigationWindow property before close event (bdce8ae (opens new window))
remove Ti.Media.VideoPlayer.contentURL property (5bf7826 (opens new window))
remove unnecessary v8 refs (4122858 (opens new window))
return empty array rather than null for Ti.Media.availableCameras if no cameras (48006b6 (opens new window))
snapshot template (3eab6b7 (opens new window))
start zip read, close zipfile when done (bdf7d36 (opens new window))
update more icon into down chevron (569dc77 (opens new window))
use manifest shortcuts for staticItems (79102ee (opens new window))
window toString() (d1fd590 (opens new window))
# Multiple platforms
TIMOB-28200 (opens new window) - Angular: Project created from template fails build with type errors
set prompt on project dir option (f5a4391 (opens new window))
return back userInfo.gid not guid (a70bbe3 (opens new window))
# iOS platform
TIMOB-13903 (opens new window) - Reading TableView's "sectionCount" property crashes app (149eb4a (opens new window))
TIMOB-27935 (opens new window) - TableViewRow does not return getRect methods
TIMOB-28111 (opens new window) - TabGroup focus event firing unexpectedly (5fa704d (opens new window))
TIMOB-28148 (opens new window) - app crashes when updating tableview
TIMOB-28160 (opens new window) - "unrecognized selector sent to instance" logged for errors from native side
TIMOB-28207 (opens new window) - Packaging fails when Xcode path contains a space
TIMOB-28211 (opens new window) - The color property of Ti.UI.Button does not work when used in navbar (66e8d37 (opens new window))
TIMOB-28218 (opens new window) - Ti.UI.Clipboard example usage crashes on macOS
TIMOB-28219 (opens new window) - Ti.UI.Clipboard#remove() doesn't exist, but is documented
TIMOB-28221 (opens new window) - Default value of property Ti.Media.VideoPlayer.pictureInPictureEnabled should be true (ba7e5aa (opens new window))
TIMOB-28227 (opens new window) - Ti.UI.dateTimeColor is crashing on mac
fix Ti.Filesystem.getAsset and getFile on devices (3b2865d (opens new window))
fix typo on Ti.Media.MUSIC_PLAYER_STATE_SEEK_FORWARD (de780ec (opens new window))
gaurd code for MediaModule on xcode 11 to avoid compile issues (4144c96 (opens new window))
get rid of removed constants/properties (8a9a05e (opens new window))
handle adding Ti.UI.Shortcut when existing array is nil (f967cf9 (opens new window))
modify BOOL to bool for return types to fix JS representation (43042cc (opens new window))
set Ti.Codec.CHARSET_ISO_LATIN_1 to 'latin1' (4123b9b (opens new window))
shortcut guard in Ti.UI module (7f44d8d (opens new window))
# 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.1 |
ti.webdialog | 2.0.0 | 2.0.0 |
ti.playservices | 17.5.0 | 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.2 | 6.0.2 |