A new build of Corona SDK is now available to subscribers. Not a subscriber?Subscribe now. CoronaSDK 2012.820 | Released: 22 May 2012, 2:02am | What's New | Download Now
Corona Daily Builds Summary
CoronaSDK 2012.820
Tue, 2012-05-22 02:02
Release notes for build 2012.819 through 2012.820
ImageGroup: fixes casenum: 13834. When removing objects from the display group, other sprites (and possibly other objects) would disappear.
Widget: Added "noLines" option to to widget.newTableView() to hide lines between rows. Also fixed a bug where requiring "widget" would sometimes cause display.remove() nil-checking to not work correctly. Casenums: 14105, 14283
Android: Fixed app startup crash on Nook Color caused by build 797. casenum: 14031, 14301
UDID updates
Android: Optimized image loader which became over 2x slower as of build 765. Now loads images just as fast as it did before build 765. casenum: 14153
Android: Removed the "Papaya" game network. It is no longer supported.
Windows: Removed sample project "GameNetwork/Papaya". The Papaya game network is no longer supported.
Android: Fixed bug where web popups would have rendering glitches and not show a transparent background on Android 4.x devices.
casenum 14364: iOS: Workaround to try to avoid the blank white screen OpenGL failure when launching too many simultaneous Corona apps on iPad 3 (radar://11477835). This changes the suspend/resume behavior to try to release OpenGL resources that are easily reconstructed on resume without losing any user state. Please test this to make sure there are no regressions introduced by this new suspend/resume behavior.
Fixes casenum: 14332. In storyboard.reloadScene(), a "createScene" event was being dispatched after "willEnterScene" when it should have been an "enterScene" event.
Storyboard: Added an 'isModal' option to storyboard.showOverlay(). When set to true, it prevents touches from "going through" the overlay scene to the underlying active storyboard scene.
iOS: fixes casenum:14219. Listener wasn't getting called on Inneractive.
Game Center: Internal refactoring of Game Center init/authorization.
Android: Fixed bug where the app would restart when changing orientation on an Android 4.x device.
Android: Greatly improved rendering performance on apps that use "audio" APIs on single core devices. Over 6x FPS increase.
Android: Fixed bug where a suspended app that uses the "audio" APIs would peg the CPU.
Android: Fixed bug where a suspended app that uses the "audio" APIs would not allow the Ringer Volume to be changed. casenum: 11713
Android: Fixed compiler error.
Facebook: Fixes issue introduced in 2012.812. Possibly resolves casenum: 14309 (initial action works on FB but subsequent action does not). If you were seeing something like the following in the console (-[IPhoneFBDelegate dispatchLoginEvent:]: unrecognized selector sent to instance 0x1d59b530) this is the fix for you.
Android: Fixed crasher with network.request() and network.download() if the HTTP response is malformed.
casenum 13087: Core: Fixes removeListener for GPS and other hardware components to call the proper (internal) hardware shutdown sequences to conserve battery power.
Fixes casenum: 14243 - Regression bug where "attempt to index field '?' (a nil value)" errors would sometimes occur when storyboard.removeScene() and storyboard.removeAll() was called.
GameNetwork: Based on feedback about native Game Center APIs, added compatibility keys for gameNetwork.request("setHighScore", { ? }) for OpenFeint and Papaya so you don't need to call the API two different ways. Now with OpenFeint and Papaya, you may use 'category' instead of 'leaderboardID' and 'value' instead of 'score'. The original values will continue to work. If both versions are specified in the same call, 'category' and 'value' will win.
casenum 13526: iOS: In-App Purchases: store.restore failures/cancellations now give you a callback with the transaction.state of "failed". The errorType will be "restoredFailed". The errorString will give you Apple specific information about the kind of failure (e.g. ''Cannot connect to iTunes Store', Your Apple ID or password is incorrect.'). Note that Android will never give you this errorType since it doesn't make strong distinctions between buy/restore.
Storyboard: Added storyboard.isDebug flag that will print useful messages to the Terminal in several different situations (default is false). Added storyboard.purgeOnSceneChange flag that will automatically purge all scenes whenever a scene change occurs (for those who don't want to think about manually purging scenes, and for Android devices with unreliable low memory warning reporting; default is false). Fixed issues with storyboard.reloadScene(). Added storyboard.printMemUsage() which displays Lua/texture memory usage info (but only if storyboard.isDebug flag is set to true). Fixed bug where storyboard.getPrevious() and storyboard.getCurrentSceneName() would always be the same. Casenum: 13964
Added event.phase property to audio event for consistency (currently only takes on "stopped" value)
Fixes casenum 13734: display.newEmbossedText() objects were inconsistent with display.newText() objects when width/height is specified. The deprecated display.newRetinaText() now routes to display.newText() since the latter is now retina-aware.
casenum 13060: Corona will now automatically suspend playing native.newVideo's when the application suspends and resume playing when the application resumes. This will avoid the blank white rectangle problem which is caused by having a video view that is not playing. Please note that an ended video view on iOS may show a blank white rectangle on a resume. If you don't like this behavior, it is up to you to do something on the video did-end notification and/or file a bug with Apple. Also added a new isPaused property to the native video view object.
Fixes casenum: 13998, 12423, 13192. Adds event.expiration for Facebook login events on iOS/Android. Fixes content scaling/full resolution on desktop simulator (this problem would occur only for image dimentions > 2048). Fixes UTC time bug in system.scheduleNotification()
casenum 13547: Fixed bug where internal flags didn't get reset after the video ended which would impact subsequent plays on the same video.
casenum 13760: Simulator/Core: Modified 'require' to error out if the package name uses '/' path separators instead of '.'. This is intended to avoid the problem of slashes working on the simulator but failing on devices. See the simulator console to help you track down the offending lines of code in your program.
iOS/Mac: Added API to control (disable) iCloud backups on per-file basis. value, errorstr = native.setSync("file4.txt", { iCloudBackup=false } ). value is true on success/false on failure. errorstr will be set with the error string on failure. value, errorstr = native.getSync("file4.txt", { key="iCloudBackup" } ) gets the current extended attribute setting. If an error occurs, errorstr will be set with a string, otherwise it is nil. The default base directory is the Documents directory (because that is the only folder that is backed up by iCloud). Other platforms return nil when these APIs are called.
fix compile error
Cases affected:
CoronaSDK 2012.807
Mon, 2012-05-07 18:37
Release notes for build 2012.806 through 2012.807
Fixed regression bug that caused storyboard scenes to not load properly on device (cause by casenum 13968 fix).
Core: Waypoint: Updated Android, iOS, and Mac build systems to include LuaFileSystem. We needed to fork LuaFileSystem to deal with getcwd (for lfs.currentdir) not working on Android. Our LuaFileSystem is currently based off the official tip (c3bfe63e00a88a9be4c95425900a7d03038a4fb8) which has changed some APIs since the last 1.5.0 release so the official documentation is a little out-of-date. It appears there are some minor breaking changes with symlink support plus a new API to create symlinks natively (on platforms that support symlinks).
Core: Waypoint: Update to .hgsubstate which didn't seem to take in the last commit.
Repo Maint: Added separate platform license files for external projects.
Fix compile error
More compile errors
build script maintenance
Fixes antialiasing issues of vector objects (rects, rounded rects, circles), a regression introduced in daily build 759. Casenum: 12930, 12942, 13228, 13743, 13942.
build script maintenance
Windows: Added directory creation, deletion, and file traversal support via new Lua "lfs" module.
Android: Fixed issue where Corona would sometime use a software implementation of OpenGL which has bad performance and masking/blending issues. Now forced to use hardware accelerated rendering.
Android: Fixed bug where polygons (rectangles, circles, etc.) are not drawn on the first render pass on some Android devices such as HTCs and Droids. casenum: 13818
Simulator: cleaned up iPad (retina) simulator skin.
Add support for table listeners to network.setStatusListener(). Previously, only function listeners were supported. The table should have a property called "networkStatus" that is a function, e.g. 'function table:networkStatus( event )'
Repo maintenance
Core/Mac: Waypoint: Fixes to detect bad build.settings during a build, abort the build, and show an alert.
Repo Maint: Added first subrepo.
Windows: Now logs stderr to the Corona Simulator Output console window. Was only logging stdout before.
Windows: Fixed bug where Android build crashes if there is an error in the "build.settings" file. Now displays an error indicating where the error is in the file. casenum: 11755
updated hgsub file to include http subpaths redirect
Android: Fixed bug where text, rectangles, and circles with alpha applied come out much darker than they should on Kindle Fire and Nook Tablet. (Was okay on other devices.) casenum: 13420
Android: Fixed issue where a native.showAlert() having more than 3 buttons can be canceled out by tapping anywhere on the screen on Android 3.x devices.
Mac: Improve workflow on renewals. casenum: 13715
Storyboard: Added storyboard.showOverlay() and storyboard.hideOverlay() which introduces scene "popup" functionality as requested. Both functions support the same scene effects that are available for normal scene transitions. Scene's now have two new events: "overlayBegan" and "overlayEnded", which get dispatched on the current scene when an overlay scene is shown and when it is removed. Fixed a bug with storyboard.reloadScene() that was causing errors to occur for some users. Fixed an issue where a scene might get purged on its way out if the next scene is "heavy" on resources. Also fixed a bug where "willEnterScene" was not getting dispatched at the correct time (casenum 13792).
iOS: Update 3rd party libraries that support UDID deprecation: Flurry (v3.1), InMobi (i350), inneractive (v1.1.1). Remove SuperRewards on iOS b/c SuperRewards has dropped iOS support (and their old library uses deprecated UDID API's).
Audio: New workarounds for iOS/Mac audio suspend and resume problems when running multiple OpenAL apps. Switching between the apps will cause audio to fail to resume. (Apple's mediaserverd process crashes.) There are two Apple bugs in conflict rdar://10081775 and rdar://10929452. The first bug is a race condition in Apple's OpenAL implementation with setting the OpenAL context after resume/interruption. So in 8521ef1d7adc (9 months ago), we introduced a workaround which treated suspend and interruptions differently and only manipulated the OpenAL context for true interruption events (e.g. phone call, alarm). But iOS 5 has broken this behavior and now requires the OpenAL context to be set to NULL in both cases or it triggers the new mediaserverd crashing bug (10929452). So we must change this behavior to always set the OpenAL context to NULL. This will reintroduce the bug where audio won't always resume when resuming an app. We've introduced a 60ms sleep (determined experimentally) on resume to try to minimize the audio not resuming problem. In our experiments it works 19/20-ths of the time. All iOS and Mac platforms will experience this sleep/pause on audio resumes. Android and Windows will not have the sleep, but they also set the OpenAL context like the Apple counterparts. If you want these bugs truly fixed, you must file bugs with Apple. Refer to rdar://10081775 and rdar://10929452.
Audio: Additional tweak to workarounds for iOS/Mac audio suspend and resume problems when running multiple OpenAL apps. We moved the sleep into suspend instead of resume as was able to use 20ms instead of 60ms. You should still file bugs with Apple. Refer to rdar://10081775 and rdar://10929452.
Core: Fixed bug that occurred with object:addEventListener() when no listener was specified --it's working properly now. For table listeners, you no longer need to specify a second argument (it assumes self).
Storyboard: Modified storyboard.gotoScene() to auto-correct itself if a colon is used instead of a dot. Also modified storyboard.loadScene() to issue a warning instead if that same mistake is made. Fixed several transition effect bugs, including an issue that occurred on some scenes that were transitioned without an effect. Casenum: 13718
Widget: Fixed font rendering issues with widgets that used embossed text. Casenum 13734
Fixes casenum:13428, 12364. Addressed simulator flickering due to main.lua code sending in NaN values for (x,y) of a display/group objects. Fixed crash in hit testing of mask.
Improve error msg in transition library for NaN values.
fixes casenum: 13517. line:append() was broken.
fixes casenum: 11537. obj:setFillColor() not updating tint on images until something else updates
Core: fixes casenum: 11416. Enforce that the optional parent argument to display.newRect (and other constructors) should be a group object.
Core: Modified object:addEventListener() to assume 'self' if no listener is specified. e.g. obj:addEventListener( "touch" ) is now equivalent to? obj:addEventListener( "touch", obj )
Enterprise changes.
Core: Check to make sure table listener exists on object before performing assignment with object:addEventListener() modification in the case where the listener (2nd argument) is left out.
Widget API: Changed widget version to 0.6.5. Fixed bug where variables were being leaked into global namespace. Fixed bug where current category row would be rendered underneath the pinned-to-top category row (it could be seen if the category row was transparent). Fixes bug where currently pinned-to-top category moves above other category item as it is being pushed up, if a touch starts in that position. Fixed bug where "beganScroll" event.type would not get dispatched when user taps a scrollView, but "endedScroll" would get dispatched. Fixed bug where setting .isLocked property to true would prevent tableView rows from being pressed. Fixed bug where scrollView scrolling would get disabled when all children were removed, and then another child is added later on. Casenums: 12502, 11621, 12011, 11440, 12255, 11761
Storyboard API: Added a terminal Warning statement that will help users catch errors that are a result of them not returning the scene object at the end of their scene module (common mistake). Fixed bug where storyboard.removeAll() would not remove a scene that was loaded using the storyboard.loadScene() function. Also added "parameter passing" feature which allows an optional table to be passed into the scene event table for "createScene", "willEnterScene", and "enterScene" events when using storyboard.gotoScene() or storyboard.loadScene() (documentation forthcoming). Casenums: 11003, 13323
Core: Fixed bug where physics postCollision event would provide the wrong values for event.x, event.y, event.element1, and event.element2. casenum: 11815
Android: Now targets and builds for Android 4.0.3 (API Level 15). Still supports Android 2.2 (API Level 8) for backward compatibility. Prevents compatibility mode on newest devices.
Mac: Renamed field "Target OS Compatibility" to "Minimum SDK Version" in all Android Build windows. Corona now targets Android 4.0.3, but will make the minimum version settable in the future.
Windows: Fixed compiler error.
Windows: Renamed field "Target OS Compatibility" to "Minimum SDK Version" in all Android Build windows. Corona now targets Android 4.0.3, but will make the minimum version settable in the future.
Cases affected:
CoronaSDK 2012.783
Thu, 2012-04-12 01:50
Release notes for build 2012.782 through 2012.783
Android: Added support for the device's default Camera app for the media.show() function, but only if the "WRITE_EXTERNAL_STORAGE" permission is set and if the device has external storage. Otherwise it will default to Corona internal camera view as before. casenum: 12852
Android: Modified network.request() and network.download() to support HTTP methods PUT, DELETE, and HEAD needed to support the REST API. (Already supported GET and POST.) casenum: 9199
Storyboard: Renamed "enterBegan" event to "willEnterScene" and "exitEnded" event to "didExitScene" (for clarity). Fixed a small bug where calling storyboard.loadScene() would cause the loaded scene to interfere with current scene. Fixed another small bug where "destroyScene" event would get dispatched on every scene purge, when it should only get dispatched if the scene's view currently exists.
Storyboard: Added two new functions, storyboard.reloadScene() to reload the current scene (transition effects are not allowed for reloads), and storyboard.getCurrentSceneName() as a convenience function. Also fixed a bug with storyboard.gotoScene() that will redirect to storyboard.reloadScene() if the current scene is called.
Enterprise
Fix compile errors
U.S.S. Enterprise NCC-1701
U.S.S. Enterprise NCC-1701
U.S.S. Enterprise NCC-1701
Windows: Added "iPad Retina" support to Corona Simulator.