Skip to end of metadata
Go to start of metadata

Titanium SDK 9.0.0.RC - 18 February 2020

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-18) from 9.0.0's release date. See  Axway Appcelerator Deprecation Policy  and  Nominal Lifetimes  documents for details.

Icon

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.

Icon

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 and TIMOB-27255 for more information.

Icon

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.

Community Credits

  • Sergey Volkov

    • [ TIMOB-26662 ] - Android. TableViewRow bugs (19f532b)
    • add "repeatable" property on methods parameters (ea0da79)
    • 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

  • Giorgio Mandolini

  • Michael Gangolf

  • David Bankier

  • Mathias Lykkegaard Lorenzen

    • make event argument in fireEvent optional (0250df0)

Bug Fixes

Multiple platforms

  • [ TIMOB-20141 ] - Global scope variables can be shared with CommonJS modules
  • [ TIMOB-27522 ] - WebView: onlink and beforeload are not consistent across platforms
  • [ TIMOB-27632 ] - API: Review uncaughtException event property parity

Android platform

  • [ TIMOB-13286 ] - Android: ScrollView: SingleTap event does not get fired.
  • [ TIMOB-26662 ] - Android. TableViewRow bugs
  • [ TIMOB-27325 ] - Android: Adding <uses-library/> within "tiapp.xml" file's <manifest/> block creates invalid entry in "AndroidManifest.xml"
  • [ TIMOB-27406 ] - Android: Cannot select content from downloads ( c2d89d4 )
  • [ TIMOB-27420 ] - Android: ImageView.toImage() does not return the correct Ti.Blob
  • [ TIMOB-27496 ] - do not modify original ListView proxy (e75b514)
  • [ TIMOB-27527 ] - Android: Typing into console in Chrome DevTools cause crash
  • [ TIMOB-27530 ] - Android: UI glitches out when using 'applyProperties' with Scroll View Touch Listeners
  • [ TIMOB-27602 ] - softRestart() must account for snapshots (62a603d)
  • [ TIMOB-27606 ] - amend load app info order (38ea44b)
  • [ TIMOB-27627 ] - Android: Prevent snapshot failure from breaking build
  • [ TIMOB-27633 ] - Android: Additional parameters in require cause app to crash ( 612afd7 )
  • [ TIMOB-27684 ] - Android: Cold-start launch animation may occur twice ( 135e3dc )
  • [ TIMOB-27705 ] - Android: Can't set versionCode via AndroidManifest.xml as of 9.0.0
  • [ TIMOB-27706 ] - Android: Native modules having uppercase "name" are excluded from build on case-sensitive systems ( 8a906c7 )
  • [ TIMOB-27720 ] - Android: Error building SDK if python 3 is installed
  • [ TIMOB-27723 ] - Android: Build fails and emulator does not launch
  • [ TIMOB-27739 ] - Android: Location permissions not auto-added when using Ti.Geolocation API as of 9.0.0
  • [ TIMOB-27746 ] - Android: Apps built with 9.0.0 can't upload to Firebase App Distribution when including certain modules ( 476ac79 )
  • Android: Old "ti.playservices" modules crash in 9.0.0 when calling makeGooglePlayServicesAvailable() ( c194ecf )
  • [ TIMOB-27750 ] - Android: CLI fails to recognize avd emulator is booted when it starts it
  • add extension to encrypted assets (bf8a6bf)
  • avoid infinite recursion in tab/tabgroup toJSON() (7280fcc)
  • avoid recursion, properties beginning with _ in toJSON() (f5b6561)
  • can't set versionCode in manifest as of 9.0.0 (a69f6b6)
  • 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)
  • prevent snapshots from failing build (40bd1d9)
  • remove deprecated contacts methods (7e0a46a) (7caecb8)
  • specify default inspector context (c29960d)
  • use correct blob for toImage() (f07e012)

