Marmalade Changelog

What's new in Marmalade 7.10 Build 448435

Oct 24, 2015
  • HIGHLIGHTS:
  • Visual Studio debugger and GDB support for Android.
  • Marmalade Quick support for IPv6.
  • CHANGED SINCE 7.9:
  • Marmalade Hub:
  • MSDK-1516 Fixed an issue on Windows that prevented newer versions of iTunes from being detected by the Dependency Checker.
  • Marmalade Quick:
  • MSDK-1582 Networking library for Marmalade Quick updated with IPv6 support.
  • MSDK-1620 Render Texture example improved to show more efficient usage of sprites.
  • MSDK-1476 Fixed an issue when deploying from the command line that could cause app binaries to fail to be located.
  • Middleware:
  • IwGx (MSDK-1524) Fixed an issue with CIwTexture::LoadFromFile() where alpha was incorrectly converted for 32-bit images.
  • IwCRT (MSDK-1610) Implemented getaddrinfo() and freeaddrinfo() functions.
  • IwTwitter (MSDK-942) Fixed an unknown error during socket connection that prevented a session from being established.
  • Platform Abstraction:
  • s3eSocket (MSDK-1603) Fixed an issue on iOS where no connection would be reported when connected via an indirect network connection type (ad-hoc networks or IPv6 tunnels). You can restore the previous behaviour if required by setting IOSUnreachableIndirect to 1 in your app's ICF.
  • iOS:
  • MSDK-1471 Fixed an issue that could cause touch callbacks to be lost when playing video.
  • MSDK-1281 Fixed an issue that prevented correct resizing of video when device orientation was changed.
  • Android:
  • Beta support for Android Native Debug mode, allowing you to use the Visual Studio Debugger or GDB to debug your Marmalade apps on Android devices.
  • Google Native Client:
  • MSDK-1584 Fixed an issue that could cause a black screen on startup.
  • Examples:
  • IwHTTPExample (MSDK-1574) Example now fails gracefully rather than crashing when unable to connect to an IPv6 address on 64-bit Android devices.

New in Marmalade 7.8.1 Build 441714 (Aug 20, 2015)

  • Highlights:
  • Initial support for Xcode 7 beta.
  • New OneSignal extension (previously known as GameThrive).
  • Updated native SDKs for Chartboost extension, with support for rewarded ads.
  • Updated Windows Phone/Store SDKs for Facebook extension.
  • Updated GameHouse Promotion Network extension.
  • Updated Windows Phone/Store SDKs for AdDuplex extension.

New in Marmalade 7.8.0 Build 435436 (Jun 15, 2015)

  • HIGHLIGHTS:
  • DirectX 11 extension for Windows platforms allowing you to take advantage of Microsoft's low-level graphics API.
  • Google AdMob extension now supported on iOS.
  • InMobi extension now supports rewarded ads.
  • Facebook extension updated to use v3.23.2 (iOS)/v3.22 (Android) of the native SDK and to support v2.x of the Graph API.
  • Advert splash screen for free apps is now dynamic (currently Android/US only with further platforms/geographies to follow).
  • iOS extensions using Objective-C source can now be built with support for ARC.
  • CHANGED SINCE 7.7:
  • Documentation:
  • Added info on exception style catching of runtime errors to the Introduction to Lua.
  • Improved Quick Tween library and RenderTexture object documentation.
  • Added page for the onComplete event type, which is fired when tween cycles complete.
  • Updated the Facebook extension docs with more information on creating a Facebook app, including the extension in Core projects and generating key hashes for Android.
  • MSDK-1040 Improved documentation around obscured/unobscured event handling on Windows Phone 8/8.1 platforms.
  • Marmalade Hub:
  • MAC-219 Added ability to pick release vs debug loader for Simulator in the Hub. This works for all project types (C++, Lua, etc.). For new Quick projects, Release is now the default setting for both app binary and loader in the Simulator as with other platforms.
  • MSDK-966 Fixed an issue that could cause first time building of examples to not show any build output.
  • MSDK-938 Fixed an issue where removing a platform from the Platform List in the Dependency Checker was not always reflected in the project's Platform List.
  • MSDK-923 The project's Platform List now tracks the selected platforms from the Platform List in the Dependency Checker.
  • MSDK-922 The Simulator is now the default platform (regression in Marmalade 7.7).
  • Marmalade Quick:
  • MAC-169 Improved examples for Quick label/text objects. See quick/data/examples/Labels And Text.
  • MAC-271 Facebook library updated to latest version of s3eFacebook extension.
  • MSDK-781, MSDK-791 Following s3eFacebook extension update, Quick MKB files have been updated to use facebook_app_id instead of app_id.
  • MSDK-1012 Fixed an issue where the device language enumeration contained a duplicate key, leading to incorrect reporting of language in device info.
  • MSDK-1007 Fixed an issue that caused precompiled Lua deployment asset sets to also include non-compiled code.
  • MSDK-850 Fixed an issue that could cause the "Device Info" example to crash on some iOS platforms.
  • MSDK-971 Added missing targeting options API to Amazon Ads library.
  • MSDK-875 Fixed a crash when using Amazon Ads library on 64-bit iOS devices.
  • MAC-242 Fixed an incorrect binding for the canPlayVideo event in the Amazon Ads library.
  • MAC-282 Fixed an issue where the chromakey filter effect did not respect the .color property.
  • MAC-223 Fixed an issue where scene transitions did not update to take account of screen size changes/rotation events.
  • Platform Abstraction:
  • s3eKeyboard (MSDK-775) Back button can now be used to dismiss on-screen keyboard (Windows Phone 8/8.1).
  • s3eKeyboard (MSDK-775) Documented platform restrictions for back button (s3eKeyAbsBSK) (Windows Phone 8/8.1).
  • s3eKeyboard (MSDK-369) Fixed an issue that caused Simulator to show invalid unicode symbols when locale changed, for example, from ENG to RUS (Windows Simulator).
  • s3eKeyboard (MSDK-823) Fixed an issue where the keyboard could be hidden after an orientation change (iOS).
  • s3eGL (MSDK-742) The GL_OES_mapbuffer , GL_EXT_discard_framebuffer , GL_APPLE_framebuffer_multisample and GL_OES_vertex_array_object extensions are now exposed (iOS).
  • s3eCamera (MSDK-868) Fixed an issue where the wrong camera rotation angle was reported (iOS).
  • s3eVideoPlay (MSDK-815) Fixed an issue which could cause video not to play on top of other native UI views (iOS).
  • iOS:
  • MSDK-466 iOS extensions using Objective-C source can now be built with support for ARC. Use the arc or no-arc MKB flags/options to enable or disable this support. For an example of usage, see the s3eAmazonAds extension which has been updated with ARC support.
  • MSDK-925 Fixed an issue with floating point 64-bit iOS EDK functions always returning 0.0.
  • MSDK-867 Fixed an assert in native debug builds when changing device orientation.
  • Android:
  • MSDK-876 Fixed issue with ActivityResultListener and SuspendResumeListeners persisting after application exit. This bug would often result in firing of callbacks for stale objects (for instance the s3eFacebook example would sometimes crash on re-login after exiting the app).
  • MSDK-793 Fixed an error due to JDK path containing non-ASCII characters.
  • MSDK-925 Fixed an issue with floating point 64-bit Android EDK functions always returning 0.0.
  • MSDK-1038 Fixed an error when building extensions with NDK r10e (note that NDK r10d is still the latest officially supported version).
  • MSDK-652 More meaningful error message now reported when building extensions using NDK version before r10d.
  • BlackBerry:
  • MSDK-860 Fixed an issue where the keyboard would be hidden after suspend/resume.
  • Windows Phone:
  • MSDK-1021 Modified keyboard behaviour such that the platform abstraction no longer keeps it on-screen when the OS wishes to dismiss it (Windows Phone 8).
  • MSDK-775, MSDK-748 Added support for back and camera buttons (Windows Phone 8.1).
  • MSDK-1035 Fixed an issue that prevented WPShowSystemBar=1 ICF setting from showing the system bar on (Windows Phone 8/8.1).
  • Mac OS X:
  • MSDK-879 When using the s3eOSReadString API the dialog which appears will now gain focus.
  • MSDK-696 S3E_DEVICE_MEM_FREE and S3E_DEVICE_MEM_TOTAL in the s3eDevice API now return correct values (previously returned -1).
  • Google Native Client:
  • MSDK-856 Fixed an issue that prevented building the IwNUIKitchenSink example due to missing libs3eNUI_iwui libraries.
  • MSDK-887 Fixed an issue that prevented building for ARM platforms after building for the NaCl platform.
  • Examples:
  • IwGx Texture Example (MSDK-865) Updated to show how to load ASTC compressed textures.
  • IwGxSurface Offscreen Depth Example (MSDK-857) Fixed an issue that caused an assert after pressing the EXIT button.
  • My First Marmalade Core App (Stage 7) (MSDK-662) Updated to work with s3eFacebook changes.
  • S3E Facebook Example (MSDK-395) Updated to show how to get the user's name and to post a message using the v2.x Facebook Graph API.
  • S3E Facebook Example (MSDK-655) Updated to show how to properly check for success on share dialog.
  • S3E Facebook Example (MSDK-703) Added Show permissions button to make it easier to see which permissions have been granted.
  • S3E Facebook Example (MSDK-838) Updated to check granted permissions after publish permission has been requested. This is required since the native SDK returns no error if the request is rejected by the user and therefore the calling code has to check which permissions were granted.
  • S3E Google Play In App Billing Example (MSDK-1008, MA-28705) Corrected usage of s3eAndroidGooglePlayBillingIsSupported() API.
  • Core Framework (MSDK-762) Simplified MarmaladeExampleResources usage so Core C++ examples can be copied outside the SDK install directory.
  • Quick (MSDK-677) Added Facebook example.
  • Integrations:
  • Photon (MSDK-932) Fixed a regression introduced in Marmalade 7.7 that prevented example from building using VisualStudio.
  • s3eFacebook (MSDK-394, MSDK-846) Updated extension to use v3.23.2 (iOS) and v3.22 (Android) of the native SDKs. Extension and examples also updated to be compliant with v2.x of the Facebook Graph API (iOS, Android).
  • s3eFacebook (MSDK-800) Fixed an issue where if the native Facebook app is used for login and the user then changes the account used by the native app, s3eFacebook would continue to use the old account (Android).
  • s3eFacebook (MSDK-845) Fixed an issue where login using webview, close app, login using webview again and then reauthorise permissions would use the native app credentials rather than the cached webview credentials.
  • s3eFacebook (MSDK-1041) Fixed an issue that that prevented s3eFBRequest_ResponseRaw() from working (iOS).
  • s3eGoogleAdMob (MSDK-569) iOS now supported (iOS).
  • s3eGoogleAdMob (MSDK-569) New resetQuery parameter to added to s3eGoogleAdMobSetAdUnitId(). This makes it easier to support switching between several ad unit IDs. Example updated to illustrate this approach (iOS, Android).
  • s3eAndroidGooglePlayBilling (MSDK-1029) Fixed an issue that prevented the extension from building on Windows when relative paths were used in extension (Android).
  • s3eAmazonAds (MSDK-847) Minor fixes to API docs and header. Deprecated S3E_AMAZONADS_OPTONS_ALL and introduced equivalent S3E_AMAZONADS_OPTIONS_ALL (iOS, Android).
  • s3eGameCircle (MSDK-870) Removed iOS support since no longer supported by Amazon (iOS).
  • s3eMetal (MSDK-888) Added fix for 3D texture support (iOS).
  • Tools:
  • MKB System (MSDK-362, MSDK-705) Deployment option android-extra-strings can now be given multiple times. The instances are effectively concatenated together at deploy time. Hub updated to show this as a list rather than a single string. Similar Hub update also for iphone-extra-strings which could always be given multiple times in MKB files but was being incorrectly treated by Hub as a single string.
  • MKB System (MSDK-903) Fixed an error that could cause deployment to Android devices running 2.x or earlier to throw a "rm failed for -f, Read-only file system" error message, despite the app being successfully deployed.
  • MDEV (MSDK-774) Is now aware of NaCl targets.
  • Mac OS X (MSDK-746) ImageMagick tools updated and rebuilt to run on older CPU models.
  • Mac OS X (MSDK-1019) Added support for Xcode 6.3.2.
  • Mac OS X (MSDK-1019) Updated Xcode plugin to now automatically detect version of Xcode in use.
  • Mac OS X (MSDK-904) MIPS architecture can now be targeted from the Hub and SCons.

