Last Updated: June 29, 2020
see the release notes
Purpose of the release
There are a range of fixes that this release addresses, as well as some updated features:
• Encrypted Local Store support has been re-implemented for desktop platforms. This has retained compatibility with previous versions of AIR so there shouldn’t be any problems found when updating an application that loads in existing ELS data.
• iOS Launch Storyboard support has been available in AIR for some time (see the Starling tutorial: https://wiki.starling-framework.org/manual/ios_launch_images#using_launchscreenstoryboard). This release uses a launch storyboard for our ‘free tier’ customers which means that there may be a little extra work to ensure all assets are correctly included. See section 11 for details.
• The SQLite implementation that AIR contains has now been moved into a separate namespace to avoid conflicts with local ANE libraries that use SQLite. This unblocks Firebase and other functionality that may require SQLite access via native extensions
Some of the key fixes include:
Fixing the issues with creating/deploying AIR applications onto iOS simulators
Preventing the crash-on-start-up for ‘free tier’ customers with Android Pixel XL devices
Localisation updates including language codes and supporting non-ASCII application names
Further updates to improve connectivity/deployment between the IDEs and iOS devices
Support for Encrypted Local Store has been re-implemented for desktop Windows and macOS runtimes (and continues to work on Android and iOS platforms). The implementation was able to use the same key generation mechanisms as Adobe’s version and so retains the ability to load ELS data from previous versions of the AIR runtime. See Gamua-205.
The SQLite functionality contained within AIR has been wrapped into a separate namespace to avoid local conflicts with ANEs that call SQLite functions from the OS. See Gamua-218.
The splash screen mechanisms have been revised to limit the impact on start-up in Android and iOS platforms. In particular for iOS, this now uses a Storyboard to provide the splash screen for ‘free tier’ licensees, please refer to section 11 for more details.
3.1.5 Bug Fixes
AIR-256/Gamua-1: Removing allocation of strings when getting a vector type
AIR-269: Moving SQLite into namespace to avoid OS conflicts
AIR-328: Implementation of ELS for Windows + MacOS
AIR-349: Ensuring ADT can install onto new simulator devices (see Gamua-201)
AIR-359: Updating ADT to use the normal ‘ld’ command on macOS for linking (see Gamua-113)
AIR-428 Moving iOS splash screen into a Storyboard (see Gamua-333)
AIR-483/Gamua-331: ensuring iOS apps with non-ascii names don’t end up with bad filename
AIR-495: Fixing crash when large number of files are chosen in Windows file browser dialog
Gamua-287: Installer on MacOS now copes with iPhone XR and the newer UDID format.
Gamua-320: Fixing crash when enumerating cameras with Logitech driver
Gamua-338: Updating splash images to avoid crash on launch in Pixel XL devices
Gamua-349: Fix for Chinese-Traditional language code on iOS
Fix for crash in iOS audio disconnection
3.2 Known Problems
One key area where there are currently major issues is around multimedia, particularly the support (or lack of support) for H.264 and AAC formats on desktop platforms. We intend to address these with a goal to release a version supporting these prior to the end of the year.
We are also aware of a problem with Android SDK level 29 on 32-bit Android builds where the security changes mean that one of the Neon detection optimisations is no longer permitted. This will be addressed shortly along with a number of other updates that are already in progress.
Some Android resource packaging problems have been found to be caused by the code within ADT that generates the R.class files from resources embedded in ANEs. Normally the generation would be done via the JDK, but if this isn’t present on a computer (i.e. if JAVA_HOME isn’t set to a JDK folder) then ADT attempts to generate the Java bytecode instead. See Gamua-274.