iOS platform

  • [ TIMOB-7311 ] - iOS: Change Ti.Network.BonjourService/BonjourBrowser to take a Ti.Network.Socket.TCP object
  • [ TIMOB-27076 ] - iOS: App freezes after calling Ti.Network.BonjourService.publish method
  • [ TIMOB-27106 ] - iOS: MusicLibrary compilation error in 8.0.1.GA
  • [ TIMOB-27159 ] - iOS: Ti.UI.WebView cannot load html files from cache (dd7b319)
  • [ TIMOB-27350 ] - iOS: httpClient returning image response as undefined. (c95ddb3)
  • [ TIMOB-27441 ] - iOS: App should not log Ti.App events
  • [ TIMOB-27460 ] - iOS: tintColor not working for TabbedBar/ButtonBar on iOS 13
  • [ TIMOB-27462 ] - iOS - NavBar properties not working anymore after 8.2.0.GA
  • [ TIMOB-27480 ] - setting last index of tabbedBar after initialization not work (5fbe782)
  • [ TIMOB-27484 ] - update to core-js 3 (ffa4cef)
  • [ TIMOB-27528 ] - iOS: uncaught exceptions in event listeners don't show error modal
  • [ TIMOB-27630 ] - iOS: Use correct babel-preset-env target (c4a998a)
  • [ TIMOB-27647 ] - iOS: Cannot read property 'sort' of undefined when building using Xcode 11.3
  • [ TIMOB-27648 ] - iOS: Cannot build a project to iOS device with latest master build
  • [ TIMOB-27756 ] - watchOS: Including watchOS framework causing build error
  • Abnormal behaviour in <=iOS 10 versions with >=8.1.0.GA SDK - behaviour of toString function of TiBlob fixed (e63b30e)
  • iOS: Abnormal behaviour in iOS 13 while playing video in fullscreen (6a5664b)
  • iOS: “don’t allow” in push notification dialog triggering success callback (e835456)
  • added proper condition to import MediaPlayer (3943012)
  • 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)
  • tintColor not working for TabbedBar in iOS 13 (ec6fbf6)
  • when firing events to new proxies, fill in type/source (e56abfc)

Features

Multiple platforms

  • [ TIMOB-27688 ] - TiAPI: Clean up apidocs to use common types
  • [ TIMOB-27740 ] - TiAPI: Extend removal of deprecated get/set property methods from 9.0.0 to 10.0.0
  • [ TIMOB-27631 ] - Optimize png files
  • [ TIMOB-27639 ] - Documentation for events' properties
  • [ TIMOB-27167 ] - CLI: Move Alloy optimizations into core SDK build (c21f77c)

Android platform

  • [ TIMOB-27685 TIMOB-27298 TIMOB-27297 ] - update hyperloop for gradle (13f78c4)
  • [ TIMOB-24517 ] - Android: Add APK signature scheme v2 support
  • [ TIMOB-25896 ] - Android: Add Kotlin language support for modules
  • [ TIMOB-26434 ] - Android: Support building "app bundles" ( 5d93fea )
  • [ TIMOB-27696 ] - Android: Add "gradle.properties" support to app builds
  • [ TIMOB-19300 ] - Android: Change to use Gradle instead of Ant for build
  • [ TIMOB-27178 ] - Android: Update V8 runtime to 7.8 (9006b4d)
  • [ TIMOB-27687 ] - Android: Update V8 runtime to 7.9
  • [ TIMOB-27242 ] - Android: Remove getter and setter warnings
  • [ TIMOB-27297 ] - Android: Allow Hyperloop to access Titanium's core Java classes
  • [ TIMOB-27298 ] - Android: Hyperloop should allow access to a Java inner class within an inner class
  • [ TIMOB-27472 ] - Android: Add Java 8 support (5ce5e72)
  • [ TIMOB-27487 ] - Android: Build x86_64 module libraries
  • [ TIMOB-27718 ] - Android: Log build warnings if "res" files have invalid names (e7df669)
  • [ TIMOB-27724 ] - Android: Build "ti.map" module with gradle
  • [ TIMOB-27725 ] - Android: Build "ti.facebook" module with gradle
  • [ TIMOB-27726 ] - Android: Build "ti.identity" module with gradle
  • [ TIMOB-27727 ] - Android: Build "appcelerator.encrypteddatabase" module with gradle
  • [ TIMOB-27728 ] - Android: Build "cloudpush" module with gradle
  • [ TIMOB-27729 ] - Android: Build "ti.playservices" module with gradle
  • [ TIMOB-27730 ] - Android: Build "ti.webdialog" module with gradle
  • [ TIMOB-27737 ] - Android: Build "analytics" module with gradle
  • Android: Update "titanium-verify" for SDK 9.0.0 (e812d00)
  • [ TIMOB-27685 ] - Android: Update hyperloop module to support gradle dependencies
  • [ TIMOB-27686 ] - Android: Auto-download build system dependencies via gradle (57a6b49)
  • [ TIMOB-27752 ] - Android: Exclude x86 and x86_64 architectures in "production" builds by default
  • [ TIMOB-25240 ] - Android: Improve incremental build times
  • [ TIMOB-25726 ] - Android: Ensure device's installed Google Play Services is available/updated on app startup
  • [ TIMOB-25889 ] - Android: Emulator builds should not add additional permissions
  • [ TIMOB-26472 ] - Android: Replace support libraries with AndroidX (0558c28)

iOS platform

  • [ TIMOB-25847 ] - iOS: Accessibility support for Dynamic Type ( 8045620 )
  • [ TIMOB-25032 ] - iOS: Resolve asset-catalog hashes back to real names, fail build when detecting duplicates
  • [ TIMOB-26837 ] - iOS: "extendSafeArea" false should not allow status bar to overlap content on iOS 10 and older

BREAKING CHANGES

