FusePowered

Corona SDK Release Notes (Build 2013.2076)

This document describes the changes to the Corona SDK on Mac OS X and Windows, including the simulator, and iOS and Android device builds since 2013.1202


What’s New in This Release

  • Dynamically-sized rectangular masks via containers
  • Custom (non-intersecting) polygons
  • Custom image fills in all shapes, not just quads
  • Multitexturing support via composite paints
  • Images for anti-aliased strokes and lines
  • Over 70 effects (filters, generators, and composites)
  • Multi-pass shaders via node-based shader graphs
  • Tiling via texture repeat modes
  • Texture transform properties (position, rotation, scale)
  • Quadrilateral perspective distortion for 2.5D/3D effects
  • Render to texture with snapshots
  • Canvas-style drawing with snapshots
  • Custom blend modes and Porter-Duff presets
  • Blend equation control: add, substract, and reverseSubtract
  • Alignment via anchors for responsive interfaces
  • Automatic batch detection
  • Updated Welcome Window

Please note the following

  • The Mac Simulator requires OSX 10.7 or later
  • For iOS builds (Mac), requires Xcode 4.5 or later and OSX 10.7 or later
  • For both Mac and Window Simulator, requires Java 6 (Java 7 is now supported but upgrading to Java 7 on Windows may require reinstalling JRE6 to use CoronaSDK builds older than 2013.1093). ¬†Only 32 bit JDK supported on Windows.
  • Any modern graphics card that supports OpenGL should work.
  • Mac/Windows simulators now require a login when the simulator is started. (Previously, you only were required to login when doing a build or running a Daily Build.)
  • Widgets have been modified to support Graphics 2.0. Please report any Widget problems using Corona's bug reports

