Titanium SDK 7.3.0.RC Release Note

Titanium SDK 7.3.0.RC - 27 July 2018

About this release

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

Notice of feature and behavior Changes

Windows platform

  • TIMOB-26072 - Windows: Using a ScaleTransform Messes with Events
    • Revised 2DMatrix rotation, scale, and event source
  • TIMOB-26106 - Windows: Update module apiversion to 6
    • Updated apiversion to use "6" for SDK 7.3.0

Multiple platforms

  • TIMOB-25992 - Add default clang-format to the Android/iOS module template
    • Add clang-format to the default modules template
  • TIMOB-26009 - Update Ti.Map modules (iOS 3.1.0, Android 4.2.0)

New features

Android platform

  • TIMOB-16066 - Android: Add "foreground" service support
    • Added foreground service support
  • TIMOB-17363 - Android: Add "Ti.UI.MaskedImage" support
    • Implemented Ti.UI.MaskedImage
  • TIMOB-25795 - Hyperloop: Android - Expose all missing Android R resource types to Ti.Android.R
    • Added support for the following Ti.Android.R.menu properties:
      • animator
      • bool
      • fraction
      • interpolator
      • menu
      • mipmap
      • plurals
      • raw
      • transition
      • xml

iOS platform

  • TIMOB-23527 - iOS10: Support the UserNotifications framework
    • Added support for UserNotifications framework
  • TIMOB-25302 - iPhone X: Add new home-indicator related API's
    • Added new home-indicator related APIs
  • TIMOB-25684 - iOS: Expose UIInterpolatingMotionEffect Horizontal and Vertical
  • TIMOB-26016 - iOS 11: Expose "showsBackgroundLocationIndicator" property on Ti.Geolocation
    • Added support for showBackgroundLocationIndicator property for background location monitoring

Windows platform

  • TIMOB-25908 - Windows: require/import with namespace for Hyperloop
    • Added ability to require with namespace
  • TIMOB-25923 - Windows: More options for Logo / Splash Screen
    • Added more options for logo and splash screens
  • TIMOB-25933 - Windows: Implement Ti.UI.TextField.padding
    • Implemented Ti.UI.TextField.padding
  • TIMOB-25946 - Windows: Implement Ti.UI.TextArea.padding
    • Implemented Ti.UI.TextArea.padding

Multiple platforms

  • TIMOB-23247 - CLI: ti clean does not work for native module projects
    • Updated ti clean to work with native module projects

    • One should note that with this command update, you need to keep historical version of your module in your dist folder in a safe place (e.g. source control). Running this updated command will wipe out anything in the dist folder.
    • Best practice: don't use releases as a means of archiving. Releases should be published in a stable location such as Github, S3, etc. But, if you wish to keep old releases in the module, you should consider using a different folder to archive your content in the dist folder and commit that zip to your source control before cleaning.

  • TIMOB-24982 - iOS/Android: Add zoomLevel to Ti.UI.WebView
    • Added zoomLevel to Ti.UI.WebView

Community credits

Fixed issues