New in Marmalade 7.7.0 Build 431086 (Apr 28, 2015)

  • HIGHLIGHTS:
  • Google Native Client (NaCl) support.
  • Android ARM 64-bit support.
  • Visual Studio 2013 Edit & Continue support.
  • OpenGL ES 3.1 and Android Expansion Pack (AEP) support.
  • ASTC texture compression format support added to IwGx.
  • GLESonGL driver for Windows Simulator/Desktop deployments.
  • New Marmalade Quick features including:
  • Shader-based effects.
  • Tighter ZeroBrane Studio integration.
  • Amazon Ads support.
  • Performance improvements.
  • CHANGED SINCE 7.6:
  • Documentation:
  • Improved Quick API docs: better descriptions and fixed documentation bugs where return values were documented as input parameters.
  • Added Upgrading the Marmalade Quick SDK version and Quick troubleshooting and gotchas. To take full advantage of new features, improvements and bug fixes added to Marmalade Quick in this release you will need to update your existing projects - the upgrading guide tells you how.
  • Updated Quick Physics docs. Improved overview section, fixed some documentation bugs and added new Forces, impulses and velocity section.
  • Marmalade Hub:
  • MSDK-687 Fixed an issue that caused the TIZEN_SDK_ROOT environment variable to not be preserved in the Dependency Checker.
  • Marmalade Quick:
  • MAC-137 Added ability to set multipass filters on sprites using the Filter object. This allows a set of out-of-the-box effects to be applied to sprites using simple parameters in Lua code. New Effects/Filters example added.
  • MAC-136 Added support for custom shaders that can be applied to node objects with the new NodeGLProgram object, a Lua wrapper for Cocos2d-x’s CCGLProgram. New Sprites And Animation/Apply Shaders example added.
  • MAC-134 Added support for overlaying scenes on each other. See director:showOverlay() and related functions in the Director library plus the overlayBegin event and the overlayEnd event.
  • MAC-135 Added ability to render to texture using the new RenderTexture object. This allows rendering any area of the scene to a new texture. New Sprites And Animation/Render Texture example added.
  • MAC-153 Added AmazonAds Library, a wrapper for the s3eAmazonAds core extension, based on github.com/nickchops/MarmaladeQuickAmazonAds. If you are currently using the GitHub version it is recommended to switch to the official one.
  • MAC-159 Added device:setOrientation() for setting/locking orientation at runtime.
  • MAC-226 When adding a Lines object to the physics simulation with physics:addNode(), the physics body shape (myNode.physics.shape) is now set from the myNode.coords value if possible. Previously Quick would error if the shape property was not explicitly set in physics:addNode().
  • MAC-144 Improved app startup experience by adding ability to defer rendering until Lua code is ready, using the new director:startRendering() function and [quick] DeferRenderingOnStart ICF setting. Will prevent screen clearing to black on some platforms. See Optimising your Quick App > Deferring rendering on startup.
  • MAC-154 Added rebuild scripts for Quick's C++ binaries. See Rebuilding Marmalade Quick binaries.
  • MAC-142 Quick projects now use Release engine/app binaries by default when run in the Simulator. Release is used when a new or imported project is first run, but you can still switch to Debug if required. Debug loader binaries are still always used for the Simulator.
  • MAC-161 New Quick projects now have asset groups for "raw" source Lua (default), precompiled Lua (precompiled) and precompiled plus concatenated Lua (optimised). These provide a more out-of-the-box technique to choose between optimised and source versions of code when deploying. See the updated Optimising your Quick App documentation for more information.
  • MAC-141 Fixed a performance issue where slowdown could occur with a combination of dragging multiple fingers and using many nodes in a scene. See the updated Optimising your Quick App documentation for this and further ways to improve touch performance in code.
  • MAC-192 Added definitions to key table for any s3eKeyboard keycodes that were missing. For the full key list see globals.
  • MSDK-805 Fixed a memory leak when disposing of Sprites with Tweens.
  • MAC-168 Fixed a memory leak when disposing of Labels.
  • MAC-213 Fixed app slow down on creating new Labels.
  • MAC-214 Fixed issue where MKB deployment option import pop-up was incorrectly shown when creating a new Quick project.
  • MAC-215 Physics API improvements:
  • New Quick Physics library functions for working with centre of mass: applyForceToCenter(), applyLinearImpulseToCenter(), getWorldCenter() and getLocalCenter().
  • If a node has been added to the physics simulation with physics:addNode() then when setting the x, y or rotation properties of the Node itself (for example myNode.x = 20) the physics body now changes its transform to match the new Node position and rotation. Previously, Node transform settings were effectively ignored once the Node was added to the physics simulation (since the physics library would overrule these transform settings on the next update).
  • New Physics/Dynamics example to demonstrate applying forces and impulses to objects.
  • Improved integration between Hub, Marmalade Simulator and ZeroBrane Studio:
  • MAC-162 OPEN IN IDE button added to Quick project screen in the Hub. Clicking this opens ZeroBrane Studio, showing the whole project tree, with Marmalade Quick automatically set as the interpreter and your project's main.lua file set as the entry point.
  • MAC-143 All trace output from the Simulator is now piped to the ZeroBrane Studio console view (previously all output was only shown in the command window and when running from the Hub).
  • MAC-142 ZeroBrane Studio now respects whether Debug or Release C++ binaries are selected in the Hub (via the BUILD option when Simulator is selected as the platform).
  • Middleware:
  • IwGL (MSDK-26) Added support for OpenGL ES 3.1 and Android Extension Pack (AEP).
  • IwGL (MSDK-327) The EXT_disjoint_timer_query, EXT_debug_marker and EXT_debug_label extensions are now exposed.
  • IwGL (MSDK-441) Fixed an issue where a series of calls to generate, bind then delete a render or frame buffer would fail on the second bind.
  • IwGL (MSDK-521) Fixed an issue where not all possible parameter values for glPixelStorei() were supported.
  • IwGL (MSDK-661) Fixed an assert on certain Android MIPS devices when making a call to glDrawElements().
  • IwGx (MSDK-121) Added support for ASTC texture compression.
  • IwGx (MSDK-803) Added support for depth buffers and textures. See the IwGxSurface Offscreen Depth example for an illustration of how to use.
  • IwGx (MSDK-410) IwGX based code that makes use of IwResourceManager will no longer assert when using debug Mac/Windows Desktop deployments.
  • IwUtil (MSDK-698, MA-31216) Added CIwImage::UseChromaKey() API to directly indicate whether or not any pixels in the image using the chroma key colour ({0xFF,0x00,0xFF}) should be rendered transparently.
  • IwTwitter (MSDK-649) Fixed a crash on 64-bit Android and iOS devices when attempting to connect.
  • IwNUI (MSDK-232) Fixed an issue whereby IwNUI did not recognise the iPhone 6 Plus screen size.
  • IwBilling (MSDK-623) Data supplied in product information callbacks now also contains the original app store data. To access this data use the IwBilling::CIwBillingInfoAvailableData::OriginalData member and cast to the required structure type e.g. s3eAndroidGooglePlayBillingItemInfo.
  • IwBilling (MSDK-644) Added ability to exclude unused Android app store backends. See the IwBilling documentation for more information.
  • IwHttp (MSDK-157) Fixed an issue where CIwHttp::ContentExpected() could return an unitialised value in certain situations.
  • STL (MSDK-699) Fixed an issue where the std::abs(), std::arg() and std::polar() APIs were unusable due to incorrect headers.
  • Platform Abstraction:
  • s3eGL (MSDK-26) Added support for OpenGL ES 3.1 and Android Extension Pack (AEP).
  • s3eGL (MSDK-327) The EXT_disjoint_timer_query, EXT_debug_marker and EXT_debug_label extensions are now exposed.
  • s3eGL (MSDK-742) The GL_OES_mapbuffer , GL_EXT_discard_framebuffer , GL_APPLE_framebuffer_multisample and GL_OES_vertex_array_object extensions are now exposed for iOS devices.
  • iOS:
  • MSDK-688 When targetting iOS 8.1 or later to ensure that location data can be obtained from the s3eLocation API, you must specify the NSLocationUsageDescription key in your Info.plist.
  • MSDK-724 Fixed an issue where the S3E_SURFACE_RESIZE_PENDING callback was fired more often than necessary. In some situations this could cause flickering of the screen when tilting the device.
  • MSDK-724 Added new IOSDisableOrientationAnimation ICF setting to disable animation during orientation changes.
  • Android:
  • MSDK-450 Added ARM 64-bit (AArch64) support.
  • MSDK-450 Updated the NDK toolchain to r10d, required to support Android ARM 64-bit.
  • BlackBerry:
  • MSDK-723 (MA-22528) Fixed an issue where native dialog boxes and the on-screen keyboard could be hidden underneath the GL view.
  • Roku:
  • MSDK-745 Fixed a Roku deployment issue caused by an old version of curl.exe.
  • Examples:
  • MSDK-801 Updated IwHttp examples to use CIwHttp::ReadDataAsync() instead of deprecated CIwHttp::ReadContent().
  • S3E Background Music (MSDK-47) Fixed an issue that caused an assert if the Open Music Picker option was chosen (iOS).
  • S3E OpenGL ES 1.x (MSDK-633) Fixed an issue that would cause the example to hang on the splash screen (Windows Simulator).
  • IwGL OpenGL ES 3.x (MSDK-402) Fixed an issue that could cause an assert on startup on some devices (Android).
  • IwGraphics Scalable Pipeline (MSDK-403) Fixed an issue that could cause the on-screen buttons to not be visible on certain devices (Android).
  • Iw2D Primitives (MSDK-439) Fixed an issue on 64-bit devices that caused a crash due to the data cache size being too small (iOS).
  • IwAudioCapture (MSDK-752) Fixed an issue that prevented the example from being compiled with the GCC compiler.
  • My First Marmalade Core App (Stage 7) (MSDK-639) Fixed an issue that prevented the example deploying to device (Android).
  • Integrations:
  • s3eAndroidGooglePlayBilling (MSDK-576) Added support for micro units (Android).
  • s3eGoogleAdMob (MSDK-581) Added missing example file to installer (Android).
  • s3eChartBoost (MSDK-464) Updated extension to use v5.1.0 of the native SDK. Please note that the way of specifying Application ID and Application Signature has changed: use the android-extra-strings deployment option now. See the S3E Chartboost example for more details (Android).
  • s3eMetal (MSDK-582) Fixed scaling factors when using Retina resolution (iOS).
  • s3eMetal (MSDK-583) Added missing icons to examples (iOS).
  • s3eMetal (MSDK-551) Fix for potential ABI problem when passing certain data types between Objective-C runtime and Marmalade runtime (iOS).
  • Tools:
  • Licensing (MSDK-711) Fixed an issue that prevented the licensing components of the SDK from working with Mac OS X 10.10.3 beta.
  • Windows iOS Device Tools (MSDK-85) Fixed the ideviceinstaller.exe tool to work with app installs to devices running iOS 8 or later. This also allows installs to such devices from the Hub. No more need to use iTunes!
  • Windows iOS Device Tools (MSDK-85) Added the idevicesyslog.exe tool to the SDK. This tool can be accessed in the Hub under Home → Other tools → iOS Log viewer. You can now easily and reliably view iOS device logs. Goodbye iPCU.exe!
  • Windows Simulator (MSDK-26) New experimental GLESonGL driver. This enables built-in desktop GL drivers to be used to simulate OpenGL ES versions 2, 3 and 3.1. For more details, see the GL section of the Windows Simulator configuration docs.
  • Windows Simulator (MSDK-693) Fixed an issue that caused an incorrect value to be returned from s3eDeviceGetInt(S3E_DEVICE_OS) when ANDROID is selected in Configuration → Device → Reported operating system.
  • Windows Toolchain (MSDK-517) If the default build environment is not setup via the Hub, it will now default to VC9 (was defaulting to VC6, which is no longer supported).
  • MKB System (MSDK-422) SCons builds will no longer retry building 3 times on failure. When calling mkb if you need to specify a number of retries use the --retry-build=x option where x is the maximum number of retries.
  • MKB System (MSDK-439) The DataCacheSizeHW ICF setting has been deprecated. Please use the equivalent DataCacheSize ICF setting instead.
  • MKB System (MSDK-725) Fixed an issue where the deployment scripts could incorrectly calculate the app's target Android API level from the target SDK versions of extensions used by the app. This was a regression introduced with the release of M7.6p1.
  • MKB System (MSDK-733) Removed x86- and MIPS-specific Android MKBs for all extensions. All extensions can now be built with _android.mkb -- for a specific architecture or _android.mkb for all architectures. You may wish to modify your own extensions to follow this pattern and thereby reduce the overall number of separate MKBs you need to keep in sync. If you do, ensure you also remove references to the ARM build type and the arm option from your "master" MKB.
  • EDK (MSDK-676) Fixed a crash for 64-bit devices when calling the s3eEDKThreadRunOnOS() EDK API when already running on the OS thread.
  • SCons (MSDK-668) Updated to version 2.3.4.
  • Mac OS X (MSDK-767) Added support for Xcode 6.3 and Xcode 6.3 beta.