New Features and Bug fixes

  • Android/iOS: Add the ability to detect when a user taps on a certain location within a map view.
  • Android/iOS: Add the ability to set the preferredMaxDuration and preferredQuality for captured videos. Also returns the duration and file size of the video.
  • Android/iOS: Added properties “xRaw”, “yRaw”, and “zRaw” to the accelerometer event.
  • Android/iOS: Added Tap events for map markers.
  • Android/iOS: Fixed some instances where the annotation wouldn’t show up or the dialog bubble woudldn’t show up. Casenum: 26678
  • Android/iOS: Move flurry from the core to a plugin.
  • Android/iOS: Return the original requested location for a map:requestLocation() function call.
  • Android: Added “Icon-xxhdpi.png” application icon support.
  • Android: Added support for native.newVideo().
  • Android: Composing email/sms lets the user choose the default app.
  • Android: Custom images for map markers.
  • Android: Fixed a possible issue which causes expansion files to not download.
  • Android: Fixed an issue on certain devices where the 2 characters would be deleted in a text field. Casenum: 26307
  • Android: Fixed an issue where map marker on touch listeners wouldn’t fire an event if there isn’t a subtitle or title.
  • Android: Fixed an issue where selecting or creating a video would return an invalid url.
  • Android: Fixed an issue where you couldn’t create a plugin for the native module because the package name can’t have “.native.” in it. Now instead of “.native.” in the package name it has to be “._native.” in the package name.
  • Android: Fixed crash that sometimes occurs while backing out of the app when using the “location”, “heading”, “accelerometer”, or “gyroscope” events.
  • Android: Made the cause of expansion file download errors are more obvious.
  • Android: Modified system.getInfo(“androidDisplayDensityName”) to return “xxhdpi” instead of “unknown” for that type of display.
  • Android: Optimized display.newText(). Creating and changing text is now faster, uses less memory, and causes far less Java garbage collection.
  • Android: Optimized loading of JPEG files having an EXIF orientation of 90, 180, or 270 degrees. Now loads 2–3 times faster and uses less memory. (This is a common case when loading images from the photo library or camera.)
  • Android: Optimized the loading of PNG image files.
  • Android: Slightly improved image and text loading performance some more.
  • Android: Support table listeners for map marker touch events.
  • Core: Add the ability to get videos from devices.
  • Core: Add the ability to remove a specific marker on a mapview.
  • Core: Added Transitions 2.0 and Easing 2.0. Transition 2.0 builds on the existing functionality of 1.0. Easing 2.0 includes all the functions from Robert Penner’s library ( 43 functions ).
  • Core: Fixed an issue where media.show() would not call back the listener and the display object would not be returned.
  • Core: Added media.captureVideo(), media.capturePhoto(), media.selectPhoto(), media.selectVideo() apis.
  • Core: display.newEmbossedText() text creation/update performance is now 3 times faster
  • Core: display.newEmbossedText() now supports properties "text" and "size" just like a display.newText() object. (Still supports old setText() and setSize() functions.)
  • Core: display.newEmbossedText() now supports an options table just like display.newText().
  • Core: display.newEmbossedText() shadow/highlight edges now respect the foreground text's alpha channel.
  • Core: display.newEmbossedText() now supports the display.setDefault("textColor") value which is white by default instead of always defaulting to black. (Will always default to black if using V1 compatibility mode.)
  • iOS: Added “SkipPNGCrush” build.settings directive - no casenum
  • iOS: Custom images for map markers.
  • iOS: Displaying the camera view will not show the status bar. Casenum: 26051
  • iOS: Fixed a crash when a map marker was added with an options table which doesn’t have both a title and subtitle. Casenum: 26704
  • iOS: Fixed a possible crash from pressing the return key on the keyboard.
  • iOS: Fixed an issue on iOS 7 where textFields and textBox’s text were 1 character behind what was typed. Casenum: 25282, 26140
  • iOS: Fixed an issue on iPads where meda.selectPhoto() and media.selectVideo() wouldn’t return any results.
  • iOS: Fixed an issue where facebook.login would not respond.
  • iOS: Fixed an issue where map marker touch events aren’t always fired.
  • iOS: Fixed an issue where the last line on multiline text didn’t show on iOS 7. Casenum: 26539
  • iOS: Fixed an issue where the status bar’s look wouldn’t change or hide. Casenum: 26056, 25715
  • iOS: Fixed an issue where the text from text fields and text boxes aren’t consistant with what is on the screen.
  • iOS: Fixes issue with media.show for camera and photolibrary crashing on iOS 7 in landscape mode (iPhone/iPod). Put CoronaUseIOS7LandscapeOnlyWorkaround in the plist section of the build.settings file.
  • iOS: Switch to building with iOS7 by default - no casenum
  • iOS: Updated the iOS implementation of Facebook so that it will request read and publish permissions seperately. There is no change required from the Lua side. This change will let iOS > 5 use the iOS native login dialog.
  • iOS: Fixed an issue with Facebook where requesting the same permissions over and over would launch the user to the facebook app each time.
  • iOS: Fixed an issue where editing text in the middle of a text field doesn't correctly edit the text.
  • Mac/Windows: various improvements to the command line debugger - no casenum
  • Mac: Fix a Mac Simulator crash. casenum 27230, 27231, 27247, 27254.
  • Mac: fix issue which caused build error when no build.settings file exists - casenum 26517
  • Mac: Fix occasional crash on exit - no casenum
  • Mac: Keyboard/mouse events. NOTE: The key names for special characters will not be correct.
  • Mac: Stop codesigning builds destined for the Xcode iOS Simulator on 10.9 - no casenum
  • Mac: Fixed issue with TextBox input in simulator on Mavericks
  • Physics: Disable Rtt_NotifyLuaInCallstack() until we fix it. This is related to, but DOESN’T fix, casenum 27230, 27231, 27247, 27254.
  • Transitions 2.0: Added opticnal debug flag and backwards compatibility with Transition 1.0 nil objects. Fixes for possible race conditions. Refactoring and performance improvements.
  • Transitions 2.0: Added restore transition.dissolve
  • Transitions 2.0: Fixing issues when using easing with delta.
  • Widgets: Add in the iOS7 theme for widgets.
  • Widgets: Adding inclusion of the local copy of the slider widget.
  • Widgets: Adding the property scrollBarAutoHide to the constructor for tableView and scrollView. Also fixing a bug that went unnoticed where the scrollbar was created multiple times.
  • Widgets: Detecting swipe events on the tableView while in the “moved” phase.
  • Widgets: Fixes issues when not setting width or height in the scrollView constructor. Casenum #25256.
  • Widgets: Fixes the slider widget not propagating the began phase.
  • Widgets: Fixes the tableView losing touch listener when entering suspend. Casenum #24731.
  • Widgets: Recreate native behavior when scrolling to a limit and tapping really fast. Also fixes scroll-back bugs. Casenum #26164.
  • Widgets: Removed test for tableView getRowAtIndex for the moment.
  • Widgets: Scroll direction propagation in the touch event, moved phase. Also fixing the horizontal snapback for scrollviews. Casenum: #24995, #26409.
  • Widgets: Shows the iOS 7 theme by default on iOS 7 devices. iOS 6 devices continue to show the iOS 6 theme.
  • Widgets: Small fixes to the tableView row rendering. Adding tableView:reloadData() method for re-rendering. No casenum.
  • Widgets: Fixed an issue where a stray event listener would cause a runtime error.
  • Windows: Added “Icon-xxhdpi” Android app icons to all sample projects.
  • Windows: Added sample project “Media\NewVideo” which demonstrates how to use the native.newVideo() API.
  • Windows: Fix a crash that occurred due to an interaction between automatic project reloads and runtime errors - no casenum
  • Windows: Implement “relaunch on project change” and “open last active project” to match Mac functionality - no casenum