Android platform

  • TIMOB-15249 - Android: TableView header and footer cannot be removed or resized dynamically
  • TIMOB-15780 - Android: ScrollableView.setCurrentPage() fires "scrollend" event when it shouldn't
  • TIMOB-16596 - Android: Animation anchorPoints not working
  • TIMOB-16878 - Android: ScrollableView ignores root child view's layout properties
  • TIMOB-19822 - Android: Picker spinner columns and its items are not sized/positioned correctly on Android 5.0 and higher
  • TIMOB-20367 - Android: TiHTTPClient leaking files when response > 512K
  • TIMOB-24138 - Android: TextField/TextArea should not receive focus by default when a window is opened
  • TIMOB-25219 - Android: FileNotFoundExceptions should not be inside the Titanium log
  • TIMOB-25231 - Android: Ti.Filesystem.resourcesDirectory returns different list on device
  • TIMOB-25431 - Android: java.lang.ClassCastException: ti.modules.titanium.ui.widget.TiUILabel$1 cannot be cast to android.view.ViewGroup;
  • TIMOB-25503 - Android: can not use a CardView inside an ItemTemplate
  • TIMOB-25539 - Android: ScrollableView with border crashes as of 6.1.0
  • TIMOB-25625 - Android: ScrollableView left/right page arrows are not density scaled
  • TIMOB-25626 - Android: ScrollableView Ti.UI.SIZE is ignored for width
  • TIMOB-25634 - Android: ScrollableView "cacheSize" cannot by dynamically changed
  • TIMOB-25636 - Android: Calling ScrollableView's setters causes a crash if parent window is closed as of 7.0.0
  • TIMOB-25685 - Android: TabGroup 'close' event is never fired
  • TIMOB-25755 - Android: WebView should prompt user for client certificate if requested by server
  • TIMOB-25770 - Android: requestThumbnailImagesAtTimes() does not work with remote content
  • TIMOB-25792 - Android: Scrolling horizontal ScrollView within a vertical ScrollView should disable vertical scrolling
  • TIMOB-25805 - Android: appc info show a leading 0 before NDK Path
  • TIMOB-25819 - Android: ScrollView starts at the wrong location if it contains a ListView
  • TIMOB-25826 - Android: Error requiring a file by relative path where module.exports is a falsey value
  • TIMOB-25835 - Android: Animation with border radius doesn't works properly
  • TIMOB-25867 - Android: Running an application through CLI flickers it's main activity at launch.
  • TIMOB-25869 - Android: Sending Push results in a crash
  • TIMOB-25888 - Android: getEventsBetweenDates() crashes
  • TIMOB-25910 - Android: Memory leak when using TextFields in TableView rows
  • TIMOB-25919 - Android: OptionDialog not firing "click" event for cancel button like iOS
  • TIMOB-25964 - Android: Merge manifest of Android Libraries
  • TIMOB-25970 - Android: 'postlayout' event not working for Picker with type Titanium.UI.PICKER_TYPE_DATE
  • TIMOB-25974 - Android: Ti.Geolocation updates rarely on Android 8.0 while app is backgrounded
  • TIMOB-25977 - Android: AlertDialog not firing "click" event when canceled
  • TIMOB-25990 - Android apps crash when trying to add views to Titanium.Media.VideoPlayer objects if fullscreen property is set to true.
  • TIMOB-26010 - Android: TiHTTPClient getResponseHeader throws a NullPointerException
  • TIMOB-26055 - Android: Build fails due to invalid character '$' in android manifest with facebook & liveview with 7.3.0 SDK
  • TIMOB-26126 - Android: Update emulator tooling path
  • TIMOB-26131 - Android: SDK is wrongly adding core "Google Play Services" libraries as of 7.1.0
  • TIMOB-26134 - Android: Crashes when importing Ti.CloudPush in 7.2.0 SDK
  • TIMOB-26151 - Ti.Platform.id not working on Android in 7.2.0.GA (works on 7.1.1.GA)
  • TIMOB-26157 - Android: A semi-transparent or modal Window with a fixed orientation crashes on Android 8
  • TIMOB-26163 - Android: Ti.Geolocation - Exception when using FusedLocationProvider
  • TIMOB-26167 - Android: Cannot edit TextField/TextArea while in a ScrollView as of 7.3.0
  • TIMOB-26172 - Android: "focus" and "blur" events bubbles to parent views when it shouldn't
  • TIMOB-26187 - Android: CardView not visible when borderRadius is set

iOS platform

  • TIMOB-16597 - iOS: Can't create modal transparent Window
  • TIMOB-17235 - iOS: Window in tabGroup flicker on first open
  • TIMOB-23183 - iOS Non-public API usage: The app references non-public symbols in <APPLICATION NAME> : _ptrace
  • TIMOB-24206 - iOS: Memory leaks after select camera or photo gallery with jscore framework
  • TIMOB-25314 - iOS: camera with overlay view is zoomed
  • TIMOB-25566 - iOS: VideoPlayer showsControls false does if url is set after creation
  • TIMOB-25744 - iOS: Uploaded file persists in memory when using JSCore
  • TIMOB-25775 - iOS: Cannot get gradient properties after creation
  • TIMOB-25785 - iOS: Sending events that cannot be serialized fail on SDK 7.0.0+
  • TIMOB-25801 - iOS: SDK 7.0.2.GA - VideoPlayer playback issues
  • TIMOB-25836 - iOS: Using "run-on-main-thread", multiple global event listeners do not work
  • TIMOB-25842 - iOS: Cannot remove Ti.App.iOS.handleurl event-listener
  • TIMOB-25874 - iOS 11.2: Ti.UI.RefreshControl with Ti.UI.Window.largeTitleEnabled hides spinner
  • TIMOB-25883 - "Callback was already called." error thrown when source contains syntax error and transpiling
  • TIMOB-25897 - iOS: Ti.UI.iOS.Stepper handles "value" boundaries incorrect
  • TIMOB-25906 - iOS: Native exceptions not thrown when using run-on-main-thread
  • TIMOB-25916 - iOS: Ti.UI.VideoPlayer ignores changes to the "scalingMode" property
  • TIMOB-26033 - iOS: Ti.Media.VideoPlayer shows an error on Window Close on SDK 7.1.1.GA
  • TIMOB-26062 - iOS: Analyzer warnings after recent changes

Windows platform

  • TIMOB-25306 - Windows: touchEnabled property of Ti.UI.Picker does not work
  • TIMOB-25542 - Windows: Incorrect event's source.id on Windows 10 Mobile
  • TIMOB-25563 - Windows: TableViewRow click event should contain rowData
  • TIMOB-25918 - Windows: Splash Screen and App Icon assets not working correctly
  • TIMOB-25989 - Windows: Unit specifier is ignored for font size
  • TIMOB-26036 - Windows: Disabling Ti.View does not disable its childrenå
  • TIMOB-26045 - Windows: 2DMatrix rotation scales view
  • TIMOB-26085 - Windows: 2DMatrix should scale from center
  • TIMOB-26086 - Windows: Wrong event source after scaling with 2DMatrix
  • TIMOB-26139 - Windows: Unable to build to device when using Windows SDK 15063 and newer tooling is installed
  • TIMOB-26150 - Windows: Scale Transform Events (source.id) is still `overlay`
  • TIMOB-26152 - Windows: ScrollView doesn't return correct event source