New in Marmalade 7.6.0 Build 425675 (Mar 14, 2015)

  • Highlights:
  • Google Cast extension. Add new game mechanics and play experiences with Google Cast devices.
  • Google AdMob extension. Currently supports Android with support for additional platforms coming soon.
  • Metal extension for iOS. Take advantage of Apple's low-level, high-performance graphics API.
  • Android platform version updated to level 21 (Lollipop/5.0). Extensions can now make use of Lollipop features out of the box.
  • New Android platform version options and documentation added to allow extensions to be built against alternative API levels if needed.
  • Note - With this release, the minimum version of JDK required to target Android has changed from 6 to 7.
  • Also, the default minimum/target SDK versions for Android apps has changed from 3/8 to 8/14.
  • Documentation:
  • Updated the Android setup guide with details of JDK 7 requirement and how to update the version of the Android SDK platform library used by Marmalade.
  • Updated the Android EDK guide with details of how to manage the Android SDK platform library and work with minimum and target SDK versions for both extensions and the app that uses them.
  • Updated iOS EDK guide with info on how to include frameworks at build and deploy time.
  • Marmalade Quick:
  • MSDK-396 (MA-30150) Fixed an issue that prevented precompiled 64-bit byte code (*.luac) from working. Quick will now only generate and use precompiled 32-bit byte code. Note that the standalone Lua compiler behaviour has not changed.
  • Marmalade Juice:
  • MSDK-379 Fixed an issue that could cause apps to crash following suspend/resume.
  • Middleware:
  • IwBilling (MSDK-178) Added support for local currency code (currently supported by the s3eAndroidGooglePlayBilling and s3eIOSAppStoreBilling billing backends).
  • IwBilling (MSDK-237) Fortumo is no longer included as a billing backend by default. To include Fortumo in IwBilling, add define IW_BILLING_INCLUDE_FORTUMO to your project's MKB.
  • IwBilling (TIC-332) IwBilling::FinishTransaction() now allows finishing invalid transactions.
  • IwBilling (MSDK-179) IwBilling::getVendorString() now returns correct string in all cases.
  • IwBilling (MSDK-76) Added support for deferred transaction state (error status will be set to BILLING_ERROR_PENDING). Your app can now be coded to gracefully deal with purchases which are delayed due to use of Ask to Buy on iOS.
  • IwUtil (MSDK-370) ucs2char is now typedef'd to wchar_t instead of unsigned short. This allows the use of UCS-2/UTF-16 16-bit values for wchar_t arguments with the IwWideCharToUTF8() and IwUTF8ToWideChar() conversion functions in iosnativedebug mode (in which wchar_t is 4 bytes instead of 2 bytes).
  • IwUtil (MSDK-501) Added IwUCS2ToUTF8() and IwUTF8ToUCS2() conversion functions. These functions should be used where your source/destination data uses 2 bytes per character and it is no longer safe to cast types due to the change in the ucs2char type definition above.
  • IwUtil (MAINT-3071) IwMemBucketDebugCheck() now dynamically creates buffers to prevent runtime crash when exhausting fixed buffer allocation.
  • libc (MSDK-423) The alloca.h header was incorrectly declaring alloca for GCC as an extern function. This could cause a linker error in some scenarios. GCC always uses a built-in function therefore the header has been updated to reflect this.
  • Platform Abstraction:
  • MSDK-503 s3eDeviceGetString(S3E_DEVICE_ARCHITECTURE) now returns ARMv8-A_AARCH64 rather than ARMv8-A [AARCH64] (iOS).
  • MSDK-505 Added S3E_DEVICE_PPI and S3E_DEVICE_PPI_LOGICAL properties to s3eDevice. For example, s3eDeviceGetInt(S3E_DEVICE_PPI) will return the physical screen density and s3eDeviceGetInt(S3E_DEVICE_PPI_LOGICAL) will return the logical (effective) screen density. Also added S3E_SURFACE_WIDTH_UNSCALED and S3E_SURFACE_HEIGHT_UNSCALED properties to s3eSurface. These properties simplify calculation of UI coordinates on platforms that use unscaled coordinate systems, such as iOS. These properties are useful when working with UI elements that are positioned using the native platform's conventions. For a concrete illustration of how these are used, see the source code for s3eAmazonAds (.../extensions/s3eAmazonAds/source/iphone/s3eAmazonAd.m and .../extensions/s3eAmazonAds/source/android/s3eAmazonAds_platform.cpp) (iOS, Android).
  • iOS:
  • MSDK-515 Changed the default value of IOSDispScaleFactor ICF setting from 100 to native. This will enable apps to use the full physical resolution of the device by default.
  • MAINT-3067 Additional iOS push notifications callbacks. Your app can now detect when registration for push notifications takes place and any associated settings. See s3eEdkCallback in the API reference docs for more details.
  • MAINT-3072 Fixed an issue where simultaneous sound recording and playback could leading to glitches in audio output.
  • MAINT-3080 Fixed an issue that could cause a black screen to be shown instead of the launch image on startup (iOS 8 or later).
  • MSDK-436 Fixed a sound recording issue when using headphones that could cause any simultaneously playing sound to be output from the builtin speakers. If you want to ensure that the audio output route remains fixed during recording then set [S3E] IOSSoundRecordOverrideSpeaker=0.
  • MSDK-390 (MA-29726) Fixed a "__symbolstub1 is not that last section" error when using AArch64 extensions built with -fexceptions.
  • MSDK-427 (MA-30450) Fixed a "Unknown processor architecture 255 in game binary." error when using scons to build AArch64 apps.
  • MSDK-506 Fixed a crash when programatically changing orientation (iOS 8 or later).
  • MSDK-511 Fixed a crash when processing push notification errors.
  • Roku:
  • MAINT-3082 Fixed an issue that caused apps to crash on start with a "GL_INVALID_ENUM" error.
  • Integrations:
  • Photon (MSDK-265) Updated library to v4.0.0.6 to fix wchar_t usage on iosnativedebug (iOS).
  • Fortumo (MSDK-237, MA-28693) The extension no longer requires telephony hardware. This will allow apps using Fortumo to be made available to devices without such hardware (typically tablets) (Android).
  • s3eInMobiAds (MSDK-227) Updated extension to use v4.5.1 (iOS) and v4.5.2 (Android) of the native SDKs (iOS, Android).
  • s3eInMobiAds (MSDK-414) Fixed an issue that prevented interstitial ads from working on AArch64 (iOS).
  • s3eAmazonAds (MSDK-407) Fixed an issue that could cause ads to be incorrectly scaled or duplicated (iOS).
  • s3eAmazonAds (MSDK-409) Clarified and expanded documentation for ad sizes (iOS, Android).
  • s3eAmazonAds (MSDK-509) Added S3E_AMAZONADS_SIZE_BEST_FIT enum to pick best fitting banner size depending on the screen's logical PPI (for Android) or surface width (for iOS) (iOS, Android).
  • s3eAndroidGooglePlayBilling (MSDK-178) Added support for local currency code (Android).
  • s3eIOSAppStoreBilling (MSDK-178) Added support for local currency code (iOS).
  • s3eIOSAppStoreBilling (MSDK-76) Added support for deferred transaction state (exposed through the s3eTransactionStatus enumeration). Your app can now be coded to gracefully deal with purchases which are delayed due to use of Ask to Buy (iOS).
  • s3eFacebook (MSDK-185) Fixed an issue that caused a "Given URL is not permitted by the application configuration.." error message to be displayed when attempting to login. To resolve this issue, login to Facebook developer portal and add http:/www.facebook.com/ to the Valid OAuth redirect URIs list (Windows Phone 8.0/8.1).
  • Tools:
  • Windows (MSDK-412, MA-30004) Fixed a rare codesign.exe error when deploying fat iOS apps.
  • MKB System (MSDK-503, MA-30632) Added support for ICF expression {ARCH=ARM|AARCH64|X86|MIPS} to conditionally apply settings depending on device architecture.
  • Windows/Mac Simulator (MSDK-528) Updated list of resolution presets to contain more recent iOS devices.
  • Windows/Mac Simulator (MSDK-550, MA-30815) Fixed an issue that caused a "Bucket 1(SystemDebug) is still in use" error message to appear on exit (introduced in M7.5.1p2).
  • Mac OS X (MSDK-563) Added support for Xcode 6.2 and 6.3 beta.

New in Marmalade 7.5.1 Build 422112 (Feb 18, 2015)

  • Highlights:
  • ChartBoost extension updated to use v5.1.2 of native SDK on iOS.
  • GameHouse Promotion Network extension updated to v2.2.4.
  • Improved performance when resuming Android apps.
  • Documentation:
  • Updated S3E GL overview and IwGL initialisation docs with details of how to detect OpenGL ES version at runtime.
  • Updated IwGx on Android doc with details of new EGL context store/restore behaviour on suspend/resume.
  • Middleware – CRT:
  • MSDK-325 Fixed an issue which prevented the %ls format specifier working with sprintf() on ARM and AArch64.
  • iOS:
  • MSDK-337 TestFlight support is now disabled by default. The previous behaviour of being enabled by default was generating a large amount of confusion for developers using Ad Hoc or Development builds, which are not compatible with Test Flight builds.
  • MSDK-337 Simplified deployment of development builds to devices running iOS 8.1.3. This requires the use of a global wildcard provisioning profile. See Deploying to and testing on iOS devices in the iOS platform guide for details.
  • MSDK-160 Fixed various UI orientation issues on iOS 8.0. Also fixed an issue where Marmalade apps could freeze upon dismissing a native iOS UIViewController.
  • MSDK-303 (MA-29253) Fixed a type mismatch issue when using a custom Info.plist.
  • MSDK-333 (MA-29509, MA-29448) Fixed a crash on startup due to incorrect signing when using Windows codesign.exe.
  • MSDK-332 Fixed a regression which would generate a "ITMS-90209: Invalid Segment Alignment" error when submitting to the App Store.
  • MSDK-334, MSDK-338 Fixed an issue that prevented embedding of s3e.icf and app.icf files in ARM, AArch64 or fat deployments.
  • MSDK-331 Default Info.plist.template updated to declare Xcode 6.1 and iOS 8.1 SDK.
  • MSDK-335 Fixed a Windows codesign.exe error when using the target-folder deployment option.
  • MSDK-350 Fixed an issue where s3eAccelerometer might not be up to date with the interface orientation when starting in landscape.
  • MSDK-324 Fixed a wchar_t size mismatch when using iOS native debug builds. APIs such as wcslen() now work as expected.
  • MSDK-380 (MA-29947) Fixed an issue where the minimum iOS version in the app binary does not match the version specified in the Info.plist.
  • MAINT-3070 s3eLocation no longer registers for background location tracking on iOS 8 or later.
  • MAINT-3065 s3eSound now uses AVFoundation framework instead of the deprecated CoreSound API when running on iOS 6 or later. This fixes a rare bug where audio could be distorted after repeated recording.
  • Android:
  • MSDK-292 Made detection of OpenGL ES version at runtime simpler when using IwGL: use IwGLGetInt(IW_GL_VERSION) rather than s3eGLGetInt(S3E_GL_VERSION). For s3eGL, improved the S3E GLES 3.0 Example to show how to reliably detect OpenGL ES version at runtime using an EGL context.
  • MSDK-364 EGL context is no longer stored on suspend and restored on resume. This can significantly improve performance when resuming an app.
  • Windows Phone 8.0:
  • WS-852 Fixed an exception crash on returning to the app when using s3eImagePicker or s3eCameraCapture.
  • Mac OS X:
  • MAINT-3058 Fixed an issue on Mac Book Pro models with dual GPUs that could cause apps to exit on launch with the message "This build does not support SW rendering, and the device does not have HW support".
  • Integrations:
  • s3eAmazonAds (MSDK-305, MA-29372) Added missing MKF files from SDK installation (iOS, Android).
  • s3eAmazonAds (MSDK-164) Fixed an issue that prevented the extension from working in AArch64 builds (iOS).
  • s3eChartBoost (MSDK-281) Updated extension to use v5.1.2 of the native SDK (iOS).
  • s3eChartBoost (MSDK-367) Fixed an issue that caused interstitial ads to appear incorrectly in landscape (iOS).
  • s3eGPN (MSDK-349) Updated extension to v2.2.4 (iOS, Android).
  • s3eGooglePlayServices (MSDK-330) Improved handling of the scenario when the user signs out using the Google Play UI (Android).

