Release Notes (Build 2017.3068)

This document describes the changes to Corona Labs' suite of products, including the Corona Simulator, CoronaCards, Corona Enterprise, and device builds for iOS, tvOS, Android, and Windows Phone since 2016.2992.


What’s New in This Release

  • Live Builds now works with the Windows Simulator and tvOS devices are included in devices that can use Live Builds.
  • Native webView objects are now available for both the Corona Simulator for Windows and Win32 desktop builds.
  • Key events are now sent to iOS-based Simulator skins.
  • The system.getInfo("platform") call returns the platform the Simulator skin represents.
  • Changes to support iOS 10.3. iOS 8.0 is now the minimum for iOS. Android now supports SDK level 25 (Android 7.1) and the minimum support is SDK level 15 (Android 4.0.3)
  • A new system directory, system.ApplicationSupportDirectory as been added.
  • Both native.newVideo() and media.playVideo() now work in both the Windows and macOS versions of the Corona Simulator.
  • New status bar types have been added for displayStatusBar() to support new Android styles.
  • You can now clear your project sandbox files from the Simulator menu.

Please note the following

  • The macOS Simulator requires macOS 10.11 or later.
  • For iOS builds (macOS), requires Xcode 8.3 or later. Note: Xcode version must match the iOS build.
  • Requires a modern graphics card that supports OpenGL 2.1 and higher.
  • For iOS the minimum version supported is 8.0.
  • For Android the minimum version supported is 4.0.3.

