Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Titanium SDK 8.1.0.GA - 13 August 2019

About this release

Titanium SDK 8.1.0 is a minor release of the SDK, addressing high-priority issues from previous releases.

As of this release, Titanium SDK 8.0.x will not receive updates more than six months after the release of 8.1.0 (current) (2020-02-13). Any needed fixes will be in 8.1.x or later supported releases within the 8.x branch. 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.js 10.13.0 will be the new minimum supported version with SDK 9.0.0.

New features

Android platform

  • TIMOB-4041 - Android: Add "separatorStyle" property to Ti.UI.ListView
    • Added support for ListView.separatorStyle
    • ListView.separatorStyle  Expand source
  • TIMOB-14460 - Android: Add Ti.Platform.canOpenURL() support
    • Added support for Ti.Platform.canOpenURL()
  • TIMOB-26793 - Android: Hide radio buttons OptionDialog
    • Added support to use OptionDialog without radio buttons

    • OptionDialog  Expand source

iOS platform

  • TIMOB-18421 - iOS: Add animation properties "springVelocity" and "dampingRatio"
    • Added dampingRatio and springVelocity to allow iOS spring animations
  • TIMOB-26523 - iOS 11+: Support large title style (dynamic fonts)
    • Added support for dynamic fonts in UIFontTextStyleLargeTitle
    • UIFontTextStyleLargeTitle  Expand source
  • TIMOB-26599 - iOS: Add "allowTranscoding" option to Ti.Media.openPhotoGallery()
    • Added option to disable video compression when importing video
  • TIMOB-26973 - iOS: Add accessibilityIdentifier
    • Added accessibilityIdentifier which can compose views on iOS the same way content description is composed on Android
  • TIMOB-27124 - iOS 13: Support running on Xcode 11 Simulators
    • Added support for Xcode 11

Windows platform

  • TIMOB-25778 - Windows: Implement Ti.UI.Label.ellipsize
    • Implemented Ti.UI.Label.ellipsize
    • TEXT_ELLIPSIZE_TRUNCATE_STARTTEXT_ELLIPSIZE_TRUNCATE_MIDDLE, and TEXT_ELLIPSIZE_TRUNCATE_MARQUEE are not supported on Windows because platform component doesn't support them

Multiple platforms

  • TIMOB-26571 - TiAPI: Global process object compatible with Node.js
    • Expanded the global process object to be more compatible with Node.js
  • TIMOB-26669 - TiAPI: Create Node-compatible assert module API
    • Added Node.js-compatible asset module API
  • TIMOB-26670 - TiAPI: Create Node-compatible util module API
    • Added Node.js-compatible util module API
    • This API does not include every method of util.types, nor does it include util.extends(), util.isDeepStrictEqual(), or util.inspect
    • Currently supports depth, showHidden, and to some degree breakLength
  • TIMOB-27150 - Add ability to alias required modules in Titanium
    •  Added ability to alias required modules

Community credits

Fixed issues

Android

  • TIMOB-24415 - Android: Listview not able to add accessibility label in the ListItem components
  • TIMOB-24881 - Android: Label ellipsize modes START and MIDDLE don't work if "autoLink" is true
  • TIMOB-26456 - Android: Optimize TiBlob.imageAsResized
  • TIMOB-26650 - Android: Using toImage on views with border properties not added to UI results in empty blob
  • TIMOB-26841 - Android: Reading TextField "backgroundDisabledColor" will crash if background/border color is assigned
  • TIMOB-26862 - Android: TextField/TextArea within a TableView can have performance issues with some keyboards
  • TIMOB-26869 - CLI: Android build fails with cannot find module error
  • TIMOB-26878 - Android: Ti.Database.install() fails if destination directory does not exist
  • TIMOB-26954 - Android: Reading a JSON file fails on Android Q
  • TIMOB-26993 - Android: WebView sometimes crashes on window close after zooming content
  • TIMOB-27087 - Android: ShortcutItem not being updated based on "id"
  • TIMOB-27094 - Android: ListView's SearchBar/SearchView wrongly overlaps rows as of 8.0.1
  • TIMOB-27100 - Android: TabGroup labels not displayed anymore (SDK 8.1.0+)
  • TIMOB-27153 - Android: Prevent multiple exception logs
  • TIMOB-27188 - Android: TabGroup crashes if tab "title" property is not set as of 8.0.2
  • TIMOB-27232 - Android: Setting Window "barColor" while using a theme without an ActionBar/TitleBar will cause a crash as of 8.1.0
  • TIMOB-27269 - Android: Do not retry sending events if no connectivity
  • TIMOB-27300 - Android: AssetCryptImpl buffer overflow for large JS assets
  • TIMOB-27314 - Android: Unable to build to device on Windows