New in Marmalade 7.5.0p1 Build 420141 (Feb 3, 2015)

  • FIXES:
  • iOS:
  • MSDK-160 Fixed various UI orientation issues on iOS 8.0. Also fixed an issue where Marmalade apps could freeze upon dismissing a native iOS UIViewController.
  • MSDK-303 (MA-29253) Fixed a type mismatch issue when using a custom Info.plist.
  • MSDK-333 (MA-29509, MA-29448) Fixed a crash on startup due to incorrect signing when using Windows codesign.exe.
  • MSDK-332 Fixed a regression which would generate a "ITMS-90209: Invalid Segment Alignment" error when submitting to the App Store.
  • MSDK-334 Fixed an issue that prevented embedding of s3e.icf and app.icf files in ARM or AArch64 deployments. N.B. This fix does not work for fat (ARM+AArch64) deployments - see Known issues below for a workaround.
  • MSDK-331 Default Info.plist.template updated to declare Xcode 6.1 and iOS 8.1 SDK.
  • Windows Desktop:
  • WS-833 (MA-27367) Fixed an issue where click events were reported twice on touch devices.
  • Integrations:
  • s3eAmazonAds (MSDK-305, MA-29372) Added missing MKF files from SDK installation (iOS, Android).

New in Marmalade 7.5.0 Build 419376 (Jan 24, 2015)

  • Added 64-bit (AArch64) support for iOS.
  • Google Play Services extension now supports iOS.
  • Improved support for Visual Studio 2013.

New in Marmalade 7.4.3 (Dec 16, 2014)

  • HIGHLIGHTS:
  • TestFlight Beta Testing is now supported on iOS.
  • Google Play Services extension added to the SDK.
  • GameThrive extension now supports Windows Phone 8.
  • CHANGED SINCE 7.4.2:
  • Documentation:
  • Added Quick billing event documentation and clarified how events work for the Billing library.
  • Updated Adding your own C++ bindings to Quick including scripts for easily rebuilding Quick binaries and updated tutorials.
  • Marmalade Hub:
  • Fixed an issue that prevented Android x86 and Tizen x86 projects being built and deployed.
  • Fixed an issue that prevented generation of Project Integrations template code.
  • Marmalade Quick:
  • Fixed a regression introduced in 7.4.2p2 where touch coordinates were incorrectly reported.
  • Middleware – IwGL:
  • MAINT-3029 Fixed an issue when using virtual resolution that could cause the size of the display buffer to be undersized vertically or horizontally by one pixel.
  • Middleware – IwGxFont:
  • MAINT-3040 Removed an incorrect assert when using non-breaking space and other non-renderable characters in text to be rendered.
  • iOS:
  • MA-25850 TestFlight Beta Testing is now supported. By default TestFlight support is enabled. However, if you are using an AdHoc provisioning profile then to create a valid IPA you will need to select Disable Testflight support on the Advanced tab for your project's configuration or specify the iphone-disable-testflight MKB deployment option from the command line.
  • Improved transition between launch image and splash screen and rotation during app startup. For more details, see the Working with splash screens documentation.
  • Fixed a bug where the EXTRA_ICONS macro was not expanded properly when using a custom Info.plist. You will need to catch up with the Marmalade Info.plist.template if you worked around this issue in Marmalade 7.4.1 or Marmalade 7.4.2.
  • s3eAccelerometer now uses the CoreMotion API instead of the deprecated UIAccelerometer API.
  • The IOSRegisterForPushNotification ICF setting is now deprecated and will no longer work. If you are using remote push notification functionality add the s3eIOSNotificationsRegisterApp() API to your code to ensure push notifications can be received by your app.
  • MSDK-176 Fixed an issue where the DispFixRot app ICF setting could be ignored on iOS 5.
  • MSDK-108 Fixed an issue which prevented iOS native debugging from working with Xcode 5.1.
  • Android:
  • Added a new android_extra_packages deployment option. Use this option to supply a list of packages for which an R.java class is generated and bound into the app. This enables the use of R class in Android extensions.
  • Added [s3e] AndroidAutoDisableStackSwitching ICF setting to control if stack switching is disabled depending on the Android runtime. Specifying off will turn off the automatic disabling of stack switching and the value of SysStackSwitch will be used. Specifying art will turn off stack switching under ART. Specifying dalvik will turn off stack switching under Dalvik. Specifying always will always turn off stack switching no matter the runtime. The default is art.
  • BlackBerry:
  • MSDK-89 (MA-24171) Fixed an issue that prevented BB10 builds in the Hub.
  • Windows Phone 8:
  • GameThrive extension now supports Windows Phone 8. The extension now uses v1.2.1 of the GameThrive SDK.
  • WS-786 (MA-26491) Fixed a suspend/resume memory leak which could easily lead to crashes on lower memory devices.
  • Windows Phone 8.1:
  • Added support for Obscured and Unobscured events. You can now respond to your application being obscured/unobscured by shell chrome such as an incoming phone call by registering for the S3E_DEVICE_OBSCURED and S3E_DEVICE_UNOBSCURED s3eDeviceCallback respectively.
  • Windows Store:
  • MSDK-56 Fixed an issue that prevented broadcast IP messages from being reliably received.
  • Windows Desktop:
  • MAINT-3007 Fixed an issue where if DPI scaling is enabled the app would not enter fullscreen if the default fullscreen width and height settings were being used. As part of this fix, the app registers itself as DPI aware to prevent its window being scaled when DPI scaling is on.
  • Mac OS X:
  • Apps now support Retina/HiDPI assets for window controls and dialogs.
  • MSDK-133 (MA-26542) Fixed an issue where audio fails to play on OS X 10.10 unless repeat count > 1.
  • MSDK-112 (MA-26542) Fixed an issue where video fails to play and crashes on full screen on OS X 10.10.
  • Extensions:
  • MAINT-3030 (MA-27104) Fixed an issue in s3eGameCircle extension where s3eGameCircleSetPopUpLocation() did not display the popup in the correct location (iOS and Android).
  • MAINT-3031 Fixed an issue in s3eGameCircle extension where player ID was returned instead of player alias (iOS and Android).
  • MSDK-132 (MA-27446) Fixed an issue in s3eChartboost extension where named locations were not passed to the underlying native SDK (iOS and Android).
  • MAINT-2311, MSDK-137 (MA-26307, MA-27466) Fixed an issue where s3eContacts extension would return zero records (iOS).
  • MSDK-4 Fixed an issue in several extensions which made use of JNI GetStringLength() instead of GetStringUTFLength(). This could cause corrupted strings to be returned when they contain Unicode characters (Android).
  • MSDK-155 (MA-27629) Fixed an illegal argument exception crash when using s3eAndroidGooglePlayBilling extension and Android Lollipop (Android).
  • Tools:
  • Mac OS X (MAINT-2995, MA-23426) Fixed an issue that prevented double clicking MKB files from launching Xcode.
  • Mac OS X Updated Marmalade plugin to be compatible with Xcode 6.2 beta.
  • Mac OS X Added support for Retina/HiDPI displays to various tools supplied with the SDK (Hub, Deploy Tool, Simulator, etc).

New in Marmalade 7.4.2 (Nov 15, 2014)

  • Changes:
  • MAINT-3008 Fullscreen mode now defaults to desktop resolution rather than 800x600. Also, the WinFullScreenWidth and WinFullScreenHeight S3E ICF settings can now be used to control the display resolution for fullscreen mode.
  • MA-26390 Fixed OS X exceptions by removing -Wl,-no_compact_unwind linker flag to generate compact unwind info.
  • Tools:
  • (MA-26639 , MA-26505) Removed dependency on X11 from ImageMagick.
  • Fixed Xcode plugins warnings being shown in the Hub when using Xcode 6 or later.
  • Fixed an issue where scons could not be found when compiling through the Hub.
  • General Updated SDK to use iOS 8 frameworks.
  • General The AudioAllowBackground ICF setting is no longer incorrectly reported as deprecated by the Deploy Tool.

New in Marmalade 7.4.1 (Oct 2, 2014)

  • HIGHLIGHTS:
  • Support for iPhone 6/6 Plus icons, launch images and native screen resolution. Full details here.
  • Support for Windows Phone 8 Fast Resume.
  • Amazon Mobile Ads extension is now packaged with the SDK.
  • GameThrive extension is now packaged with the SDK.
  • Streamlined selection of integrations when creating a new Marmalade C++ project in the Hub.
  • CHANGED SINCE 7.4:
  • Documentation:
  • Updated Adding your own C++ Bindings to Quick, including additional project build info and command line calls to rebuild binaries.
  • Overhauled Android platform guide: split into sub-pages, requirements section added, Java requirements updated, deployment options guide added.
  • Marmalade Hub:
  • Improved license error reporting and made license migration process more robust.
  • MAINT-2939 Fixed problem when using Chinese (unicode) characters in certain fields.
  • Marmalade Quick:
  • Quick Audio library updated with additional APIs, including audio::setSoundFrequency and audio::isSoundPlaying.
  • Updated Quick tutorial to contain Facebook App ID to prevent Android deployment issue.
  • Added missing Windows script quick/quickuser_tolua.bat for easily rebuilding user Lua bindings.
  • MAINT-2957 Fixed Quick variable misuse in certain quicklua files including QFont, QNode, QScene and QSystem.
  • Middleware – IwGL:
  • s3ePointer can now support virtual resolution for its coordinates.
  • Can now handle devices that have more than 32 texture units.
  • Added support for depth texture extension.
  • Added missing function glSampleCoverage.
  • MAINT-2961 glTexParameterf now falls through to glTexParameteri.
  • iOS:
  • In the Hub iOS apps now default to Universal instead of iPhone.
  • Fixed a crucial issue preventing App Store submissions. The previous hotfix release for Marmalade 7.4 (MA-25563) which addressed this issue is incorporated into this release.
  • Fixed iphone-minimum-ios-version deployment option to reliably set the value of the MinimumOSVersion key in the app's Info.plist (defaults to 4.3).
  • Reduced unnecessary signons to Facebook when a valid access token is already present.
  • MAINT-2985 (MA-25174) By default, the iOS loader no longer attempts to register for remote push notifications and no longer resets the app badge count on exit. Before this change, the OS could present dialogs relating to push notifications even when this behaviour is not in use by your app. If you want to enable push notifications, add IOSRegisterForPushNotifications=1 in the [s3e] section of your app.icf. To modify the app badge count you can continue to use the s3eIOSNotificationsSetAppBadge API.
  • MAINT-2968 Fixed an issue whereby audio could fade in and out after video playback.
  • MAINT-2973 (MA-16798) Various s3eFacebook fixes:
  • Fixed handling of access tokens > 256 characters.
  • Fixed addParamNumber crash.
  • Fixed handling of DELETE HTTP method in request.
  • MAINT-2982 Improvements related to iOS status bar functionality:
  • The iphone-show-status-bar deployment option is now disabled by default.
  • The UIViewControllerBasedStatusBarAppearance key in the app's Info.plist is now enabled by default.
  • A new iphone-uiviewcontroller-based-status-bar deployment option can be used to enable customisation of UIViewControllerBasedStatusBarAppearance behaviour.
  • When running on iOS 7 and later the app's default UIViewController now respects the settings of UIStatusBarHidden and UIStatusBarStyle options as defined in the app's Info.plist.
  • Android:
  • TIC-563 (MA-25028) Fixed a crash on startup on Android 2.2 after updating to GCC 4.8.
  • MAINT-2975 Updated DX tool used for deployment. Previous version would (silently) ignore some .jar files.
  • Windows Phone 8:
  • Added support for Fast Resume. To control the Fast Resume behaviour use the Restart mode (fast resume) Hub deployment configuration setting or wp8-fast-resume-mode MKB deployment setting.
  • Fixed a crash that could occur when posting to a Facebook stream.
  • Windows Phone 8.1:
  • Fixed several s3eCameraCapture extension issues:
  • Crash on double photo button tap
  • Random crash on video capture start
  • Random crash on video capture complete
  • Windows Phone, Windows Store Apps:
  • Fixed crash on startup for Quick Billing example.
  • MAINT-2971 Fixed s3eInetLookup to correctly set addr.m_String field in release mode.
  • TIC-533 (MA-24262) Fixed an issue where the s3eSockets API would become unresponsive.
  • Mac OS X:
  • Added a new deployment option osx-appid to specify App ID directly rather than generate it from user name and company name.
  • MAINT-2981 (MA-25143) Fixed an issue where the app signature could not be validated during Mac App Store submission. As part of fixing this issue, application binaries are now located in the MacOS folder and assets are located in the Resources folder of the application bundle.
  • MAINT-2972 (MA-22978) Fixed an issue where S3E_DIR might not be properly defined in the terminal. As result of that there could be various issues when running Mac simulator.
  • Tools:
  • Mac OS X Added support for Xcode6 GM and Xcode 6.1beta to Marmalade Xcode plugin.
  • General:
  • MAINT-2966 Release builds will now only display debug error dialogs if the [S3E] SysErrorDontStop ICF setting is 0. Currently, s3eDebugErrorShow (or one of the helpers implemented in terms of this such as IwDebugErrorShow or IwError) always displays debug error dialogs in release mode unless the [S3E] SysErrorDontStop ICF setting is explicitly set to 1. This change was made because it's too easy to forget to set this ICF and thus released games can show a Marmalade error.

