Corona is a popular Lua powered mobile focused game engine, which just saw a new major release. Major features of this release include Spine animation support and support for high DPI screens on both Windows and Mac. There are several other new features however including:
Core and cross-platform features
- Meshes now supported via display.newMesh().
- Several filters and shaders updated to work with transparency.
- The system.canOpenURL() API is now available on all platforms.
- The network.request() API allows new HTTP verbs to be used. You can use PATCH or other verbs in addition to GET, HEAD, POST, PUT and DELETE.
- Addition of a new json.decodeFile() API which reads JSON files and turns them into Lua tables.
- New system.newEventDispatcher() API.
- The display.newEmitter() and video:load() APIs now let you use directories other than your resource directory.
- New APIs for texture management (graphics.newTexture() andgraphics.releaseTextures()).
- LuaSockets updated to “3.0-rc1” which supports IPv6 and fixes quite a few bugs. This was necessary to update the OpenSSL plugin and meet Apple’s requirements.
- Minor improvements to widget.newScrollView().
- Updated transition library with minor fixes around pausing, resuming, and cancelling transitions.
- Custom fonts can now be loaded simply by file name across all platforms.
Corona Simulator
- High resolution screen support for macOS (retina) and Windows screens (DPI Awareness).
- Console improvements.
- Updates to file handling for opening projects, including opening directories and dragging files to the Corona Simulator icon to open projects.
- native.showAlert() improvements on Windows.
- The Corona Simulator now warns you if a plugin is required and needs configuration within
build.settings
.- You now get warnings in the Corona Simulator when there is a file name mismatch due to case sensitivity.
Android
- Multi-Dex support.
- Improvements to Android 6.x permission handling.
- Support for Android Studio builds for Enterprise.
- Videos can now be loaded from all Corona-defined directories.
- Updated
libpng
to version 1.2.56.- Fixed an issue involving Java-based plugins and applications exiting.
- Improvements around licensing support.
iOS
- In-app purchase API store.purchase() can now take a table of item strings or a single item string, just like the similar API for other purchasing platforms.
- New lines handled correctly in display.newText().
- Improved rendering of large text objects.
- Camera fill can now be invalidated more than once per frame.
macOS
- Added support for system.setIdleTimer().
- Improved handling of full screen apps.
- Improved handling of native objects when resizing desktop builds.
- Improved rendering of large text objects.
- native.newTextBox() objects now support the “began” phase.
- You can now control the window’s title bar for desktop builds.
- Support for high resolution retina displays.
- Added the ability to show and hide the mouse using native.setProperty().
tvOS
- Support for On-Demand Resources.
- Remote handling improvements including “relativeTouch”.
- Improved rendering of large text objects.
Windows Phone 8 / Windows 10 Mobile
- Added Visual Studio 2015 and .NET 4.6 support to CoronaCards for Windows Phone.
Windows Desktop
- Easier to run Corona from the command line.
- Added support for surround sound audio (5.1 and 7.1).
- Support for high resolution screens with “DPI awareness”.
- Added the ability to show and hide the mouse using native.setProperty().
- Computers with touch screens will now show a virtual keyboard when you interact with native.newTextField() and native.newTextBox().
- Better formatting for Corona Simulator error messages.
This release is available for download here.