Release Notes (Build 2018.3326)

This document describes the changes to Corona Labs' suite of products, including the Corona Simulator, Corona Native Builds, and device builds for iOS, tvOS, macOS, Android, Windows desktop and HTML5 builds since 2017.3184.


Important updates

  • HTML5 beta.
  • Google Play changes to support IAP level 27.
  • GDPR support.

Please note the following

  • Android: Experimental fix to OpenAL and PackageStateChange crashes
  • Android: Suspending audio thread in background
  • Android: added null sanity check
  • Android: added support for modern google-services.json
  • Android: adding support of maxSdkVersion to android.usesPermissions in build.settings
  • Android: adding support to SHA1 with DSA keystores/signing
  • Android: applied device specific audio settings in audio2
  • Android: audio2, fix an issue with not looping stream sound
  • Android: audio2, fixed setMaxVolume()
  • Android: catching all exceptions when back button is pressed
  • Android: changed signing to supported older certificates as well
  • Android: changing APK to support both modern and legacy keystores
  • Android: changing how audio library memory is handled, should reduce amount of AL related crashes
  • Android: checks when unloading GL (should fix rare crash)
  • Android: fixed crash on Android 4
  • Android: fixing main.lua being ran before expansion file is loaded
  • Android: fixing rare crash
  • Android: improved messages displayed after installing apps to the device from the simulator
  • Android: moving to target API 27
  • Android: reverted experimental OpenAL fix
  • Android: using default notification chanel for local notifications
  • Android: fixed video can't be unmuted issue
  • Core: EmbossedText shadow and highlight now uses alpha
  • Core: added read-only maxParticles property to particle emitters
  • Core: adjusting blur shaders to be compatible with GLSL for loop expansion
  • Core: changed emitter.absolutePosition to accept also relative parent group
  • Core: fixing add/remove event listener not returning result
  • Core: ParticleSystem: Added deltaVelocityX/deltaVelocityY properties in Query Region
  • CoronaBuilder: added androidStore parameter
  • HTML5: Excluded sources from .data file
  • HTML5: nicer template with Corona logo on download
  • HTML5: *Breaking index.html changes* fixed keyboard focus when ran in iframe; click outside native controls now unfocuses them
  • HTML5: Added detailed build log
  • HTML5: Added excludeFiles rules in detailed build log
  • HTML5: Added loading fonts from subfolders, added .otf fonts support
  • HTML5: Adding web server to Live Builds Server to serve HTML5 builds
  • HTML5: App uses build.settings from 'web' table. If no such table then it uses settings from 'window' table.
  • HTML5: Builder. used existing .html files in target folder
  • HTML5: Changes html
  • HTML5: Disabled JS Plugins properties
  • HTML5: Fixed FPS issue on 120 Hz screen
  • HTML5: Fixed excludeFiles related to subfolders
  • HTML5: Fixed font loader, it now loads font from file with dots in name
  • HTML5: Fixed issue with loading png files from system.DocumentsDirectory
  • HTML5: Fixed multi-touch bug
  • HTML5: Fixed native display object positions in old Android devices
  • HTML5: Fixed native objects positions in group
  • HTML5: Fixed text render for right-to-left fonts
  • HTML5: Fixed text renderer for Safari
  • HTML5: Fixed text.baselineOffset and default font size
  • HTML5: Fixing 'touch' event handler
  • HTML5: Fixing FPS
  • HTML5: Fixing Network.status and Target Store Name
  • HTML5: Implemented Lua plugins
  • HTML5: Implemented [, buttonLabels [, listener]] in showAlert()
  • HTML5: Implemented debugBuildProcess flag, displaying detailed build log if debugBuildProcess >= 3
  • HTML5: Implemented display.save()
  • HTML5: JS event dispatcher works like the Lua side dispatcher
  • HTML5: JS plugin accepts arg, it can be used to call Lua functions from JS
  • HTML5: JS plugin exposes only functions to Lua
  • HTML5: JS plugin properties are now accessible from Lua
  • HTML5: Keep alive reference to passed to JS plugin, so async callbacks should be available now
  • HTML5: On close, showAlert() should return focus to launching element
  • HTML5: Open Beta
  • HTML5: Remove including default font
  • HTML5: Reverted previous changes and applied another solution to stop timer if application is paused
  • HTML5: Stop timer if application is paused
  • HTML5: Taking care of system.activate( "multitouch" )
  • HTML5: Template line endings
  • HTML5: Use native HTML5 renderer, fix text alignment, use system fonts
  • HTML5: Using font specific measured text height
  • HTML5: added to Corona Builder (macOS)
  • HTML5: adding error message when unable to open default browser
  • HTML5: all graphics effects should work now
  • HTML5: changed Module.print/printErr not to mangle with conversions
  • HTML5: fit to window FB Instant app
  • HTML5: fixed "Cannot accept "Space" key input for HTML5 build"
  • HTML5: fixed 'type' property of native input text fields
  • HTML5: fixed Corona Builder for windows
  • HTML5: fixed Module.print() in index.html
  • HTML5: fixed app loader for IE: moved asm injections from video cpp to js file
  • HTML5: fixed excludedFiles.web triggering build.settings warning
  • HTML5: fixed key mapping
  • HTML5: fixed not working reserveChannels()
  • HTML5: fixed the real mouse pointer and the virtual one are offset by a percentage of a resize
  • HTML5: fixing corona builder for Windows
  • HTML5: fixing error when passing display objects to JS functions
  • HTML5: implemented app compression
  • HTML5: implemented font loader
  • HTML5: implemented mouse events
  • HTML5: implemented tap event handler and fixed touch events in iOS
  • HTML5: minor template tweaks
  • HTML5: native.showAlert() is based now on the Dialog HTML5 element
  • HTML5: override existing gzip files in output folder
  • HTML5: preventing Android settings to be overridden
  • HTML5: removed sqlite3 and socket plugins from Core
  • HTML5: renamed .js.gzip to .cjs nad .mem.gzip to .cmem
  • HTML5: replaced alert() on Module.printErr()
  • HTML5: rewrite of JS plugin wrapper, now without memory leaks: removed add/remove event listener, added LuaIsFunction, LuaCreateFunction and LuaReleasedFunction. Functions now can be passed as parameters from Lua to JS and acquired with that functions
  • HTML5: screen default background color is propagated to canvas.parentNode
  • HTML5: when defaultMode = "normal" app will not being resized
  • HTML5: saving Include Standard Resources state for project on the macOS simulator
  • HTML5: added HTML5 FB Instant app build option for the macOS simulator
  • Native/Android: updated Gradle version in template and samples
  • Native/Android for macOS: fixed not cleaning assets folder properly when path contains spaces
  • Native/Core: fixing lua_getupvalue/lua_setupvalue sometimes not working in device builds
  • Native/iOS: Fixing invalid arm7 binaries generated as result of privacy changes
  • Native/iOS: modifying plugin build script to extract static framework's architectures
  • Widget: adding null check to removeWidgets
  • Widget: fixed Table View wrong position of custom scrolling
  • Widget: added nil check to table view
  • Windows: fixing simulator crashing while building Android with debug output
  • Windows: Added FB Instant app builder
  • Windows: fixed 32 bit JDK lookup
  • Windows: fixed text field height and applied antialiasing
  • Windows: fixing build when name contains non-ASCII symbols
  • Windows: fixing saving app preferences mangling types sometime
  • Windows: removing libraries which caused anti-virus software warnings
  • iOS/Android: removing all IDs from any sent data due to GDPR
  • iOS/tvOS: Xcode 9.4 support
  • iOS: Adding boolean native property preferredScreenEdgesDeferringSystemGestures
  • iOS: adding NSLocationAlwaysAndWhenInUseUsageDescription to valid build.settings check
  • iOS: allowing linking static frameworks in plugins
  • iOS: audio recorder's isRunning would be false before recording permission is granted
  • iOS: no longer ignoring setting master volume to 0
  • iOS: now loadProducts callback is called even if request failed
  • macOS: Updated sound system to satisfy x64 requirements; dropped obsolete libraries which provided ogg/Vorbis support