New in Marmalade 7.4.0 (Sep 10, 2014)

  • Highlights:
  • Windows Phone 8.1 platform support.
  • iOS 8 and Xcode 6 support.
  • In-app purchase support for Roku.
  • Marmalade Web support for Firefox OS.
  • Facebook extension updated to use latest iOS and Android SDKs.
  • Marmalade Hub:
  • Your license will be migrated to a new location when starting the Hub. This is to avoid OS upgrade issues and improve reliability (see License management for more details).
  • iOS:
  • PVR textures now work on iOS 8.
  • Apple's Application Loader now rejects IPAs that embed an "iTunes Artwork" image. To prevent this, the Hub/Deploy Tool will no longer create this image from the default application icon. If you do wish to create this image as part of your IPA, for example for ad-hoc distribution, then you can continue to use the itunes-artwork deployment option or the Ad Hoc iTunes Artwork (1024x1024) setting if using the Hub/Deploy Tool.
  • Added CFBundleShortVersionString to the default Info.plist. This key is set to the same value as the CFBundleVersion key.
  • Default Info.plist now contains correct UISupportedInterfaceOrientations key values for iPhone/iPad apps. Previously these key values were only being generated for Universal apps. This would manifest itself as the app launching in portrait despite specifying DispFixRot=Landscape.
  • Fixed crash in s3eGameCircle when CFBundleIdentifier and CFBundleURLName values are not set.
  • MAINT-2947 S3E Keyboard now ignores any input received via the dictation (Siri) facility. This previously crashed and is not compatible with the character by character input which the API is designed to support.
  • MAINT-2877 When iOS asks the app what orientation to use, try to use current device orientation if it is valid.
  • Android:
  • Fixed an issue where the {PACKAGENAME} macro was not expanded when using the android-extra-manifest deployment option.
  • Added new deployment option android-external-assets. This allows you to specify extra assets directories to be included in the assets folder of the deployed APK.
  • Windows Desktop:
  • MAINT-2925 Fixed an issue where in full screen the Steam UI overlay would not appear when pressing Shift+Tab if the app gains focus by clicking beforehand.
  • MAINT-2934 Fixed incorrect touch detection coordinates when using full screen.
  • Windows Store Apps:
  • Unicode characters can now be used in {platform}-publisher-display-name, {platform}-description and {platform}-product-name deployment settings.
  • MAINT-2722 Fixed buffering of touches when using the S3E OS Read String API.
  • MAINT-2942 Fixed crash on resume related to restoring GL shader uniforms.
  • MAINT-2909 Fixed missing call to IDXGIDevice3::Trim() during device suspend (Windows Store 8.1).
  • Windows Phone:
  • MAINT-2722 Fixed buffering of touches when using the S3E OS Read String API.
  • MAINT-2942 Fixed crash on resume related to restoring GL shader uniforms.
  • MAINT-2078 Fixed building of refraction shaders (as demonstrated in the IwGraphics GLES 2 Example).
  • MAINT-2943 Fixed Hub Product ID format validation (Windows Phone 8).
  • Mac OS X:
  • MAINT-2900 Implemented the S3E OS Read String API.
  • MAINT-2945 Fixed native builds failing in Xcode due to -mmacosx-version-min being missing from ld flags. This only affected building of extensions for OS X in Xcode.
  • Tools:
  • MA-23166 Fixed Xcode "live issue" warnings about missing S3E functions.

New in Marmalade 7.2.1 (Apr 16, 2014)

  • Besides important bug fixes provides a number of noteworthy updates, including:
  • IwBilling gets 3 new vendors
  • GAF Media's Flash player support added
  • Bundled ZeroBrane Studio IDE has been updated to v0.5
  • s3eImagePickerSaveToGallery added for the Android platform
  • New Android billing API's added
  • ImageMagick tool has been updated

New in Marmalade 6.4.1 (Oct 2, 2013)

  • Tizen:
  • Various fixes to support deployment and submission to store.
  • There is a known issue that currently signing does not work from the Mac SDK. This is being investigated and will be fixed in subsequent releases.
  • iOS:
  • MAINT-2341 Support new deployment options for iOS7 icons

New in Marmalade 6.4.0 (Sep 24, 2013)

  • plink:
  • MAINT-2288: When building with scons, if the wrong command line options were
  • passed to the mkb system then plink could crash at application link time.
  • Quick:
  • MAINT-2260: Fixed crash with Joints. The Garbage Collector was erroneously
  • deleting joints twice when cleaning up which could lead to a crash. Also
  • fixed the implementation of TouchJoint. This simply didn't work. The
  • dampingRatio, frequency and maxForce values were lost during the first
  • update of the model and the result was that the joint had no effect on the
  • attached body.
  • s3eWebview (Android):
  • A call to s3eWebViewShow would do nothing if the webview was already showing
  • on Android. This meant that if the function was called with different size
  • and position data to the previous call then no changes would be made to the
  • webview. This was inconsistent with behavior on other platforms. Now such
  • a call will resize and/or reposition the webview.
  • Marmalade Quick:
  • Marmalade Quick is now a part of the SDK
  • MAINT-2221 WP8 shaders are now added to a project template when creating
  • a new Quick project using the Quick Launchpad
  • MAINT-2287 Marmalade Quick projects created from Quick Launchpad include
  • iPhone 4-inch retina compliant launch image by default
  • Web Marmalade:
  • MAINT-2253: Examples on OSX would not run in the LaunchPad unless the
  • wmApplication.mkb was manually rebuilt
  • Generic:
  • MAINT-2240: Fixed incorrect definition of O_NONBLOCK for GNUC.
  • Mac OSX:
  • MAINT-2232: WinSuspendOnFocusLoss is now implemented for OSX. Note that
  • the default behaviour (if this flag is not given) is as if the value were
  • 1, so that as previously the app will suspend executing if the window
  • is minimised. This may change in the future.
  • MAINT-2259: s3eKeyboardGetChar() was not previously recognising minus,
  • equals, backspace and comma keys. Fixed but note that backspace translates
  • to 127 (delete).

New in Marmalade 6.3.2 (Aug 3, 2013)

  • s3eWindowsPhoneStoreBilling
  • MAINT-2118: fixed access violation crash.
  • Mac OSX
  • MAINT-2133: fixed defect where the Deploy Tool could not be called from Xcode
  • if the pathname contained spaces.
  • s3eFacebook:
  • MAINT-2059: Removed internal check for valid post_id on completion of
  • facebook dialog on Android. Some facebook dialogs were erroneously
  • indicating an error when they worked. [Means Android is now consistent in
  • this respect with iOS.]
  • s3eAudio
  • MAINT-1874: fixed defect where s3eAudioPlayFromBuffer was leaking file handles.
  • Exporters:
  • Removed the Max 8 Exporter.
  • IwHTTP:
  • MAINT-2006: Improved the speed of HTTP transfers. In certain cases (server
  • dependent), downloads could be subject to a long delay between receiving
  • the final content and reporting this via the the callback to user code. This
  • effectively made the download time much longer than it needed to be.
  • s3eSocket:
  • Added socket option S3E_SOCKET_NOSIGPIPE. When a socket has this option set it
  • will not generate SIGPIPE exceptions when a writing socket has no reader. Instead
  • it will just return an EPIPE error. This is essentially maps directly to the BSD
  • option SO_NOSIGPIPE.
  • s3eKeyboard (Mac):
  • MAINT-1728: Fixed the bug where keyboard events were not being received in fullscreen
  • mode on Mac desktop deployments.
  • s3eAudio (Mac):
  • MAINT-2069: Fixed instability issue when running on Mac simulator, certain
  • QuickTime calls were not directed to the correct thread.
  • s3eFile:
  • MAINT-1977: Fixed bug where with Windows deployment (not simulator) the result of
  • s3eFileGetFileString with parameter S3E_FILE_REAL_PATH was a relative filename,
  • not an absolute one. Should now be consistent with other platforms.
  • edk:
  • MAINT-2066: Fixed bug for Android java integration when functions in .s4e file
  • contained float or double parameters. Previously such functions were ignored
  • in the generated java and jni interface code. Now they are setup properly.
  • Warning: this does not fix existing issue in the generic edk code, where
  • s3eEdkThreadRunOnOS cannot directly handle float or double parameters.
  • Users are recommended to pass these by pointer or similar.
  • Generic:
  • MAINT-1959: Fixed bugs in CIwArray where new objects created in array during insert
  • were not constructed properly.
  • Docs:
  • MAINT-2010: Minor corrections to docs for CIwNUI::CTable, IwNUI::CImage
  • and fixed broken link to ZeroConf example from API examples page.

New in Marmalade 6.3.1 (Jul 2, 2013)

  • MKB system:
  • MAINT-1914: If Visual Studio Express for Windows Phone 8 was selected as the
  • default build environment then double clicking mkbs or running from the cmd
  • line with no buildenv wouldn't work.
  • s3eOSReadString:
  • MAINT-1756: Fixed slow performance after unlock the device.
  • Splashscreens:
  • MAINT-2032: If the icf SplashScreenFile was specified but either SplashScreenWidth
  • or SplashScreenHeight were missing then the width and height defaulted to 320 x 320.
  • It is now an error to specify the icf SplashScreenFile without both SplashScreenWidth
  • and SplashScreenHeight.
  • Generic:
  • MAINT-1992: Fixed bugs for Visual Studio integration: partial recompilation was
  • not working on VS2012; single file compilation was not working on VS2010 and VS2012.
  • s3eOpenUDID:
  • MAINT-1981: Improved documentation for the API.
  • IwGraphics:
  • MAINT-1892: Fixed minor bug with the iwgraphics.mkf subproject. The module has
  • dependencies on IwGX but wasn't subprojecting IwGX.
  • s3eNUI (Android):
  • MAINT-1077: If a dialog box was open on Android and the back key was pressed then
  • the dialog would be dismissed but the UI would hang. This has been fixed by making
  • dialog boxes non-cancellable.
  • s3eWebview (Mac):
  • MAINT-1643, MAINT-1849: Fixed the problem with s3eWebView on Mac where key presses
  • would be passed to the web view twice, e.g. in a text field.
  • s3eFile:
  • MAINT-169: Fixed a bug on the simulator with the icf preference "FileUseSeparateRomRam".
  • If set to false this would lead to a cascade of errors.
  • Roku: Added platform support for Roku 3 and Roku Streaming Stick streaming players.
  • IwGX:
  • MAINT-1827: Fixed IwGxPerspective.cpp compile errors.
  • lua
  • MAINT-2004: Removed dependency on tiniconv
  • Generic:
  • MAINT-1506: Fix for multi-resolution splash screen support on high resolution devices.
  • MAINT-2047: Stop spamming to trace from channel CORE.
  • SplashScreens were refactored for all supported platforms
  • New s3eDevice API property: S3E_DEVICE_SUPPORTS_SUSPEND_RESUME
  • Mac OSX:
  • Fixed issue that prevent running QEMU simulator from commandline.
  • MAINT-1568: Fixed issue that s3eAudioPlay repeatCount parameter was ingnored.