Multiple platforms

  • [ TIMOB-27605 ] - Drop support for Node 8, Make Node.JS 10.13 new minimum ( f35cf0e )
  • [ TIMOB-27650 ] - Remove deprecated modules from SDK distribution (ti.touchid and ti.safaridialog)
  • [ TIMOB-25578 ] - Remove deprecated Geolocation values, only use new ones (3d32e33)

Android platform

  • [ TIMOB-26201 ] - Removed Ti.Contacts requestAuthorization method (in favor of requestContactsPermissions)
  • [ TIMOB-26201 ] - Removed Ti.Contacts getPersonByID method (in favor of getPersonByIdentifier)
  • [ TIMOB-26201 ] - Removed the create, destroy, pause, restart, resume, start, and stop events on Ti.Android.Activity (use callback properties) (0221467)
  • [ TIMOB-27618 ] - Removed Ti.UI.WebView.onStopBlacklistedUrl event. Please use blacklisturl event instead (85b32d8)
  • [ TIMOB-26201 ] - Removed deprecated Ti.UI.Window.android:* events (f01055c)
  • [ TIMOB-26201 ] - Removed deprecated webview error event properties: errorCode and message (5144ac9)
  • [ TIMOB-26201 ] - Removed deprecated tcp error callback errorCode property (7e405aa)
  • [ TIMOB-26201 ] - Removed deprecated stream callback properties (4b48db8)
  • [ TIMOB-26201 ] - Removed the LINKIFY_* constants living in Android namespace (7c88912)
  • [ TIMOB-27758 ] - Android: Modules with AARs in "lib" directory should trigger a build failure in 9.0.0

iOS platform

  • [ TIMOB-27497 ] - Remove support of Xcode 8 (d5ede39)
  • [ TIMOB-27641 ] - Drop support for iOS 9
  • [ TIMOB-26201 ] - Removed Ti.UI.TextField paddingLeft and paddingRight properties (in favor of padding.left and padding.right)
  • [ TIMOB-26201 ] - Removed Ti.Media requestAudioPermissions method (in favor of requestAudioRecorderPermissions)
  • [ TIMOB-26201 ] - Removed Ti.Media requestAuthorization and requestCameraAccess methods (in favor of requestAudioRecorderPermissions and requestCameraPermissions)
  • [ TIMOB-26201 ] - Removed Ti.Contacts requestAuthorization method (in favor of requestContactsPermissions)
  • [ TIMOB-26201 ] - Removed Ti.Contacts getGroupByID and getPersonByID methods (in favor of getGroupByIdentifier and getPersonByIdentifier)
  • [ TIMOB-26201 ] - Removed Ti.UI.Tab blur/focus events in favor of selected/unselected
  • [ TIMOB-26201 ] - Removed Ti.UI.TabGroup selected/unselected events in favor of focus/blur
  • [ TIMOB-26201 ] - Removed the BLEND_MODE_* constants on Ti.UI.iOS namespace (use constants on Ti.UI namespace) (3c2a0ec)
  • [ TIMOB-26201 ] - Removed Ti.UI.TextArea, Ti.UI.TextField appearance property (in favor of keyboardAppearance)
  • [ TIMOB-26201 ] - Removed deprecated Ti.Media.cameraAuthorizationStatus property (cbf994e)
  • [ TIMOB-26201 ] - Removed deprecated ipad popover properties: height, width, leftNavButton and rightNavButton (14cd341)
  • [ TIMOB-26201 ] - Removed deprecated tcp error callback errorCode property (6f4814d)
  • [ TIMOB-26201 ] - Removed deprecated stream callback properties (f4de7a9)
  • [ TIMOB-27619 ] - Remove Ti.Network.createTCPSocket, use Ti.Network.Socket.TCP in it's place. ( 9647181 )
  • [ TIMOB-27619TIMOB-27076 ] - Ti.Network.BonjourService methods have become asynchronous. Use optional callback arguments or event listeners to react to results.
  • [ TIMOB-26201 ] -Removed the updateLayout(), startLayout() and finishLayout() methods on Ti.UI.View (54e2eeb)

Known Issues

Android

  • [ TISTUD-9204 ] - Android: Module packaging disabled in Studio for module created with SDK supporting gradle
    • For now, Android modules can be packaged from the command line using appc run -p android from the android folder of your module

SDK modules versions

Android and iOS

ModuleAndroid versioniOS version
facebook9.0.07.0.1
ti.cloudpush7.0.0n/a
ti.map5.0.13.3.0
ti.webdialog2.0.01.1.0
ti.playservices17.1.1n/a
ti.identity3.0.11.1.0
urlSessionn/a2.2.0
ti.coremotionn/a2.0.1
ti.applesigninn/a1.1.1

CommonJS

ti.cloud3.2.11
ModuleVersion

Hyperloop

hyperloop5.0.0
ModuleVersion

 

  • No labels