iOS

  • TIMOB-26795 - iOS: Event listener on overlay is not working for camera when camera is kept idle for a few minutes
  • TIMOB-26829 - iOS: Titanium.Media.openMusicLibrary returns empty items on iOS 9.3.5
  • TIMOB-26833 - iOS: Two startup log messages are output
  • TIMOB-26838 - iOS: the openWindow() method of NavigationWindow does not work when called from base window open event
  • TIMOB-26854 - iOS: Crash when handling user-activities
  • TIMOB-26885 - iOS: Crash when trying to push a window twice (e.g. on slow devices)
  • TIMOB-26946 - iOS: Launch screen shows last screen when quickly relaunching the app
  • TIMOB-27049 - iOS: Simulator can crash because of the "trackUserInteraction" feature
  • TIMOB-27074 - IOS: Rebuilding the app with simulator fails with due to log port being occupied
  • TIMOB-27082 - iOS: Modules using TiBlob and built before SDK 8.1 causing app crash
  • TIMOB-27089 - iOS: App crashes when asking for location permissions (SDK 8.1.0+)
  • TIMOB-27090 - iOS: Using a non-string value in alert() causes app to crash in SDK 8.0.0+
  • TIMOB-27098 - iOS: debugger does not show all app files loaded
  • TIMOB-27103 - iOS: Native extensions without sources are crashing build
  • TIMOB-27155 - iOS: Incremental builds broken
  • TIMOB-27175 - iOS: Ti.Platform.id changes when updating to SDK 8.0.0
  • TIMOB-27202 - IOS:Rebuilding app on device throws Couldn't find module error
  • TIMOB-27203 - iOS: no apiversion validation performed on application build
  • TIMOB-27210 - iOS: Cannot find iOS 13 simulators in Xcode 11 Beta 3
  • TIMOB-27230 - iOS: CLI prefers Xcode 11/iOS 13 even though Xcode 10.2.1 is selected
  • TIMOB-27270 - iOS: Allow capture of signal exceptions
  • TIMOB-27277 - iOS: Invalid analytics platform
  • TIMOB-27278 - iOS: App crashes upon giving permission to Calendar
  • TIMOB-27313 - IOS:Regression-Console.log does not concatenate and log if it has multiple arguments with space

Windows

  • TIMOB-24418 - Windows Phone: OptionDialog undefined error
  • TIMOB-24423 - Windows Phone: TableViewRow and Label layout not respected
  • TIMOB-24443 - Windows Phone: Progressbar not respect width and not resize
  • TIMOB-25134 - Windows: Mocha test Titanium.UI.TextField padding test failure
  • TIMOB-26550 - Windows: Add support for file property to HTTPClient
  • TIMOB-26664 - Windows: Ti.Geolocation.lastGeolocation should return string
  • TIMOB-26689 - Windows: Wrong height for TableViewRow with Label
  • TIMOB-26690 - Windows: TabGroup does not fire open/close events
  • TIMOB-26791 - Windows: Ti.UI.View reports top/left/bottom/right values as Strings always
  • TIMOB-26797 - Windows: removeEventListener removes wrong callback
  • TIMOB-26969 - Windows: Codec encodeNumber/decodeNumber should throw Error on invalid setup
  • TIMOB-27257 - [Windows] Error is shown when packaging a windows module

Multiple platforms

  • TIMOB-27204 - CLI: apiversion validation always fails for native modules installed via npm