New Features and Bug fixes

  • All: add new basedir: system.ApplicationSupportDirectory.
  • All: improve error messages for display.newText().
  • All: revert physics debug draw mode to better reflect the actual bounds and positions of physical objects which exist in groups that have been scaled or translated.
  • Android: activate Android Dependency Plugin support.
  • Android: add support for androidSystemUiVisibility on Amazon devices.
  • Android: application icons are now placed in the APK's /res/mipmap/ directory instead of the /res/drawable directory.
  • Android: changing target SDK version to latest (25).
  • Android: fix a possible bad state when calling object:startRecording() on a device that does not have a microphone.
  • Android: fix an issue where native.canShowPopup() and system.canOpenURL() could provide false-positive results on Android TV devices.
  • Android: fix issue which prevented APKs with more than 32767 files from working.
  • Android: fix issue with Camera in API level 24 and above.
  • Android: fix possible NPEs when the permission rationale dialog is cancelled out of, the setting redirect dialog is cancelled out of, or results of a runtime permission request are being forwarded to Lua.
  • Android: fix possible NPEs with system.openURL("tel:") on Android 6 and above.
  • Android: fix signing issue caused by macOS "Icon\r" files in the project tree.
  • Android: improve status bar height determination for Amazon devices and TV devices.
  • Android: Live Builds custom font lookup fix (no casenum).
  • Android: move minSdkVersion from 10 (Android 2.3.3) to 15 (Android 4.0.3).
  • Android: moving notification receiver entry from Core manifest template to the plugin. This may affect scheduled notifications functionality unless notification plugin is included in build.settings.
  • Android: refactoring asset loading to work better with Live Builds.
  • Core: add display.LightTransparentStatusBar and display.DarkTransparentStatusBar constants enabling modern status bar look on Android.
  • Core: add support for system.getInfo("manufacturer") on all platforms.
  • Core: fix crash in DisplayObject:toFront() when used on certain types of object (e.g. snapshot groups).
  • Core: fix crash when GroupObject:remove() is called with invalid parameters.
  • Core: modified "tap", "touch", and "mouse" events to return fractional (x,y) coordinates (was returning them as integers).
  • Core: modified Lua *.addEventListener() to not immediately invoke the given event listener if added while the event is being dispatched (you no longer have to delay adding an event listener via a timer).
  • Core: tweaking newText parameters validation.
  • Corona Live Builds: multiple improvements.
  • CoronaBuilder: improve error reporting when a build can't be done due to a missing SDK.
  • Enterprise: update Android project template to target API level 25.
  • Enterprise: revamp macOS and Windows plugin templates.
  • iOS, Core: fix issue when audio failed to load under certain conditions (splash screen, app being suspended, etc.).
  • iOS, tvOS: further improve behavior of codesigning with respect to macOS extended attributes.
  • iOS: changing minimum required version to 8.0, moving to clang and libc++.
  • iOS: fix issue when building for device with native plugins.
  • iOS: fix issue with GPS events on iOS 10.3.
  • iOS: fix possible false-positives with native.canShowPopup("mail") and native.canShowPopup("sms").
  • iOS: minor improvement for Live Builds with MFi controllers.
  • iOS: remove Default-568h@2x.png from template; warn if neither settings.iphone.plist.UILaunchStoryboardName nor settings.iphone.plist.UILaunchImages is in build.settings.
  • macOS Simulator: adding iOS 3D touch simulation with pressure sensitive touchpad.
  • macOS, Windows: add GooglePlayGamesOAuth2ClientId to recognized valid build.settings keys to prevent warning.
  • macOS, Windows: improve reliability of plugin downloads.
  • macOS, Windows: modernize device skins in the Corona Simulator.
  • macOS, Windows: warn if a listener is set for 'key' events when using an iOS or tvOS skin and key events are now sent for iOS skins on Windows.
  • macOS/iOS/tvOS: add support for building with Xcode 8.2 against iOS 10.2/tvOS 10.1 templates.
  • macOS: "Copy and Launch" for Android devices will now alert developers if the connected Android device is running an unsupported Android OS version.
  • macOS: "Show Project Sandbox" now opens the sandbox folder for the current project.
  • macOS: add "Clear Project Sandbox" to the File menu.
  • macOS: add link to documentation in Live Server's Help menu.
  • macOS: change save location used by display.captureScreen() to ~/Pictures (from ~/Desktop) to better match other platforms and support Mac App Store sandboxing.
  • macOS: fix a couple of cases where video objects could cause unexpected exits.
  • macOS: fix a hard to reproduce crash when logging to Corona Console.
  • macOS: fix codesigning "detritus" issue building iOS, tvOS and macOS apps.
  • macOS: fix crash when closing the current project in full screen.
  • macOS: fix issue installing apps on tvOS Simulator with some versions of Xcode.
  • macOS: fix issue with Pure Lua plugins and macOS desktop builds.
  • macOS: implement native.newVideo() and media.playVideo() in the Simulator and Desktop apps.
  • macOS: improve validation of build dialogs (and fix occasional greyed out "Build" button).
  • macOS: improve warning message when a file is referenced with incorrect case in the name.
  • macOS: removing icons from debugger and Corona Terminal to fix code signing.
  • macOS: SDK's "debugger" command line tool now closes previous Corona Simulator app instances (if any) before launching a new app instance in debug mode.
  • macOS: symlink support for Live Builds.
  • macOS: webView & webPopup now emulate modern browsers and ignore JavaScript window operations like moveBy() and resizeTo().
  • Network: improve error reporting.
  • Simulators: add "Platform" option to "Custom Device" dialog so the value returned by system.getInfo('platform') can be controlled.
  • Simulators: system.getInfo('platform') now returns a value based on the skin currently in use rather than the underlying host operating system as originally intended.
  • Simulators: update 'New Project' templates for change in minimum iOS version to 8.0.
  • tvOS: fix builds which include native but not Lua plugins.
  • tvOS: fix On-Demand Resources packaging being skipped.
  • Widgets: change default widget theme for Android to "holo light"; improve error handling for TabBar:setSelected().
  • Widgets: fix TableView issue with culled category rows.
  • Widgets: fix slider issue when x or y is not specified in constructor.
  • Widgets: fix slider positioning when handle exceeds expected group bounds.
  • Windows, macOS: fix Live Builds when using Lua plugins.
  • Windows, macOS: minor changes to script verifying build.settings.
  • Windows: "Corona.Debugger.exe" command line tool now closes previous Corona Simulator app instances that are in debug mode (if any) before launching a new app instance.
  • Windows: add "Clear Project Sandbox" to the File menu.
  • Windows: add a WebView demo link to the bottom of the Corona Simulator "welcome" window. Try it out!
  • Windows: add an Alt+L shortcut to "Android Build Setup" dialog used to quickly check/uncheck Live Build option.
  • Windows: add multitouch support on Windows 7 and newer OS versions via a touchscreen monitor (stylus not supported).
  • Windows: add native WebView/WebPopup support.
  • Windows: fix a crash when a file that doesn't contain a valid image is loaded as an image.
  • Windows: fix bug where single line text object's would sometimes not render the last character when using a fractional content scale (was doing line wrapping when it shouldn't have).
  • Windows: fix bug with native TextField/TextBox where setting the "size" property to nil would log an error instead of setting it to the system default font size (as documented).
  • Windows: fix center-aligned and right-aligned text to not render newline '\n' characters as spaces (this would sometimes clip the left-most character on the wrapped line, which is now fixed).
  • Windows: fix edge case in font loading for Windows 7 and older (casenum 8031794).
  • Windows: fix issue in "Android Build Setup" dialog where checking the "Create Live Build" option and letting it switch to a "debug.keystore" would cause it to use the previous keystore's "Key Alias" by mistake. Would cause a signing issue.
  • Windows: fix issue where "Corona.Debugger.exe" would not always log messages received during an "applicationExit".
  • Windows: fix issue where a Win32 desktop app would pause rendering while resizing the window.
  • Windows: fix issue where last selected device skin would not be remembered by the Corona Simulator if launching it in the debugger while another simulator app is already running in debug mode.
  • Windows: fix issue where project would sometimes continuously reload if it is on a network drive.
  • Windows: fix issue which caused image files to be locked while project was open in the Simulator.
  • Windows: fix SDK's "Corona.Debugger.exe" command line tool to not error out on startup.
  • Windows: fix tabbing order of "Create Live Build" checkbox in the "Android Build Setup" dialog.
  • Windows: fix text issue where same characters can be rendered inconsistently for font sizes greater than 20 pixels. Text rendering is now pixel-aligned, preventing random edges of characters from appearing blurry (note that character layout will be slightly different).
  • Windows: fixing issues with non-ASCII filenames when using Live Builds.
  • Windows: improve error message when client can't connect to server.
  • Windows: improve text quality of Corona Simulator's Welcome window.
  • Windows: install program now adds the "Corona.Debugger.exe" command line tool to the firewall's exception list (avoids firewall warning upon first launch).
  • Windows: install program now remembers last custom install path when doing an upgrade.
  • Windows: modified "Android Build Setup" dialog to remember the "Create Live Build" checkbox state.
  • Windows: modified "Corona.Debugger.exe" to log the Corona Simulator's output to the console/stdout instead of the logging window.
  • Windows: modified Corona logging window to show a 16x16 app icon instead of downscaling a 32x32 icon.
  • Windows: modified multiline text to not apply the font's "line height" below the last line (now matches Android's behavior; only applied between lines).
  • Windows: modified text objects to be screen-pixel-aligned by the renderer (prevents text from appearing blurry on low DPI monitors when a text object lands between screen pixels, which avoids having the GPU interpolate the text image's pixels between screen pixels).
  • Windows: new menu item to bring Corona Console window to the front.