New in Marmalade 6.2.2 (Apr 11, 2013)

  • Generic:
  • MAINT-1169: Fixed a legacy extension build failure and its incorrect error
  • reporting, also fixed the associated EDK tutorial
  • MAINT-1539: Fixed assertions in the IwUILocation example
  • MAINT-1127: Fixed IwUILocation build failure by replacing CIwSVec2 with CIwFVec2
  • MAINT-1080: Fixed an issue where s3eFilePrintf truncated and corrupted
  • output to long strings
  • iOS:
  • Updated Facebook extension for iOS (Facebook iOS SDK 3.1.1)
  • Updated EDK Libraries and Frameworks version iOS 6.1
  • Fixed an issue in s3eIOSGameCenter extension where the leaderboard was
  • truncated and in the wrong place on iPhone/iPod (iOS5, iOS6) if
  • application icf setting DispFixRot was Landscape
  • MAINT-1467: Fixed the window size detection for s3eNUI applications when the
  • iOS status bar is enabled
  • MAINT-1531: Fixed an issue with IOSDispScaleFactor icf setting. Previously
  • the first declared value was applied. The last declared value
  • is now applied.
  • MAINT-705: Fixed an incorrect value for tier2 items in the m_Price data
  • field of the s3eProductInformation when calling ProductInfoCallback
  • MAINT-1569: Fixed an issue with showing the wrong splashscreen on 4-inch
  • retina devices
  • MAINT-1583: Fixed an issue where CFBundleDocumentTypes:s3eEdkAppGetInitialOpenURL()
  • always returned NULL
  • Mac OS X:
  • MAINT-1423: Fixed inability to determine device language and locale on Mac
  • MAINT-1425: Fixed issue that prevented video from working correctly in
  • fullscreen mode on Mac
  • MAINT-1424: Fixed an issue where key presses caused the OS's "alert" sound
  • MAINT-1411: Fixed an preventing applications from resuming after being
  • hidden by CMD+H