Improvements

Android

  • TIMOB-26686 - Android: Allow Ti.Network.HTTPClient "file" parameter to be set to Ti.Filesystem.File object like iOS
    • Parity for File object support
  • TIMOB-26817 - Android: Add parity for Window's barColor property.
    • Parity for barColor property of Ti.UI.Window
  • TIMOB-26848 - Android: Re-add "baseURL" support to WebView.setHtml() that was removed in 6.0.3
    • Re-implemented baseURL to support WebView.setHtml
  • TIMOB-26877 - Android: Ti.Database.install() should throw exception like iOS if source db file not found
    • Modified Ti.Database.install() to throw an exception if given source database file was not found
  • TIMOB-26909 - Android: Improve V8 cold start performance
    • Updated V8 to 7.3.492.26 which provides performance updates
  • TIMOB-26957 - Android: Update V8 runtime to 7.3.492.26
    • Updated V8 to 7.3.492.26 which provides performance updates
  • TIMOB-27042 - Android: Update ti.playservices to 16.1.3
    • Updated ti.playservices to version 16.1.3
  • TIMOB-27111 - Android: Implement async Ti.Database.DB methods
    • Implement asynchronous Ti.Database.DB methods for executing SQL queries
      • Ti.Database.DB.executeAsync(query, parameters[], callback)
      • Ti.Database.DB.executeAllAsync(queries[], callback)
    • Implement method for executing multiple queries in one request

iOS

  • TIMOB-26509 - iOS: Allow Ti.UI.SearchBar to be displayed in navigation-bar
    • Added support to show search bar navigation for TiUIListView and TiUITableView
  • TIMOB-26770 - iOS: Use Swift 5 by default
    • Added support for Swift 5
  • TIMOB-27043 - Cache JS processing between builds
    • Improved incremental app build times
  • TIMOB-27047 - iOS: Version of SDKs default modules are not up to date
    • Updated the following modules
      • urlSession from 2.1.0 to 2.2.0
      • ti.map from 3.1.0 to 3.1.2
      • ti.safaridialog from 1.1.1 to 3.1.0
      • ti.identity from 1.0.5 to 1.0.6
  • TIMOB-27164 - iOS: Implement async Ti.Database.DB methods
    • Implement asynchronous Ti.Database.DB methods for executing SQL queries
      • Ti.Database.DB.executeAsync(query, parameters[], callback)
      • Ti.Database.DB.executeAllAsync(queries[], callback)
    • Implement method for executing multiple queries in one request

Windows

  • TIMOB-19965 - Windows: Implement WebView.data
    • Implemented WebView.data
    • WebView.data  Expand source
  • TIMOB-26575 - Windows: Support async variants of Ti.Network.TCP #read and #write
    • Parity for async variants of Ti.Network.TCP
  • TIMOB-26855 - Windows: Add "baseURL" support to WebView.setHtml()
    • Re-implemented baseURL to support WebView.setHtml
  • TIMOB-26961 - Windows: Save HttpClient instance until callback is fired
    • The httpClient instance is saved until onerror or onloadcallback is called
    •  Expand source

Multiple platforms

  • TIMOB-26574 - TiAPI: Implement set/clearImmediate

    • Implemented process.nextTick() and the global setImmediate/clearImmediate
  • TIMOB-26729 - TiAPI: Ship baseline polyfills in built SDK
    • This update injects the core-js/regenerator polyfills into the bundle common JS SDK code we ship when we build
  • TIMOB-27045 - Pass along ENV variables to process.env on development builds
    • Write env.json file with ENV variables
  • TIMOB-27182 - Update Hyperloop to 4.0.3
    • Android: Debugging in Hyperloop enabled projects
    • iOS: Debugging in Hyperloop enabled projects
    • iOS: Correctly require minimum SDK 8.0.0

API changes

New APIs

The following APIs are new or have expanded platform support in release 8.1.0.

APITypeNotes
Titanium.Database.DB.executeAllmethod

Synchronously executes an array of SQL statements against the database and returns an array of ResultSet.On failure, this will throw an Error that reports the failed index and partial results(New API, supported on Android.)

