Skip to end of metadata
Go to start of metadata

Titanium SDK 6.0.0.RC - 1 November 2016

Titanium SDK 6.0.0.RC is a major release that includes new features, improvements and bug fixes.

Notice of feature and behavior changes

SDK 6.0.0.RC brings a few behavior changes that includes changes to Xcode and Node support, Studio Debugger, and our logging system. For more details, please visit Titanium SDK 6.0.0 Changes.

  • Titanium 6.0.0 only supports Xcode 8 (which supports Swift 2.3+, watchOS 2 and 3, and iOS 8+)
  • Node 4.2.0 is now a minimum requirement and Node 4.6.x is maximum version supported
  • Apps using Hyperloop can use Studio Debugger. On iOS, you will need to turn on <user-jscore-framework>true</use-jscore-framework>. Also, you can use Safari to debug your app. 
    • This only works using appc cli 6.0.0-61.between
    • Entering appc config set lastUpdateCheckTiDownloads null before appc run will trigger modules download

NodeJS support

This release implemented full NodeJS support so users can use NPM modules for Android and iOS platforms (TIMOB-16078). This implementation includes  the NodeJS require algorithm with some minor differences:

  • SDK doesn't attempt to load *.node files
  • SDK doesn't have replacements for Node's core modules
  • If the require string doesn't have the prefix of .//, or ../, and its not a native module, the SDK will fall back to legacy Titanium behavior of assuming the require is meant as "absolute" inside the app (as in starting at "Resources/")
  • The SDK will load JSON files and directories (package.json's main property (look at it, resolve it, and try to load it), index.js, and index.json)

To summarize the algorithm the SDK uses:

Require(X) from module at path Y:

  1. If X is a core module,
    1. return the core module
    2. STOP
  2. If X begins with ./, or ../,
    1. LOAD_AS_FILE(Y + X)
    2. LOAD_AS_DIRECTORY(Y + X)
  3. If X begins with /,
    1. LOAD_AS_FILE(X)
    2. LOAD_AS_DIRECTORY(X)
  4. If X does not contain '/', assume it should try and load CommonJS module first....
    1. LOAD_AS_FILE(X/X.js): try to load "legacy" CommonJS file named module.id/module.id.js.
    2. LOAD_AS_DIRECTORY(X): try to load CommonJS module as a directory
  5. WARN user about possible bad require being treated as absolute THROW "not found"
    1. LOAD_AS_FILE(X) 
    2. LOAD_AS_DIRECTORY(X)

LOAD_AS_FILE(X):

  1. If X is a file, load X as JavaScript text or JavaScript Object (JSON). STOP 
  2. If X.js is a file, load X.js as JavaScript text. STOP 
  3. If X.json is a file, parse X.json to a JavaScript Object. STOP 

LOAD_AS_DIRECTORY(X):

  1. If X/package.json is a file, If X/index.js is a file, load X/index.js as JavaScript text. STOP 
    1. Parse X/package.json and look for "main" field. 
    2. let M = X + (json main field) 
    3. LOAD_AS_FILE(M) 
  2. If X/index.json is a file, parse X/index.json to a JavaScript object. STOP

Logging system and TCP ports

The new logging system uses a TCP port (TIMOB-23786). The port number is ALWAYS determined at build time, never at run time. This means that if you build two different Titanium apps, they cannot use the same port at the same time. There are a couple ways the tooling works to overcome this.

  • For both simulator and device builds, the iOS build will auto-select a port between 10000 and 60000 based on the app id. For example, the app id com.appcelerator.testapp3269 will generate the port 10416. The primary reason we do this is attempt to avoid the same port being used by different apps. The other reason we do this so we don't have a different port each build and crippling differential builds. A nice side-effect is the new logging system allows multiple simultaneous clients as well as reconnects and having a consistent port is convenient.

  • It is important to note that because we are auto-selecting a port number based on the app id, the probability of a collision is extremely high. com.appcelerator.testapp17 and com.appcelerator.testapp8249 both resolve to port 19024. This is where <log-server-port> comes in handy. You may specify a <log-server-port>XXXXX</log-server-port> in the <ios> section of the tiapp.xml and it will always be used first. Also note that the port number must be an integer between 1 and 65535 and probably should be greater than 1024 to avoid binding to a privileged port. The port number should be unique per project. You only need to use this if the auto-selected port number is causing collisions with other apps. This is really only a problem when working with multiple projects at the same time.

  • If there is a collision where two different apps are being built AND running at the same time with the same port, the first app to launch will get the port. The second app will try to bind to it, but it will fail. It is very important to note that whichever app launches 2nd will fail to bind to the port, however the 2nd app will still continue to run normally, just without logs. For simulator builds, you can open the simulator's system.log, or for device builds, use the macOS Sierra Console application at any time to view the log messages.

  • The biggest issue to be aware of is the 2nd app's iOS build will end up connecting to the 1st app's log server. There is currently no way for the iOS build to know which log server for which app it has connected to. In the future we may introduce a more proper protocol to handle this.

  • For simulator builds only, the port is shared with the local machine. For example, you could use port 27017 for device builds, but you can't for simulator builds if you have MongoDB installed. So, if there is no <log-server-port>, or there is, but it's not available, or the app id-based port is not available, then the iOS build will fallback to a random port number that will certainly change every build.

  • It's also worth noting that for simulator builds only, the iOS build will start up a Node.js server on the selected port to make sure it's available. If it isn't, it will randomly test ports until it finds an available port. To be clear, device builds do not have this limitation.

  • The client in the iOS build that connects to the app will always connect after the app has started. This means it's possible for several messages to have already been logged. Because of this, Titanium will queue the last 100 log messages only while there are no client connections. As soon as the iOS build connects to the log server, the queue is flushed and released. This shouldn't be a huge deal since the client tries to connect every 250ms.

  • Finally, logging is only enabled for simulator and device builds. It is NOT enabled for app store or adhoc builds. You can enable it by hacking the build system or via a CLI plugin.

Removal of Ti.include

Ti.include has been deprecated since version 3.3.0. With the release of 6.0.0, we have completely removed it (TIMOB-23185). For those who are still using it, we urge you to replace usage with the necessary require() calls. If you did not migrate until now, please follow this guide to do so.

As a last resort, consider using this workaround:

Ti.include workaround

SDK 6.0.0 and Studio 4.8.0

Recommendation: If you upgraded SDK to version 6.0.0, we strongly urge you to upgrade Studio to version 4.8.0 to avoid any backwards compatibility issues.

Android platform

For this release of Titanium SDK, V8 has been updated to the latest LTS release (TIMOB-19790).
If you have Android titanium modules, you have to rebuild them with this V8 in order for it to be supported on Titanium SDK 6.0.0.

You will need to update the android/manifest by:

  1. Bump apiversion from 2 to 3.
  2. Remove "armeabi" ABI from listing (keep "armeabi-v7a").
  3. Bump their module version (typically bump the major number since this is a backwards-incompatible change).
  4. Update minsdk to 6.0.0,
  5. Then rebuild the module. 

Our community member Tim Poulsen also did a blog-post about some tweaks he discovered, including a detailed upgrade guide.

Note, you may also need to edit the Java code to remove references to deprecate classes that have been removed in 6.0.0 (such as TiContext). 

TIMOB-19919 - Android: add ability to listen to androidback without overriding

  • Changed how the override of a default behavior for the back button on Android
  • This is a breaking change. Apps using this to override the back button need to update their code when using calls like this: win.addEventListener('androidback', onBack);

New features

Android platform

  • TIMOB-2122 - Android: Implement Video Recording
    • Implemented video recording

  • TIMOB-9403 - Android: Map - Add centerOffset property to Ti.Map.Annotation
    • Added centerOffset property to custom annotation so it can be set by an x & y offset to the image of the annotation
  • TIMOB-14382 - Enable Media.openPhotoGallery to select multiple media items instead of 1 at a time
    • Added the ability to select multiple media items with Media.openPhotoGallery
  • TIMOB-16512 - Android: Expose properties/methods for controlling internal padding in TextField (and possibly TextArea)
    • Added support for controlling internal padding in Ti.UI.TextField
  • TIMOB-19376 - Android: Fingerprint support
    • Added support for fingerprint authentication
  • TIMOB-23486 - Android: Add an option to handle AlertDialog box outside touch
    • Added canceledOnTouchOutside property which should only allow AlertDialogs to close when the cancel button is pressed

iOS platform

  • TIMOB-18927 - iOS: Calendar Event: Allow to fetch event Organiser and Invitees/Attendees details
    • Added support to fetch event Organizer and Invitees/Attendees details from Ti.Calendar.Event
  • TIMOB-20092 - iOS: Need ability to generate static image of map for the specified coordinates
    • Added feature that allows for generating a static image of a map for specific coordinates
    • Demo:

       Expand source
  • TIMOB-23442 - iOS: Dismiss keyboard on drag / interactively in ScrollView & ListView
    • Added the capability to dismiss the keyboard on drag or interactively
  • TIMOB-23567 - iOS: Close all navigation windows at once
    • Added the capability to close all current windows in a Ti.UI.iOS.NavigationWindow at the same time

    • Demo:

       Expand source
  • TIMOB-23675 - iOS9: Support preferred alert action
    • Added support to  define a preferred alert action inside Ti.UI.AlertDialog
    • Demo:

       Expand source
  • TIMOB-23691 - iOS: Expose status-bar background-color
    • Added support to change the global status bar background color
    • Demo:

       Expand source
  • TIMOB-23891 - iOS 10: Support iPhone 7 Haptic Engine API
    • Added support for iPhone 7's Haptic Engine API
    • Demo:

       Expand source

Windows platform

  • TIMOB-19926 - Windows: Support proximity sensor for Windows 10
    • Added support for proximity sensor for Windows 10
  • TIMOB-23156 - Windows: Automatically add required Capabilities to Manifest based on API usage
    • Capabilities are automatically generated for Titanium APIs
  • TIMOB-23557 - Windows: target win sdk attribute in timodule.xml
    • Added support to timodule.xml for Windows module to specify target Window SDK version attribute

Multiple platforms

  • TIMOB-20347 - appcd: Support for --config and --config-file options
    • Added support for --config and --config-file for start and restart commands
  • TIMOB-23230 - iOS,Android: An event for the camera has been opened successfully
    • Implemented an cameraReady event

Improvements

Android platform

  • TIMOB-18082 - Android: Enable --multi-dex for android builds
    • Implemented the use of --multi-dex argument to dexer during builds to avoid the 65k method limit during app builds
  • TIMOB-23423 - Android: Add rotation, rotationX, rotationY, scaleX, scaleY to view
    • Added the ability of rotation, rotation on X and Y, scale X, and scale Y to views
  • TIMOB-23612 - Android: Improve Ti.Android.requestPermissions() documentation
    • Improved documentation for Ti.Android.requestPermissions()
  • TIMOB-23860 - Android: Update Google Play services used by cloudpush module
    • Updated cloudpush module to use Google Play services 9.6.1

  • TIMOB-23872 - Enable android.mergeCustomAndroidManifest by default
    • Enabled custom AndroidManifest.xml to override the default one (but tiapp.xml still overrides everything)

iOS platform

  • TIMOB-19335 - iOS: ListView editActions specify better action
    • Improved ListView's editActions' identifier so it can be set to define the action as opposed to the title
    • Demo:

       Expand source

       

  • TIMOB-20083 - Remove watchos1 template and related code
    • watchos1 no longer supported
  • TIMOB-20409 - iOS: Add rest of stylus properties to 3D touch events
    • Added azimuthAngleInView and azimuthUnitVectorInView. These properties are available if using a stylus.
    • Demo:

       Expand source
  • TIMOB-23506 - Add event listener for applicationWillTerminate
    • Documented the applicationWillTerminate event listener

    • Demo:

       Expand source
  • TIMOB-23514 - iOS10: Deprecate iAds
    • Apple deprecated iAds in iOS 10, so we followed and deprecated the Ti.UI.iOSAdView in Titanium 6.
    • Demo: The following call will through a warning on Xcode 8 and later:

       Expand source
  • TIMOB-23538 - iOS: Refactor default new app-projects
    • Refreshed the default app templates with updated best practices (@3x icons, improved assets structure, ...) 
  • TIMOB-23566 - iOS: Support global tintColor
    • Added support for a global tint color that is used for alert dialogs, lists, button and all other UI-based elements.
    • Demo:

       Expand source
  • TIMOB-23584 - Add support for iOS 9 Text Style additions
    • Added support for additional styles to font.textStyle
    • Example:
       
  • TIMOB-23684 - iOS: Expose missing iOS8 properties to hide NavigationBar
    • Added support to hide NavigationBar in iOS8
    • Demo:

       Expand source
  • TIMOB-24007 - iOS: Selected color not available in Ti.UI.ListItem
    • The selectedColor property for iOS system ListItem templates is now supported

Windows platform

  • TIMOB-19962 - Windows: Implement Titanium.UI.TableView footerView/footerTitle
    • Implemented footerView and footerTitle on a TableView
  • TIMOB-23261 - Windows: Error when adding capabilities in wrong order
    • Incorrect order of capabilities no longer causes an error in the build process
  • TIMOB-23296 - Windows: Implement Ti.Locale.setLanguage
    • An app's language can now be set using Ti.Locale.setLanguage. When implementing this into your application, please take this documentation from Microsoft into account as setting a user's language may differ from what is expected due to the platforms behaviour.
  • TIMOB-23329 - Windows: Implement Ti.UI.TableView border properties
    • Implemented borderColor, borderWidth, borderRadius for Ti.UI.TableView
    • Sample:

       Expand source
  • TIMOB-23399 - Analytics: Implement networkType property for Windows platform
    • Ti.Network.networkTypeName now returns the correct value depending on the devices current network
  • TIMOB-23546 - Windows: Tap-to-focus for Camera
    • When using the front or rear camera with an overlay, the view can now be tapped to focus the camera
  • TIMOB-23573 - Windows: Support Ti.UI.ImageView.reverse
    • Ti.UI.ImageView now supports the reverse property
  • TIMOB-23637 - Windows: Titanium object creation takes too long
    • Improvemented performance optimization for TitaniumKit
  • TIMOB-23655 - Windows: Implement Ti.Geolocation.requestLocationPermissions/hasLocationPermissions methods to match iOS and Android behaviour
    • Implemented Ti.Geolocation.requestLocationPermissions and hasLocationPermissions methods for Windows
  • TIMOB-23656 - Windows: Implement Ti.Media.requestCameraPermissions/hasCameraPermissionsmethods to match iOS and Android behaviour
    • Implemented Ti.Media.requestCameraPermissions and hasCameraPermissions methods for Windows

  • TIMOB-23686 - Windows: Implement CameraOptionsType.whichCamera
    • Camera preview can be set to either the front or back. Setting an invalid option or no option will set the camera to the default of the device.
    • Sample:

       Expand source

Multiple platforms

  • TIMOB-23448 - SDK: Set Node 4.X as minimum supported version
    • Set the minimum supported version of Node to 4.X
  • TIMOB-23572 - iOS/Android: Add the ability to remove all Ti.App.Properties at once
    • Added the capability to remove all Ti.App.Properties at once
    • Demo:

       Expand source
  • TIMOB-23649 - Use per-platform moduleAPIVersions in the SDK manifest.json
    • Added the ability to specify module API version (a measure of binary compatibility) on a per-platform basis, rather than globally across platforms (e.g. iOS, Android, Windows)

  • TIMOB-23817 - CLI: Update upper limit for node version in vendorDependencies

    • Raised the upper limit of Node.js to V6

Community credits

Fixed issues

  • MOD-2257 - Android 6 : Appcelerator Geofence Module (version 1.1.4) and ti.map throwing error
  • MOD-2269 - Android: ti.admob 2.1.6 crashes
  • MOD-2272 - TouchId Module: isSupported() return TRUE even for iPhone4S and iPhone 5 which doesn't have finger print sensor
  • MOD-2280 - Facebook: fb.permissions leading to crash inconsistently on iOS
  • MOD-2310 - iOS: Update Facebook SDK in Ti.Facebook to fix FBSDKLoginManager issues
  • MOD-2286 - Ti.Facebook iOS: Sending Ti.Blob's in requestWithGraphPath throws mutating-error
  • MOD-2296 - iOS10: Ti.SafariDialog - tintColor on iOS 10 broken, new barColor property available
  • MOD-2300 - Ti.SafariDialog: tintColor does not work on iOS 9
  • MOD-2304 - Ti.admob: Android issues starting from Ti SDK 5.1
  • TIMOB-4865 - iOS: imageAsCropped rotates image
  • TIMOB-11188 - iOS: Debugger: breakpoints ignored if app is only primitive assignment statements
  • TIMOB-15765 - Android: TableView - JNI ERROR (app bug): local reference table overflow (max=512)
  • TIMOB-15976 - iOS: Turning the camera around using Ti.Media.switchCamera(Ti.Media.CAMERA_FRONT) causing camera to get stuck and refuse to snap a picture
  • TIMOB-16218 - iOS: Ti.UI.RefreshControl.beginRefreshing() does not work
  • TIMOB-19812 - Android: Arbitrary ListView template height
  • TIMOB-20181 - iOS: HTTPClient multipart/form-data produces bad content-type headers for individual parts
  • TIMOB-20278 - Android: java.lang.IllegalArgumentException when ti.map and ti.geofence modules were added
  • TIMOB-20279 - Android: Ti.Contacts.getAllPeople() crashes with overflow on Android < 6
  • TIMOB-20319 - iOS: Weird behavior after crop the image captured from camera
  • TIMOB-20415 - Android: HttpClient Basic Auth: Infinite loop with bad credentials
  • TIMOB-20490 - Android: Apps should be able to open/resume and respond to intents
  • TIMOB-20502 - Using Android shortcut to start new activity fails to detect Alloy
  • TIMOB-23138 - Parity: On Android require() tries current folder first
  • TIMOB-23164 - Windows: Unit test failed for View.animate for UWP 10 app
  • TIMOB-23225 - Windows: Ti.UI.SIZE is not working properly on Windows Phone on a container with child views.
  • TIMOB-23279 - Windows: Omit invalid devices from wptool detection
  • TIMOB-23297 - Calling Ti.App.getArguments() crashes app when launched via new App Shortcuts
  • TIMOB-23309 - Android: pdf and xls files with response headers (Content-Type →application/octet-stream) not opening with Ti sdk 5.0.0,5.1.1, 5.2.0
  • TIMOB-23333 - Android: Attempt to invoke virtual method 'void android.view.OrientationEventListener.disable()' on a null object reference Crash
  • TIMOB-23352 - Windows: ScrollView click event always has ScrollView as source, not the actual view clicked on
  • TIMOB-23381 - Parity: Titanium CommonJS modules require'd differently than NodeJS require spec
  • TIMOB-23382 - Parity: Cannot require directory as done in NodeJS
  • TIMOB-23383 - Parity: Titanium CommonJS modules cannot require relative files
  • TIMOB-23404 - Windows parity: App name is not sourced from app.xml in folders suffixed with ISO 3166-1 Alpha-2 code
  • TIMOB-23407 - Android: TableViewRow event listener postlayout is never called
  • TIMOB-23427 - Windows: Camera controls are not showing
  • TIMOB-23440 - Windows: Ti.Contacts permission methods need to renamed be to match iOS and Android
  • TIMOB-23459 - Android: Ti.Filesystem.getFile causes hard crash with null argument
  • TIMOB-23474 - Android: Ti.UI.AlertDialog.get/setTitleid() methods missing
  • TIMOB-23475 - Android: read-only properties with no setter are writable/delete-able
  • TIMOB-23476 - Android: constants are writable
  • TIMOB-23479 - Windows: Local webview does not show any images, or opens other files.
  • TIMOB-23484 - windowslib: don't hard error when detecting devices if Visual Studio is not installed
  • TIMOB-23492 - Windows: Parity issue with Ti.Geolocation.reverseGeocoder callback response
  • TIMOB-23498 - Windows: titleId/title should retain existing value if key not found
  • TIMOB-23499 - Android: Ti.UI.Label.wordWrap should default to true, but is undefined
  • TIMOB-23500 - Android: Ti.UI.Label.ellipsize should default to TruncateAt.END, but is undefined
  • TIMOB-23501 - iOS: Ti.UI.Label.ellipsize should default to false, but is undefined
  • TIMOB-23503 - Windows: WebView local script doesn't work for hyperlink
  • TIMOB-23512 - Windows: relative require() from sub-directory fails
  • TIMOB-23521 - Ti.Facebook - presentShareDialog does not open native app, only webview
  • TIMOB-23531 - Windows: Tab title color is not changed on selection
  • TIMOB-23543 - TiAPI: require implementation uses incorrect __filename values
  • TIMOB-23554 - Android: Ti.apiName should == 'Ti'
  • TIMOB-23559 - SDK no longer installed in uniquely named folder
  • TIMOB-23563 - Windows: 'possible EventEmitter memory leak detected' warning when building Windows Platform module
  • TIMOB-23569 - SDK Release containing 2 Bug Fixes
  • TIMOB-23575 - Windows: CLI does not check correct directories when detecting app icons
  • TIMOB-23607 - Windows: View gets snapped back to center when animating using the right property
  • TIMOB-23623 - iOS: Ti.setUserAgent() doesn't exist
  • TIMOB-23624 - iOS: Ti.userAgent ignored for Ti.Network.HTTPClient operations
  • TIMOB-23628 - Android: Unable to debug an application with run-on-main-thread set to true
  • TIMOB-23638 - Android: Unable to debug an application with newer V8
  • TIMOB-23639 - Windows: Updating a tableviewsection with the index of a deleted tableviewsection adds the deleted tableviewsection back
  • TIMOB-23641 - Windows: list section instertItemsAt not working
  • TIMOB-23653 - Windows: Animation returns to original opacity property when finished
  • TIMOB-23657 - Windows: borderRadius does not work for some components
  • TIMOB-23658 - Windows: Ti.UI.Label.border* properties do not work when not using width and height
  • TIMOB-23662 - Windows: can't detect Windows Phone SDK if no emulator installed
  • TIMOB-23666 - iOS: Button setting remote backgroundImage doesn't appear to work
  • TIMOB-23674 - iOS - Compilation error
  • TIMOB-23676 - Security alert : Google Play Warning: WebViewClient.onReceivedSslError handler
  • TIMOB-23687 - Windows: Camera can default to front facing camera on some devices
  • TIMOB-23693 - Windows: setting a headerView/footerView for a listview without a height set on the view makes the view oversized
  • TIMOB-23694 - Windows: setting a headerView/footerView for a tableview without a height set on the view makes the view oversized
  • TIMOB-23696 - Windows: Ti.App._restart() does not function correctly
  • TIMOB-23699 - iOS Media.showCamera "Temp" file issue
  • TIMOB-23708 - Hyperloop: Android aar without asset folder fails compiling
  • TIMOB-23710 - Android: dexer fails due to duplicate Crittercism classes
  • TIMOB-23712 - iOS: Ti.UI.IOS.Stepper.value does not default to correct value
  • TIMOB-23716 - Windows: Front camera preview/image is upside down
  • TIMOB-23734 - Windows: section updateItemAt updates wrong item
  • TIMOB-23740 - Windows: Error thrown intermitently when building for device,Opening the package from location Preprodclassic_1.0.0.0_ARM_Debug.appxbundle failed
  • TIMOB-23744 - Android: Crash using Ti.Android.R values
  • TIMOB-23745 - Android: Crash using Math.random
  • TIMOB-23748 - Windows: Failed to connect to WP 8.1 device
  • TIMOB-23749 - Windows: "appc ti info" does not list Windows Phone 8.1 emulators
  • TIMOB-23753 - Android: Crash when adding Ti.Network event listener
  • TIMOB-23762 - Windows: Install of app to Windows 10 Mobile device fails on second build of application
  • TIMOB-23764 - Default app created with 6.0.0 SDK comes pre populated with hyperloop 2.0.0 & in tiapp.xml & build fails as 2.0.0 is not downloaded
  • TIMOB-23766 - Android: Default alloy & classic app crashes after launch with error : Requested module not found: ti.cloud, even though present
  • TIMOB-23767 - Android: Tab icons & label text not visible on default classic 2 tabbed app created using 6.0.0.v20160810073036
  • TIMOB-23786 - iOS10: Logs not working on iOS 10 devices
  • TIMOB-23787 - Android: Can't add android modules to project when using SDK 6.0.0.v20160817065403
  • TIMOB-23800 - Windows: CLI hangs on install of app when a different app is installed
  • TIMOB-23801 - Titanium Android module build fails with Titanium SDK 6.1.0
  • TIMOB-23808 - Hyperloop: iOS - Example application not building with Xcode 8 because of Swift-Error
  • TIMOB-23816 - Windows: Unable to build to an 8.1 emulator
  • TIMOB-23827 - Module ID with underscores not allowed despite Android only platform
  • TIMOB-23829 - Fails to detect Android NDK on Windows
  • TIMOB-23847 - VideoQuality - User is not able to set camera property to QUALITY_HIGH
  • TIMOB-23849 - Windows: terrible performance of listview
  • TIMOB-23851 - Cannot build ti.facebook iOS using "appc ti build"
  • TIMOB-23852 - Android: http status code 411 error when building a default app with ti.cloud module
  • TIMOB-23864 - CLI: Build process does not exit if using an incompatible module based on apiversion
  • TIMOB-23866 - Windows: uap capability included when building for 8.1
  • TIMOB-23869 - Windows: Ti.Media.takePicture usage does not include videosLibrary capability
  • TIMOB-23870 - Windows: 'The request is not supported' error thrown when using front camera and tapping view to focus
  • TIMOB-23871 - iOS: Safari/WebInspector Debugger crashes app when hitting breakpoint
  • TIMOB-23873 - Android: Template for Manifest needs updating
  • TIMOB-23875 - Windows: Incorrect __filename value
  • TIMOB-23880 - Windows: Default classic app template does not show tabs
  • TIMOB-23901 - Android: App stuck on splash screen when app run second time with analytics to true from tiapp.xml
  • TIMOB-23920 - iOS: Ti.UI.Picker not working in Ti.UI.ListView on device
  • TIMOB-23923 - iOS 10: Ti.Media.queryMusicLibrary crashes the app
  • TIMOB-23925 - iOS: App rejected because some <key> in the Info.plist aren't specified
  • TIMOB-23929 - Rename contextId to stop confusing Apple's private API scan
  • TIMOB-23930 - Windows: ScrollView doesn't load complete data
  • TIMOB-23935 - iOS: Ti.Media.switchCamera() fails to switch camera.
  • TIMOB-23937 - iOS: Edited videos are not saved to photo gallery
  • TIMOB-23938 - Android: Titanium crashes if back button is hit soon enough after app launch
  • TIMOB-23939 - IOS: Packaging IOS modules fails with xcode-dist xcodebuild error
  • TIMOB-23943 - Android module build doesn't use proper logging
  • TIMOB-23946 - Android: Creating a default alloy/classic project with only android as target created a "_MACOSX folder in the project root with touchtest module in it.
  • TIMOB-23957 - iOS: Building app with extension containing swift code doesn't set correct Xcode build settings
  • TIMOB-23964 - Android: Ti.UI.Switch should default to false but is undefined
  • TIMOB-23966 - Android: Unable to send a feature event with a number as the data objects key
  • TIMOB-23968 - Android: problems in webview since 5.4.0
  • TIMOB-23969 - Android: Exiting an app by pressing back prevents the app from being resumed
  • TIMOB-23973 - iOS: Events on images inside ListViewItem templates not fired (regression)
  • TIMOB-23978 - _MACOSX folder present in touchtest plugin 8244.293.2 folder
  • TIMOB-23983 - iOS Debugger: Breakpoint not hit for Alloy applications
  • TIMOB-23989 - Android: When the back button is pressed on android it closes the app even if it is not the last window with SDK 6.0.0
  • TIMOB-23999 - CLI: Building a module on Windows errors with 'Missing required manifest key "name"'
  • TIMOB-24005 - Android: Architectures - armeabi armeabi-v7a cause build error at compiling module
  • TIMOB-24008 - iOS: Can't use Xcode managed provisioning profiles to build app?
  • TIMOB-24010 - Android: Update Google Play services for ti.geofence
  • TIMOB-24011 - iOS: require fails to resolve paths like 'hyperloop/uikit/uilabel'
  • TIMOB-24012 - Android: crashing trying to load non-existing JS resources inside native modules
  • TIMOB-24017 - iOS: Add support for headers to the log server
  • TIMOB-24019 - Windows: Listitems do not maintain itemindex when filtered
  • TIMOB-24023 - Packaging mobile app for iOS will fail with "An uncaught exception was thrown! p is not defined"
  • TIMOB-24028 - iOS: Build errors out with Invalid <log-server-port> found in the tiapp.xml: undefined
  • TIMOB-24030 - iOS: Cannot build with touchtest 2.0 with development deploy type
  • TIMOB-24034 - iOS: New logging system breaks differential builds - simulator builds only
  • TIMOB-24040 - iOS: Set backgroundImage : "'' for TI.UI.VIEW cause app crash After SDK 5.5.0.GA
  • TIMOB-24052 - Android: Event-listeners in Ti.UI.TextArea not working when editable = false (Regression)
  • TIMOB-24053 - Android: passwordMask property cannot be changed after rendering (Regression)
  • TIMOB-24055 - Android: Enabling push notifications crashes the app with latest 6.0.0.v20161019091022
  • TIMOB-24059 - Android: Update ti.cloud require to new require standards
  • TIMOB-24061 - Android: Different debug-log for incorrect CommonJS usage
  • TIMOB-24065 - iOS: Using `--build-only` forces Development team to be required for builds
  • TIMOB-24079 - Android Debugger: Not all breakpoints are hit during debug of android app with SDK 6.0.0

 

API changes

New APIs

The following APIs are new or have expanded platform support in Release 6.0.0.RC.

APITypeNotes
Titanium.App.Properties.removeAllPropertiesmethod

Removes all properties that have been set by the user on runtime, or does nothing otherwise. (New API, supported on Android, iPhone, iPad and Mobile Web.)

Titanium.App.iOS.SearchableItemAttributeSet.fullyFormattedAddressproperty

The fully formatted address of the item (obtained from MapKit). (New API, supported on iPhone and iPad.)

Titanium.App.iOS.SearchableItemAttributeSet.getFullyFormattedAddressmethod

Gets the value of the Titanium.App.iOS.SearchableItemAttributeSet.fullyFormattedAddress property. (New API, supported on iPhone and iPad.)

Titanium.App.iOS.SearchableItemAttributeSet.getPostalCodemethod

Gets the value of the Titanium.App.iOS.SearchableItemAttributeSet.postalCode property. (New API, supported on iPhone and iPad.)

Titanium.App.iOS.SearchableItemAttributeSet.getSubThoroughfaremethod

Gets the value of the Titanium.App.iOS.SearchableItemAttributeSet.subThoroughfare property. (New API, supported on iPhone and iPad.)

Titanium.App.iOS.SearchableItemAttributeSet.getThoroughfaremethod

Gets the value of the Titanium.App.iOS.SearchableItemAttributeSet.thoroughfare property. (New API, supported on iPhone and iPad.)

Titanium.App.iOS.SearchableItemAttributeSet.postalCodeproperty

The postal code for the item according to guidelines established by the provider. (New API, supported on iPhone and iPad.)

Titanium.App.iOS.SearchableItemAttributeSet.setFullyFormattedAddressmethod

Sets the value of the Titanium.App.iOS.SearchableItemAttributeSet.fullyFormattedAddress property. (New API, supported on iPhone and iPad.)

Titanium.App.iOS.SearchableItemAttributeSet.setPostalCodemethod

Sets the value of the Titanium.App.iOS.SearchableItemAttributeSet.postalCode property. (New API, supported on iPhone and iPad.)

Titanium.App.iOS.SearchableItemAttributeSet.setSubThoroughfaremethod

Sets the value of the Titanium.App.iOS.SearchableItemAttributeSet.subThoroughfare property. (New API, supported on iPhone and iPad.)

Titanium.App.iOS.SearchableItemAttributeSet.setThoroughfaremethod

Sets the value of the Titanium.App.iOS.SearchableItemAttributeSet.thoroughfare property. (New API, supported on iPhone and iPad.)

Titanium.App.iOS.SearchableItemAttributeSet.subThoroughfareproperty

The sub-location (e.g., street number) for the item according to guidelines established by the provider. (New API, supported on iPhone and iPad.)

Titanium.App.iOS.SearchableItemAttributeSet.thoroughfareproperty

The location (e.g., street name) for the item according to guidelines established by the provider. (New API, supported on iPhone and iPad.)

Titanium.App.iOS.handleurlevent

Fired when a new URL is handled by the application. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_ROLE_CHAIRproperty

Attendee role is chair. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_ROLE_NON_PARTICIPANTproperty

Attendee is not a participant. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_ROLE_OPTIONALproperty

Attendee role is optional. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_ROLE_REQUIREDproperty

Attendee role is required. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_ROLE_UNKNOWNproperty

Attendee role is unknown. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_STATUS_ACCEPTEDproperty

Attendee status is accepted. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_STATUS_DECLINEDproperty

Attendee status is declined. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_STATUS_DELEGATEDproperty

Attendee status is delegated. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_STATUS_IN_PROCESSproperty

Attendee status is in process. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_STATUS_PENDINGproperty

Attendee status is pending. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_STATUS_TENTATIVEproperty

Attendee status is tentative. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_STATUS_UNKNOWNproperty

Attendee status is unknown. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_TYPE_GROUPproperty

Attendee type is group. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_TYPE_PERSONproperty

Attendee type is person. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_TYPE_RESOURCEproperty

Attendee type is resource. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_TYPE_ROOMproperty

Attendee type is room. (New API, supported on iPhone and iPad.)

Titanium.Calendar.ATTENDEE_TYPE_UNKNOWNproperty

Attendee type is unknown. (New API, supported on iPhone and iPad.)

Titanium.Calendar.Attendeeobject

An object that represents a single attendee of an event. (New API, supported on iPhone and iPad.)

Titanium.Calendar.Event.attendeesproperty

The list of event attendees. This list will be empty if the event has no attendees. (New API, supported on iPhone and iPad.)

Titanium.Calendar.Event.getAttendeesmethod

Gets the value of the Titanium.Calendar.Event.attendees property. (New API, supported on iPhone and iPad.)

Titanium.UI.AlertDialog.canceledOnTouchOutsideproperty

When this is set to true, the dialog is canceled when touched outside the window's bounds. (New API, supported on Android.)

Titanium.UI.AlertDialog.getCanceledOnTouchOutsidemethod

Gets the value of the Titanium.UI.AlertDialog.canceledOnTouchOutside property. (New API, supported on Android.)

Titanium.UI.AlertDialog.getPreferredmethod

Gets the value of the Titanium.UI.AlertDialog.preferred property. (New API, supported on iPhone and iPad.)

Titanium.UI.AlertDialog.preferredproperty

Index to define the preferred button. (New API, supported on iPhone and iPad.)

Titanium.UI.AlertDialog.setCanceledOnTouchOutsidemethod

Sets the value of the Titanium.UI.AlertDialog.canceledOnTouchOutside property. (New API, supported on Android.)

Titanium.UI.AlertDialog.setPreferredmethod

Sets the value of the Titanium.UI.AlertDialog.preferred property. (New API, supported on iPhone and iPad.)

Titanium.UI.Clipboard.hasColorsmethod

Indicates whether any colors are stored in the clipboard. (New API, supported on iPhone and iPad.)

Titanium.UI.Clipboard.hasImagesmethod

Indicates whether any images are stored in the clipboard. (New API, supported on iPhone and iPad.)

Titanium.UI.Clipboard.hasURLsmethod

Indicates whether any URLs are stored in the clipboard. (New API, supported on iPhone and iPad.)

Titanium.UI.RefreshControl.refreshendevent

Fired in response to a user finished action to refresh the contents of the table view, list view or scroll view. (New API, supported on iPhone and iPad.)

Titanium.UI.ScrollView.getKeyboardDismissModemethod

Gets the value of the Titanium.UI.ScrollView.keyboardDismissMode property. (New API, supported on iPhone and iPad.)

Titanium.UI.ScrollView.getRefreshControlmethod

Gets the value of the Titanium.UI.ScrollView.refreshControl property. (New API, supported on iPhone and iPad.)

Titanium.UI.ScrollView.keyboardDismissModeproperty

The manner in which the keyboard is dismissed when a drag begins in the scroll view. (New API, supported on iPhone and iPad.)

Titanium.UI.ScrollView.refreshControlproperty

View positioned above the first row that is only revealed when the user drags the scroll view contents down. (New API, supported on iPhone and iPad.)

Titanium.UI.ScrollView.setKeyboardDismissModemethod

Sets the value of the Titanium.UI.ScrollView.keyboardDismissMode property. (New API, supported on iPhone and iPad.)

Titanium.UI.ScrollView.setRefreshControlmethod

Sets the value of the Titanium.UI.ScrollView.refreshControl property. (New API, supported on iPhone and iPad.)

Titanium.UI.TEXT_ELLIPSIZE_TRUNCATE_CHAR_WRAPproperty

Add ellipses before the first character that doesnt fit. (New API, supported on iPhone and iPad.)

Titanium.UI.TEXT_ELLIPSIZE_TRUNCATE_CLIPproperty

Lines are simply not drawn past the edge of the text container. (New API, supported on iPhone and iPad.)

Titanium.UI.TEXT_ELLIPSIZE_TRUNCATE_NONEproperty

Disables ellipsizing of the label. The text will be cut off if it is too long. (New API, supported on Android.)

Titanium.UI.TEXT_ELLIPSIZE_TRUNCATE_WORD_WRAPproperty

Add ellipses at word boundaries, unless the word itself doesn't fit on a single line. (New API, supported on iPhone and iPad.)

Titanium.UI.TEXT_STYLE_CALLOUTproperty

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

Titanium.UI.TEXT_STYLE_TITLE1property

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

Titanium.UI.TEXT_STYLE_TITLE2property

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

Titanium.UI.TEXT_STYLE_TITLE3property

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

Titanium.UI.TextArea.getPaddingmethod

Gets the value of the Titanium.UI.TextArea.padding property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.TextArea.paddingproperty

Sets the left and right padding of this TextArea. The text will always be vertically centered. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.TextArea.setPaddingmethod

Sets the value of the Titanium.UI.TextArea.padding property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.TextField.getPaddingmethod

Gets the value of the Titanium.UI.TextField.padding property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.TextField.paddingproperty

Sets the padding of this text field. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.TextField.setPaddingmethod

Sets the value of the Titanium.UI.TextField.padding property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.Window.getHidesBarsOnSwipemethod

Gets the value of the Titanium.UI.Window.hidesBarsOnSwipe property. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.getHidesBarsOnTapmethod

Gets the value of the Titanium.UI.Window.hidesBarsOnTap property. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.getHidesBarsWhenKeyboardAppearsmethod

Gets the value of the Titanium.UI.Window.hidesBarsWhenKeyboardAppears property. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.getHidesBarsWhenVerticallyCompactmethod

Gets the value of the Titanium.UI.Window.hidesBarsWhenVerticallyCompact property. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.hidesBarsOnSwipeproperty

Set this to true to hide the navigation bar on swipe. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.hidesBarsOnTapproperty

Set this to true to hide the navigation bar on tap. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.hidesBarsWhenKeyboardAppearsproperty

Set this to true to hide the navigation bar when the keyboard appears. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.hidesBarsWhenVerticallyCompactproperty

Set this to true to hide the navigation bar in a vertically compact environment. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.setHidesBarsOnSwipemethod

Sets the value of the Titanium.UI.Window.hidesBarsOnSwipe property. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.setHidesBarsOnTapmethod

Sets the value of the Titanium.UI.Window.hidesBarsOnTap property. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.setHidesBarsWhenKeyboardAppearsmethod

Sets the value of the Titanium.UI.Window.hidesBarsWhenKeyboardAppears property. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.setHidesBarsWhenVerticallyCompactmethod

Sets the value of the Titanium.UI.Window.hidesBarsWhenVerticallyCompact property. (New API, supported on iPhone and iPad.)

Titanium.UI.getTintColormethod

Gets the value of the Titanium.UI.tintColor property. (New API, supported on iPhone and iPad.)

Titanium.UI.iOS.NavigationWindow.popToRootWindowmethod

Closes all windows that are currently opened inside the navigation window. (New API, supported on iPhone and iPad.)

Titanium.UI.setTintColormethod

Sets the value of the Titanium.UI.tintColor property. (New API, supported on iPhone and iPad.)

Titanium.UI.tintColorproperty

Sets the global tint color of the application. It is inherited by the child views and can be overwritten by them using the tintColor property. (New API, supported on iPhone and iPad.)

Titanium.WatchSession.getHasContentPendingmethod

Gets the value of the Titanium.WatchSession.hasContentPending property. (New API, supported on iPhone.)

Titanium.WatchSession.getRemainingComplicationUserInfoTransfersmethod

Gets the value of the Titanium.WatchSession.remainingComplicationUserInfoTransfers property. (New API, supported on iPhone.)

Titanium.WatchSession.hasContentPendingproperty

Returns true if there is more content for the session to deliver. (New API, supported on iPhone.)

Titanium.WatchSession.remainingComplicationUserInfoTransfersproperty

The number of calls remaining to transferCurrentComplication before the system starts transferring the complicationUserInfo as regular userInfos. (New API, supported on iPhone.)

Deprecated APIs

The following APIs are deprecated in Release 6.0.0.RC.

APITypeNotes
Titanium.UI.TextArea.getPaddingLeftmethod

Use Titanium.UI.TextArea.padding instead.

Titanium.UI.TextArea.getPaddingRightmethod

Use Titanium.UI.TextArea.padding instead.

Titanium.UI.TextArea.paddingLeftproperty

Use Titanium.UI.TextArea.padding instead.

Titanium.UI.TextArea.paddingRightproperty

Use Titanium.UI.TextArea.padding instead.

Titanium.UI.TextArea.setPaddingLeftmethod

Use Titanium.UI.TextArea.padding instead.

Titanium.UI.TextArea.setPaddingRightmethod

Use Titanium.UI.TextArea.padding instead.

Titanium.UI.TextField.getPaddingLeftmethod

Use Titanium.UI.TextField.padding instead.

Titanium.UI.TextField.getPaddingRightmethod

Use Titanium.UI.TextField.padding instead.

Titanium.UI.TextField.paddingLeftproperty

Use Titanium.UI.TextField.padding instead.

Titanium.UI.TextField.paddingRightproperty

Use Titanium.UI.TextField.padding instead.

Titanium.UI.TextField.setPaddingLeftmethod

Use Titanium.UI.TextField.padding instead.

Titanium.UI.TextField.setPaddingRightmethod

Use Titanium.UI.TextField.padding instead.

Removed APIs

The following APIs have been removed in Release 6.0.0.RC.

APITypeNotes
Titanium.Filesystem.File.getWriteablemethod

Use Titanium.Filesystem.File.writable instead.

Titanium.Filesystem.File.writeableproperty

Use Titanium.Filesystem.File.writable instead.

Titanium.Media.VideoPlayer.getMovieControlModemethod

Use Titanium.Media.VideoPlayer.mediaControlStyle instead.

Titanium.Media.VideoPlayer.movieControlModeproperty

Use Titanium.Media.VideoPlayer.mediaControlStyle instead.

Titanium.Media.VideoPlayer.setMovieControlModemethod

Use Titanium.Media.VideoPlayer.mediaControlStyle instead.

Titanium.UI.AUTODETECT_ADDRESSproperty

Use Titanium.UI.AUTOLINK_MAP_ADDRESSES instead.

Titanium.UI.AUTODETECT_ALLproperty

Use Titanium.UI.AUTOLINK_ALL instead.

Titanium.UI.AUTODETECT_CALENDARproperty

Use Titanium.UI.AUTOLINK_CALENDAR instead.

Titanium.UI.AUTODETECT_LINKproperty

Use Titanium.UI.AUTOLINK_URLS instead.

Titanium.UI.AUTODETECT_NONEproperty

Use Titanium.UI.AUTOLINK_NONE instead.

Titanium.UI.AUTODETECT_PHONEproperty

Use Titanium.UI.AUTOLINK_PHONE_NUMBERS instead.

Titanium.UI.BLEND_MODE_CLEARproperty

Use Titanium.UI.iOS.BLEND_MODE_CLEAR instead.

Titanium.UI.BLEND_MODE_COLORproperty

Use Titanium.UI.iOS.BLEND_MODE_COLOR instead.

Titanium.UI.BLEND_MODE_COLOR_BURNproperty

Use Titanium.UI.iOS.BLEND_MODE_COLOR_BURN instead.

Titanium.UI.BLEND_MODE_COLOR_DODGEproperty

Use Titanium.UI.iOS.BLEND_MODE_COLOR_DODGE instead.

Titanium.UI.BLEND_MODE_COPYproperty

Use Titanium.UI.iOS.BLEND_MODE_COPY instead.

Titanium.UI.BLEND_MODE_DARKENproperty

Use Titanium.UI.iOS.BLEND_MODE_DARKEN instead.

Titanium.UI.BLEND_MODE_DESTINATION_ATOPproperty

Use Titanium.UI.iOS.BLEND_MODE_DESTINATION_ATOP instead.

Titanium.UI.BLEND_MODE_DESTINATION_INproperty

Use Titanium.UI.iOS.BLEND_MODE_DESTINATION_IN instead.

Titanium.UI.BLEND_MODE_DESTINATION_OUTproperty

Use Titanium.UI.iOS.BLEND_MODE_DESTINATION_OUT instead.

Titanium.UI.BLEND_MODE_DESTINATION_OVERproperty

Use Titanium.UI.iOS.BLEND_MODE_DESTINATION_OVER instead.

Titanium.UI.BLEND_MODE_DIFFERENCEproperty

Use Titanium.UI.iOS.BLEND_MODE_DIFFERENCE instead.

Titanium.UI.BLEND_MODE_EXCLUSIONproperty

Use Titanium.UI.iOS.BLEND_MODE_EXCLUSION instead.

Titanium.UI.BLEND_MODE_HARD_LIGHTproperty

Use Titanium.UI.iOS.BLEND_MODE_HARD_LIGHT instead.

Titanium.UI.BLEND_MODE_HUEproperty

Use Titanium.UI.iOS.BLEND_MODE_HUE instead.

Titanium.UI.BLEND_MODE_LIGHTENproperty

Use Titanium.UI.iOS.BLEND_MODE_LIGHTEN instead.

Titanium.UI.BLEND_MODE_LUMINOSITYproperty

Use Titanium.UI.iOS.BLEND_MODE_LUMINOSITY instead.

Titanium.UI.BLEND_MODE_MULTIPLYproperty

Use Titanium.UI.iOS.BLEND_MODE_MULTIPLY instead.

Titanium.UI.BLEND_MODE_NORMALproperty

Use Titanium.UI.iOS.BLEND_MODE_NORMAL instead.

Titanium.UI.BLEND_MODE_OVERLAYproperty

Use Titanium.UI.iOS.BLEND_MODE_OVERLAY instead.

Titanium.UI.BLEND_MODE_PLUS_DARKERproperty

Use Titanium.UI.iOS.BLEND_MODE_PLUS_DARKER instead.

Titanium.UI.BLEND_MODE_PLUS_LIGHTERproperty

Use Titanium.UI.iOS.BLEND_MODE_PLUS_LIGHTER instead.

Titanium.UI.BLEND_MODE_SATURATIONproperty

Use Titanium.UI.iOS.BLEND_MODE_SATURATION instead.

Titanium.UI.BLEND_MODE_SCREENproperty

Use Titanium.UI.iOS.BLEND_MODE_SCREEN instead.

Titanium.UI.BLEND_MODE_SOFT_LIGHTproperty

Use Titanium.UI.iOS.BLEND_MODE_SOFT_LIGHT instead.

Titanium.UI.BLEND_MODE_SOURCE_ATOPproperty

Use Titanium.UI.iOS.BLEND_MODE_SOURCE_ATOP instead.

Titanium.UI.BLEND_MODE_SOURCE_INproperty

Use Titanium.UI.iOS.BLEND_MODE_SOURCE_IN instead.

Titanium.UI.BLEND_MODE_SOURCE_OUTproperty

Use Titanium.UI.iOS.BLEND_MODE_SOURCE_OUT instead.

Titanium.UI.BLEND_MODE_XORproperty

Use Titanium.UI.iOS.BLEND_MODE_XOR instead.

Titanium.UI.Window.getUrlmethod 
Titanium.UI.Window.setUrlmethod 
Titanium.UI.Window.urlproperty 
Titanium.UI.iOS.3DMatrixobject

Use Titanium.UI.3DMatrix instead.

Titanium.UI.iOS.Attributeobject

Use Attribute instead.

Titanium.UI.iOS.AttributedStringobject

Use Titanium.UI.AttributedString instead.

Titanium.UI.iOS.NavigationWindow.getUrlmethod 
Titanium.UI.iOS.NavigationWindow.setUrlmethod 
Titanium.UI.iOS.NavigationWindow.urlproperty 
Titanium.UI.iPad.DocumentViewerobject

Use Titanium.UI.iOS.DocumentViewer instead.

Titanium.UI.iPad.SplitWindowobject

Use Titanium.UI.iOS.SplitWindow instead.

Titanium.UI.iPad.createDocumentViewermethod

Use Titanium.UI.iOS.DocumentViewer instead.

Titanium.UI.iPad.createSplitWindowmethod

Use Titanium.UI.iOS.SplitWindow instead.

Titanium.UI.iPhone.getStatusBarHiddenmethod

Use Titanium.UI.Window.fullscreen instead.

Titanium.UI.iPhone.getStatusBarStylemethod

Use Titanium.UI.Window.statusBarStyle instead.

Titanium.UI.iPhone.statusBarHiddenproperty

Use Titanium.UI.Window.fullscreen instead.

Titanium.UI.iPhone.statusBarStyleproperty

Use Titanium.UI.Window.statusBarStyle instead.

Known issues

  • TIMOB-23761 - Hyperloop: Errors when running project with liveview and hyperloop enabled

    • Projects that include or reference Hyperloop and have LiveView enabled encounter the following error

  • TIMOB-24037 - Android: Debugging not working with hyperloop enabled with run-on-main-thread set to true or false
    • Debugging doesn't work with Hyperloop enabled with run-on-main-thread set to either true or false