FusePowered

Corona SDK Release Notes (Build 2013.1202)

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.1137


What’s New in This Release

  • Android: Added support for input devices supporting the HID protocol
    • Includes the Ouya, GameStick, MOGA Pro, and Nvidia Shield gamepads
    • Also includes support for keyboards, mice, touchpads, and other HID devices
  • Android: Updated the Facebook SDK to version 3.0.1
  • Android: Real time multiplayer support via Google Play game services
  • Core: display.newText now supports left, center, and right alignment.
  • iOS: Support for iOS Game Center turn-based multiplayer
  • Mac/Windows: Added “Ouya” and “GameStick” support for Android builds
  • Mac/Windows: Simulator now remembers build settings
  • Windows: Zoom level no longer limited by the resolution of the display
  • All: Real time multiplayer support via Photon Cloud (plugin)
  • Android/iOS: Real time analytics via Amplitude (plugin)
  • iOS: Native social popup for Facebook, Twitter, Weibo (plugin)
  • iOS: Address Book Access popup (plugin)
  • Ad Provider: Vungle (plugin)
  • Ad Provider: CrossInstall (plugin)
  • Cross Promotion: AppRever (plugin)
  • Cross Promotion: OneLouder/Pinsite (plugin)

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.
  • 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.)

New Features and Bug fixes

  • Android: Added new function system.getInputDevices() which fetches an array of all connected input devices.
  • Android: Added a new “inputDeviceStatus” event which is raised when a device has been connected, disconnected, or reconfigured.
  • Android: Added a new “axis” event. (Can be used to receive analog input from a gamepad’s joysticks and triggers.)
  • Android: Added a new “mouse” event for tracking the mouse cursor position and its button states.
  • Android: Modified “tap” event to only occur for a mouse when the primary mouse button is clicked, like how it works in the Corona Simulator. (Used to register a “tap” event for the middle and right mouse buttons.)
  • Android: Modified mouse handling to provide “touch” events while the primary/left mouse button is pressed, just like how it is handled by the Corona Simulator. (Provides easy mouse support for existing apps on devices that do not have a touchscreen, such as Ouya.)
  • Android: Updated “key” event to support all keys and gamepad buttons.
  • Android: Added properties “event.device”, “event.descriptor”, “event.nativeKeyCode”, “event.isShiftDown”, “event.isAltDown”, and “event.isCtrlDown” to the “key” event.
  • Android: Added game controller vibration/rumble support on Android 4.1 or higher devices. Can detect support via the InputDevice.canVibrate property. Can vibrate by calling the InputDevice:vibrate() function.
  • Android: Added intent filter support to the “build.settings” file. (Can be used to launch an app via a URL scheme. Also needed to categorize the app for Ouya.)
  • Android: Added Ouya app icon support. Set by adding an “Icon-ouya.png” that is 732x412 pixels in the root Corona project directory.
  • Android: Changed the Facebook implementation so that permissions are requested in batches instead of in one shot which caused issues with logging in. Casenum: 25128
  • Android: Fixed an issue where updating an app which uses expansion files would cause a crash on the first subsequent run if the expansion file itself wasn’t updated. Casenum: 23887
  • Android: Fixed bug introduced in daily build #1053 where offscreen TextFields and TextBoxes cannot receive the keyboard focus and will not provide “userInput” events. Casenum: 24464
  • Android: Fixed bug where Android 4.3 devices would wrongly wrap text when display.newText() is not set up for wrapping. Casenums: 25216, 25233
  • Android: Fixed bug where media.playVideo() will crash when the video finishes if Android developer option “Don’t keep activities” is checked on. Casenum: 25014
  • Android: Fixed issue with content-length on POSTs with multibyte characters.
  • Android: Improve error handling when an invalid APK is built (e.g. because of missing icon files)
  • Android: Landscape-only apps no longer require portrait orientation from a device. (Was preventing portrait only devices from buying a landscape only app from the app store.)
  • Android: Modified “display.statusBarHeight” and “display.topStatusBarContentHeight” to return zero for Ouya and GameStick.
  • Android: Modified native objects to not be culled by Corona when moved partially or completely offscreen.
  • Android: Removed the need for Facebook to require at least 1 permission.
  • Android: Resolve an issue where the sound would continue playing after a device’s power button was pressed. This also fixes an issue where the “applicationSuspend” event was not fired when the power button was pressed.
  • Android: Setting a text field to “isSecure” will not show suggestions anymore. Casenum: 22214
  • Android: The facebook.showDialog() event did not have a response. Now it has a response that matches what is in iOS.
  • Android: Update the Facebook SDK to version 3.0.1
  • Core: Added physics.setDebugErrorsEnabled() for extra run-time debugging information in Box2D.
  • Core: Added plugin version management.
  • Core: Added system.getInfo( “graphicsPipelineVersion” ).
  • Core: Added the “unsorted” behavior to physics.rayCast().
  • Core: Added additional diagnostics for potential build issues
  • Core: Added support for left/right/center alignment for multiline text in display.newText
  • Core: Added the ability to call the publishInstall function in the Facebook SDK which allows users to track the number of installs.
  • Core: Avoid using invalid points in b2Manifold.
  • Core: Don’t report plugin errors for non-supported platforms.
  • Core: Enabled physics.setDebugErrorsEnabled() by default (Mac simulator only).
  • Core: Fixed crash that can occur under certain circumstances if a focussed object is removed from the stage. Casenum 24058
  • Core: Fixed issue with AL_mixer which prevented more than 92 sounds being played sequentially. No casenum.
  • Core: Fixed issue with focus on child objects which could cause a crash. Casenum 21818, 23684
  • Core: Fixed the logic that selects the most recent version of a plugin to download.
  • Core: Fixed the physics debug drawing scale.
  • Core: Fixed various crashes associated with disposing of audio streams; issue error messages when invalid (usually previously disposed) streams are passed to various audio. APIs. Casenum 24229
  • Core: Fixed bug where “touch” event’s “time” property did not match the timestamps provided by the operating system while multitouch is activated.
  • Core: Prevent redownloading plugins that have been confirmed not to exist.
  • Core: Tweaked plugin downloading to handle case where plugin file is missing. No casenum.
  • Core: Upgrade JSON (dkjson) from version 2.1 to 2.3.
  • Enterprise/Android: Fix issue with spaces in Android Enterprise project names. Casenum: 19926
  • iOS: Added support for playerGroup, playerAttribute, inviteMessage, and maxPlayersAllowedMatch to iOS turn based multiplayer.
  • iOS: Allow native alert boxes without buttons. Undo the fix for casenum 20069.
  • iOS: Fixed media.show() crashing on iOS7, by adding a tag to the plist: CoronaUseIOS7LandscapeOnlyWorkaround. Casenum: 24796
  • iOS: Rebuild latest version of Facebook plugin. No casenum.
  • iOS: Removed all usage of MAC address for generating unique ids. Casenum: 25726
  • iOS: Removed WebView gray screen when loading hash fragments. Casenum: 21353
  • iOS: Support for iOS Game Center turn based multiplayer
  • iOS: Support iOS 6: system.getInfo(“deviceID”) now returns the MD5 hash of “identifierForVendor” because MAC address is no longer available. No casenum
  • iOS: Update Flurry plugin to version 4.2.3. No casenum.
  • iOS/Android: Fixed issue with not being able to turn off launchpad analytics (“launchPad = false” in config.lua). No casenum.
  • iOS/Android: Implemented Amplitude device analytics (note that apps built with this build and subsequent ones will no longer send analytics to the old system). No casenum.
  • Mac: Added Ouya and GameStick support to the Corona Simulator’s “View As” list.
  • Mac: Revert to behavior of requiring login on start of Simulator (if not already logged in). No casenum.
  • Mac: Various fixes to work better with IDEs; Simulator now remembers build settings per app. No casenum.
  • Mac/Windows: Added “Ouya” and “GameStick” to the Android build window’s store target list.
  • Mac/Windows: Added a readme file to the sample projects. Renamed some sample projects. Removed old sample projects.
  • Mac/Windows: Display an error if a plugin can’t be downloaded.
  • Mac/Windows: Fixed crash that sometimes occurs after an Android build if an app icon is missing.
  • Mac/Windows: Modified Android build error messages to be more human readable.
  • Widget 2.0: Added failsafe to the scrollBarOptions table of the tableView. No caesium.
  • Widget 2.0: Added instance methods setScrollWidth() / setScrollHeight(). Casenum 22869, 21859
  • Widget 2.0: Added tap event to the tabbar, fixes tap event propagation on the widgets behind tab bars. Casenum 24126
  • Widget 2.0: Adds a custom params table to the insertRow ethod of the tableview, allowing for easy attachment of custom data to table rows. Casenum 23811
  • Widget 2.0: Corrects the switch instantiation via image sheet. Casenum 23648
  • Widget 2.0: Creates the API method resizeView( newWidth ) for the progressView widget, allowing resize after creation. Casenum 21874
  • Widget 2.0: Enables choosing elements in the picker widget by tapping on them. Casenum 21788
  • Widget 2.0: Exposes the stepper inc/dec speed and iteration number properties. asenum 21958.
  • Widget 2.0: Fixed a bug in the pickerWheel where by a fast scroll, a nil value was returned. Casenum 23290
  • Widget 2.0: Fixed the widget TabBar image alignment bug + overlay file bug. Casenum 24916
  • Widget 2.0: Fixes an error while deleting all the tablerows. No casenum.
  • Widget 2.0: Fixes changing scroll direction when the swipe occurs near one of the view limits. Casenum 22607, 24316
  • Widget 2.0: Fixes involuntary scrolling after tapping and holding. Casenum 24244, 22607
  • Widget 2.0: Fixes positioning of segmented controls inside groups, as well as the inherited segment width variables in case of multiple instances being displayed. Casenum 24637, 24525
  • Widget 2.0: Fixes rows bouncing back when the touch finishes in tableView. Casenum 24857
  • Widget 2.0: Fixes scrollToIndex() not taking into account category rows. Casenum 24858
  • Widget 2.0: Fixes Switch crash. Casenum: 24168, 24146
  • Widget 2.0: Fixes TabBar errors when custom images not supplied. Casenum 23996
  • Widget 2.0: Fixes tableView deleteRow() and deleteRows() errors, as well as the number of rows being returned incorrectly. Casenum 24065, 23890, 23678
  • Widget 2.0: Fixes tableView objects having a width or height of 0 if the width or height parameters are omitted. Casenum 24856
  • Widget 2.0: Fixes tableView:scrollToIndex() working only once. Casenum 24859, 24639
  • Widget 2.0: Fixes the calculation of segmented controls. No casenum.
  • Widget 2.0: Fixes the custom scroll view scrollbar images not working. Casenum 24489
  • Widget 2.0: Fixes the newButton label Y centering problem. Casenum 23968
  • Widget 2.0: Fixes the progressView not being able to set a progress smaller than the actual value. Casenum 24797
  • Widget 2.0: Fixes the tabBar selected image to scale to custom height if defined. Casenum 21961
  • Widget 2.0: Fixes the tableView scrollbar skinning with imageSheets. Casenum 23646
  • Widget 2.0: Fixes the touch permission variable or tableviews if the view has hit bottom or top limit. Casenum 23406
  • Widget 2.0: Fixes unwanted animation of the tableView after deleting a row. Also updates the scrollbar position and scroll area after deletion. Casenum 24519
  • Widget 2.0: Fixing a regression bug in the pickerwheel. No casenum.
  • Widget 2.0: Picker view autocap text when defining large labels, and solving up the scroll issues at high speed to one of the list ends. Casenum 23290
  • Widget 2.0: Refactoring the isBounceEnabled property for the TableView widget. No casenum.
  • Widget 2.0: Removed delay in resetting the tapped cell’s background color. Casenum 24263
  • Widget 2.0: Return the correct value in the Picker when the user taps on a value. Casenum 24148
  • Widget 2.0: Small correction in the positioning of custom image files for the tab bars. No casenum.
  • Widget 2.0: The scrollview gets the .isBounceEnabled property that allows the view to bounce back or not, like the native behaviour. Casenum: 21357
  • Windows: Added “key” event support when simulating an Android device.
  • Windows: Added “mouse” event support when simulating an Android device.
  • Windows: Added Ouya and GameStick to the ViewAs menu.
  • Windows: Added sample project “Media/StreamVideoPort”.
  • Windows: Fixed bug where display.newText() would remove trailing spaces on Windows. (Now behaves like Mac, iOS, and Android.) Casenum: 24321
  • Windows: Fixed issues with multibyte UTF8 filenames. Various casenums.
  • Windows: Fixed bug where you can rotate the Welcome screen by pressing Ctrl+Left or Ctrl+Right.
  • Windows: Fixed Corona Simulator to load and build projects having unicode directory names.
  • Windows: Fixed login issue with “broken” ticket (Simulator exited silently); improved deauth behavior. No casenum.
  • Windows: Allow the simulator to zoom all the way in regardless of screen resolution.
  • Windows: Fixed issue with two instances of Simulator starting when a lua file was specified on the command line. Casenum 23206
  • Windows: Remember position of console window between restarts; reduce flashing of windows on startup. No casenum.
  • Windows: Revert to behavior of requiring login on start of Simulator (if not already logged in). No casenum.
  • Windows: Switching skins sometimes caused inconstant zoom level. You would be able to zoom in but can’t zoom back out. Casenum: 15795