Titanium.Database.DB.executeAllAsyncmethod

Asynchronously executes an array of SQL statements against the database and fires a callback with a possible Error, and an array of ResultSet.On failure, this will call the callback with an Error that reports the failed index, and a second arguemnt with the partial results(New API, supported on Android.)

Titanium.Database.DB.executeAsyncmethod

Asynchronously executes an SQL statement against the database and fires a callback with a possible Error argument, and a second argument holding a possible ResultSet.(New API, supported on Android.)

Titanium.Platform.canOpenURLmethod

Returns whether the system is configured with a default application to handle the URL's protocol/scheme.(Added support for Android.)

Titanium.UI.Animation.dampingRatioproperty

The damping ratio for the spring animation as it approaches its quiescent state.(New API, supported on iPhone and iPad.)

Titanium.UI.Animation.getDampingRatiomethod

Access Titanium.UI.Animation.dampingRatio instead.

Titanium.UI.Animation.getSpringVelocitymethod

Access Titanium.UI.Animation.springVelocity instead.

Titanium.UI.Animation.setDampingRatiomethod

Set the value using Titanium.UI.Animation.dampingRatio instead.

Titanium.UI.Animation.setSpringVelocitymethod

Set the value using Titanium.UI.Animation.springVelocity instead.

Titanium.UI.Animation.springVelocityproperty

The initial spring velocity. (New API, supported on iPhone and iPad.)

Titanium.UI.ListView.getSeparatorStylemethod

Access Titanium.UI.ListView.separatorStyle instead.

Titanium.UI.ListView.getShowSearchBarInNavBarmethod

Access Titanium.UI.ListView.showSearchBarInNavBar instead.

Titanium.UI.ListView.separatorStyleproperty

Separator style constant. (Added support for Android.)

Titanium.UI.ListView.setSeparatorStylemethod

Set the value using Titanium.UI.ListView.separatorStyle instead.

Titanium.UI.ListView.setShowSearchBarInNavBarmethod

Set the value using Titanium.UI.ListView.showSearchBarInNavBar instead.

Titanium.UI.ListView.showSearchBarInNavBarproperty

A Boolean indicating whether search bar will be in navigation bar. (New API, supported on iPhone and iPad.)

Titanium.UI.TEXT_STYLE_LARGE_TITLEproperty

Specifies the text style for the Font Object. (New API, supported on iPhone and iPad.)

Titanium.UI.TableView.getShowSearchBarInNavBarmethod

Access Titanium.UI.TableView.showSearchBarInNavBar instead.

Titanium.UI.TableView.setShowSearchBarInNavBarmethod

Set the value using Titanium.UI.TableView.showSearchBarInNavBar instead.

Titanium.UI.TableView.showSearchBarInNavBarproperty

A Boolean indicating whether search bar will be in navigation bar. (New API, supported on iPhone and iPad.)

Titanium.UI.WebView.setHtmlmethod

Sets the value of html property. (Added support for Android.)

Titanium.UI.Window.getHidesSearchBarWhenScrollingmethod

Access Titanium.UI.Window.hidesSearchBarWhenScrolling instead.

Titanium.UI.Window.hidesSearchBarWhenScrollingproperty

A Boolean value indicating whether the integrated search bar is hidden when scrolling any underlying content. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.setHidesSearchBarWhenScrollingmethod

Set the value using Titanium.UI.Window.hidesSearchBarWhenScrolling instead.

Android and iOSSDK modules versions

ModuleAndroid versioniOS version
urlSessionn/a2.2.0
facebook8.0.06.0.0
ti_coremotionn/a2.0.1
ti_map4.3.13.1.2
ti_safaridialogn/a1.1.1
ti_webdialog1.1.01.1.0
ti_touchid3.0.12.1.4
ti_identity2.1.01.0.6
ti_cloudpush6.0.1n/a
ti_playservices16.1.3n/a

CommonJS

ModuleVersion
ti.cloud3.2.11

Hyperloop

ModuleVersion
Hyperloop4.0.3
  • No labels