Multiple platforms

  • TIMOB-26108 - CLI: "clean" command builds the project instead
  • TIMOB-26209 - CLI: If any Xcode installs don't have EULA accepted (even one not being used), build won't work
  • TIMOB-26233 - Hyperloop: Incompatibility with 7_3_X RC

Improvements

Android platform

  • TIMOB-5996 - Android: Modify ScrollableView.removeView() to support integer indexes
    • Implemented ScrollableView.removeView() to support integer indexes
  • TIMOB-17889 - TiConvert toBoolean doesnt handle type Interger
    • Added support for integer to boolean conversion
  • TIMOB-24707 - Android: Add video support to Ti.Media.openPhotoGallery()
    • Added video support to Ti.Media.openPhotoGallery()
  • TIMOB-25418 - Android: Module build will fail if documentation folder contains non-markdown files
    • Fixed documentation generation for non-markdown files
  • TIMOB-25667 - Android: Add TableView "scrollable" property support
    • Added support for scrollable property in TableView
  • TIMOB-25668 - Android: HintTextColor for SearchView
    • Added hintTextColor to Ti.UI.Android.SearchView
  • TIMOB-25844 - Android: Update splash screen and icon
    • Updated Android's splash screen and icon to newer assets on iOS
  • TIMOB-25852 - Android: Target API Level 26/27 by default
    • Increased max API Level supported to 27 (Android 8.1)
  • TIMOB-25860 - Update Android Support libraries to 27.1.1
    • Updated Android Support libraries to version 27.1.1
  • TIMOB-25864 - Android: Notifications should use default channel on Android 8 if not assigned
    • Set default notification channel to NotificationChannel.DEFAULT_CHANNEL_ID to miscellaneous
  • TIMOB-25865 - Android: Build warning appears when Android build-tools v27 or higher is installed
    • Updated the CLI to use the defined Android version
  • TIMOB-25917 - Android: Allow picker minDate/maxDate properties to be set dynamically
    • Fixed minDate and maxDate properties
  • TIMOB-25931 - Android: Update Multi-Dex support library
    • Updated multidex support library
  • TIMOB-25937 - Android: Horizontal TextField scrolling should not be canceled by scrollable parent view
    • Improved nested horizontal scrolling support
  • TIMOB-25939 - Android: Improve horizontal ScrollView scrolling that is set up with a RefreshControl
    • Improved nested horizontal scrolling support
  • TIMOB-25963 - Android: Implement method to obtain current stack trace from V8
    • Improved KrollRuntime error output
  • TIMOB-25965 - Android: Update old exception dialog
    • Improved KrollRuntime error output
  • TIMOB-26006 - Android: Reduce V8 library size
    • Optimized libkroll-v8 size
  • TIMOB-26051 - Android: Ti.UI.createRefreshControl.beginRefreshing() does not fire 'refreshstart'
    • Fixed issue with beginRefreshing() does not fire the refreshstart event
  • TIMOB-26068 - Android: set Toolbar's default width to match iOS behavior
    • Set the default width of toolbar to Ti.UI.FILL to match the iOS behavior of the component
  • TIMOB-26102 - Android: Push notifications should create default channel if not assigned when targeting Android 8
    • Updated push notifications on Android 8+

iOS platform

  • TIMOB-23888 - iOS 10: UIApplication openURL has been deprecated
    • Implemented asynchronous openURL API on iOS 10+
  • TIMOB-24266 - iOS: Be able to receive native delegates from app to native modules / Hyperloop
    • Added support to receive native delegates from your app to native modules and/or Hyperloop
  • TIMOB-25522 - iOS: Expose navigation-window instance property to Ti.UI.Window
    • Implemented navigationWindow property to Ti.UI.Window
  • TIMOB-25950 - iOS: setUnselectedItemTintColor is unrecognized in iOS9
    • Added feature that ignores unselectedItemTintColor on iOS9 and earlier
  • TIMOB-26007 - iOS: Refactor RSOD
    • Refactored crash dialog
  • TIMOB-26021 - iOS: Search results table-view background color change
    • Fixed issue with search results table-view background color change
  • TIMOB-26066 - node-ios-device: Support Xcode 9 and Node.js 10
    • Added support for Xcode 9 and node.js 10

Windows platform

  • TIMOB-24856 - Windows: Implement bubbleParent property
    • Implemented bubbleParent property
  • TIMOB-26028 - Windows: Add Ti.Filesystem.File parity across platforms
    • Added Ti.Filesystem.File across iOS and Android
  • TIMOB-26048 - Windows: Refactor RSOD
    • Refactored the crash dialog screen to match the iOS/Android appearance

Multiple platforms

  • TIMOB-26022 - TiAPI: Add Ti.Buffer parity across platforms
    • Added Ti.Buffer parity across iOS and Android
  • TIMOB-26025 - TiAPI: Add Ti.Filesystem.File parity across platforms
    • Added Ti.Filesystem.File parity across iOS and Android

API changes

There we no API changes in this version.

Related Links