All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- iOS: Fix compatibility with Xcode 15+ and iOS 17+
- iOS: Do not hard-crash build if framework is missing module map (just skip it)
- CLI: Update Babel
6.0.0 - 2020-09-21
- iOS: Compatibility with Xcode 12 / iOS 14
- iOS: Updated min supported Titanium SDK version to 9.2.0 due to usage of the new XCFramework packaging format only supported by Titanium SDK 9.2.0+.
5.0.3 - 2020-04-09
- iOS: Compatibility with XCode 11.4 (TIMOB-27824)
5.0.2 - 2020-03-03
- Android: Hyperloop builds fail if JDK 12 or higher is installed (TIMOB-27780)
5.0.1 - 2020-02-19
- Android: Fixed bug where app build will fail if Android NDK is not installed. (TIMOB-27771)
5.0.0 - 2020-02-10
- Android: Now builds with gradle to an AAR library.
- Android: Added x86_64 architecture support.
- Android: Added support for optional
./platform/android/build.gradle
file in app project.
- Fixed bug where you could not access a Java inner class from an inner class. (TIMOB-27298)
- Added support for accessing Titanium library's Java classes. (TIMOB-27297)
- Android: Improved build performance. Now 2-3x faster.
- Android: Updated min supported Titanium SDK version to 9.0.0.
- iOS: Compatibility with CocoaPods 1.6.0+
- iOS: Compatibility with Xcode 11 / iOS 13
4.0.3 - 2019-06-25
- Android: Debugging in Hyperloop enabled projects
- iOS: Debugging in Hyperloop enabled projects
- iOS: Correctly require minimum SDK 8.0.0
4.0.2 - 2019-03-11
- Windows: Compatibility with SDK <8.0.0
- Android: Handle symlinked files
4.0.1 - 2019-01-17
- Android: Compatibility with SDK <8.0.0
- iOS: Properly load classes from Swift frameworks via objc interface header
- iOS: Update appc.js third-party configuration deprecation message
4.0.0 - 2018-12-19
- Android: Overriding methods that may receive null values as arguments
- iOS: Exclude types that are unavailable on iOS from metabase
- iOS: Refactor iOS metabase generation to improve build time
- iOS: Internal refactoring and optimization
- iOS: Support dotted enums (like in Swift)
- Windows: Support namespace-based imports like Android
- iOS: Support for TiCore runtime
3.1.4 - 2018-10-15
- Android: Generate meta data for package-private classes
3.1.3 - 2018-09-05
- iOS: Using CocoaPods in Hyperloop does not work with Xcode 10 and iOS 12
3.1.2 - 2018-07-27
- iOS: TiApp Utility Class methods throw selector-error
- Android: Objective-C++ files are incorrectly added to the Xcode project
- Android: Application freezes when trying to reopen window in 7.3.0
3.1.1 - 2018-07-27
- iOS: Fix build error caused by duplicate builtins (TIMOB-26241)
3.1.0 - 2018-07-24
- iOS: Using ES6 arrow functions in Hyperloop-related code cannot be handled (TIMOB-25806)
- iOS: Show native class descriptions in logs instead of "HyperloopClass" (TIMOB-25880)
- Windows: Add compatibility with SDK 7.3.0+ (TIMOB-26106)
- iOS: Be able to receive native delegates from app to native modules / Hyperloop (TIMOB-24266)
- iOS: Support ES6+ imports (TIMOB-25057)
- Android: Support ES6+ imports (TIMOB-25057)
- Windows: Support ES6+ imports (TIMOB-25890)
3.0.5 - 2018-04-11
- Android: Compile using NDK
r12b
- Android: Fix compatibility on
Android 7.0/7.1
3.0.4 - 2018-04-05
- Windows: Add SDK 7.1.1 compatibility (TIMOB-25895)
3.0.3 - 2018-03-31
- iOS: CocoaPods 1.4.0 breaks metabase generation (TIMOB-25829)
3.0.2 - 2018-02-02
- iOS: Improve compatibility with CocoaPods (TIMOB-25604)
- Android: Expose access to interface methods (TIMOB-24684)
- Android: Fix JavaScript wrappers not being generated for some internal JARs (TIMOB-23933)
3.0.1 - 2017-11-29
- iOS: Weak link newer frameworks than the minimum deployment target. Allows to use version-specific API's in apps without crashing on older devices / iOS versions. (TIMOB-25440)
- iOS: Use basename when importing Swift interface headers (TIMOB-25550)
- iOS: Use correct framework header includes for Swift frameworks (TIMOB-25554)
- iOS: Use correct umbrella header import in native helpers (TIMOB-25564)
3.0.1-beta.2 - 2017-11-23
- iOS: Use correct framework header includes for various Swift frameworks (TIMOB-25554)
3.0.1-beta.1 - 2017-11-22
- iOS: Weak link newer frameworks than the minimum deployment target. Allows to use version-specific API's in apps without crashing on older devices / iOS versions. (TIMOB-25440)
- iOS: Use basename when importing Swift interface headers (TIMOB-25550)
2.2.3 - 2017-11-21
- iOS: Usage of frameworks that were introdcued in a later iOS version than the minimum deployment target caused a crash on older devices / iOS versions.
3.0.0 - 2017-11-20
- Android: Exceptions now bubble up to JavaScript and have to be catched there.
- Hyperloop is now included as a pre-packaged module in Titanium SDK 7.0.0 for all platforms. This means Hyperloop 3.0.0 will only work with SDK 7.0.0.
- Android: Build Android Hyperloop against SDK 7.0.0 and v8 5.7+.
- iOS: Use JavaScriptCore by default.
- Edge-case where the build would fail in a project without any plugins.
- Windows: Drop Windows 8.1 support.
3.0.0-beta.4 - 2017-11-16
- Android: Exceptions now bubble up to JavaScript and have to be catched there.
3.0.0-beta.3 - 2017-11-15
- Edge-case where the build would fail in a project without any plugins.
3.0.0-beta.2 - 2017-11-10
- Android: Support for ARM64.
- Hyperloop is now included as a pre-packaged module in Titanium SDK 7.0.0 for all platforms. This means Hyperloop 3.0.0 will only work with SDK 7.0.0.
- Android: Build Android Hyperloop against SDK 7.0.0 and v8 5.7+.
- iOS: Use JavaScriptCore by default.
- Windows: Drop Windows 8.1 support.
3.0.0-beta.1 - 2017-11-03 [YANKED]
2.2.2 - 2017-10-30
- Fix corrupt release zip of 2.2.1.
2.2.1 - 2017-10-25
- Android: Block scope declaration errors with Node 4.
- iOS: Fix wrong file-permissions of metabase binary after unzipping module.
- iOS: Skip non-existing
Headers
directory while parsing framework packages. - iOS: Explicitly link against all used frameworks.
2.2.0 - 2017-10-20
- iOS: Support for Xcode 9 / iOS 11.
- iOS: Support creating of Run Script build phases.
- iOS: Support
use_frameworks!
flag in CocoaPods. - iOS: Support dynamic frameworks.
- iOS: Automatic detection of frameworks in modules and the project's
app/platform/ios
(Alloy) orplatform/ios
(Classic) folder.
- Android: Use .aar handling from SDK build.
- Android: Significantly improved build performance, especially on incremental builds.
- iOS: Hyperloop now enforces Xcode to be installed in the default location
/Applications/Xcode.app
and exits the build if Xcode cannot be found under that path. - Windows: Improved performance for method and property access.
- iOS: Defining third-party sources and frameworks in
appc.js
via thethirdparty
section is now deprecated. To continue using frameworks make use of the new automatic framework detection. Support for parsing plain source from*.m
or.swift
files will be discontinued. If you still want to use those simply wrap them in a framework.
- iOS: Dropped support for CocoaPods 0.39 and below.
- Android: Fix NodeJS type error when requiring certain classes, e.g.
com.google.android.gms.common.api.GoogleApiClient
. - Android: Include missing support libraries that are bundled in version 26.0.0 since SDK 6.2.0
- iOS: Fixed missing detection of nested frameworks, e.g.
AVFoundation/AVSpeechSynthesizer
. - iOS: Fixed detection of blocks if they were defined as a type before, e.g. in the Contentful SDK.
- Windows: Evaluating a null value is no longer causing a crash.