New in Marmalade 6.2.1 (Feb 27, 2013)

  • IwGX:
  • MAINT-1223: Fix Marmalade Shader Error
  • Changed perspective matrix from 4x3 to 4x4
  • Update IwGx shader uniform list to reflect available
  • Turn chroma key off on an option in IwGx
  • IwGxLightingEmissive doc's does not include all functions called
  • Mac OSX:
  • MAINT-1280: Add Maya Exporter for 64bit on Mac
  • MAINT-1438: Fix s3eAudioPlay memory leak on Mac
  • Generic:
  • MAINT-1034: Fix freeze for detecting mp4 type when trying to play corrupt
  • audio file
  • MAINT-1202: Fix slow performance for Memory allocation for std::string
  • MAINT-1169: Fix EDK make_extension.py error logs script
  • MAINT-1209: s3eKeyboard documentation update when using bluetooth keyboard
  • on Android/iOS
  • For 6.2 Community, Indie and Plus license holders are expected to add
  • a Marmalade Attribution to their application
  • Generic ARM:
  • MAINT-1233: Fix Printf("%f")
  • MAINT-1035: Fix undefined reference to `swprintf' when building GCC (ARM)
  • Android:
  • MAINT-1461: Fixed the memory leak when playing audio
  • MAINT-659: Fix ICF Splash screen background colour settings are ignored on Android with DispFixRot = Landscape
  • MAINT-1250: Fix Orientation issue on Android, DispFixRot now always works on
  • startup
  • Fix accelerometer behaviour in upside down orientations of the device
  • Fixed device resume event on Android when App gets a S3E_DEVICE_UPAUSE event
  • iOS:
  • MAINT-1392: Fix Mac OSX Screensaver/Sleep mode during MarmaladeApp work
  • MAINT-1391: Updated documentation regarding DispFixRot limitations on iOS
  • platform
  • MAINT-1266: Fix for timescope in IOSGameCenter extension
  • MAINT-1244: Fixed missing UIDeviceFamily key,value pair in Info.plist for
  • iPhone only builds
  • Fix accelerometer behaviour in upside down orientations of the device
  • DispFixRot for iOS usage Fix Notification bar position after app resume
  • Windows:
  • MAINT-1337: Fixed PVRVFRAME in Windows registry to be turned off by default
  • BB10:
  • Fix BB10 orientation break when using DispFixRot ICF setting

New in Marmalade 6.2.0 (Dec 20, 2012)

  • BlackBerry QNX: added new BlackBerry platform BlackBerry 10.
  • changed deploy options prefixes from "playbook-" to
  • "blackberry-".
  • Changed deploy setting from "playbook-access-shared" to
  • "blackberry-permissions-access-share".
  • Differentiate deploy setting "playbook-icon" to
  • "blackberry-playbook-icon" and "blackberry-phone-icon"
  • (i.e. BlackBerry 10 too).
  • BlackBerry QNX: Fixed bug where S3E_DEVICE_OS_VERSION was returning a line
  • feed and extra numbers after the version string.
  • iOS: iOS launch image is used to display splash screen unless SplashScreenFile
  • setting is specified in app.icf
  • BlackBerry QNX: Added extension s3eBBAppWorldBilling to provide developer
  • access to the In App Purchase functionality within the
  • BlackBerry App World.
  • s3eAccelerometer example: stop drawing lines outside of application's surface.
  • iOS: S3E Surface and IwGX switched to native device orientation handling mechanism
  • iOS: Libraries and Frameworks for EDK were updated to iOS 6.0
  • Bada: Bada platforms were deprecated
  • iOS: Added iPhone5 support (4-inch Retina)
  • iOS: iOS loader was updated to ARMv7
  • BlackBerry QNX: Removed dependencies on BlackBerry NDK and improved setup
  • and signing processes. The BlackBerry tools are now fully
  • integrated into Marmalade so you don't need to install the
  • BB10 or PlayBook NDKs. Singing is now fully supported by the
  • Deployment tool. Documentation updated.
  • BlackBerry QNX: Fixed issues with malformed packages when signing builds.
  • Added GL_OES_matrix_palette support for iOS.
  • Added possibility to get process ID using s3eDeviceGetInt
  • mkb: default arm-fpu value is detected according to arm-cpu.
  • mkb: default arm-cpu is set to 5TE.
  • Blackberry QNX : Use ICF setting WindowSuspendOnFocusLoss to control
  • whether to suspend the application when it loses focus
  • Android: Fix IME Extension crash when calling buffer and compiler errors
  • s3eIOSGameCenter: Fixed TimeScope manipulation.
  • Fixed missing UIDeviceFamily key,value pair in Info.plist for iPhone-only builds.
  • Fixed PVRVFRAME in Windows registry to be turned off by default.

New in Marmalade 6.2.0 Beta (Nov 30, 2012)

  • BlackBerry 10 Plaform support added
  • BlackBerry QNX: Added extension s3eBBAppWorldBilling to provide developer
  • access to the In App Purchase functionality within the BlackBerry App World.
  • s3eAccelerometer example: stop drawing lines outside of application's surface.
  • iOS: Libraries and Frameworks for EDK were updated to iOS 6.0
  • Bada: Bada platforms were deprecated
  • iOS: Added iPhone5 support (4-inch Retina)
  • iOS: iOS loader was updated to ARMv7
  • BlackBerry QNX: Removed dependencies on BlackBerry NDK and improved setup
  • and signing processes. The BlackBerry tools are now fully integrated into Marmalade so you don't need to install the BB10 or PlayBook NDKs. Singing is now fully supported by the Deployment tool. Documentation updated.
  • BlackBerry QNX: Fixed issues with malformed packages when signing builds.
  • Added GL_OES_matrix_palette support for iOS.
  • Added possibility to get process ID using s3eDeviceGetInt
  • mkb: default arm-fpu value is detected according to arm-cpu.
  • mkb: default arm-cpu is set to 5TE.
  • Blackberry QNX : Use ICF setting WindowSuspendOnFocusLoss to control
  • whether to suspend the application when it loses focus
  • Android: Fix IME Extension crash when calling buffer and compiler errors
  • Support Fixes
  • MAINT-1338 Fixed: iOS libs for Windows are ARMv6 only
  • MAINT-1278 Fixed: s3eIME and hardware buttons
  • MAINT-1316 Fixed: s3eWindowSetFullscreen renders in corner
  • MAINT-1285 Fixed: Issue with mailto
  • MAINT-1282 Fixed: s3eCameraCapture: the camera capture does not work on IOS.
  • MAINT-1294 Fixed: Users are unable to link IOS Applications with IOS6 Frameworks
  • MAINT-1289 Fixed: 6.1.2 Provisioning Profile Problems
  • MAL-202 Fixed: Error loading extension built with 6.1.2 beta

New in Marmalade 6.1.2 (Nov 3, 2012)

  • iOS: Added iPhone5 support (4-inch Retina)
  • iOS: iOS loader was updated to ARMv7
  • BlackBerry QNX: Removed dependencies on BlackBerry NDK and improved setup and signing processes. The BlackBerry tools are now fully integrated into Marmalade so you don't need to install the BB10 or PlayBook NDKs. Singing is now fully supported by the
  • Deployment tool. Documentation updated.
  • BlackBerry QNX: Fixed issues with malformed packages when signing builds.
  • Documentation: Offline html version of documentation now has built in index tree to match website version.
  • Android: Fixed android-external-res being added in the incorrect order.
  • iOS: Added GL_OES_matrix_palette support.
  • Added possibility to get process ID using s3eDeviceGetInt
  • mkb: default arm-fpu value is detected according to arm-cpu.
  • mkb: default arm-cpu is set to 5TE.

New in Marmalade 6.1.1 (Sep 7, 2012)

  • OSX: Fixed Scons x86 builds on Mac. If you built and ran an x86 using Scons then
  • you'd receive the same message as above.

New in Marmalade 6.1.0 (Sep 5, 2012)

  • s3eContacts: Improved API search capability.
  • Windows: s3eAudio and s3eVideo now uses DirectShow
  • Windows: ANGLE drivers now used for GLES2.
  • Windows: Fixed support for fullscreen mode.Fullscreen now works but is only
  • supported when using GLES2.See docs and known issues for more
  • details.
  • Windows: The windows application icon set in the deploy tool must be either
  • an ICO containing 32-bit 16x16,32x32,48x48 icons or a bitmap from
  • which these icons can be generated.
  • OSX/Windows:DispArea and DispAreaQ icf settings will no longer be defined
  • on Windows and Mac as the resizable nature of the window makes
  • these redundant.
  • OSX: Fixed bug with ++ operator on mac.
  • XCode: Fixed wrong compiler usage in xcode.
  • Android: android.jar updated to Android-15.
  • OSX: Implemented audio and video support.
  • iOS: Fixed r9 register corruption that could occur with multi-threading.
  • Android: RTTI support for MIPS architecture added.
  • Android: Fixed small bug with surface orientation when DispFixRot was used.
  • On slower phones the first GL frame would be noticalby oriented the
  • wrong way.Also, debug splash would be oriented the wrong way as
  • well.
  • s3eIOSAppStoreBilling: General tidy and fix for docs/example/extension.
  • Specifically, added wrappers around iOS return values to check for null. Bugs
  • on their side caused the extension to crash so we add some better checking
  • here.Also fixed m_Retain, which didn't work.Remove some minor bugs from
  • example which could cause crashes in certain circumstances.
  • ARM: Fixed bug where inet_addr didn't return -1 if an invalid IP was
  • specified.
  • Android: Fixed bug with s3eSound restarting after pause-resume event at full
  • volume.The volume state is now maintained.
  • XCode: Added support for custom build rules.Also added documentation as
  • this mkb feature was undocumented.
  • Android: Fixed bug with android-external-jars.One asset file would always
  • get corrupted to zero bytes when adding back to the main apk.
  • iOS: DispAreaQ icf setting wasn't working when used in conditional icf
  • settings on devices with retina enabled.
  • Middleware: Fixed issue with duplicate symbols when using tiniconv package.
  • Documentation: Extensive overhaul of iOS setup and signing documentation.
  • OSX: Added desktop GLES 2 support.
  • OSX: Added fullscreen support for GL applications via the s3eWindow API.
  • OSX: Improvements in icon support and choosing a custom plist
  • mdev: Added GitHub support to the mdev packaging system.
  • Added support for building extensions.
  • s3eDevice: S3E_DEVICE_NUM_CPU_CORES now reports the number of physical cores
  • correctly.
  • Android: The manifest permission ACCESS_NETWORK_STATE is once again optional,
  • unless using device callbacks S3E_DEVICE_NETWORK_ONLINE,
  • S3E_DEVICE_NETWORK_OFFLINE or s3eSocketGetInt with
  • S3E_SOCKET_UDP_AVAILABLE or S3E_SOCKET_NETWORK_TYPE.
  • Splashscreens: Multiple splashscreens can now be deployed using the deploy
  • tool or directly via the icf settings.The closest match
  • to the device resolution will be chosen at runtime.
  • XCode: Added support for custom build rules.Also added documentation as
  • this mkb feature was undocumented.
  • Deployment: setting an icon does not also set the splash screen with the icon
  • iOS: fixed video in a web view rotation
  • android: fixed crash in s3eIME when using the status bar
  • iOS: report correct value in DispAreaQ on retina models
  • iOS: fixed video rotation issue
  • windows: fixed pointer going off screen
  • IwGxFont: added support for fonts with only obscure characters
  • IwUI: fix to right aligned text issues
  • android: fixed IwGXSurface issues on the Transformer
  • bada: reporting better CPU and FPU values
  • IwHTTP: POST now accepts data with 0 character again
  • OSX: removed widespread warning on XCode 4.3.2
  • iOS: touches are no longer passed to the surface below the web view
  • android: fixed icf splash screens when fixing rotation
  • IwHTTP: fixed to work without threads
  • OSX: fixed to make building extensions possible
  • OSX: Enabled history in s3eWebView. Added shortcut keys for page reload
  • (Cmd-r) and navigate back (Backspace).
  • EDK: Fix building of EDK modules for android
  • Android: fix deployment issue if the 'adb' tool found in PATH was
  • in the default location within and android SDK.
  • Exporters: Added support for Maya 2013 and Max 2012.
  • iOS: added support for all iOS splash screen varients generation.
  • iOS: fixed startup splash screen issues.
  • iOS: fixed OsReadString issues related to splitting the keyboard.
  • Playbook: fixed cancel button on OsReadString.
  • Android: fixed icf setting splash screen when dispfixrot is set.
  • iOS: added s3eEdkAppGetInitialOpenURL function to read the initial
  • open URL setting
  • Documentation: Added new EDK Android Extension tutorial and example

New in Marmalade 6.0.6 (Aug 14, 2012)

  • Fixed: Issue with iOSStatusBarApp
  • Added possibility to run Native LaunchPad and Web LaunchPad simultaneously.
  • Fixed: Issue with installation of ipa file when deployment name contain spaces.
  • Provided more details warning messages on font changing in Font Builder.
  • Fixed: issue with wrong amount of memory on Playbook being reported
  • Fixed: Issue with s3eSound volume being reset after pausing application
  • Autogenerate iphone-icon-settings-high-res icon if unavailable.
  • Fixed: Deployed app crashes immediately in launchd
  • Suppress output of the SDK name to console on iOS
  • Documentation: Update warn-levels usage in documentation
  • Documentation: Launching app from Deploy Tool on Playbook
  • Fixed: Assets file getting corrupted during deploy
  • Fixed: Better handle inet_addr() when bad address returned
  • Retrieve network status on BlackBerry devices
  • Fixed: Issue with Applications hanging when Apple's IAP servers are down
  • Fixed: Issue with DispAreaQ not reported correctly in ICF on new iPad
  • Mutiple Fixes (Xperia Play) GL frame would be displayed in wrong orientation if DispFixRot was set to landscape. Fixed similar bug with debug splash/marmalade splash being wrong way around
  • Fixed: Issue with s3eAudioPlay() failing when passed a path with spaces
  • Fixed: Issue with duplicate tiniconv symbols
  • Fixed: Functionality lost in Exporter's view
  • Fixed: Slow resume time on Android
  • Fixed: Missing close button in s3eFacebook when deployed
  • Updating the Android jar to the latest version
  • Fixed; R9 register handling iOS
  • Fixed: ImageMagick is not working in OSX 10.8
  • Fixed: Marmalade can't find Xcode development preview versions
  • Fixed: Crash with s3eContacts API

New in Marmalade 6.0.5 (Jul 12, 2012)

  • Fixed issue with simulator resizing incorrectly

New in Marmalade 6.0.4 (Jul 7, 2012)

  • Fixed: Pausing and resuming of application on android platform
  • Fixed issue with opendir and s3eFileListDirectory not working with derbh
  • Fixed compiler_wrapper.py crash on VS2010
  • Fixed inactivating of simulator window in fullscreen Direct Draw mode
  • Fixed issue with Iw2DDrawImageStretch function not working correctly
  • Fixed incorrect code in s3eSoundStreaming example
  • Fixed issue with s3eOSExecExecute call ignoring any information after the "mailto:" prefix
  • Fixed: Attempt to re-acquire a lock already held by this thread with ClwHttp
  • Remove unwanted warnings on android deployments
  • Return S3E_DEVICE_FPU_NEON from s3eDeviceGetInt(S3E_DEVICE_FPU) on Android if NEON FPU present
  • Fixed bug with IwTestError
  • Added iPhoneVideoShareAudioSession to s3e.config.txt
  • Use fullscreen video for s3eCameraCapture example
  • Documentation should be offered to be opened at the end of web installation
  • Webview keyboard bug: Call SetFocus before and after show WebView.
  • Fix IwSSL example
  • Fix android deploy with with Profile folder that contains national characters
  • NetworkCheckStart/Stop The network checker now only starts/stops when people are listening.
  • Fixed annoying CChannelPCM::GenerateAudio(): paused in trace
  • Support multiple splash screens in the generic deploy options. Also fixed logic for iOS specific splashscreens
  • Fx s3eOsExec mailto params
  • Fixed s3eAndroidMarketBilling: UnsatisfiedLinkError
  • Fixed static initialization when running same s3e from device versus the ARM/ARMx86 emulator
  • Fixed issue with s3eDeviceGetInt( S3E_DEVICE_NUM_CPU_CORES ) not reporting correct cores
  • Update documentation with iOS supported version
  • Upated Android Facebook extension to better support SSO

New in Marmalade 6.0.3 (Jun 7, 2012)

  • Fixed issue reporting incorrect bada device cpu
  • Fixed s3eFileListDirectory fail when called on directories within a derbh archive
  • Fixed issue some devices not reporting GL_MAX_RENDERBUFFER_SIZE correctly
  • Removed setting of splash screen from icon
  • Fixed issue with Iw2DDrawImageStretch
  • Fix s3eVideo rotation
  • Fixed problem with IwUIBasicTextInput when space entered in right aligned text field
  • Added missing transform set for s3eVideo
  • Ignore Back Keys from pointer devices
  • Fixed issue with HTTP multiple instances
  • Fixed iPhoneVideoShareAudioSession not respecting mute switch
  • Fixed PNG file assert problem
  • Fixed listen for connections with s3 Sockets
  • Fix disable buttons on socket listen
  • Fixed iPad split keyboard crash with OSReadString
  • Changed full screen video from web view to rotate properly
  • Fixed issue relating to message: "Font does not contain a space character" when loading TTF
  • Fixed orientation issue for Playbook 2
  • Updated CIwUITabBar docs
  • Fixed Webview keyboard not returning characters problem
  • Fixed issue with not including final /r/n in length
  • Fixed s3ePointer doesn’t sent mouse event in simulator
  • Updated Marmalade install documents
  • Fixed dispFixRot on android

New in Marmalade 6.0.2 (May 11, 2012)

  • Exporters: Added support for Maya 2013 and Max 2012
  • iOS: touches are no longer passed to the surface below the web view
  • iOS: s3eOSReadString now handles split keyboards correctly
  • iOS: added s3eEdkAppGetInitialOpenURL to get the initial open URL
  • android: fixed icf splash screens when fixing rotation
  • playbook: s3eOSReadString now cancels properly
  • IwHTTP: fixed to work without threads
  • Added menu options to Windows simulator for Retina display
  • OSX: fixed to make building extensions possible
  • Android splash fixed when using dispfixrot=2
  • android: building of EDK modules
  • ios: WebView orientation (IwGX and s3eWebView) on iPad
  • Android: fixed crash with image property in CImagePtr when loading a png file

New in Marmalade 6.0.1 (May 5, 2012)

  • OSX: Enabled history in s3eWebView. Added shortcut keys for page reload
  • (Cmd-r) and navigate back (Backspace).
  • EDK: Fix building of EDK modules for android.

New in Marmalade 6.0.0 (Apr 17, 2012)

  • OSX: Add Xcode 4.3 support.
  • Android: Fix incorrect GLES Config selection on the Samsung Galaxy S.
  • OSX: Mouse scroll while now supported.
  • iOS: Fix for multisampled rendering on iOS 5 when using the ICF settings
  • [GL] EGL_SAMPLE_BUFFERS and [GL] EGL_SAMPLES.
  • iOS: Updated s3eFacebook extension to use the latest facebook-ios-sdk and
  • support single sign on (SSO). For login to function correctly, the
  • "iphone-bundle-url-schemes" must be correctly specified in the
  • application's MKB. See the s3eFacebook example for more details.
  • iOS: deployment using AdHoc profiles now works with or without aps enabled.
  • mkb: When use arm-gcc build and specifying arm-fpu=neon the default is now to
  • use the softfp ABI. The hard ABI can still be selected using
  • arm-fpu=neon-hard although this is of little use as the marmalade
  • standard libraries are compiled with with the soft ABI.
  • mkb: s3e/makefile_builder/config.txt is not longer read as a configuration
  • file. Global mkb settings must now be set in the user-global local:
  • "AppData/marmalade/mkb.config"
  • bada: Fixed bug with SMS send. The correct error code is now returned.
  • Fixed crash when you do not have correct privileges.
  • s3eAudio: Added support for multiple channels. The API already offered this
  • but it wasn't implemented on any platforms. Audio callbacks now
  • always return the current audio channel, which defaults to 0 for
  • platforms with no implementation. Currently iOS and Android support
  • multi-channel playback and LG-TV supports 2 channels (see platform
  • considerations in s3eAudio docs).
  • Implemented s3eAudioSetInt(S3E_AUDIO_POSITION) on iOS, Android and
  • Windows.
  • Added enum value S3E_AUDIO_DURATION which allows retrieval of the
  • audio track length in ms using s3eAudioGetInt. Implemented on
  • Android, Windows and iOS.
  • Implemented playback from http on Android. Also added enum value
  • S3E_AUDIO_PLAYBACK_FROM_HTTP_AVAILABLE which allows one to query
  • whether http playback is available on device.
  • s3eSound: For for possible clicking sound when channels are paused, stopped
  • and resumed.
  • s3eTimer: It is now possible to discover the localtime offset at a given
  • point in time (other than now). This means the localtime() now
  • returns the correct value for times in the past and future.
  • iOS and Android: added Network status checking to s3eDevice
  • OS X: Fix for lockups if errors occur during early startup.
  • iOS: Fix full-screen video playback within s3eWebView
  • iOS: Fix for s3eWebView not respecting ICF setting [s3e] IOSDispScaleFactor
  • BBX: Fix issue with 180 degree rotation for applications with fixed
  • orientation (ICF setting [s3e] DispFixRot)
  • Iw2D: Fix texture bleed issue when drawing textured regions on certain
  • devices with filtering off
  • Windows: Fix s3eAudio and s3eVideo not working with QuickTime 7.6.4 onwards
  • Multiple platforms: Made the behaviour of the EDK MessageBox example more
  • consistent across platforms.
  • BBX, iOS, Android: Added support of FixedLandscape and FixedPortrait
  • orientation locks
  • s3e: Changed parameter format of DispFixRot in app.icf.
  • s3e: Added posibility to change orientation lock (DispFixRot) on runtime,
  • using s3eSurfaceSetInt and posibility to read it using s3eSurfaceGetInt
  • Android: Fix for video not displaying on Android 2.2
  • Android: Fix for s3eFacebook extension occasionally crashing due to incorrect
  • usage of JNI reference.
  • Android: Fix for s3eDeviceGetString(S3E_DEVICE_UNIQUE_ID) for tablets. It now
  • returns the first of the following which is available of
  • TELEPHONY_SERVICE unique device ID, Secure.ANDROID_ID & Build.SERIAL
  • IwGxFont: Increase default value of 'ttfCacheSize'. This will increase memory
  • usage in some circumstances. See 'Conditioning Font Binaries' in
  • the documentation for how to control this value.
  • Added support of jpegs to IwImage.
  • BBX, iOS, Android: Added support of FixedLandscape and FixedPortreit
  • orientation locks
  • s3e: Changed parameter format of DispFixRot in app.icf.
  • s3e: Added posibility to change orientation lock (DispFixRot) on runtime,
  • using s3eSurfaceSetInt and posibility to read it using s3eSurfaceGetInt

New in Marmalade 5.2.4 Beta (Apr 10, 2012)

  • Bada: Fix applications crashing on start up for bada 1.2.
  • Android: Fix crash when rotating device whilst s3eImagePicker is in playback mode.

New in Marmalade 5.2.3 Beta (Apr 3, 2012)

  • Android: Fix incorrect GLES Config selection on the Samsung Galaxy S.
  • Android: Fix incorrect path name for looking up s3eAndroidMarketBilling
  • on Android 4.0.
  • Android: Added support for GL_NV_depth_nonlinear extension on NVIDIA Tegra 2
  • based devices. Enable by specifying ICF value
  • [GL] EGL_DEPTH_ENCODING_NV=0x30E3
  • LGTV: Fix TV volume code to show the volume bar when the volume keys on
  • the remote control are pressed.
  • LGTV: Fix initialisation code to not displaying Live TV screen.
  • OSX: Fix for running deployed builds on machines with no Marmalade license.

New in Marmalade 5.2.2 Beta (Feb 14, 2012)

  • iOS: Fix for multisampled rendering on iOS 5 when using the ICF settings [GL] EGL_SAMPLE_BUFFERS and [GL] EGL_SAMPLES.
  • iOS: Updated s3eFacebook extension to use the latest facebook-ios-sdk and support single sign on (SSO). For login to function correctly, the "iphone-bundle-url-schemes" must be correctly specified in the application's MKB. See the s3eFacebook example for more details.
  • Android: Fix for video not being visible on Android 1.6
  • Android: Fix for s3eDeviceGetString(S3E_DEVICE_UNIQUE_ID) for tablets. It now returns the first of the following which is available of TELEPHONY_SERVICE unique device ID, Secure.ANDROID_ID & Build.SERIAL
  • Android: Fix for UnsatisfiedLinkError exception if the back key was pressed during application start-up.
  • Android: Allow [GL] ICF settings to be ignored instead of failing to choose an egl config and the application failing to start.
  • Bada: Fix for device freeze if egl surface is destroyed too early during application shut down in response to quit request.
  • Symbian: Fix for setting video volume before playing video having no effect.
  • iOS: deployment using AdHoc profiles now works with or without aps enabled.
  • IwGx: Fix skinning shader on Android devices with Qualcomm Adreno 205 GPU.
  • Bada: Fix application resuming when transitioning to home screen via the task manager.
  • Bada: Fix application pausing whilst volume controls are being used.

New in Marmalade 5.2.0 (Nov 26, 2011)

  • iOS: Fix crash in s3eZeroConf on suspend/resume.
  • iOS: Rotation of keyboard locked for Game Center login screen to work around keyboard going out of bounds rotation bug (iOS 5)
  • OS X: Added support Xcode 4.2 and iOS SDK 5.0
  • Android: mDNS now interoperates with iOS ZeroConf more reliably
  • Android: added option to allow non-standard icon sizes (emits a warning instead of an error). Setting the mdpi icon now overrides android default icon.
  • Android: fix application lockup issue on Ice Cream Sandwich.
  • Android: Fixed a bug in the s3eAndroidMarketBilling example. Confirmations should be sent for all 3E_ANDROIDMARKETBILLING_ORDER_INFORMATION
  • notifications, not just for the purchased state.
  • Android: Fixed s3eVideo so that it plays at the correct desired size.
  • Fixed s3eVideo corruption on Xperia Play after a suspend and resume.
  • iOS: Fixed a bug in s3eIOSAppStoreBilling where callbacks indicating a purchase restore had failed (product returned with m_ProductStoreStatus of S3E_PRODUCT_STORE_STATUS_RESTORE_FAILED) would never occur.
  • iOS: Minor improvements to s3eIOSAppStoreBilling: Added error codes and error handling functions.
  • Added S3E_IOSAPPSTOREBILLING_IS_STARTED
  • property. Replaced Init() and Terminate() functions with Start()
  • and End() to conform with S3E API naming conventions the old
  • versions are currently still supported but have been deprecated. The example has been improved and s3eIOSAppStoreBilling is now included as source in extensions/s3e/s3eAppStoreBilling.
  • EDK: Fixed Deploy Tool linking errors with some libc/libc++ symbols when deploying apps using iOS extensions.
  • iOS: Fixed --iphone builds failing to launch Xcode if they use
  • iphone-link-opts in any MKF subproject/extension.
  • Android: s3eEdkAndroidFindClass now returns a global reference instead of a local reference as only the former can be shared between threads.
  • iOS: Added support for a 'cache://' drive in s3eFile. This allows files to be saved to an area of memory that is explicitly not backed up by iCloud or iTunes. This is needed to comply with new App Store requirements.
  • Also added IOSFileMoveDataToCache and IOSFileUseCacheForRam [s3e] ICF settings to allow existing data to be migrated from ram to cache folder.
  • iOS: Fixed s3eVideo crash on iOS 5 after a suspend and resume.
  • Fixed fullscreen video orientation issues.
  • Embedded controls can now be enabled for all iOS versions (via the icfsetting IOSVideoShowControls)
  • IwGL: Fixed state caching issue which resulted in incorrect material lighting and vertex colours on certain gl drivers.
  • EDK: Fixed iOS extensions failing to build due to undocumented gcc-version setting.
  • LGTV: Added the missing Use-DRM deploy option to the Deploy Tool GUI.
  • BBX: Fixed issue with sound corruption (fast playing, squeaking)

New in Marmalade 5.1.9 (Oct 27, 2011)

  • IwGx: Added [GX] DisableFBOSurface icf option to allow disabling this
  • functionality on devices which do not or poorly support FBO surfaces.
  • Android: Fix s3eKeyboardSetInt(S3E_KEYBOARD_GET_CHAR) having incorrect
  • behaviour after user closes soft-keyboard with back key.
  • Android: Fix for s3eWebView extension crashing in certain circumstances.

New in Marmalade 5.1.6 (Sep 20, 2011)

  • Android: Fixed issue with lost touch release events on Android 3.1 devices.
  • PlayBook: s3eVideo now full supported both windowed and fullscreen.
  • Symbian: Changed software surface default colour to black instead of white.
  • PlayBook: Fix for s3eSocket
  • PlayBook: Fix for framebuffer problem that resulted in black textures.

New in Marmalade 5.1.5 (Sep 13, 2011)

  • All platforms: isnanf now works correctly.
  • ICF: Add support for !=, , = comparisons in conditional ICF
  • settings for integer options.
  • Android: Fixed issue with crashes in s3eCameraCapture and s3eImagePicker
  • on Honeycomb

New in Marmalade 5.1.3 (Aug 25, 2011)

  • Symbian: Fixed video being restarted after a paused and resumed event when
  • s3eVideoStop has already been called.
  • Multiple platforms: Fixed linking errors when using RVCT 4.1.

New in Marmalade 5.1.1 (Aug 17, 2011)

  • Android: Fixed 1.6 crash on launch (vibrator) issue
  • iOS: Fixed unresolved symbol in direct-to-iPhone x86 debug mode
  • Android: Fixed issue causing timer resolution to be incorrectly reported on
  • some devices.
  • Documentation: Added new overview pages for icons and splashscreens options
  • and behaviour.

New in Marmalade 5.1.0 (Jul 30, 2011)

  • Multiple platforms: Exposed Authentication Access Token in s3eFacebook
  • extension
  • mdev: mkb syntax for specifying packages can now include a specific version
  • number. e.g. "zlib =1.2.3-4".
  • Multiple Platforms: Added s3eWebView API for displaying native web browser
  • views over the current surface. Currently supported on
  • iOS, Android, Windows and Mac OS X.
  • iOS: Fixed audio/sound issue where sound could be lost after internal audio
  • interrupt events. Notably, this could previously occur if resuming,
  • suspending and then resuming the app in quick succession.
  • Android: Fixed issue with s3eTouchpadAdvanced example where axes were not
  • centered upon suspend/resume.
  • Android: Fixed issue causing directional pad to be reported on Samsung Gio
  • All Platforms: Fixed bug causing MWM splash screen assets to be deployed
  • for all types of license.
  • iOS: Fixed issue where sound volume would become very high when changing from
  • a given volume level to zero then directly back to the previous value.
  • Multiple Platforms: Fixed s3eSound issue where samples were lost (frequency
  • appeared to change) if master volume was set to zero then increased
  • again.
  • Android: Multicast sockets now enabled via s3eSocket API.
  • Android: ZeroConf extension now available.
  • Android: Fixed issue causing deadlock when audio paused resumed rapidly
  • with application.
  • Android: Fixed issue causing vibrator device to be erroneously reported on
  • tablets and other devices without appropriate hardware.
  • OSX: Fixed issue with executing Xcode builds from the command line with mkb

New in Marmalade 5.0.4 (Jul 20, 2011)

  • All platforms: accept now correctly clears the readable condition on the the listening socket when using the BSD socket API

New in Marmalade 5.1 Beta 1 (Jul 16, 2011)

  • IwGx: Updated the scalable pipeline example to be faster and look better.
  • IwGx: Fixed issue with world space direction uniforms to shaders.
  • OpenGL: updated glext.h to include DXT compression constants.
  • IwGeom: Added assert when normalising zero length vector.
  • IwGx: Fixed misapplying fog optimisation for user shaders.
  • Simulator: Upped max tracked allocations and removed misleading errors
  • after that limit is exceeded.
  • IwGx: Fixed surfaces losing their depth buffers in Recreate.
  • Android: Added s3eIME extension for natural text input on Android
  • Windows: Added implementation of strtoull to IwCRT

New in Marmalade 5.0.3 Beta (Jul 15, 2011)

  • iOS: Added dynamic audio routing using standard iOS audio categories
  • (as defined by Apple)
  • iOS: Fixed EGL assert on termination.
  • iOS: Fixed issue causing s3eAudio to fail to resume.
  • All Platforms: Fixed s3eInetLookup failing to return the original
  • s3eInetAddress object under some circumstances.
  • Windows: Fixed dependencies between libraries in GCC builds.
  • Tools: Fixes to path handling by Deployment tool.

New in Marmalade 4.3.7 Beta (Jan 11, 2011)

  • New Deployment Platforms - You can now deploy to Symbian, Windows Mobile, webOS and Maemo, as well as iPhone, Android and BREW
  • New Tools - There is now Art Exporters for Maya 2010, and the Font Builder is also included

New in Marmalade 4.3.3 Beta (Dec 8, 2010)

  • BREW: Added option not to turn the backlight on for some phones as the API
  • call could crash the phone.
  • Airplay Studio: Fixed "inMVMat" uniform (the rotational part was transposed).
  • Bada: Fixed an issue with sendto/recvfrom where it was using the wrong byte
  • order for addresses
  • Bada: Error boxes now display using native dialogs
  • Bada: The Silent mode dialog box is now displayed using native dialogs with
  • the buttons in English (rather than in phone language)
  • Bada: Fixed a socket issue where it would report that a network was
  • available when there was no network connection.
  • vc2010 support: The 'S3E_LIB' target now works correctly
  • IwHTTP: Fixed an issue where a blocked read could cause socket closure
  • whilst fetching headers.
  • Documentation: Fixed broken links between different CHM files.
  • Maemo: Maemo now enforces pausing the application when in the background.
  • Android: Fixed a Deployment Tool issue where builds would remain unsigned
  • (and possibly not install) after "Create unsigned build" is un-
  • checked in the tool.
  • Android: Fixed the application crashing when launched a large amount of
  • times in rapid secession.