Construct 2 Changelog

What's new in Construct 2 r271

Aug 16, 2019
  • Feature :
  • Exporting for the Scirra Arcade is back!
  • Bug Fix:
  • Local Storage: Javascript error in Firefox
  • Performance :
  • Mouse: setting cursor now ignores redundantly setting the same cursor, which improves performance if setting the cursor every tick
  • Performance :
  • List: clearing the list is now much faster, especially when the list has hundreds of items or more

New in Construct 2 r270 (Jul 23, 2019)

  • Change:
  • Updated third-party libraries used by editor to latest versions
  • Bug Fix:
  • Crash using effects dialog incorrectly left behind after deleting object type/layer/layout

New in Construct 2 r268 (Apr 17, 2019)

  • Feature:
  • Exporting for the Scirra Arcade is back!
  • Bug Fix:
  • Local Storage: Javascript error in Firefox
  • Performance:
  • Mouse: setting cursor now ignores redundantly setting the same cursor, which improves performance if setting the cursor every tick
  • Performance:
  • List: clearing the list is now much faster, especially when the list has hundreds of items or more

New in Construct 2 r267 (Mar 28, 2019)

  • Platform behavior: could sink in to jump-thru if landing exactly at peak of jump

New in Construct 2 r266 (Jan 16, 2019)

  • Change :
  • Multiplayer: no longer considers ICE disconnection events as fatal
  • Bug Fix :
  • Video: fix playback in iOS 12+ apps
  • Letterbox integer scale may not have used full display on devices with non-integral device pixel ratio
  • User Media: camera input not working on Safari/iOS 12
  • Platform: adjusted to improve handling of rotating floor platforms
  • Possible crash double-clicking Sprite edit animations link

New in Construct 2 r265 (Nov 1, 2018)

  • Feature :
  • Exporting for the Scirra Arcade is back!
  • Bug Fix:
  • Local Storage: Javascript error in Firefox
  • Performance:
  • Mouse: setting cursor now ignores redundantly setting the same cursor, which improves performance if setting the cursor every tick
  • Performance :
  • List: clearing the list is now much faster, especially when the list has hundreds of items or more

New in Construct 2 r258 Beta (May 12, 2018)

  • Add:
  • Xbox Live: support for Achievements
  • Bug Fix:
  • Xbox Live: ensure high title IDs work correctly
  • Possible error in preview/export with old iOS versions
  • Event sheet search results involving groups did not always appear correctly

New in Construct 2 R231 Beta (Jul 13, 2016)

  • Event sheet view: possible crash right-clicking while dragging events/conditions/actions
  • Editor could prompt to install NW.js when previewing with a browser (which doesn't need NW.js installed)
  • Possible error message after deleting a layer and saving
  • WebGL effects: pixellate effect (and other effects relying on pixelWidth/pixelHeight) could appear different after export due to spritesheeting
  • Renaming an event group did not update the bookmarks bar if the group was bookmarked
  • Multiplayer: could crash in some circumstances due to closing an already-closed connection

New in Construct 2 R230 Beta (Jun 21, 2016)

  • NW.js plugin: 'On open/folder/save dialog cancelled' triggers
  • Event sheet column widths are now consistent when moving projects between low-DPI and high-DPI systems. However this may cause a one-off change in existing projects on high-DPI systems.
  • NW.js: should now use separate storages in preview mode and after export
  • Cordova export: now defaults "Use WKWebView" and "Use new Intel XDK project format" to enabled. WKWebView performance is significantly better and requires the new project format in the XDK, and we want to get broader testing of this. Note if you've already exported to Cordova then your last settings are still remembered.
  • More high-DPI display fixes for editor scroll speeds, object bar icons, animation & frame icons, image editor poly points/image points/hotspot, layers bar padlock icon, expressions panel, and event sheet appearance.
  • Runtime layer indices could be incorrect after deleting a layer
  • Pathfinding behavior: did not always correctly take in to account the new layout size when changing layout
  • Duplicating a layout now sets the same active layer
  • Due to a mistake in the build script, the 64-bit audio encoders were included with the 32-bit build. This should now be corrected.

New in Construct 2 R229 (May 26, 2016)

  • System object: new 'Sort Z order' action to sort the Z order of an object's instances according to an instance variable
  • Windows Store object: new 'Is Windows Store app' condition to check if a Windows 8/8.1/10+ Store app. Previously the "Is Windows 8 app" condition only checked Windows 8 specifically, not including Windows 10.
  • Preferences: added third mode to "cache icons" setting. In extreme cases, the Windows "10000 should be enough for anybody" limit is still a problem even for projects which have disabled icon caching. The third mode simply skips creating unique icons so all Sprite, Tiled Background etc. objects fall back to just using the plugin icon instead of an icon based on their image, eliminating the need to create icons for them at all.
  • Windows Store object: some features (e.g. Open Windows Store) only worked on Windows 8 and not Windows 10 due to incorrect platform detection
  • AJAX: "Request project file" now works in WKWebView mode for reading local project files
  • Audio: in Cordova WKWebView mode, could sometimes fail to start playing audio on startup. Note like Safari, the user must still touch the screen once to unblock audio.
  • Improved high-DPI scaling of event wizard dialog (adding/editing conditions/actions)
  • Improved high-DPI scaling of project bar (icons should now appear the right size)

New in Construct 2 R228 (May 6, 2016)

  • Bug fixes, User Media & Windows 10 app improvements

New in Construct 2 R227 (Apr 13, 2016)

  • Beta support for UWP apps on Xbox One!
  • An updated certificate for the installer, which should avoid security warnings in some cases
  • Multiple fixes for issues in Safari on iOS
  • New WKWebView support for Cordova iOS apps, which significantly improves performance (which was also later updated to reduce memory usage and add video support)
  • Audio scheduling, which makes sample-accurate playback possible
  • Support for a new project format for the latest version of the Intel XDK, but note this is still being worked on by Intel.

New in Construct 2 R226 Beta (Apr 11, 2016)

  • New Intel XDK project format: now automatically specifies Crosswalk if minimum Android version is

New in Construct 2 R225 Beta (Mar 24, 2016)

  • Audio: 'Schedule next play' action for sample-accurate playback timing
  • New example: Audio scheduling
  • New example: Multiple colored shadow-casting lights
  • Video: now supported in WKWebView. This is achieved by using a local HTTP server (cordova-plugin-httpd) solely to serve video files.
  • IAP: rewritten support for Cordova on iOS using the updated cc.fovea.cordova.purchase plugin
  • Cordova export: replace references to org.apache.cordova.media and org.crosswalk.engine with the newer IDs cordova-plugin-media and cordova-plugin-crosswalk-webview, allowing both to use the latest versions. Note however for Crosswalk builds to work on PhoneGap Build you will need to specify the version by adding to config.xml, until they make CLI 6+ the default.
  • Audio: in Cordova on iOS in WKWebView mode, no longer waits for a touch before starting music.
  • Audio: rudimentary memory management for music in WKWebView mode. Should now only keep one decompressed music track in memory at a time, preventing high memory usage in large projects.
  • Cordova export: updates to the new Intel XDK project format
  • NW.js: work around a bug that could leave ghost processes behind in apps that were upgraded from NW.js 0.12
  • Events: adding an effect can now bring back actions that disappeared after "replace object" because an effect was missing
  • Tilemap plugin: did not properly clear remaining tiles after loading a tilemap from JSON
  • Tilemap editor: should no longer change editing tilemap when pressing undo
  • Pathfinding behavior: did not always correctly update the obstacle map when changing layouts

New in Construct 2 R224 Beta (Mar 4, 2016)

  • Cordova export: option to enable WKWebView support using the official Cordova plugin (for iOS 9+).
  • Cordova export: new option to "Use new Intel XDK project format". This is in preparation for a future version of the XDK which is not yet available; please leave it disabled for the time being.
  • Cordova export: remove the 'devices' option; always defaults to 'universal' now.
  • Cordova export: updated format of config.xml to track PhoneGap Build updates.
  • Cordova export: references to the old org.apache.cordova.inappbrowser plugin have been replaced with the new ID cordova-plugin-inappbrowser
  • For ancient compatibility reasons, the following names are not allowed to be used as object names: CON, PRN, AUX, NUL, COM1-COM9, LPT1-LPT9.
  • More fixes aimed at working around Safari viewport bugs. We have tested a range of devices from iPhone 4S to an iPad Pro, and everything should be working better now with correct sizing, including after waking the device.

New in Construct 2 R223 Beta (Feb 23, 2016)

  • User Media: option to choose between WebM VP8 and WebM VP9 for canvas recording. Note Firefox appears to only support VP8, but Chrome will support both VP8 and VP9.
  • User Media: 'Is recording format supported' condition to test which of the possible recording formats are supported by the browser/platform. Note that Firefox does not currently support this (filed bug 1248938), and will not report that any formats are supported, even though you can record with VP8.
  • Audio plugin: SampleRate expression to get the audio output samplerate in Hz
  • The iAd plugin has been deprecated, since Apple have announced iAd will be discontinued
  • Another hack to try to work around broken viewport sizing in Safari
  • LocalStorage: updated storage library to latest version
  • Update FLAC and Ogg Vorbis codecs to latest version; now also ships 64-bit encoders with 64-bit build of Construct 2
  • Audio: hack to workaround iOS bug that could cause distorted audio playback (underlying issue reported to Apple)
  • User Media: update canvas recording feature to work with Chrome's upcoming implementation

New in Construct 2 R222 (Feb 15, 2016)

  • The code signing certificate used to sign the installer has been updated to use SHA-256
  • Audio plugin: removed workaround to Chrome bug that cut out audio after 25 seconds; Google say the bug is fixed, and the workaround caused other problems (audible clicks, errors on old browsers)
  • Added a hack to work around a Safari viewport bug that could cause the canvas to appear at the wrong size.
  • IAP object: error in preview with Firefox
  • NW.js plugin: Javascript error using Window actions in NW.js debug mode
  • Fallback effect 'destroy' was broken in canvas2d mode
  • System: loadingprogress could return NaN in some cases; it now returns 0 instead
  • LOS behavior: could sometimes work incorrectly when used as a family behavior
  • 'Is overlapping' conditions sometimes did not work if in a sub-event OR block.
  • Video: could fail to load after export on case-sensitive servers if the source path had uppercase characters

New in Construct 2 R221 (Jan 18, 2016)

  • Breaking change: NW.js support:
  • NW.js recently made significant changes for the 0.13 update which required changes in Construct 2. There is more information in the r217 release notes. However in short
  • NW.js 0.12.x and older only works with Construct 2 r216 and older
  • NW.js 0.13+ only works with Construct 2 r217 and newer
  • Consequently if you are updating from r216 or older, you must update NW.js. When updating, please visit scirra.com/nwjs and download and install the latest version of NW.js. The editor should notify you to do this the first time you try to export to NW.js, but you should do this immediately to avoid any chance of a broken export. Remember if for any reason you ever need to downgrade to Construct 2 r216 or older, similarly you will need to reinstall an older version of NW.js again.
  • NW.js 0.13.0 beta 4 is being released simultaneously with this stable update, however NW.js updates are coming more frequently now, so be on the lookout for newer versions.

New in Construct 2 R220 Beta (Jan 11, 2016)

  • NW.js export: now prompts once only to reinstall NW.js if C2 detects that you upgraded from r216 or older. This is because r217+ require a new version of NW.js, and older versions will not work after upgrading, so the reminder is designed to avoid leaving people wondering why NW.js doesn't work any more and guide them to reinstalling it.
  • System: 'Is on platform' condition now has a "Windows 10 app" option
  • NW.js export: removed 'single instance' option, since NW.js removed support for it.
  • IAP: update Amazon and Chrome Web Store IAP libraries to latest versions
  • NW.js: error using debugger
  • NW.js: error message when reloading the preview (although the preview appeared to continue to work normally)
  • User Media plugin: error using 'Stop' action
  • Could not preview with the latest versions of Opera
  • Firefox: another issue with a JS error using savegames when "Accept cookies from sites" is disabled
  • Certain combinations of OR events could pick incorrectly in some circumstances
  • Audio: work around a bug in Chrome (crbug.com/518863) which causes Web Audio to stop playback if idle for 30 seconds
  • Savegames: in some cases could incorrectly handle spawning objects in a loop after loading a savegame

New in Construct 2 R219 Beta (Dec 17, 2015)

  • A few changes and a batch of bug fixes

New in Construct 2 R218 Beta (Nov 30, 2015)

  • Work around a change in iOS 9 that prevented audio or video playback in Safari
  • Update to be compatible with a recent change to PhoneGap Build that broke Android builds
  • Gamepad's 'On button down' trigger did not work correctly in Microsoft Edge.

New in Construct 2 R216 Beta (Oct 22, 2015)

  • Work around a change in iOS 9 that prevented audio or video playback in Safari
  • Update to be compatible with a recent change to PhoneGap Build that broke Android builds
  • Gamepad's 'On button down' trigger did not work correctly in Microsoft Edge.

New in Construct 2 R215 Beta (Oct 16, 2015)

  • This build fixes a bug where Android builds would fail due to the latest PhoneGap Build update. Also PhoneGap Build now supports building with Crosswalk! This makes it an alternative to the Intel XDK for building Crosswalk-based Android apps. Construct 2's Cordova exporter now automatically specifices to use Crosswalk if you choose a minimum Android version below 5.0, because 5.0+ has a good enough system webview to not need Crosswalk. In other words:
  • Crosswalk works best for Android 4.0-4.4, since the system webview is poor on those devices. If you choose a minimum Android version less than 5.0 in the Cordova export dialog, Construct 2 will automatically specify to use Crosswalk on PhoneGap Build for it to work best on Android 4.x devices.
  • Android 5.0+ has an auto-updating system webview with WebGL and Web Audio support, making it suitable for games. If you choose a minimum Android version of 5.0 or higher in the Cordova export dialog, Construct 2 will not specify to use Crosswalk, since it is not necessary on those devices and not including Crosswalk can significantly reduce the size of the APK file.
  • Some other points to bear in mind about Android support:
  • This does not apply to the Intel XDK, where you must still manually build with either "Crosswalk for Android" or just "Android" (meaning the system web view).
  • Google Play recently increased the size limit for APK files from 50mb to 100mb, which helps alleviate the file size overhead of Crosswalk.
  • Android 5.0+ support is currently close to 25%. In time when the vast majority of Android devices are 5.0+, everyone can switch to publishing without Crosswalk to save the overhead on the APK filesize.

New in Construct 2 R214 Beta (Sep 22, 2015)

  • Cordova export: config.xml now specifies to use WKWebView for improved performance on iOS 9+. Note this requires cordova-ios 4.0 which is not out yet, and PhoneGap Build will probably take a little longer to add support too. However when it arrives it should bring a substantial performance improvement for exported iOS apps. Note this is not yet specified for the Intel XDK, but we are working on enabling it there too.
  • Cordova export: minimum OS options now include Android 5.1 and iOS 9
  • PubCenter plugin: an optional alternative ad unit ID can now be provided with the "Prepare interstitial" action
  • Audio: workaround an iOS 9 bug that prevented audio playback
  • Audio: Javascript error previewing in Firefox or after export (regression introduced in r213)
  • Video: workaround an iOS 9 bug that prevented video playback

New in Construct 2 R213 Beta (Sep 10, 2015)

  • Add:
  • PubCenter: preliminary support for Windows 10 and interstitial ads
  • Windows 10 exporter: now sets the correct orientations in package.appxmanifest according to the project 'Orientations' property
  • Bug Fix:
  • Windows 10 exporter: leaving the author, version, ID or description fields empty could export an invalid package.appxmanifest. C2 now prompts for these fields to be filled in before exporting.
  • AJAX: could sometimes trigger both "On completed" and "On error"
  • Shadow light: could render incorrectly with flipped or mirrored sprites
  • Gamepad: worked around a bug in Microsoft Edge that caused 'On button down' to trigger every tick while it was down
  • Audio: work around a Safari 8 bug that would not trigger 'On ended' (note the bug appears to be fixed in Safari 9, so updating should fix this as well)
  • Audio: PlaybackTime expression now correctly takes in to account the playback rate (e.g. increasing slower if the playback rate is less than 1)
  • Audio: playback rate would reset to 1 (normal speed) after pause/resume or switching tab and coming back
  • Audio: could resume from the wrong location if paused when the playback rate is not 1

New in Construct 2 R212.2 Beta (Aug 22, 2015)

  • Bug Fix:
  • Video plugin: did not work in Firefox
  • loopindex expression: returned incorrect loop index after a previous loop finished

New in Construct 2 R212 Beta (Aug 20, 2015)

  • Add:
  • Video plugin: support for save/load with savegames, which restores the video source and playback position
  • Change:
  • Minimum viewport size and layout size reduced from 10x10 to 2x2
  • AdMob plugin: brought up to date with the latest version of the underlying Cordova plugin, which includes deprecating the "Reload interstitial" action (since the Cordova plugin also deprecated this)
  • Bug Fix:
  • loopindex expression: when nested loops with the same name were used (even through function calls), loopindex now returns the most-nested loop's index rather than the least nested.

New in Construct 2 R211 Beta (Aug 8, 2015)

  • Change:
  • Brought the Windows 10 Universal App exporter up to date with the latest Visual Studio 2015 RTM version (final release).
  • Disabled a change to the preview server made in r202 when running on Windows XP. According to bug reports, in some cases this caused the preview server to stop responding only on Windows XP.
  • High-DPI is now enabled whenever the platform detects as Cordova. This should fix fullscreen scaling when using Cordova-compatible Cocoon.io builds.
  • Fade behavior: if not active on start, the first 'Start fade' action will retrieve the object opacity and use it as the opacity to fade to. This allows changes in the object opacity before a 'Start fade' action to have effect.
  • Parameters dialog: fixed the autocomplete sort order such that items come in the order "A", "A1", "A2" instead of "A1", "A2", "A"
  • Bug Fix:
  • Regression in r210: if using a loader layout and previewing any layout other than the loader layout, the preview would not work. This is fixed, but now the loader layout only appears in preview mode if you preview the first layout (which previewing with F4 does).
  • Video: playback could be very choppy in Chrome
  • Debugger did not work in IE11/Edge on Windows 10
  • Sprite: possible memory leak in collision-related memory after loading a savegame
  • Facebook plugin: possible Javascript error with null authResponse
  • Tilemap plugin: could sometimes fail to load tilemap data correctly if the loaded tilemap was larger than the current size of the object
  • Mouse: setting the cursor now also applies when hovering over form controls, e.g. Progress Bar
  • Mouse: worked around a bug in Chrome where changing the cursor did not always take effect

New in Construct 2 R210 Beta (Jul 16, 2015)

  • Add:
  • Support for Edge in the preview browser list. Edge is only available on Windows 10+, but if you have it you can use this option to preview with the new Microsoft Edge browser.
  • System action 'Set minimum framerate'. Below the minimum framerate, dt (delta-time) does not get larger, causing the game to go in to slow-motion rather than keeping up the same real-world speed. This was formerly fixed at 10 FPS. The new default has now also changed to 30 FPS, to help mitigate skipped collisions at low framerates.
  • Change:
  • C2 splash loader: in preview mode if loading finishes in less than 500ms, it instantly starts the game to avoid getting in the way during development. (Note after export it still displays for a minimum amount of time.)
  • Loader layouts can now display in preview mode. (Previously they only ever showed after exporting)
  • User Media object: brought up to date with the latest spec, and it now also works with the new user media support in Microsoft Edge.
  • asm.js Physics: now does not step the physics world when the timescale is 0. This should avoid any issues arising from repeatedly stepping the physics world with a zero time step.
  • Bug Fix:
  • C2 splash loader: would get stuck if project did not use any images
  • Video: could not play in Microsoft Edge in WebGL mode
  • Keyboard plugin & behaviors: all keyboard input is assumed to be released when the window loses focus, including triggering "On key up" events. This is to prevent the game state getting stuck thinking keys are down if a key is released after unfocusing the window (where the browser won't receive the key up event).
  • Possible Javascript error using index expression with instance variable
  • Pathfinding: 'compare speed' did not always work when the object was not moving
  • Event sheet view: using the keyboard shortcut 'V' with an existing variable selected now inserts the new variable to the correct place
  • Loading a savegame could unpin a Pin behavior on an object with the No Save behavior
  • Closing a project could leave project properties showing (and would crash if any were changed)

New in Construct 2 R209 Beta (Jul 10, 2015)

  • Feature:
  • Export Windows 10 Universal apps. (Not available in the Free edition.)
  • Add:
  • New "Construct 2 splash" loader style
  • Bullet behavior: 'Set distance travelled' action
  • Removed experimental front-to-back renderer
  • asm.js physics: increased memory size from 16mb to 32mb to allow more objects to be created
  • Tilemap plugin: another issue with AsJSON/TilesJSON saving the wrong size
  • Tilemap editor: hang if shift+right-clicking transparent tile
  • 'Alpha clamp' shader did not work in IE11
  • Text object: center/right aligned text could appear slightly offset due to including a space at the end of the line

New in Construct 2 R208 Beta (Jul 10, 2015)

  • Add:
  • Tilemap editor: can now hold shift+right click while dragging over a range of tiles, and the tilemap editor will select all the tiles from the start tile to the end tile. Useful for selecting patches to stamp out again.
  • Bug Fix:
  • Particles: did not render in the new front-to-back rendering mode
  • Particles: could disappear when using render cells
  • Animated sprites with background-blending WebGL shaders could render incorrectly after export
  • Possible layer rendering glitch in back-to-front mode introduced in r207
  • Tilemap editor: shift+right click to pick a tile now correctly respects its rotation/flipping
  • Tilemap editor: importing a TMX file now clears all previous tiles and sizes the object to the size of the imported tilemap
  • Tilemap plugin: AsJSON and TilesJSON expressions now correctly update after changing the tilemap size

New in Construct 2 R207 Beta (Jun 10, 2015)

  • Feature:
  • New experimental front-to-back renderer mode in Project Properties, currently disabled by default.
  • The Scirra Arcade plugin is back but with just a single "Submit score" action, allowing Arcade games to use leaderboards. Note that since the Arcade has been rewritten this is treated as a different plugin to the old one, so any existing projects using the Scirra Arcade plugin need to delete it from the project and add the new plugin to be able to submit scores.
  • Change:
  • Breaking change: 'On destroyed' no longer triggers when changing layout. Although this makes sense from the perspective of the engine, it seemed to regularly confuse users, especially when creating objects in 'On destroyed' (which for architectural reasons get carried to the next layout). Although this is technically a breaking change, it probably is closer to what people expect it to do.
  • 'On start of layout' no longer triggers when changing layout due to loading a savegame. This probably has little effect since it would then load the state of the project and most likely revert anything done by 'On start of layout', except for external things like writing to storage or making an AJAX request.
  • Update the runtime's browser detection to treat Microsoft Edge as a new different browser to Internet Explorer. This means our IE-specific hacks are no longer applied to Edge, since we anticipate it has much better standards compatibility.
  • Bug Fix:
  • Animated WebGL shader effects are now affected by the timescale
  • Video: could keep playing audio after being destroyed
  • Audio: possible issue with 'On audio ended' triggering when unfocusing/switching tab
  • Audio: javascript error if accidentally passing a string to a volume parameter

New in Construct 2 R206 Beta (May 26, 2015)

  • Add:
  • The Local Storage plugin help link now points to its new manual entry

New in Construct 2 R205.2 Beta (May 19, 2015)

  • Change:
  • Attempted a workaround to an old ATI graphics driver bug affecting the editor
  • Bug Fix:
  • Crash when dragging objects from Object Bar (or other interactions)

New in Construct 2 R205 Beta (May 14, 2015)

  • Add:
  • New 'rendererDetail' system expression. This requires WebGL support and currently only supported by Chrome and IE. It returns a string with the renderer hardware and vendor information, e.g. "NVIDIA GeForce GTX 660", "NVIDIA Tegra", "Adreno 330" etc. or "(unavailable)" if not supported or unknown. The exact content varies and you should not rely on this string having any particular content, but it can be useful to search for keywords and perhaps adapt the default display quality settings accordingly, or identifying which GPU is really in use in dual-GPU systems.
  • Add
  • System action: 'Set layer force own texture'
  • Change:
  • The runtime should now be able to track mouse click-and-drags outside of the window/iframe.
  • Bug Fix
  • Possible Javascript error publishing to Scirra Arcade
  • Spritefont: now saves and loads alignment when using savegames
  • Workaround for an iOS 8 Safari bug: if 'Fullscreen mode' is 'Off', the runtime now effectively disables high-DPI mode, since a bug in Safari appears to cause the canvas to be impossible to size correctly. Other fullscreen modes (e.g. letterbox scale) are not affected.
  • Object bar: now updates properties bar and layout view selection when navigating by arrow keys
  • Tilemap: editing the image then immediately choosing "Save as" may not have saved the project with the new image
  • Possible javascript error using a global array in a container
  • Project bar: keeps showing object properties after renaming an object type
  • XML object: in IE, StringValue expression can now return the correct result even without the text() XPath suffix, like other browsers
  • Audio: 'Is playing' did not work correctly after 'Seek'

New in Construct 2 R204.2 Beta (Apr 29, 2015)

  • Add:
  • Support for an upcoming screenshots feature on the Arcade
  • Bug Fix:
  • Local Storage: Javascript error in r204
  • Audio and Video: fixes to ensure they work properly in the Arcade

New in Construct 2 R204 Beta (Apr 27, 2015)

  • Feature:
  • Exporting for the Scirra Arcade is back!
  • Bug Fix:
  • Local Storage: Javascript error in Firefox
  • Performance:
  • Mouse: setting cursor now ignores redundantly setting the same cursor, which improves performance if setting the cursor every tick
  • List: clearing the list is now much faster, especially when the list has hundreds of items or more

New in Construct 2 R203 Beta (Apr 21, 2015)

  • Add:
  • Local Storage: new conditions 'Is processing sets', 'Is processing gets', 'On all sets complete', 'On all gets complete' to help schedule setting or getting batches of items
  • Local Storage: now displays storage data in the debugger, like WebStorage did. Note however that since it uses async storage, some keys may display as "(loading...)" until they have been retrieved.
  • Change:
  • Local Storage: ItemValue and Key expressions are now empty when used outside of any triggers that use them.
  • Local Storage: ItemValue is now set to the key value in the 'On item exists' trigger, so its value can be used immediately without having to use another 'Get item' action.
  • Bug Fix:
  • Local Storage: loading the number zero would actually return NaN
  • Audio: 'On ended' did not trigger for music
  • Multiplayer: updated to work with latest Firefox releases
  • Savegame/JSON state did not save or restore object blend modes correctly

New in Construct 2 R202 Beta (Apr 15, 2015)

  • Feature:
  • New 'Local Storage' plugin to supersede WebStorage
  • Change:
  • WebStorage plugin: now deprecated in favour of Local Storage. Existing projects can continue to use it but we recommend transitioning to Local Storage where possible.
  • Updated Google Closure Compiler to the latest version
  • Increased viewport and layout margin size limit to 100,000 (from 10,000)
  • Scirra Arcade plugin is hidden in the editor, since the Arcade is not taking submissions until the new Arcade is ready
  • Bug Fix:
  • Event sheet view: finishing editing a comment by pressing enter now leaves the comment selected
  • Properties bar: now displays properties when navigating the Project Bar items by keyboard
  • Runtime: possible memory leak/inflated savegame size when destroying objects used in 'On collision' events
  • Runtime: possible false positive collision detection in first tick after restarting a layout
  • Physics asm.js: possible javascript error restarting layout after connecting objects with joints
  • Breaking change: expression power operator (^) precedence is now higher than unary minus (-x)
  • Issue that could cause the preview server to stop responding to requests. This could have weird preview-only consequences, like pathfinding not working after playing audio.
  • Audio: could fail to pause audio if it had previously been paused and resumed
  • Sprite: 'Load image from URL' with resizing the object sometimes may not have updated the object size
  • Performance:
  • WebGL renderer: improvement to handling of GPU buffers which could improve performance on some devices

New in Construct 2 R201 Beta (Apr 1, 2015)

  • Add:
  • The HTML5 export now satisfies the conditions necessary to show in Chrome for Android 42+ (currently the beta channel). This makes it obvious for the user to add the game to the home screen.
  • Layout view: can now hold shift and right-click a tile to select that tile while editing a tilemap
  • Change:
  • Web app manifest: renamed from app.manifest to appmanifest.json, since it's more likely existing servers will have a MIME type set for .json than .manifest
  • Bug Fix:
  • Loading an object state from a JSON string may not have worked if changed layout
  • asm.js physics: possible javascript error destroying objects/changing layout
  • Audio: javascript error setting volume to NaN
  • Audio: playing/ended states now better take in to account a changing playback rate
  • Layout view: now correctly handles dragging a right mouse button click outside the C2 window when editing a tilemap

New in Construct 2 R200 Beta (Mar 16, 2015)

  • [CHANGE] Manual now up to date with r200 features

New in Construct 2 R199 Beta (Mar 10, 2015)

  • Change:
  • Preferences: 'Default preview browser' now lists NW.js (previously used old "node-webkit" name)
  • Layout view: dropping instances in to a parallax-in-editor layer now places the instance closer to the mouse
  • Bug Fix:
  • Audio: r198 accidentally reverted Chrome to a default doppler effect which pitch shifted moving sounds
  • Global objects on global layers could result in two instances having the same UID
  • Global objects sometimes would not restore after loading a savegame
  • Multiplayer: game would freeze if host switched tab (regression in r198)
  • Event sheet view: using 'move to event sheet' on multiple selected global variables now moves all of them instead of just one
  • asm.js physics: did not work in NW.js when minified

New in Construct 2 R198 Beta (Feb 26, 2015)

  • Add:
  • Tilemap bar: right-click menu now has a zoom level option so the tiles can be shown larger.
  • Change:
  • Adjusted how the runtime schedules frames to try to avoid jitter under high load.
  • Physics asm.js: increased polygon point limit from 8 to 16, which should help avoid a JS error in projects using more complicated polygon shapes.
  • Intel XDK export now specifies necessary plugin for IAP to work
  • Audio: removed support for doppler effects (speed of sound and doppler factor properties), since support for them is being dropped by Chrome after removal from the spec.
  • Adjusted wording on Javascript error dialog (it is not always a bug; reports should follow the guidelines)
  • Bug Fix:
  • Audio: setting volume did not work correctly in r197
  • Audio: 'is playing' now correctly takes in to account the playback rate
  • Physics asm.js: setting friction now updates all contacts

New in Construct 2 R197 Beta (Feb 17, 2015)

  • Add:
  • System: 'set pixel rounding' action, to change the pixel rounding mode at runtime
  • Change:
  • Physics: removed 'CocoonJS native' engine.
  • Physics: now defaults to asm.js physics.
  • Bug Fix:
  • Physics: broken after minified export in asm.js mode
  • Physics: asm.js mode 'Set friction' now updates friction for any existing contact (note: due to asm.js bug, only updates one contact - a future fix should make it update all contacts)
  • Audio: unable to set music volume in Chrome for Android
  • Bug using savegames with event groups and includes
  • Global objects could be created a second time after a save/load. Note this fix will only fully work with savegames saved with this build and later (r197+), since previously the savegame data did not include the necessary information for this to work.

New in Construct 2 R196.2 Beta (Feb 4, 2015)

  • Changelog:
  • Bug Fix:
  • Audio: javascript error on startup on some systems
  • asm.js physics: 'set prevent rotations' broken
  • asm.js physics: applying forces/impulses/torque now correctly wakes objects
  • asm.js physics: setting density had no effect

New in Construct 2 R196 Beta (Feb 3, 2015)

  • Physics engine update

New in Construct 2 R195 Beta (Jan 20, 2015)

  • Stable update: many improvements and bug fixes

New in Construct 2 R194.2 Beta (Jan 15, 2015)

  • Some more bug fixes

New in Construct 2 R194 Beta (Jan 14, 2015)

  • Bug fix update

New in Construct 2 R193 Beta (Jan 7, 2015)

  • Open external image editor; bug fixes

New in Construct 2 R192 Beta (Dec 12, 2014)

  • Updated Cordova export, Z Order Bar improvements, bug fixes & more

New in Construct 2 R190 Beta (Nov 26, 2014)

  • Change:
  • Node-webkit updated to v0.11.1
  • Manual updated to cover latest features
  • Bug Fix:
  • Possible audio-related Javascript error in Firefox for Android

New in Construct 2 R189 Beta (Nov 21, 2014)

  • Add:
  • Amazon Appstore exporter: now provides option to export packaged apps. Simply zip the resulting folder and you can submit an app hosted by the Amazon Appstore instead of your own server.
  • WebGL shader effects can now use a 'scrollPos' vec2, which is the scroll position (in the middle of the screen) in layout co-ordinates.
  • Change:
  • Sine behavior: reverted r188's fix to update the initial state when setting active, since it broke existing games. Instead there is a new 'Update initial state' action to do this explicitly.
  • Bug Fix:
  • The editor can now import 32-bit GIF files, but we still strongly recommend using PNG instead.
  • Form controls now respond better to changed browser zoom levels on desktop.
  • Performance:
  • Destroying large numbers of instances in one go is now considerably faster. This could be a significant help if destroying entire sections of a layout at a time.

New in Construct 2 R188 Beta (Nov 15, 2014)

  • Add:
  • System angle conditions 'Is within angle', 'Is clockwise from' and 'Is between angles'. These are the cycle-aware system equivalents of the object conditions but can be used with any angle, e.g. from a behavior.
  • Node-webkit export now has help links to the new tutorial Exporting desktop apps with node-webkit
  • Node-webkit now also exports a 64-bit Windows version. Note due to this change you must install the latest node-webkit v0.11.0, otherwise the editor will report that node-webkit is not installed.
  • Change:
  • Updated node-webkit to v0.11.0, based on Chromium 38. Note this must be installed separately from scirra.com/node-webkit.
  • Chrome Web Store exporter updated to support latest upload requirements for Chrome Apps
  • Intel XDK: config XML file now includes cordova plugin version if specified by a plugin
  • Bug Fix
  • Sine behavior: now reads initial state again when being set active, so it respects any changes in the state of the object
  • data.js is now included in the AppCache for offline support
  • data.js is now referenced in the Visual Studio based exports for Windows Store platforms
  • Performance:
  • Fixed possible laggy editor performance when using large numbers of layouts in a project

New in Construct 2 R187 Beta (Nov 7, 2014)

  • Add:
  • AdMob plugin: 'Preload banner' action
  • System: 'Set layer blend mode' action
  • System: 'Layer is empty' condition (tests if layer has zero instances)
  • AJAX: 'Override MIME type' action. Can be used to force the response type/character set of the response.
  • Change:
  • [CHANGE] Node-webkit is now unbundled from the installer and can be installed separately from scirra.com/node-webkit
  • Multiplayer: removed an old and potentially performance degrading workaround to a bug in Chrome 35
  • Updated to the latest version of Google Closure Compiler for minifying scripts.
  • Java 8 broke the way Construct 2 ran the minifier. It now uses a different method to run the minifier which appears to work with Java 8. If you previously uninstalled Java 8 to work around this issue we recommend reinstalling it for this build.
  • Bug Fix:
  • Audio caused crash when suspending/resuming where the Web Audio API was not supported (introduced in r186, also affected Ejecta)
  • Layout view: if WebGL was disabled, all blend modes reverted to "normal" as if "preview effects" had been disabled. Now blend modes correctly preview in the layout view with WebGL off according to the "preview effects" setting.
  • 'Blend modes' example updated to ensure all blends display correctly
  • 'Audio filename cannot be found in project' error when opening some projects in r186.2
  • Worked around an IE9 quirk where it could sometimes move its window in to the background when clicked
  • Performance:
  • Runtime now loads project data from a separate data.js file instead of bundling everything in to c2runtime.js
  • The renderer now experimentally skips rendering layers with zero instances on them, which could save GPU fill rate processing screen-sized transparent textures if they use a shader, blend mode or own texture. Note off-screen objects will still prevent the layer being skipped and use fill rate if the layer uses its own texture; consider using events to set the layer visible/invisible when not needed to optimise for this case.

New in Construct 2 R186.2 Beta (Nov 1, 2014)

  • Bug Fix:
  • "Unknown IParameter type" error on preview/export

New in Construct 2 R185 Beta (Oct 21, 2014)

  • Add:
  • Google Play: experimental support for PhoneGap/Crosswalk
  • Export to PhoneGap options dialog now includes Android 5.0 as a new minimum Android OS version, and it is the new default (since it has WebGL, Web Audio + WebRTC support and auto-updates the web view)
  • Browser: new 'ConnectionType' expression, which can return e.g. "wifi", "cellular" if known (else "unknown"). Currently supported on Chrome and Firefox for Android.
  • The Android/Crosswalk and PhoneGap exporters now generate a 'intelxdk.config.additions.xml' file listing the used cordova plugins, which should allow XDK builds to automatically include the right plugins.
  • AdMob: new 'On banner ad received' trigger
  • Change:
  • Function: 'Call function' action now provides a dropdown list with all the function names used in the project.
  • Exported spritesheets now pad with the last row of pixels from the image instead of with transparency, to help avoid seams appearing after export.
  • Updated orientation locking code to latest specification, which now also means Chrome 38+ is supported. Note for orientation lock to take effect you normally have to request fullscreen with the Browser object, which itself can only be done in a user input trigger (such as 'on touched object').
  • Video: worked around a bug in Chrome for Android that prevented video rendering in WebGL mode. Now Chrome for Android uses the same workaround iOS does: it floats the video element above the canvas instead of rendering it inside the canvas. This means nothing can layer above the video nor can blend mode/effects be applied to the video, but at least it can play.
  • Audio: removed a workaround to an old Firefox audio bug (now fixed) that could cause distorted music playback. As a result Firefox can now also apply audio effects to music, like Chrome can.
  • Browser: deprecated connection 'Is metered' condition: there is no longer any standard that specifies a way to detect this, so only non-standard support is left and that is likely to be removed in the near future
  • Browser: now compliant with latest spec for battery and connection related features, which works with Chrome 38+
  • Tilemap bar: now can switch the editing tilemap instance by clicking tilemap objects in the Project or Object bars.
  • Updated jQuery from v2.0.0 to v2.1.1
  • Bug Fix:
  • Browser: Javascript error using 'Bandwidth' expression on unsupported platforms.
  • Tilemap: when using non-power-of-two tile sizes, the display quality may now be better when using 'Seamless' mode.
  • Multiplayer: caused Javascript error on IE9.
  • Renaming a layer to a global layer's name did not always make it overridden.
  • Duplicating a layout could cause global layers to reset their properties.

New in Construct 2 R183 Beta (Oct 4, 2014)

  • Add:
  • Audio: new 'Play in background' property. Setting to 'Yes' allows audio to keep playing after switching tab/app for things like music player apps. PhoneGap export: can now choose minimum iOS and Android versions required by the app. Currently it defaults to iOS 8+ minimum since performance is significantly better, and when Android L is out it will likely become the default minimum for PhoneGap as well. However you can opt in to supporting older versions if you wish, and for Android we still recommend using Crosswalk for better support on Android 4.0-4.4.
  • Change:
  • The WebGL renderer name is now logged to the browser console on preview if it's available, e.g. "ANGLE (NVIDIA GeForce GTX 660 Direct3D11 vs_5_0 ps_5_0)". This could be useful to identify the GPU in use in dual-GPU systems, and also sometimes indicates the underlying rendering API in use (e.g. Direct3D 11 in the given example).
  • The Crosswalk export should now also be buildable on other XDK targets like iOS with similar support to PhoneGap (since the XDK supports Cordova). This allows the XDK to be used as an alternative to PhoneGap Build.
  • PhoneGap export now references cordova.js instead of phonegap.js for better compatibility with XDK and PhoneGap CLI
  • Dictionary: display text for 'compare current value' was incorrect
  • Browser object: in PhoneGap, 'Open URL' and 'Open URL in new window' now both launch the system browser.
  • Moved event/group expanded/collapsed state to the event sheet uistate file. This should prevent needing to merge changed "collapsed" attributes in event sheet XML when using source control.
  • Moved project bar item expanded/collapsed states to the project uistate file. This should prevent needing to merge changed "expanded" attributes in the main .caproj XML when using source control.
  • Bug Fix:
  • Possible check failure duplicating layouts with global layers
  • More cases of being able to modify layers overridden by global layers where it shouldn't have been allowed
  • Display would sometimes fail to restore after a WebGL context lost event. The runtime should now correctly recover.
  • 'Soft light' WebGL shader did not work in IE11
  • Sprite: loading image from a URL could in some cases degrade the image quality
  • SDK:
  • "cordova-plugins" in plugin settings can now also optionally specify a plugin version after an @, e.g. "[email protected]"

New in Construct 2 R182 Beta (Sep 27, 2014)

  • Add: New iAd plugin for PhoneGap, using com.rjfun.cordova.plugin.iad
  • Add: 'projectname' expression
  • Add: Event sheet view: 'Add sub-group' option to event group context menu
  • Bug Fix: Editor: regular freezing in large projects introduced in r181
  • Bug Fix: Editor: several cases where objects could be moved to/from layers that were being overridden by global layers, which was not supposed to be possible. Instead now the editor tells you to modify the original global layer instead.
  • Bug Fix: Layout view: check failure on closing the editor or layout tab after setting a layer to be global
  • Bug Fix: Check failure if duplicating a layout with a global layer
  • Bug Fix: Picture editor: cropping with a rectangle selection could sometimes offset origin incorrectly
  • Bug Fix: 9-patch: more issues drawing small objects in canvas2d mode
  • Bug Fix: Node-webkit plugin: file dialog triggers now still fire even if selecting the same file twice
  • Bug Fix: Possible issue with savegames not correctly restoring state after updating a game with a new minified version ("extra.property" name closure-proofing) - thanks to rexrainbow for raising the issue
  • SDK: Plugins and behaviors can now specify a semicolon-separated list of cordova plugins to add to the config.xml file after exporting for PhoneGap under "cordova-plugins" in GetPluginSettings. See the Game Center plugin for an example. This allows plugins that depend on Cordova plugins to automatically have the plugin included for PhoneGap Build.

New in Construct 2 R181 (Sep 24, 2014)

  • Add: Pathfinding behavior: actions to regenerate just a portion of the obstacle map, either by layout co-ordinates or by passing an object (and it will regenerate the area around the bounding boxes of all the picked instances). This can be used to do small, fast updates of the obstacle map instead of having to regenerate the whole map every time it changes, which can be slow for large maps. Note as with regenerating the full map, the update completes next tick.
  • Add: System expressions 'OriginalWindowWidth' and 'OriginalWindowHeight', returning the original 'Window Width' and 'Window Height' project properties.
  • Add: Node-webkit exporter: new options upon exporting to set single instance, window frame, resizable and kiosk modes
  • Add: Multiplayer: new 'Kick peer' action, to forcibly remove another peer when host
  • Change: Node-webkit: updated to v0.10.3, and updated the Windows version to a special build which appears to include a fix for the occasional freezing bug. (Thanks to Roger Wang for investigating and providing the fix.)
  • Change: The (built-in) CocoonJS plugin and CocoonJS exporter are now deprecated and are hidden from the editor by default.
  • Change: Setting 'Preview effects' to 'No' in project properties now also displays all object with a 'normal' blend mode in addition to rendering without shader effects.
  • Change: Audio preloading is now disabled for the Android stock browser (but not Chrome for Android), because in some versions it does not appear to be able to correctly indicate whether audio has loaded, and could hang on the loading bar. This probably makes little difference to audio playback, since the Android browser can only play one sound at a time and only in a user-input event, making it hard to play sound effects.
  • Change: Audio: 'all preloads complete' condition now is only true after the audio has also been decoded. Previously it was true if the audio had only downloaded but not finished decoding. This guarantees that metadata like the sound duration is available when 'all preloads complete'.
  • Bug Fix: Video: Javascript error trying to load a blocked video from a cross-domain source. This still does not work (the security model of the web does not allow this unless the server sends the Access-Control-Allow-Origin HTTP header) but logs the error to the console instead of popping up an alert.
  • Bug Fix: Layer background color did not always fill correctly in layout view
  • Bug Fix: Changing layouts could rearrange relative Z order of global objects
  • Bug Fix: Pixel rounding mode could in some cases round the wrong way and offset objects by 1px
  • Bug Fix: Encoded some files in UTF-8 with BOM to help pass Windows Store certification
  • Bug Fix: Objects both in a container and with the 'Persist' behavior were sometimes not persisted correctly
  • Bug Fix: Audio: 'all preloads complete' could never become true in some cases in Firefox
  • Performance: Audio: reduced memory usage when using large numbers of sound effects with preloading

New in Construct 2 R180 (Sep 15, 2014)

  • Changelog
  • Feature: Admob Ads plugin. Display Admob banner or interstitial ads in Crosswalk (and PhoneGap, but not yet PhoneGap Build)
  • Add: Platform behavior: new built-in double-jump feature
  • Add: Platform behavior: new built-in jump sustain feature
  • Change: Properties bar: can now use tab / shift+tab to move up and down the available properties, selecting them by their values instead of their names
  • Change: Autosave now measures time from the first change you make to a saved project. This means autosave will not occur if you have a saved project open which stays unmodified for a long time (e.g. for testing), and then after the first change to that saved project the timer starts for the next autosave.
  • Change: PhoneGap export: now defaults 'Uses media' permission to false, since it adds required permissions to the app and is not required for audio playback on iOS 8+ and Android L+. If you still use PhoneGap for older iOS/Android versions, you'll need to enable media permission again for audio playback to work.
  • Change: The Amazon Appstore exporter is now available in the Free edition.
  • Bug Fix: Preferences: 'Reset dialogs' now also resets all bar positions as well
  • Bug Fix: Particles: 'set initial speed randomiser' didn't work
  • Bug Fix: Multiplayer: could potentially incorrectly leave the room in some circumstances
  • Bug Fix: Attempted fix for Android stock browser/PhoneGap on old Android phones not displaying the canvas correctly
  • Bug Fix: Suspend and resume events should now fire correctly on Windows Store universal apps (on both desktop and phone)
  • Bug Fix: Possible check failure in editor moving a layer with instances selected in the layout view
  • Bug Fix: Mouse, Touch: did not correctly take in to account layout scale and layout angle if no layer parameter passed to X/Y expressions

New in Construct 2 R179 (Sep 5, 2014)

  • Add: Pathfinding behavior: actions to regenerate just a portion of the obstacle map, either by layout co-ordinates or by passing an object (and it will regenerate the area around the bounding boxes of all the picked instances). This can be used to do small, fast updates of the obstacle map instead of having to regenerate the whole map every time it changes, which can be slow for large maps. Note as with regenerating the full map, the update completes next tick.
  • Add: System expressions 'OriginalWindowWidth' and 'OriginalWindowHeight', returning the original 'Window Width' and 'Window Height' project properties.
  • Add: Node-webkit exporter: new options upon exporting to set single instance, window frame, resizable and kiosk modes
  • Add: Multiplayer: new 'Kick peer' action, to forcibly remove another peer when host
  • Change: Node-webkit: updated to v0.10.3, and updated the Windows version to a special build which appears to include a fix for the occasional freezing bug. (Thanks to Roger Wang for investigating and providing the fix.)
  • Change: The (built-in) CocoonJS plugin and CocoonJS exporter are now deprecated and are hidden from the editor by default.
  • Change: Setting 'Preview effects' to 'No' in project properties now also displays all object with a 'normal' blend mode in addition to rendering without shader effects.
  • Change: Audio preloading is now disabled for the Android stock browser (but not Chrome for Android), because in some versions it does not appear to be able to correctly indicate whether audio has loaded, and could hang on the loading bar. This probably makes little difference to audio playback, since the Android browser can only play one sound at a time and only in a user-input event, making it hard to play sound effects.
  • Change: Audio: 'all preloads complete' condition now is only true after the audio has also been decoded. Previously it was true if the audio had only downloaded but not finished decoding. This guarantees that metadata like the sound duration is available when 'all preloads complete'.
  • Change: Audio: 'all preloads complete' condition now is only true after the audio has also been decoded. Previously it was true if the audio had only downloaded but not finished decoding. This guarantees that metadata like the sound duration is available when 'all preloads complete'.
  • Bug Fix: Layer background color did not always fill correctly in layout view
  • Bug Fix: Changing layouts could rearrange relative Z order of global objects
  • Bug Fix: Pixel rounding mode could in some cases round the wrong way and offset objects by 1px
  • Bug Fix: Encoded some files in UTF-8 with BOM to help pass Windows Store certification
  • Bug Fix: Objects both in a container and with the 'Persist' behavior were sometimes not persisted correctly
  • Bug Fix: Audio: 'all preloads complete' could never become true in some cases in Firefox
  • Performance: Audio: reduced memory usage when using large numbers of sound effects with preloading

New in Construct 2 R178 (Sep 5, 2014)

  • Add: File Chooser: help link now opens its new manual entry
  • Change: Audio: the Volume, Duration and PlaybackTime expressions now prioritise playing tracks if multiple tracks exist with the same tag. Previously it would always return the first track ever played with that tag, even if it was stopped and another track was currently playing with the same tag.
  • Change: Audio: clarified "Preload by name" appearence in event sheet
  • Bug Fix:Node-webkit: preloading by name a sound that did not exist would cause "All preloads complete" to never be true
  • Bug Fix: Possible issue using signalled waits with savegames
  • Bug Fix: Ejecta: game would not start if 'Preload sounds' set to 'Yes'

New in Construct 2 R177 (Aug 14, 2014)

  • Add:
  • System object: new (long overdue) 'Go to next/previous layout' action
  • Add:
  • System object: new 'Wait for signal' and 'Signal' actions
  • Change:
  • Updated node-webkit to 0.10.2
  • Change:
  • Re-enabled threaded compositing for node-webkit. This was previously disabled to work around a bug, but caused severe input delays on OS X.
  • Bug Fix:
  • Multiplayer: r176 broke support for Firefox
  • Bug Fix:
  • Exported games can now still begin if preloaded audio files are missing (if the server returns 404 Not Found for any audio files, which can also happen with the wrong MIME type configuration). Previously the loading bar would hang and the game would never start.
  • Bug Fix:
  • Javascript error using mixed number/string types in min & max expressions
  • Bug Fix:
  • Creating objects in 'On destroyed' could in some cases result in a negative object count
  • Bug Fix:
  • Form controls should now properly unfocus on mobile when touching away from them

New in Construct 2 R176 (Aug 6, 2014)

  • Add:
  • Multiplayer: 'Add ICE server' action now allows providing a username and credential for use with TURN servers
  • Change:
  • Updated node-webkit to v0.10.1
  • Change:
  • Image editor: new icons for 'Link to source file' and 'Reload from source'
  • Change:
  • Offline cache manifest now uses forward slashes instead of back slashes for paths, which may improve caching on some Linux-based systems
  • Change:
  • Updated engine platform detection taking in to account IE Mobile's new user agent string
  • Change:
  • Multiplayer: improvements to input prediction when using Platform behavior. This still does not appear to be perfect and work will continue, but it should be better than it was
  • Bug Fix:
  • File Chooser: did not respond to touches on mobile if the Touch object or Drag & Drop behavior were also in the project
  • Bug Fix:
  • AJAX: setting a timeout caused an error in Internet Explorer
  • Bug Fix:
  • Bullet: could return 'Speed' expression incorrectly at very high speeds
  • Bug Fix:
  • Node-webkit plugin: 'FileSize' expression didn't work
  • Performance:
  • Sprite Font: improved performance when rendering extremely large objects with lots of text. (Note: SpriteFont+ is not modified since it is a third party plugin; ask the developer to incorporate these changes)

New in Construct 2 R175 (Jul 11, 2014)

  • Add:
  • Images and animation frames now have an original source path which the image/animation can be reloaded from
  • Add:
  • New project property: Preload sounds
  • Add:
  • Touch: new 'On tap object', 'On double-tap object' and 'On hold over object' triggers
  • Add:
  • Animation editor: new option to "replace entire existing animation" when importing a sprite strip
  • Add:
  • Animation editor: option to 'Copy previous collision poly' when right-clicking an animation frame. This should make it easier to design an animation with a gradually changing collision poly that matches the animation.
  • Change:
  • New icon for File Chooser plugin
  • Change:
  • Audio importer: importing audio files with the same filename now overwrites the existing files instead of creating new ones with a different name. This should make it much easier to update existing audio files.
  • Change:
  • Audio importer: no longer retains .wav files in the project. These were never used for anything nor exported for any platform.
  • Change:
  • Parameters dialog: expression field now has a maximum height of 300px, to prevent overflow when pasting in long strings. We still strongly recommend you do not paste in large amounts of data - use project files instead.
  • Change:
  • Image editor: importing an image now only guesses the collision polygon if the current poly is a default bounding box.
  • Bug Fix:
  • Debugger: long values without spaces should now wrap inside the value cell instead of extending off to the right
  • Bug Fix:
  • Image deduplication on export did not always remove duplicate images within the same object, only between different object types. It should now correctly deduplicate identical images within the same object or animation.
  • Bug Fix:
  • Platform behavior: another tweak to avoid snapping to platforms at the top of jumps
  • Bug Fix:
  • Multiplayer: should now be able to join another room in 'On signalling left room'
  • Bug Fix:
  • Twitter plugin: possible Javascript error using 'Reload' action
  • SDK:
  • The Function object now adds a global Javascript function that can be used to trigger a function in the event system. Call c2_callFunction("name"); to call function "name", and optionally add parameters in an array, e.g. c2_callFunction("name", ["param1", "param2"]);. Parameters can only be strings or numbers. It also returns the value returned from the event system. Check the function exists before using it since projects which do not use the Function object will not have that global function.

New in Construct 2 R174 (Jun 26, 2014)

  • Add:
  • New 'File chooser' plugin. Allows access to local files on the user's system. (Icon is wrong in this build, new icon will come in future release)
  • Add:
  • Touch object: new triggers 'On hold', 'On tap' and 'On double tap'. These make it easy to detect these gestures in a multitouch-aware way
  • Add:
  • Project property: 'Preview effects'. Allows rendering of shader effects in the editor to be enabled and disabled without having to change the WebGL setting
  • Change:
  • Preview server: now explicitly disables caching. This is a speculative fix for sporadic problems with incorrect previews
  • Change:
  • PhoneGap export: for Android now specifies the target SDK as 19 (KitKat). This hides the legacy menu button. On older devices the Browser object 'On menu button' should still trigger if the system shows the button or has a hardware button, but don't rely on Android having a menu button; use an in-game button instead
  • Change:
  • PhoneGap export: can now select new permissions (camera, vibrate) as well as optionally turn off the Media permission. Media is used to enable PhoneGap audio playback in case the web view is not able to play sound
  • Change:
  • Browser object: now wraps the 'eval' call in the 'Execute Javascript' action and 'ExecJS' expression with a try/catch statement, and if it catches logs an error to the browser console. This should help prevent mis-use of javascript execution crashing the entire game
  • Change:
  • Updated to the latest node-webkit 0.10.0-rc1, based on Chromium 35. This should mean node-webkit's WebRTC is now compatible with Chrome so the Multiplayer object can interoperate. We're already aware of some node-webkit bugs in this update; we will be keeping it up-to-date over the next few betas and hopefully this will be resolved by the time the finished node-webkit update is available
  • Change:
  • Intel AGI export is now deprecated and no longer supported or maintained. We recommend exporting with Ejecta on iOS (and PhoneGap from iOS 8+) and Crosswalk for Android. If you still need to use this exporter for older projects, right-click in the Export Project dialog and click 'Show deprecated exporters'
  • Change:
  • As with the Intel AGI export, the Intel AGI plugin is now also deprecated. If you still need to use it, right-click a space in the 'Insert object' dialog and click 'Show deprecated plugins'
  • Bug Fix:
  • PhoneGap: app would crash using Audio object running on Android without the Media permission enabled. A future version of Android should enable the Web Audio API in the web view, allowing it to play back audio without needing the Media permission
  • Bug Fix:
  • PhoneGap: on iOS, fixed issue with objects not properly destroying due to a missing Javascript feature. We previously fixed this for the Safari browser, but this also fixes it for the web view
  • Bug Fix:
  • Letterbox integer scale now determines the integer scale based on device pixels, not CSS pixels. This should provide better results especially when running on devices with non-integer device pixel ratios. This should also resolve rounding errors causing some devices to show any letterbox mode 1-2 pixels off the correct size
  • Bug Fix:
  • Editor crash typing 1%0 in an expression
  • Bug Fix:
  • Twitter plugin: issues having more than one button in a layout
  • Bug Fix:
  • HTML5 export with ad bar template may have displayed incorrectly on iOS Safari

New in Construct 2 R173 (Jun 17, 2014)

  • Add:
  • Google Play plugin: now links to its new manual entry
  • Add:
  • Twitter plugin: now links to its new manual entry
  • Add:
  • Shadow light plugin: now links to its new manual entry
  • Add:
  • Shadow caster behavior: now links to its new manual entry
  • Add:
  • Video plugin: now links to its new manual entry
  • Add:
  • Slider bar plugin: now links to its new manual entry
  • Add:
  • Progress bar plugin: now links to its new manual entry
  • Change:
  • Added icons for video and slider bar plugins
  • Bug Fix:
  • Worked around issue in Chrome where in preview setting the playback position may not have worked
  • Bug Fix:
  • Node-webkit: drag-and-drop support did not always work after minified export
  • Bug Fix:
  • Platform: issue with jumping up steps introduced in r172
  • Bug Fix:
  • Speculative fix for possible crashes caused by autosaving while the editor is busy (e.g. generating preview)

New in Construct 2 R172 (Jun 12, 2014)

  • Add:
  • Web-based exports now include an app.manifest file which is referenced from the HTML via a link tag. This includes the name, icons, orientation setting and fullscreen mode. Browsers may use this in future to help make web apps work more like native apps, e.g. using the 'add to home screen' button or creating a desktop shortcut to a web app. Note your server must set up the MIME type application/manifest+json for .manifest files.
  • Add:
  • New 'Alpha threshold' shader effect. Can be useful for masking with multiple shadow light objects (e.g. making two shadow lights with 50% opacity only show a shadow where neither light can reach, where the opacity becomes 75%)
  • Add:
  • Sine behavior: new 'Set cycle position' action
  • Change:
  • Shadow light: now extrudes shadows a little further to avoid glitches when using a light extremely close to a caster, but this probably cannot be fully solved - the best solution is to ensure radius lights can't get right next to casters.
  • Change:
  • Video: on iOS and Chrome for Android, using the 'Play' action now either plays immediately if in an input event, otherwise if not in an input event queues the playback for the next touch. This helps work around these platform's limitations of only being able to start video playback in an input event.
  • Bug Fix:
  • PhoneGap: config.xml now specifies Media plugin so audio playback can work
  • Bug Fix:
  • PhoneGap: letterbox scale modes did not align the canvas properly
  • Bug Fix:
  • Platform behavior: could not jump while running up slopes (issue introduced in r171)

New in Construct 2 R171 (Jun 6, 2014)

  • Add:
  • New video plugin (no icon yet - will be updated soon!)
  • Add:
  • New form control plugin: Slider bar (no icon yet - will be updated soon!)
  • Add:
  • New form control plugin: Progress bar
  • Add:
  • Shadow light/shadow caster: can now assign tags to both shadow lights and shadow casters, and set the lights to cast shadows off objects with the same or different tags. This allows creating more advanced lighting effects where different lights cast shadows off different objects.
  • Add:
  • Browser: 'Go to URL' action now has a 'target' parameter to navigate the parent or top window when framed
  • Bug Fix:
  • Shadow light: can now correctly cast shadows off tilemaps with the shadow caster behavior
  • Bug Fix:
  • Event sheet view: shift+selecting events after a search would select hidden events in between the selection
  • Bug Fix:
  • Shadow light: could sometimes double-render shadows causing incorrect results if opacity changed
  • Bug Fix:
  • Facebook plugin: could sometimes fail to trigger 'On ready' even if 'Is ready' is true.
  • Bug Fix:
  • Exports in r170 could sometimes display images offset by 1px
  • Bug Fix:
  • Objects not destroying on iOS 8 Safari beta due to a missing Javascript feature
  • Bug Fix:
  • Platform behavior: landing on a slope at the peak of a jump sometimes did not set 'Is on floor' to true or correctly switch animation

New in Construct 2 R170 (May 23, 2014)

  • Feature:
  • New real-time shadow casting engine, with new Shadow Light plugin and Shadow Caster behavior
  • Add:
  • Three new shadow examples: shadow colors, shadow light height, shadow soft penumbras
  • Add:
  • Tilemap: new experimental 'seamless mode'
  • Add:
  • New interpolation system expressions: qarp (quadratic interpolation through 3 points), cubic (cubic interpolation through 4 points), and cosp (cosine interpolation)
  • Add:
  • New experimental option in Preferences dialog: 'Cache icons in editor for better performance'. Defaults to on (which is what it used to do). If turned off, it can reduce editor performance since every time an icon is needed it will have to re-load the object image and resize it down to an icon. Icon quality is also reduced to help make this as fast as possible, but this mode has the benefit of helping to avoid hitting a limitation in Windows of how many icons an application can create, which can cause stability issues with very large projects.
  • Change:
  • Reverted Closure Compiler to the earlier version. r169 updated it but it turns out the latest version requires an update to Java which causes compatibility problems, so we're sticking to the old version for now.
  • Change:
  • In preview mode 'assert failure' and 'javascript error' dialogs now show at most once per run. Later assert failures or JS errors are logged to the console. This is because any alerts after the first one are almost always directly caused by the first one. Often users try to report all the errors in a bug report when only the first dialog was useful, so it should help simplify bug reports (and make SDK development less annoying if you end up clicking through lots of those dialogs).
  • Bug Fix:
  • Sprites could appear at the wrong size after export
  • Bug Fix:
  • Several fixes to editor UI layout on high-DPI displays
  • Bug Fix:
  • Twitter plugin: error using 'restart layout'
  • Bug Fix:
  • Multiplayer: error passing invalid index to room list expressions
  • Bug Fix:
  • IAP plugin javascript error when used in Windows Store apps
  • Bug Fix:
  • Adding new Text objects sometimes did not preserve the hotspot position properly
  • Bug Fix:
  • Debugger sometimes indicated incorrect Pathfinding behavior speed
  • Bug Fix:
  • Tiled Background with WebGL shader on high-DPI device with WebGL support could display incorrectly
  • Bug Fix:
  • Pathfinding behavior didn't work on Windows Phone when exported as universal app

New in Construct 2 R169 (May 9, 2014)

  • Feature:
  • Google Play plugin to handle login, leaderboards and achievements for Google Play Game Services
  • Feature:
  • Twitter plugin, allowing an in-game tweet, follow or mention button
  • Add:
  • Multiplayer: can now list rooms in a game instance, making it possible to design a lobby where you can pick from a list of active games
  • Add:
  • IAP plugin: experimental support for Chrome Web Store purchases using Google Wallet. Let us know if it works for you.
  • Add:
  • New project property for 'Downscaling' quality
  • Add:
  • AJAX: new 'method' parameter in 'Post' action, so you can specify other methods like PUT, DELETE, etc.
  • Add:
  • AJAX: new 'Set request header' action to customise HTTP headers sent with the next request
  • Add:
  • Anchor behavior: new 'None' setting for anchoring to window left or window top
  • Change:
  • Updated the Spriter importer, with changes aimed at supporting character maps and collision boxes, and also now offers to import any audio files used in the animation. Note that the Spriter plugin will need to be updated to sync up with these changes. Also the Spriter editor has already been updated to work with some of the changes; re-download it from Brashmonkey to get the latest version.
  • Change:
  • Renamed 'Intel XDK' plugin to 'Intel AGI', since that's all it works for and some people thought it worked in Crosswalk where it has no effect.
  • Change:
  • Updated Closure Compiler (used for minifying on export) to the latest version
  • Change:
  • Updated PNGCrush (used for image recompression on export) to the latest version
  • Bug Fix:
  • Possible Javascript error using 'Is overlapping' in a sub-event to 'On collision'
  • Bug Fix:
  • Browser object's 'Open URL in new window' should now work correctly in Crosswalk
  • Bug Fix:
  • Pressing enter while a progress bar dialog was showing could cause it to disappear
  • Bug Fix:
  • Possible crash trying to edit Sprite animations with no layout tab open
  • Bug Fix:
  • Workaround a Safari on iPad bug where scrolling goes crazy while typing in to a textbox
  • Bug Fix:
  • Workaround a bug in Chrome and Firefox when using very large particle sizes in WebGL mode
  • Bug Fix:
  • Windows Store universal apps now also export the about, privacy, support and WindowsStoreProxy files which were missing from the desktop version of the universal app
  • Bug Fix:
  • Possible issue with Chrome being able to slightly scroll the view in scale inner, scale outer or crop fullscreen modes

New in Construct 2 R168 (Apr 24, 2014)

  • Add:
  • Browser object: 'On back pressed' should now trigger in Windows Phone 8.1 Universal apps. As with Tizen there must be a trigger present to override the default behavior of closing the app.
  • Add:
  • Multiplayer object: help link now opens its new manual entry
  • Add:
  • New tutorial: Multiplayer tutorial 3 - pong (the previous third tutorial, "real-time game", is now tutorial 4 in the series)
  • Add:
  • New tutorial: How to export to iOS with Ejecta
  • Add:
  • New tutorial: How to export Windows Store apps (covers the new Universal app option)
  • Change:
  • Multiplayer: the beta-period limit of 50 players per game on the signalling server has been lifted. You can now have unlimited players per game.
  • Bug Fix:
  • Multiplayer object: prevented memory leak if some actions used incorrectly
  • Bug Fix:
  • System: 'Every X seconds' could sometimes fail to run properly after loading a savegame

New in Construct 2 R167.2 (Apr 17, 2014)

  • Change:
  • Multiplayer: now prompts in preview mode if using 'Sync instance variable' without 'Sync object', since it appears to be a common mistake
  • Bug Fix:
  • Triggers were still not working correctly in r167; this build should get them working identically to r165 again.
  • Bug Fix:
  • Scroll To behavior: should now work correctly when disabling the behavior when using multiple instances
  • Bug Fix:
  • Amazon Kindle devices should now detect as mobile for the system 'Is mobile' condition
  • Bug Fix:
  • Wrong description on 'Compare opacity' condition

New in Construct 2 R167 (Apr 16, 2014)

  • Add:
  • Experimental support for memory management in Ejecta. See this thread for details
  • Add:
  • New multiplayer Pong example. This is a much simpler use of "Sync object" than the real-time game example, so could be a useful step for learning how to make full multiplayer games.
  • Bug Fix
  • Trigger order across event sheet includes may have changed in r166. It should now be compatible with how it worked in r165 again.

New in Construct 2 R166 (Apr 8, 2014)

  • Feature:
  • Support for universal Windows Store apps (Windows 8.1+ and Windows Phone 8.1+)
  • Add:
  • IAP: should now work on Windows Phone 8.1 when exported as a universal Windows Store app
  • Add:
  • Multiplayer: 'Auto-join room' action
  • Change:
  • Multiplayer: can now be used in the Free edition, in preview mode only
  • Change:
  • Node-webkit preview mode now explicitly passes --ignore-gpu-blacklist when launching the preview. Hopefully this makes node-webkit preview fast again on XP and Vista. However after exporting you'll need to add a similar workaround yourself (e.g. by creating a shortcut to the EXE with that parameter), because although the switch is in the manifest file it doesn't seem to take effect.
  • Change:
  • Ejecta: updated plugin and exporter icon and description
  • Change:
  • Multiplayer: 'disconnect from room' action now also leaves the room on the signalling server, so you can join another room again without needing a separate 'leave room' action.
  • Bug Fix:
  • Bugfixes submitted to Ejecta: device orientation 'alpha' and 'gamma' were reported the wrong way round; fixed possible "turbo" mode when resuming. Re-download Ejecta to get the fixes.
  • Bug Fix:
  • Ejecta plugin: 'Is Game Center authenticated' condition was broken
  • Bug Fix:
  • Multiplayer: 'Sync object' and 'Sync instance variable' should now both work with families
  • Bug Fix:
  • System: 'Pick overlapping point' did not always work
  • Bug Fix:
  • IAP: 'add product IDs' didn't work in Ejecta
  • Performance:
  • Some further event engine optimisations, particularly aimed at making triggers faster to fire

New in Construct 2 R165 (Mar 28, 2014)

  • Feature:
  • New experimental Ejecta exporter
  • Add:
  • IAP object: now should work with Ejecta IAP
  • Add:
  • User Media: features to get a list of available camera and microphone sources. The 'Webcam' and 'Microphone input' examples have been updated to use this, allowing the camera/mic to be chosen from a dropdown list. Currently only works in Chrome.
  • Add:
  • Multiplayer: 'PeerIDAt' and 'PeerAliasAt' expressions, allowing the full peer list to be accessed at any time
  • Add:
  • Windows 8 object: 'Open windows store' action, to open the app listing, publisher page, or prompt to review the app
  • Add:
  • AJAX: 'Set timeout' action
  • Change:
  • Browser object: both the 'Open URL' and 'Open URL in new window' actions now use the platform-specific features to launch the system browser in the Ejecta and Windows 8 exporters
  • Bug Fix:
  • Touch: possible javascript error using accelerometer with PhoneGap 3+
  • Bug Fix:
  • Tilemap bar: 'edit collision poly' now disables when using normal layout selection
  • Bug Fix:
  • Browser object 'Request fullscreen' now uses correct fullscreen mode in node-webkit
  • Bug Fix:
  • Warp mask' effect now takes in to account source image alpha
  • Bug Fix:
  • Multiplayer plugin should no longer crash CocoonJS
  • Bug Fix:
  • Possible Javascript error using certain combinations of family conditions
  • Bug Fix:
  • 9-patch: in some cases could display blurry in WebGL mode
  • Performance:
  • Minor garbage collection optimisations
  • SDK:
  • ObjectSet.values() has been removed; use ObjectSet.valuesRef() instead in any third party plugins, and if you explicitly want a copy of the values, call slice(0) on the result yourself.

New in Construct 2 R164.2 (Mar 18, 2014)

  • Change:
  • Multiplayer: the lag compensation system has been re-worked and is now much more accurate. The LagCompensationX/Y expressions now also return the absolute position, not offset. The 'real-time game' example has been updated. Other games using lag compensation will also need to be changed. There is also a new LagCompensationAngle expression to take in to account historical angle as well (important for games like the Ghost Shooter Multiplayer example)
  • Bug Fix:
  • Multiplayer: connectivity reliability improvements (should fix peers sometimes immediately getting kicked after joining)
  • Bug Fix:
  • Multiplayer: should now work after exporting with minification
  • Bug Fix:
  • Javascript errors using family instance variables (introduced in r164)
  • Bug Fix:
  • Possible crash using the Multiplayer 'Sync instance variable' action
  • Bug Fix:
  • Updates to the signalling server to improve reliability

New in Construct 2 R164 (Mar 14, 2014)

  • Feature:
  • Multiplayer engine. Currently only available with a license.
  • Add:
  • New example: Multiplayer - chat room (see the walkthrough tutorial for a detailed explanation of this)
  • Add:
  • New example: Multiplayer - real-time game
  • Add:
  • Text box: 'Scroll to bottom' action (useful for textareas)
  • Add:
  • Event sheet view: new 'Screenshot selection' option (or press F8). Copies to the clipboard an image with the selected events correctly cropped. Useful for creating tutorials.
  • Change:
  • Node-webkit: updated to version 0.9.2
  • Change:
  • Node-webkit: we have decided to try disabling the GPU blacklist for the Windows builds only, due to Google's decision to always blacklist GPU acceleration on XP and Vista. Consequently node-webkit will always use hardware-accelerated WebGL on Windows. This will make some systems with buggy drivers susceptible to glitches or crashes since they would previously have got a slower but working software renderer, but we think this may be a better result than no GPU acceleration on XP or Vista at all. Note the GPU blacklist is still in effect on Mac and Linux. We're interested on feedback on this.
  • Change:
  • If there is an error loading an image (so the progress bar turns red), the error is now logged to the browser console
  • Change:
  • System 'Pick by comparison' can now also accept strings
  • Change:
  • Event sheet view: 'Escape' no longer scrolls to top if no search term entered
  • Change:
  • Event sheet view: adding a sub-event to an empty group now always expands the group so you can see what you added
  • Change:
  • On the Windows 8 Store, it appears in production 'On successful purchase' could fire with 'Has product' still returning false for that product. Now both the Windows 8 plugin and IAP plugin internally check 'Has product' before firing 'On successful purchase'; otherwise it will fire 'On failed purchase'.
  • Change:
  • Windows 8, Windows Phone 8, Crosswalk, BB10, PhoneGap and Tizen exporters: all still had the offline cache enabled, which is redundant when these are offline exporters anyway. The offline cache has now been removed for these platforms, which may improve loading times.
  • Change:
  • List: no longer adds an empty item on startup if the 'Items' property is empty
  • Change:
  • IAP object: now appears in the Free edition, but will prompt to purchase a license if you insert it
  • Bug Fix:
  • Image editor: possible crash after pasting image, unselecting then cropping
  • Bug Fix:
  • Event sheet view: possible crash undoing after 'Replace object'
  • Bug Fix:
  • Platform behavior: possible crash saving game state while overlapping a jumpthru
  • Bug Fix:
  • Workaround for yet another Safari on iPhone orientation bug when switching in to landscape on iOS 7.1. However the new minimal-ui state in iOS 7.1 makes iPhone games much more playable, with a larger usable area of the screen.
  • Bug Fix:
  • Sometimes closing the image/animations editor with Alt+F4 would preview the project
  • Bug Fix:
  • Mouse or Touch object with 'Use mouse input' could block form controls from unfocusing
  • Bug Fix:
  • Shaders which use highp precision should now work on devices without highp support by falling back to mediump precision (note: third party shaders are not updated; see the preprocessor code we use to define highmedp at the top of the CGA effect for an example)
  • Bug Fix:
  • Turret behavior: 'Acquire target' now can target any instance from the given object, not just the first
  • Bug Fix:
  • Windows Phone 8: AJAX now uses the non-standard ActiveX-based XMLHTTP, which can successfully request local project files. (All other platforms still use the standard-compliant XMLHttpRequest)
  • Bug Fix:
  • Browser: 'Invoke download' did not work after exporting with minification
  • Bug Fix:
  • Sprite: animations could fail to load in the editor after a particular sequence of saving and renaming an animation
  • Performance:
  • Event system now evaluates parameters more efficiently when dealing with multiple instances

New in Construct 2 R163 (Feb 25, 2014)

  • Add:
  • New optional 'Dark Gray' color theme in Preferences
  • Add:
  • New keyboard shortcut Ctrl+W to close current tab
  • Add:
  • Array: 'Compare size' condition

New in Construct 2 R162 (Feb 18, 2014)

  • Change:
  • Games will not start up if any of the images fail to download during loading (e.g. internet connection lost). If an error occurs the loading progress bar will turn red.
  • Bug Fix:
  • Broken animation in 'Flapping bird' template
  • Bug Fix:
  • Form controls: 'Auto font size' did not work correctly with fullscreen modes
  • Bug Fix:
  • Particles: rendering bug introduced in r161
  • Bug Fix:
  • Physics: debugger showed velocity X and Y values with a different scale to the VelocityX/Y expressions; now matches the expressions
  • Bug Fix:
  • Event sheet view: possible check failure adding event variable
  • SDK:
  • Plugins should now call runtime.waitForImageLoad(img) instead of runtime.wait_for_textures.push(img)

New in Construct 2 R161 (Feb 13, 2014)

  • Add:
  • New 'Flapping bird' template by Tom
  • Change:
  • Updated node-webkit to 0.9.1 (from 0.9.0-rc1; includes some bug fixes)
  • Change:
  • The .caproj used plugins/behaviors/effects tags now have a stable ordering, helping avoid unnecessary changes when under source control
  • Change:
  • iPhone iOS 6 will now try to hide the address bar again. It is enabled by default and there is no new project property for it. This was previously removed since iOS 7 came out which does not support the feature, but due to strong demand we have re-implemented it.
  • Bug Fix:
  • Tilemap: possible javascript error restarting layout
  • Bug Fix:
  • Tilemap: javascript error viewing debugger properties
  • Bug Fix:
  • Tilemap: in some cases would alpha blend incorrectly in WebGL mode
  • Bug Fix:
  • Text: in some cases would antialias incorrectly in WebGL mode
  • Bug FixL
  • Touch: possible javascript error using acceleration expressions in desktop Chrome
  • Performance:
  • Moving objects no longer update their collision cell unless they actually have a collision checked against them.

New in Construct 2 R160.2 (Feb 8, 2014)

  • Change:
  • Updated to node-webkit 0.9.0-rc1, which is based on Chromium 32. The previous version was based on Chromium 29, so there should be some performance improvements and fixes that come with Chromium.
  • Bug Fix:
  • Javascript error using some WebGL effects in r160
  • Bug Fix:
  • 'Del' key did not work when renaming image points

New in Construct 2 R160 (Feb 4, 2014)

  • Add:
  • Turret and LOS behaviors: new 'Use collision cells' property to turn off use of the collision cells optimisation for these behaviors. This is not generally recommended, but in some cases where these behaviors are used to cover very large distances, it could be faster to disable collision cells.
  • Add:
  • WebGL shaders: can now use additional parameters (float layerAngle; vec2 viewOrigin) to get the current layer rotation and scroll position
  • Bug Fix:
  • Links are now clickable in the 'Install addon' dialog
  • Bug Fix:
  • Testing collisions with particles was not working (regression with collision cells)
  • Bug Fix:
  • Sprite Font: could display blurry or with slight glitches in some circumstances
  • Performance:
  • Tilemap: now also uses the collision cells optimisation

New in Construct 2 R159 (Jan 28, 2014)

  • Feature:
  • This is the first build which can make use of the new Wii U exporter. Further information will be supplied to Nintendo Authorised Developers shortly.
  • Add:
  • New 'Gamepad control' example
  • Add:
  • Gameplad plugin: 'Gamepads are supported' condition, to check if the browser/platform supports gamepad input
  • Add:
  • New system expressions 'setbit', 'togglebit' and 'getbit' to manipulate bits in a 32-bit integer
  • Change:
  • 'Every X seconds' could in some cases run nearly twice in a row, such as if following a condition like 'Key is down' and a particular pattern of pressing used. Now it should be more accurate.
  • Change:
  • Template changes: new project is now 16:9 landscape (854x480), removed CocoonJS and Intel XDK templates, added 8 new templates providing a combination of SD (both 4:3 and 16:9), 720p, 1080p projects in landscape and portrait
  • Bug Fix:
  • Updated Gamepad plugin to work with upcoming gamepad support in stable Firefox releases
  • Bug Fix:
  • Possible incorrect behavior using 'Spawn an object' in a loop after loading a savegame
  • Bug Fix:
  • Invisible jumpthru objects could sometimes fail to detect collisions
  • Bug Fix:
  • Audio: now takes in to account layout/layer rotation when calculating doppler effects

New in Construct 2 R158.2 (Jan 21, 2014)

  • Bug Fix:
  • Changing orientation could mis-align the canvas in Safari for iPhone due to what appears to be a Safari bug which we've now worked around. The iPad has not been affected.

New in Construct 2 R158 (Jan 16, 2014)

  • Add:
  • IAP plugin: help link now points to its new manual entry
  • Add:
  • Export project dialog: now links to the new tutorial How to export to Android with Crosswalk
  • Change:
  • CocoonJS plugin: removed a duplicate 'restore purchases' action. (They both did the same thing)
  • Change:
  • CocoonJS: now uses 'screencanvas' in WebGL mode, which can improve performance on some devices
  • Bug Fix:
  • Tilemap: if resized smaller at runtime, could still draw tiles outside the object area
  • Bug Fix:
  • Turret behavior: adjusting the rate of fire at runtime could cause double shots to be fired
  • Bug Fix:
  • In some cases float constants could be rounded off to 6 dp, e.g. 64.999966 would be exported as 65. These are now preserved with full precision when exported.

New in Construct 2 R157 (Jan 14, 2014)

  • Add:
  • User Media object: now supports speech synthesis (aka text-to-speech or TTS). Note this only works where the browser supports it. Right now it works on some iOS 7 devices and Chrome Canary; in future it should come to more browsers (including Firefox).
  • Add:
  • New 'Speech synthesis' example to show off the new User Media feature
  • Change:
  • Crosswalk/Android: the Browser object 'Back' action can now be used to perform the default back action (e.g. going to the previously open app)
  • Change:
  • The 'Set canvas size' action would also change the parallax origin (which is half the initial window size). Generally this caused unwanted results, so changing the canvas size does not change the parallax origin any more.
  • Change:
  • Windows Phone 8: export now hides the system tray by default (by setting shell:SystemTray.IsVisible="False" in MainPage.xml)
  • Change:
  • Sprite Font: now uses the same default size as the normal Text object, and preserves its size when being cloned
  • Bug Fix:
  • Preview over Wifi did not work in the Crosswalk Player app. It now works, but for the time being the system button detection is not working in the player app, although it should work once you build with the XDK.
  • Bug Fix:
  • Tilemap: editing tilemaps on different layouts could edit the wrong tilemap and make it difficult to select a new tilemap
  • Bug Fix:
  • Tilemap: could not always set tiles after resizing a tilemap larger at runtime
  • Bug Fix:
  • WebGL shader effects on objects on rotated layers did not always display correctly
  • Bug Fix:
  • Windows Phone 8: non-alphanumeric characters in the project name could break the export
  • Bug Fix:
  • Windows Phone 8: now uses the full project name as the app title instead of the shortened name
  • Bug Fix:
  • Pressing F10 in preview mode could make objects move faster or increase the framerate above 60

New in Construct 2 R156 (Jan 7, 2014)

  • Add:
  • Node-webkit plugin: 'Open browser' action (for opening a URL)
  • Add:
  • System 'is on platform' condition: new options to test for Crosswalk and Amazon web app platforms
  • Add:
  • Sprite: 'Compare animation speed' condition. Can also be used to tell if the animation is playing backwards by testing if the animation speed is less than 0.
  • Change:
  • Breaking change: Sprite 'AnimationSpeed' expression always used to return a positive value. For consistency with the 'Set animation speed' action, it now returns a negative value when the animation is playing backwards, e.g. with ping-pong animations.
  • Change:
  • System 'Set canvas size' action now effectively changes the project 'Window size' property in fullscreen games. (Previously it was only intended for use in non-fullscreen games.) Amongst other things, this also makes it possible to control at runtime the pre-stretch render size when using low quality fullscreen mode.
  • Change:
  • Crosswalk/Android: now skips exporting all .m4a sound/music files since it can use the .ogg versions. This should help keep the overall file size down.
  • Change:
  • Crosswalk/Android: now supports Browser object's 'On back button', 'On menu button', 'On search button' and 'Close' action to exit the app. Note a bug in Crosswalk means it sometimes crashes when closing with this action; Intel are already aware and hopefully will be able to fix that soon.
  • Change:
  • Crosswalk/Android: now hides the splash screen as soon as the game has loaded (or when the loader layout is ready to run).
  • Change:
  • Crosswalk/Android: when previewing over Wifi, Crosswalk-specific features like the new back button detection should now also work. (Latest Crosswalk version only - needs 'crosswalk' in user agent string)
  • Change:
  • Exported HTML5 website projects now always warn if you try to run them from disk (on the file:/// protocol), since this does not work.
  • Bug Fix:
  • Physics: possible errors caused by recreating bodies with joints
  • Bug Fix:
  • Possible javascript error trying to play music as a positioned sound in Firefox
  • Bug Fix:
  • Moving objects far away could fail to register 'On collision' events in r155
  • Bug Fix:
  • System 'is on platform' did not detect some platforms like node-webkit properly
  • Performance:
  • Turret behavior: now uses collision cells for finding targets, which should make range detection in very large layouts faster.

New in Construct 2 R154 (Dec 14, 2013)

  • Feature:
  • A new IAP (In-App Purchases) plugin, to handle IAP across platforms. Only available with a license
  • Change:
  • Intel XDK support: updated script tag references and updated some of the Audio object's support for XDK-specific audio functions
  • Change:
  • Tizen export: now specifies feature "http://tizen.org/feature/screen.size.all" in config.xml to prevent Tizen store defaulting to only supporting 720x1280
  • Change:
  • CocoonJS physics now supports 'GetMass()'. Note CocoonJS physics is still missing 'SetAngularDamping' and 'SetBullet'.
  • Bug Fix:
  • Error in r153 using non-physics behaviors when project set to use asm.js physics
  • Bug Fix:
  • Tilemap: now works correctly with the Physics behavior, including making use of tile collision polygons. Note if you set any tiles at runtime it has to recreate the entire physics bodies for all the tiles in the tilemap which could be slow, so try to avoid changing tilemaps when they have the Physics behavior.
  • Bug Fix:
  • Tilemap: TileAt expression would return 536870911 for erased tiles (oops!); now returns -1
  • Bug Fix:
  • Audio: on Safari for iOS and Chrome for Android, now plays music straight away if started in a user input event (like 'On touch'). Previously the music would have still been queued up to be started in the next touch after that.
  • Bug Fix:
  • Export project dialog: can now export to network shares for some export options (not all can do this though - some you will still have to export locally first)
  • Bug Fix:
  • Platform: enabling/disabling the behavior on a moving platform could teleport the player back to the platform
  • Bug Fix:
  • Audio: could not change music volume in Firefox
  • Bug Fix:
  • Some issues with the drag and drop behavior in IE11
  • Bug Fix:
  • Turret behavior: rate of fire did not take in to account the time scale

New in Construct 2 R153 (Dec 7, 2013)

  • Add:
  • New option to enable asm.js physics engine. The option to choose the physics engine has been removed from the CocoonJS object and added to project properties instead. Note asm.js physics does not support 'disable collisions'.
  • Add:
  • New 'Fullscreen scaling' project property. Defaults to 'High quality' (same as before) but 'Low quality' enables rendering at the project window size then simply stretching the result up afterwards.
  • Add:
  • New system action 'Set fullscreen scaling' to allow changing quality mode at runtime
  • Change:
  • WebGL renderer now falls back to canvas2d renderer using the "failIfMajorPerformanceCaveat" context attribute. This should ensure best performance by avoiding software-rendered or otherwise very slow WebGL implementations.
  • Change:
  • The editor now enforces that group names are unique project-wide, instead of on just the same event sheet. This prevents the issue where activating or deactivating a group affects all groups with the same name. Note that any existing projects which use the same group name more than once will still load the same for backwards compatibility, but you cannot create new groups with duplicate names.
  • Bug Fix:
  • Tilemap: now displays collision polys properly when 'Show collision polys' ticked in ribbon
  • Bug Fix:
  • Tilemap: could display incorrectly in editor when the graphics card driver did not support non-power-of-two textures
  • Bug Fix:
  • Tilemap: could sometimes save/load incorrectly using JSON when empty tiles existed in the tilemap
  • Bug Fix:
  • In the canvas2d renderer, layers using their own texture did not use 'Point' sampling even if it was set in Project Properties
  • Bug Fix:
  • Could create event groups with empty names, which then could not be renamed

New in Construct 2 R1512 (Dec 2, 2013)

  • Add:
  • New example: Tilemaps (just a simple demo of the Tilemap plugin)
  • Add:
  • Tilemap plugin: help link now points to its new manual entry
  • Add:
  • Tilemap bar: right-click menu help link added and now points to its new manual entry
  • Change:
  • The new default editor color theme is now the 'Windows 7' theme. If you want to switch it back to what it used to be, there's a new 'Construct 2 original' theme you can set in Preferences to get back the old colors.
  • Change:
  • Export to Kongregate: updated script reference to point to HTTPS-hosted URL
  • Change:
  • Tilemap plugin: renamed the object's own AsJSON expression to TilesJSON since it conflicts with the new built-in instance save/load feature. Note: this will break existing projects that previously used the AsJSON expression, since it returns JSON data in a slightly different format (it is only the tile data, not the full object data). You will need to update any projects using this expression.
  • Bug Fix:
  • When the system DPI setting changes, Construct 2 automatically issues a 'Reset dialogs' the next time it starts up to prevent dialog positionings becoming messed up.
  • Bug Fix:
  • Node-webkit preview could leak files on disk in the AppData folder. Now it clears its cache whenever preview starts.

New in Construct 2 R151 (Nov 21, 2013)

  • Add:
  • Tilemap: support for per-tile collision polygons
  • Add:
  • Tilemap: support for rotated and flipped tiles
  • Add:
  • Z order bar: now clicking tilemap instances sets the tilemap bar to edit that instance, and tilemaps can be edited even when they overlap other tilemaps without accidentally selecting the other instance. This should provide a more convenient way to edit multi-layered tilemaps.
  • Add:
  • New examples: Microphone input, Vibrate
  • Add:
  • A new 'Office 2010 Silver' color theme now ships with Construct 2, available in the Colors tab of Preferences
  • Add:
  • New common expression 'AsJSON' and common action 'Set from JSON'. These allow you to take advantage of the savegame system to save and load individual instance states without having to save or load the entire game, as well as other useful things like setting one object's state to another's.
  • Add:
  • Keyboard shortcuts: press 1-4 to switch tilemap editing tool
  • Add:
  • Browser object: 'Invoke download of string' action. Basically the same as 'Invoke download' but automatically creates the data URI to download with the string data. Useful for making it simpler to download JSON strings as files.
  • Change:
  • Exported HTML files no longer specify 'target-densitydpi=device-dpi' in the meta viewport tag, since it is deprecated. Instead the 'width=device-width' directive is used.
  • Change:
  • After further experimentation with the half framerate mode, it does not seem feasible to implement in a useful way in the context of a browser (it just makes choppy framerates worse, not better). We know there was demand for the feature but it does not seem possible to implement well in a browser-based environment, so the feature has been removed.
  • Change:
  • Pathfinding behavior: default cell border is now -1 so it works like you would expect it to in grid/tile-based games
  • Bug Fix:
  • Worked around broken music playback in the latest version of Firefox (due to a Web Audio API bug). Note this means audio effects cannot be applied to music in Firefox for the time being, but hopefully we'll be able to remove the workaround soon when Mozilla fix the bug.
  • Bug Fix:
  • Tilemap bar: can now still edit tilemaps when the bar is in auto-hide mode
  • Bug Fix:
  • Tilemap: hang using negative spacing values
  • Bug Fix:
  • False positive check failure using certain combinations of shaders
  • Bug Fix:
  • IE11 could still register clicks as touches even when 'Use mouse input' was disabled
  • Bug Fix:
  • Pathfinding behavior: 'set diagonals enabled' on start of layout could cause Javascript error

New in Construct 2 R150 (Nov 13, 2013)

  • Add
  • Tilemap plugin: new conditions, actions and expressions covering setting and erasing tiles at runtime, saving/loading tiles as JSON data, and converting positions to/from tile indices
  • Add
  • Tilemap bar: can now export current tilemap as a TMX. Note because Construct 2 and Tiled do not support the same features, importing then exporting will lose some information such as terrain definitions.
  • Add
  • Tilemap bar: now shows tile number for the tile under the mouse (useful with the new actions to set tiles)
  • Add
  • Tilemap editor: can now right-click to erase tiles
  • Add
  • When opening a project with missing files, the editor now prompts and lists all the missing files with a warning. Previously this only resulted in check failures in beta releases, and possibly no error message at all in stable releases.
  • Add
  • System action: set half framerate mode. (I caved!) This is an experimental option. It's basically hard-coded to skip frames when the delta-time is under 29ms, basically a magic value found by hand - this will probably also cause incorrect frame skipping on displays with refresh rates above about 70 Hz. Also due to the way browsers synchronise with v-sync, this may still look choppy even when half framerate mode is on. Let us know how it works for you.
  • Change
  • Safari iOS and Chrome for Android: will no longer play music on next touch if the music is stopped or paused before the next touch
  • Change
  • Open web app exporter: now specifies fullscreen setting in manifest as a string, since that's what Firefox Marketplace seems to want
  • Change
  • Autosave now saves a .capx.autosave file instead of .autosave.capx, so autosave files don't show in the Open dialog by default.
  • Change
  • Autosave is now enabled by default on a 20 minute interval. Please remain vigilant of any issues that may occur with autosaves.
  • Change
  • 'Translucent inactive layers' setting now also locks all but the active layer, allowing for convenient single-layer editing.
  • Change
  • SCML import: now sets imported sprite's initial visibility to 'invisible', so they do not appear in the wrong place while the SCML is still loading.
  • Change
  • AJAX: now interprets a response HTTP status code of 0 as success, since some platforms seem to report it as such.
  • Bug Fix
  • Tizen: worked around a Tizen bug that would cause incorrect display when locking orientation
  • Bug Fix
  • Debugger: now counts collision and poly checks for tilemap collisions
  • Bug Fix
  • Touch co-ordinates could be incorrect in non-fullscreen high-DPI games
  • Bug Fix
  • Audio: javascript error loading a savegame with muted audio
  • Bug Fix
  • Tilemap: crash setting zero tile width/height
  • Bug Fix
  • Tilemap: collisions now work with Pathfinding and Line-of-sight behaviors
  • Bug Fix
  • Tilemap: sometimes did not update when switching between layouts
  • Bug Fix
  • AJAX: now sets LastData even when the server responds with an error
  • SDK
  • New quadTexUV function in WebGL renderer for plugins to use for distortion effects

New in Construct 2 R149 (Nov 6, 2013)

  • Feature:
  • New Tilemap plugin with integrated tilemap editor and support for importing TMX maps
  • Feature:
  • Autosave (currently off by default, enable in preferences)
  • Add:
  • Ribbon 'View' tab: new 'Translucent inactive layers' option. Makes all layers apart from the active one at 33% opacity, so the active layer is more clearly visible.
  • Add:
  • SpriteFont: set horizontal/vertical alignment actions
  • Add:
  • Scroll To behavior: can now be enabled/disabled
  • Add:
  • Project 'Orientations' property is now used to set orientations for Windows 8/8.1 apps
  • Change:
  • Attempted workaround for crash on exit issue - let us know if this is fixed or still a problem
  • Change:
  • Windows 8.1 export now generates a solution file (.sln) that opens with VS2013. Previously the .sln file would have still opened with VS2012 if it was installed, which does not support Windows 8.1 apps.
  • Change:
  • Adjusted dimmer window (that darkens editor while dialogs are up) to take up more of the application title bar, avoiding cutting off the ribbon gradient half way with the Office 2010 themes
  • Change:
  • Phonegap export: now no longer exports gap:platform tags in config.xml. This should enable the default of building for every platform Phonegap Build supports, which is more future-proof (and now includes Windows Phone 8).
  • Change:
  • Browser object: 'On back button' should now fire with PhoneGap on Android and Windows Phone 8
  • Change:
  • Windows 8 object: deprecated support for 'On view state changed', 'Compare view state' and 'Try unsnap', because support for them has been removed in Windows 8.1. Existing projects can continue to use these (despite the fact they don't work on Windows 8.1), but they cannot be used in new projects. We recommend using the Browser object's 'On resized' event and window size detection to re-implement any snapped behavior that you want (note that Windows 8.1 allows variable sized snapping).
  • Change:
  • Audio: changed the workaround for playing music on iOS Safari and Chrome for Android. Previously these would play music with the Web Audio API, but for long music tracks that could result in 20sec+ delay while it decoded the entire music track in one go. Now it uses HTML5 audio again and can start playing quickly since it streams, but it has to queue up music playback to begin in the next touch event, since the browsers only support starting HTML5 audio playback on input events (despite the fact the Web Audio API can play back at any time!). This also enables playback of music only (but not sound effects) in the Android stock browser after a touch event. Also removed unintentional use of the workaround on Firefox for Android and Tizen, which don't have the limitation.
  • Bug Fix:
  • Collisions between objects on different layers may have been mis-aligned in some cases
  • Bug Fix:
  • Worked around possible case of some objects going blank in WebGL mode in IE11 or Windows 8.1 apps due to an apparent bug in IE's WebGL implementation.
  • Bug Fix:
  • Possible crash exporting with PNG recompression disabled
  • Bug Fix:
  • Touch object: 'Is touching object' did not always work correctly with containers
  • Bug Fix:
  • Node-webkit: maximize/unmaximize actions did not always work
  • Bug Fix:
  • Event sheet view: holding shift to select a range of events did not always select sub-events of the last event
  • Bug Fix:
  • Windows 8.1 'About', 'Support' and 'Privacy policy' settings charms did not work
  • Bug Fix:
  • Audio: could still play if set silent mode while sounds still loading

New in Construct 2 R148 (Oct 22, 2013)

  • Change: Updated UI library to significantly newer version. New themes are supported, and the default theme is now Office 2010 Silver. Hopefully this may resolve other UI library related issues, but since it's a big update there may be quirks or new issues introduced.
  • Change: High-DPI support (aka retina display) is now supported on non-iOS devices. This includes Android, BlackBerry 10, Tizen and Amazon devices. Display quality is now significantly improved on these devices, but note using the high-DPI display can reduce performance.
  • Change: Project property 'Use iOS retina display' replaced with 'Use high-DPI display' since it now applies to non-iOS devices; options are now simply yes/no and defaults to yes
  • Change: High-DPI support now works in non-fullscreen or 'Crop' scale mode games. Previously these always used low-DPI display even on high-DPI devices.
  • Change: Browser object: 'Close' action now works on Tizen
  • Change: Updated the editor compiler to Visual Studio 2013 (was previously VS2010). Hopefully the new compiler is more reliable since we've had at least two crash bugs caused by the VS2010 optimizer.
  • Change: Exporting to Windows 8.1 now requires Visual Studio 2013 RTM. The RC version is no longer supported.
  • Bug Fix: Text object: 'Line height' property handled high-DPI displays incorrectly
  • Bug Fix: System action 'Set canvas size' was broken in r147
  • Bug Fix: Possible Javascript error using positioned sounds in Firefox's new Web Audio API
  • Bug Fix: Spurious assert failure using WebGL layer effects
  • Bug Fix: WebSocket plugin: could send spurious Sec-Websocket-Protocol header even with no subprotocol specified
  • Bug Fix: Browser object: on Tizen, using 'On back button pressed' in an OR block would not override the default behavior of closing the app
  • Bug Fix: Possible assert failure with certain combinations of shader effects
  • Bug Fix: Audio: error using save/load after changing filter effect frequency parameter
  • Bug Fix: Image editor: color picker layout could become corrupt after switching tools
  • Performance: Some optimizations to the collision detection engine

New in Construct 2 R147 (Oct 11, 2013)

  • Feature:
  • Support for exporting Windows 8.1 apps using Visual Studio 2013 Express Preview. Windows 8.1 apps use the IE11 engine, which also supports WebGL (!). There is a new dialog when choosing the Windows 8 export option, allowing you to target either Windows 8.0 (using VS2012) or Windows 8.1 (using VS2013 preview).
  • Add:
  • Support for Chrome for Android 31+'s new 'Add to home screen' feature. Like iOS, this allows you to add a web game to the home screen, showing an icon like a native app. When opened it runs in true fullscreen (no browser address bar/tabs appear).
  • Add:
  • A new 256x256 icon size. This is mainly used for the 'Add to home screen' feature on Chrome for Android and iOS Safari.
  • Add:
  • Two new color themes now bundled with Construct 2: 'Windows 7' and 'Visual Studio 2005'. You can try these out by setting them in the Preferences dialog. The default theme has not been changed, but we are open to changing the default if one theme is particularly popular - let us know what you think!
  • Add:
  • New 'Orientations' project property. This will try to be enforced automatically in a browser where supported, even without using the Browser object. On some browsers you must request fullscreen mode before any orientation lock takes effect. Note if you do use the Browser object's lock/unlock orientation actions, the runtime will stop trying to automatically set the orientation to the project setting, letting you override it. Also all export options for setting orientation have been removed, and will take their setting from this property instead. The Tizen exporter also now writes this orientation setting to config.xml.
  • Add:
  • Export dialog: now links to how to export to Tizen tutorial
  • Change:
  • Browser object: 'request fullscreen' should now always center the canvas on the screen. Previously in Firefox and IE11 the canvas would be left-aligned.
  • Change:
  • Removed project property 'Hide address bar'. This no longer appears to work on any platform; we recommend using the Browser object's 'Request fullscreen' action instead, which at least works in Chrome for Android.
  • Change:
  • Changes to Tizen's config.xml to fix some cases where the file could fail validation
  • Change:
  • Re-enabled music streaming on node-webkit to fix some backwards compatibility issues where projects assumed music started playing quickly. Note this may regress a bug where sounds sometimes do not play in preview mode, but the issue should not occur after exporting.
  • Change:
  • Preferences 'Color' tab now prompts a confirmation when clicking 'Load selected theme', to provide clearer feedback that the theme has been set.
  • Change:
  • When 'Clear background' is 'No', Construct 2 now requests to create an opaque canvas (so the canvas itself does not contain an alpha channel). This can be slightly faster and save a bit of memory on some devices. Exporters where there is definitely no need for a transparent canvas (e.g. node-webkit, Windows 8 apps) now also always create an opaque canvas.
  • Bug Fix:
  • WebGL renderer: changes made to shader rendering pipeline to fix an accidental use of undefined behavior that broke some shader effects in IE11's WebGL. (Thanks to Frank Olivier & Ben Constable at Microsoft for helping track down this issue)
  • Bug Fix:
  • Exporting packaged open web apps no longer includes 'appcache_path' in the manifest, since this is not allowed for packaged apps on Firefox Marketplace
  • Bug Fix:
  • Debugger: could sometimes get stuck stepping through events in an included event sheet
  • Bug Fix:
  • Possible Javascript error saving game when Physics behavior disabled
  • Bug Fix:
  • Possible Javascript error using containers in an 'On created' trigger

New in Construct 2 R146 (Oct 3, 2013)

  • Add:
  • HTML5 export template dialog now links to the tutorial tips on publishing HTML5 games to the web
  • Add:
  • Browser object: 'request fullscreen' action should now work with IE11's fullscreen support
  • Add:
  • Browser object: 'lock orientation' and 'unlock orientation' actions. Not yet widely supported but should cover Tizen, Firefox OS and IE11 mobile.
  • Add:
  • New manual entry on the debugger
  • Add:
  • New manual entry on breakpoints
  • Change:
  • Updated Internet Explorer detection to also detect IE11, since it changed its user agent string and IE-specific code is necessary for the XML object to work.
  • Change:
  • New icons for the 'Upgrade' tab in the Free edition
  • Change:
  • Updated CocoonJS physics script to latest version (for 1.4.3). It now also supports the Revolute joint in accelerated mode.
  • Change:
  • Stepping through events in the debugger now always shows the green arrow icon by the current block/condition/action
  • Bug Fix:
  • Some issues with the HTML5 export with ad bar template
  • Bug Fix:
  • CocoonJS plugin: 'Refresh fullscreen ad' action didn't work
  • Bug Fix:
  • Possible crashes when showing a grid in the layout view
  • Bug Fix:
  • Browser plugin: console logging action now correctly handles numbers
  • Bug Fix:
  • Audio: positioned sounds played back strangely in r145
  • Bug Fix:
  • Workaround for possible audio bug on Tizen
  • Performance:
  • Where the browser supports Javascript Set containers, they are now used to optimise and reduce garbage in some parts of the engine.

New in Construct 2 R145 (Sep 26, 2013)

  • Add:
  • Browser object: 'DevicePixelRatio' expression
  • Add:
  • Audio object: 'Save/load' property to set whether sound and/or music playback state is saved/loaded
  • Add:
  • 8 direction behavior: 'Set vector X/Y' actions
  • Add:
  • Tiled Background: 'ImageWidth' and 'ImageHeight' expressions
  • Add:
  • Layers bar: new context menu options to show all, hide all, hide all but one; unlock all, lock all, lock all but one
  • Add:
  • Browser object: new 'On mobile back button pressed' trigger. Note this is only currently supported in Tizen web apps. If you do not use the trigger, the game will now exit when the user presses the 'Back' button. The 'On mobile menu button pressed' trigger should now also fire for Tizen web apps as well.
  • Add:
  • Export to Tizen now provides an option after export to submit to the Tizen app store via AppBackr. Note the link is not yet live; it should be working within the next few days! Free edition users are also allowed to take advantage of publishing via AppBackr only.
  • Add:
  • WebSocket plugin: new CloseCode and CloseReason expressions (only useful after 'On closed' has triggered)
  • Change:
  • New editor breakpoint icons
  • Change:
  • Node-webkit: updated to version 0.7.5
  • Change:
  • Google Closure Compiler (used for 'Minify script') updated to latest version
  • Change:
  • PNGCrush (used for image recompression) updated to version 1.7.67
  • Change:
  • Node-webkit: now plays music with the Web Audio API only, rather than HTML5 audio piped in to the Web Audio API, since the latter appears to be affected by some Chrome bugs in some cases. This means audio must be fully loaded and decoded before it starts playing, but since all the files are available locally, there's not much delay before it starts playing.
  • Bug Fix:
  • WebSocket plugin: may not have reported the error message in 'On error' in all cases
  • Bug Fix:
  • Clicking the status bar could trigger a 'Include event sheet' or 'Clear all breakpoints' prompt
  • Bug Fix:
  • Another case of OR blocks sometimes picking incorrectly
  • Bug Fix:
  • Possible jQuery error in CocoonJS preview-over-wifi

New in Construct 2 R144.2 (Sep 17, 2013)

  • Change
  • Using ev:ent search now scrolls to the top of the event sheet, so you aren't left with an empty view
  • Bug Fix:
  • OR blocks broken in r144
  • Bug Fix:
  • Exporting projects broken in r144
  • Bug Fix:
  • Javascript error hiding/showing layers with Textbox or Button controls
  • Bug Fix:
  • Possible case of OR blocks working differently depending on order of conditions

New in Construct 2 R144 (Sep 14, 2013)

  • Feature: Debugger breakpoints. Support for breaking in looping events or triggers may come in future.
  • Add: New 'Upgrade' tab on ribbon in Free edition. Does not appear in the Steam edition nor when a license is in use. Note the icons are temporary and will be updated soon.
  • Add: Sprite Font: 'Set blend mode' action
  • Change: node-webkit: updated to 0.7.3
  • Change: Start page: the Twitter feed has been removed for the time being.
  • Change: Windows Phone 8 export: now includes the CSS "@-ms-viewport { width: device-width; }" to try and avoid misaligned rendering
  • Change: AJAX plugin: no longer tries to set the Content-Length header of POST requests, since this is not actually allowed by the standard
  • Change: Parameters dialog: now has a maximum height, to help avoid large expressions corrupting the dialog. Note you should never paste large amounts of data in to expressions; using project files is strongly recommended.
  • Bug Fix: Memory leak in OR blocks that could cause high CPU usage/degrading performance in r143
  • Bug Fix: CocoonJS: fixed a possible javascript error using CocoonJS accelerated physics. Note there are still some physics features that will cause a javascript error in CocoonJS when using accelerated physics, e.g. revolute joints. Ludei are working on this.
  • Bug Fix: WebSocket: Javascript error if connecting to invalid IP or address
  • Bug Fix: AdjustHSL/mask shaders: another case of handling alpha incorrectly when lumincance adjusted
  • Bug Fix: Exporting projects with a dot at the end of the name didn't work, since Windows doesn't like folder names ending with a dot. Now it removes the trailing dot if any.
  • Bug Fix: Event sheet view: event numbers could sometimes appear italic or bold
  • Bug Fix: Attempted fix for 'Edit theme' dialog not showing color picker popups on Windows XP
  • Bug Fix: Text object: TextHeight expression now takes in to account the line height
  • Performance: Form controls (Text Box, Button and List) engine CPU usage now significantly reduced, especially when using lots of controls.

New in Construct 2 R143 (Sep 4, 2013)

  • Feature: Debugger: new 'Watch' tab. Individual debugger properties can be added to it to create an area where you can watch just the values that interest you from a range of different objects. (Not available in free edition)
  • Add: Node-webkit plugin: lots of new window features, e.g. set/get window X, Y, width, height, title, enable/disable resizing/always on top, show dev tools, set and get clipboard text
  • Add: Browser: condition 'Is Portrait/Landscape'
  • Add: Browser: expressions 'ScreenWidth' and 'ScreenHeight'
  • Change: Audio: Chrome for Android now ships with the Web Audio API. However music did not play, because we still use HTML5 audio to play music (so it streams and starts playing more quickly), and HTML5 audio support is broken on Chrome for Android. We've applied the same workaround we use on iOS Safari: music is now fully downloaded and played via the Web Audio API. This is better than not playing music, but since it does not stream, it could take a while before music starts playing.
  • Change: Audio: on Chrome for Android and iOS Safari, only loads one music track in to memory at a time. Previously all music played so far would be loaded in to memory due to our workaround.
  • Change: Water background effect: now handles alpha differently - either fully warps the background or leaves it intact depending on if the foreground alpha is 0.
  • Change: Platform behavior: 'Is moving' is now false in 'On jump' when jumping from standing still. Previously it was always true, which could make it play the wrong animation.
  • Change: Ctrl+F4 no longer closes the current tab (conflicted with Ctrl+F4 to debug entire project)
  • Change: We've removed the reference to jQuery's source mapping file to prevent a console error appearing.
  • Bug Fix: OR blocks which were sub-events to ordinary blocks did not always pick instances correctly
  • Bug Fix: Object IIDs are now available immediately after creating them
  • Bug Fix: Mouse: 'Is over object' did not always work properly after a save/load
  • Bug Fix: Double-quotes in the 'About' section of project properties could break the node-webkit export
  • Bug Fix: AdjustHSL shader did not handle alpha correctly
  • Bug Fix: Timer behavior: javascript error using full state save/load

New in Construct 2 R142 (Aug 22, 2013)

  • Feature
  • Debugger: new Profile tab (licensed only)
  • Add
  • Debugger: highlights the instance currently being inspected in the game, with a dotted red outline and occasional flashing. This can be disabled (using the 'Highlight' checkbox under the new 'Tools' section) if it is distracting.
  • Add
  • Debugger: 'Destroy' button to destroy inspected instance in the new 'Tools' section
  • Add
  • Debugger: if a value is edited it is now highlighted in bold. Note if the value changes in the game, it un-bolds it. However this is useful for tweaking values and being able to quickly see which ones you've changed.
  • Add
  • Debugger: new 'Container' section with links to other instances in container with the inspected instance
  • Add
  • Keyboard shortcut: Ctrl+F4 to debug project from first layout
  • Add
  • New 'Falling blocks' advanced example, which makes use of recursive functions.
  • Add
  • New experimental 'Water background' shader
  • Add
  • Experimental live twitter feed to start page - let us know if you think this is distracting/annoying/useful
  • Change
  • Debugger: now can save and load while paused
  • Change
  • Node-webkit: updated to v0.7 (based on Chrome 29)
  • Change
  • r141's change for testing strings case insensitively turned out to perform appallingly in Chrome. The change has been reverted, but should still create slightly less garbage than pre-r141.
  • Change
  • Turret behavior: improved accuracy of predictive aim when targets first enter range
  • Change
  • Node-webkit: Browser 'Close' action now calls window.close() instead of App.quit() which should hopefully avoid some crashes on close
  • Change
  • Debugger: Physics CPU measurement moved from System inspect to Profile tab
  • Bug Fix
  • Javascript error debugging a layout with no event sheet set
  • Bug Fix
  • Fixed broken 'Touch - zooming' example
  • Bug Fix
  • Sprite: animations could get stuck after using save/load

New in Construct 2 R141 (Aug 15, 2013)

  • Feature: Debugger: can now edit values to change them in real-time. (Not available in free edition)
  • Add: Debugger: now shows global and static local variables under 'System'
  • Add: Debugger: 'Step' button, to run a single tick with a simulated dt of 0.016 (i.e. the dt you get at 60 FPS). Useful for debugging outcomes tick by tick.
  • Add: System expressions: LayerParallaxX(layer), LayerParallaxY(layer)
  • Add: Platform behavior: GravityAngle expression
  • Change: Ludei are now maintaining the CocoonJS plugin. Some new IAP functions have been added.
  • Change: Debugger: also shows frame time in milliseconds next to the FPS under 'System'
  • Change: The way the engine does case-insensitive string comparisons (which it does in many places) has been altered to try to create less garbage. Watch out for any issues that this might introduce.
  • Bug Fix: Debugger: now works with node-webkit preview
  • Bug Fix: Sprite: animations would sometimes advance a frame sooner than they ought to when changing the timescale
  • Bug Fix: Audio: positioned sounds now orient correctly with rotating layers

New in Construct 2 R140 (Aug 8, 2013)

  • Feature: Debugger
  • Feature: Export to Amazon Appstore
  • Change: Bookmarks bar: now includes some comment text for bookmarked comments, and the included sheet name for bookmarked includes
  • Change: Line of sight behavior: now also mirrors cone of view if object is mirrored
  • Change: Platform behavior: is now less likely to "snap" the player to the top of a jump-thru when falling in to its side
  • Bug Fix: Event sheet view: possible crash undoing after 'Replace object'
  • Bug Fix: Layout view: possible crash when displaying grid
  • Bug Fix: Touch: workaround for bug in stock Android browser where touch end events would fire twice
  • Bug Fix: System: 'Pick by evaluate' and 'Pick by comparison' did not work correctly with containers
  • Bug Fix: Image editor: resize with 'align center' did not always center the image properly
  • Bug Fix: Javascript error saving the game when a physics behavior had been disabled
  • Bug Fix: Turret behavior: 'Acquire target' action did not work
  • Bug Fix: System: 'Is overlapping point' condition did not work in OR blocks
  • SDK: CocoonJS: now includes CocoonJS_App_ForCocoonJS.js in exported projects so plugins can use it
  • SDK: New getDebuggerValues SDK function to support debugger in third party plugins and behaviors (a new SDK update will be released shortly)

New in Construct 2 R139 (Jul 18, 2013)

  • Add: Exporting: new option when exporting for Chrome Web Store, PhoneGap and Firefox Marketplace to enable Geolocation permission which you will need to do if you make use of the Geolocation plugin. Also exporting for Windows Phone 8 adds the location permission automatically if the Geolocation plugin is present in the project.
  • Add: Layout view: keyboard shortcut 'W' will select the entire container and selection wrap it. For example, if you have a container with 10 objects and you select just one and press W, all 10 objects are selected and wrapped. This should be especially useful with Spriter characters.
  • Add: System expression: 'Infinity'. Returns a floating point number representing positive infinity. Useful for timeouts, e.g. flash for duration infinity
  • Change: CocoonJS plugin: more changes to try get IAP working
  • Change: Offline manual updated to latest content from the online manual
  • Bug Fix: Spriter import: when reimport adds new objects, they should now go in to the correct folder (as long as it hasn't been renamed)
  • Bug Fix: Spriter import: when reimporting, should now preserve image points on existing images
  • Bug Fix: Event sheet view: some menu icons disappeared in a previous build; should be back now
  • Bug Fix: Event sheet view: 'show add action links' now remembered for each event sheet
  • Bug Fix: Viewport could be slightly wrong on first tick in scale outer mode
  • Bug Fix: Animations bar: can now drop animations outside of folders if there are no other root-level animations (move mouse to the top of a folder and an insert mark can appear at the root level again)
  • Bug Fix: Possible crash copy-pasting objects between projects
  • Bug Fix: Audio: positioned sounds calculated pan incorrectly

New in Construct 2 R138.2 (Jul 13, 2013)

  • Add: Node-Webkit can now be chosen as the default preview browser in Preferences
  • Add: Spriter .SCML importer: preliminary support for re-importing. If you try to import a .SCML file that already exists in the project, Construct 2 will update the existing objects to match what the new file contains.
  • Change: (added in r138 but not changelogged) Imported Spriter .SCML files now show an initial pose in the editor rather than importing all the parts on top of each other
  • Change: (added in r138 but not changelogged) Imported Spriter .SCML files now also import a .scon file with the same name if present (and .scon files can be dragged in directly if there is a corresponding .scml file). This should make it possible to use Spriter in CocoonJS projects.
  • Change: Image editor: now display collision poly and image point positions in the tool options up to 2 decimal places
  • Change: Event sheet view: keyboard shortcuts to move back and next in add condition/action dialog is now Alt+Left/Right (was Ctrl+Left/Right) to prevent conflicting with the skip word shortcut
  • Bug Fix: CocoonJS: 'markAsMusic' javascript error
  • Bug Fix: CocoonJS: error in browser preview with CocoonJS plugin present
  • Bug Fix: SCML import: imported pivot Y co-ordinates are now correct (were flipped in r138)
  • Bug Fix: 9-patch: corner tiles could appear blurry in WebGL renderer with non-power-of-two size image
  • Bug Fix: Pathfinding behavior: pathfind.js now uses UTF-8 encoding, which should fix a problem Windows 8 app validation
  • Bug Fix: Image editor: shift+selecting an area outside the canvas then cropping could crash

New in Construct 2 R138 (Jul 12, 2013)

  • Add: Gamepad: now supported on CocoonJS. This means the Gamepad object should work with Ouya controller input when CocoonJS gets Ouya support.
  • Add: New Node-Webkit preview mode. Choose 'Node-Webkit' from the new option in the 'Preview browser' project property. This allows testing in preview mode with all node-webkit specific functionality enabled (such as file IO). Note this only runs the Windows version (obviously), and runs node-webkit directly from the install directory so the AppFolder expression will return \exporters\html5\node-webkit\win32. If this sounds like a problem for you we recommend using a global variable, and if 'Is in preview' is true hard-code it to some development folder somewhere else, otherwise set it to NodeWebkit.AppFolder. Then use the global variable instead of the AppFolder expression.
  • Add: Node-webkit plugin: 'Run file' action. This can be used to both run other programs, or open files (like double-clicking a file from the OS file explorer), such as opening an image with the default system image viewer.
  • Add: CocoonJS plugin: new option to choose either the accelerated physics engine or the standard Javascript Box2D engine (called the web-based engine). By default it uses the accelerated engine, but you might want to switch back to the old engine in case the behavior of the game changes with the accelerated engine (or it has bugs)
  • Add: CocoonJS plugin: properties to alter the store managed and sandbox settings
  • Add: CocoonJS plugin: new 'refresh banner' and 'refresh fullscreen' ad actions
  • Add: CocoonJS accelerated physics: code updated to support the 'disable collisions' feature. This won't work until the next CocoonJS launcher update.
  • Add: Line-of-sight behavior: help link now points to its new manual entry
  • Add: Geolocation: help link now points to its new manual entry
  • Add: Bookmarks bar: help link now points to its new manual entry
  • Add: Sprite font: help link now points to its new manual entry
  • Add: Timer behavior: help link now points to its new manual entry
  • Add: New manual entry on Construct 2's supported platforms
  • Change: Node-webkit: updated to v0.6.2. Also now the Windows and Linux exports use a separate package.nw in the same folder as the executable instead of binary-appending the data to the executable itself, which should prevent occasional antivirus software false-positives for your end users as well as when actually exporting.
  • Change: Node-webkit: user agent string was the same as Chrome's; it is now in the form "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko, Chrome, Safari) NodeWebkit/0.6.2" (notable change is it includes NodeWebkit so servers can detect it, but it should otherwise still detect as a Chrome browser)
  • Change: Layout view: the resize-from-center key has been changed from alt to control, to prevent it conflicting with holding alt to temporarily disable grid snapping.
  • Bug Fix: CocoonJS plugin: attempted fix for backwards-incompatible changes to the advertising and IAP features in the 1.4 update. However it's difficult for us to be confident it definitely will work exactly to how it used to, so please watch out for anything that is still broken.
  • Bug Fix: CocoonJS: accelerated physics will now work with applying forces and torque when the next CocoonJS launcher comes out
  • Bug Fix: Sprite font: sometimes the character at the end of a line could disappear
  • Bug Fix: Sprite font: 'trimRight' javascript error on IE
  • Bug Fix: Audio: rotating layers now rotates positioned sounds around the listener rather than around the scroll position
  • Bug Fix: Possible javascript error creating objects in containers (notably creating an Array when in a container with a Sprite)
  • Bug Fix: Layout view: sprites could disappear if shift+resized with a negative size

New in Construct 2 R137 (Jul 4, 2013)

  • Add: Z Order Bar: now shows instances selected in the layout view in bold, adds the instance UID after the name, and instances can be double-clicked to flash them in the layout view to help identify them.
  • Add: Layout view: new ribbon option to display collision polygons (and a new theme color for the lines)
  • Add: New advanced Real Time Strategy (RTS) game template. This is easily the most advanced template or example that comes with Construct 2, and it uses lots of tricks. It's probably going to be tough for beginners, but should be interesting to experienced users.
  • Add: Every behavior with a 'Set enabled' action now has an 'Initial state' property to choose if it's initially enabled or disabled
  • Add: Layout view: hold alt to resize objects from center
  • Add: System: 'Pick instances overlapping point' condition
  • Add: Pathfinding behavior: 'Set speed' action
  • Add: Timer behavior: 'Duration' expression
  • Add: Node-webkit plugin: 'Copy file' and 'Move file' actions, which also work with binary files
  • Add: Query string ?nw can now be appended to the preview URL to force the engine to detect as node-webkit. Useful for previewing quickly with node-webkit specific features.
  • Change: We've reverted back to not supporting letterbox mode in CocoonJS, since we can't find a reasonable way to support it within the limitations of CocoonJS for the time being.
  • Change: Updated to node-webkit 6.1. This has also allowed us to lift the WebStorage storage limit to 50mb, although the limit on individual keys is not changed (still about 2mb according to my tests).
  • Change: Pathfinding behavior: setting the object angle while moving along a path now overrides the behavior's movement angle
  • Change: Audio: positioned sounds now move with rotating layers
  • Change: CocoonJS: when exporting minified, Construct 2 now uses simple instead of advanced mode when running Closure Compiler (for CocoonJS only). This means physics is no longer broken when enabling "Minify script", but this has implications for the reverse-engineerability of the project (to the effect of making it just very hard, as opposed to extremely hard).
  • Bug Fix: Particles object: was broken with canvas2d renderer in r136
  • Bug Fix: Platform behavior: a couple of issues were introduced in r136 due to a bug fix; should be working better now
  • Bug Fix: Platform behavior: passing horizontally through a jump-thru while falling could stop vertical motion; should now pass through smoothly
  • Bug Fix: System: 'set layout scale' could sometimes end up showing areas outside the layout in bounded scrolling mode
  • Bug Fix: Image editor: possible hang using Fill tool
  • Bug Fix: Speculative fix for some users color themes going wrong after upgrading from r132
  • Bug Fix: Line of sight behavior: did not always work correctly with multiple instances
  • Bug Fix: Possible project corruption inserting a SpriteFont, immediately renaming it, then choosing file -> save as .capx
  • Bug Fix: Ctrl+F4 (close tab) no longer conflicts with F4 to preview project
  • Bug Fix: On rare occasions a "No running layout" check failure could appear at runtime, or a javascript error after export

New in Construct 2 R136 (Jun 26, 2013)

  • Feature: New official Sprite Font plugin
  • Feature: New Timer behavior
  • Add: System object regex features: 'Regex test' condition; expressions 'RegexSearch', 'RegexReplace', 'RegexMatchCount', 'RegexMatchAt'
  • Add: Added a new platform-specific 'Stride' plugin. This is for use with Stride Academy as part of our partnership with LTS Education Systems.
  • Add: Bookmarks bar: now includes text describing bookmarked events, e.g. "System: Start of layout" instead of just "Event"
  • Change: CocoonJS: we've now enabled the letterbox fullscreen modes for CocoonJS. It seems to align the display incorrectly, but we'll investigate this for the next build.
  • Change: The local preview server should now send the correct MIME type for .eot and .ttf font files.
  • Change: System: 'For' loops can now run backwards (when the end value is lower than the start value)
  • Change: Event bookmark icons updated
  • Change: Project bar: could sometimes scroll away when dragging object types to folders, should now at least keep the dropped item in view
  • Change: Layout view: updated editor text renderer to use Freetype 2.5. This may fix some minor bugs and improve text rendering quality, especially at small sizes.
  • Change: Anchor behavior: enabling the behavior when it is disabled now anchors to the object's current position. Previously it still anchored to the object's old position.
  • Change: Steam build: updated Steamworks API to latest version
  • Bug Fix: Crash pressing alt introduced in r135 (oops :P)
  • Bug Fix: A few theme colors didn't work properly - they should all now be correct
  • Bug Fix: Line of sight behavior: 'Has LOS to' did not work properly when inverted
  • Bug Fix: Navigating to bookmarks hidden by collapsed groups/events now expands them so the bookmark can be seen
  • Bug Fix: Import Audio dialog: was accidentally case sensitive on file extensions (so .WAV would not import but .wav would)
  • Bug Fix: Javascript error using User Media object in CocoonJS (note: the object is still not supported, but at least does not crash the app)
  • Bug Fix: Bug with texture management in WebGL renderer could cause sprites to go blank after export if they had deduplicated images
  • Bug Fix: Platform behavior: could end up shaking when running up to wall at top of slope
  • Bug Fix: Automatic spritesheeting on export could sometimes emit a bigger spritesheet than necessary, wasting memory.

New in Construct 2 R135 (Jun 20, 2013)

  • Feature
  • New event bookmark system; new Bookmarks bar
  • Add
  • Enhanced themeing system
  • Add
  • Audio: 'Stop all' action
  • Add
  • Physics: 'Set enabled' action. Note disabling the object removes it from the physics world entirely, so other objects can pass through it.
  • Add
  • Layout view: can now hold alt to temporarily disable grid snapping when moving objects
  • Add
  • Event sheet view: new keyboard shortcut Ctrl+F now opens ribbon to Events tab and focuses event sheet search box
  • Change
  • node-webkit: updated to version 0.6, which is based on Chromium 28
  • Change
  • For visual consistency, conditions and actions now draw identically both when they are directly selected, and when the event block containing them is selected.
  • Change
  • Layout view: direction of horizontal mouse wheel scrolling has been flipped (I don't have a horizontal scrolling mouse to check, but apparently it went in the wrong direction)
  • Bug Fix
  • Pick by highest/lowest variable didn't work with families
  • Bug Fix
  • Added a workaround for a Chrome for Android bug with touch input. This should fix a number of cases where touch input stops working properly in Chrome for Android; we've also notified Google of the problem, but the workaround should make sure it works from this build onwards.
  • Bug Fix
  • Possible javascript error sharing from a Windows 8 app after minified export
  • Bug Fix
  • Renaming families could sometimes result in an unopenable project
  • Bug Fix
  • r134's new Ctrl+Left/Right shortcuts no longer conflict with Ctrl+Shift+Left/Right for selecting text in expressions
  • Bug Fix
  • Some 'Open' dialogs would not appear on Windows XP (regression from r134). These should now appear on Windows XP, but only Windows Vista and up will remember the last folder used for each dialog individually.
  • Bug Fix
  • Export to Windows 8: project properties are now trimmed on export, so trailing spaces don't break the app manifest
  • Bug Fix
  • Event sheet view: tabs now draw correctly in comments
  • Bug Fix
  • Custom movement: 'push out solid nearest' could cause objects to move when they shouldn't have
  • Bug Fix
  • Pathfinding behavior: didn't work in CocoonJS or Intel XDK
  • Bug Fix
  • Check failure renaming a project changing only the case then saving

New in Construct 2 R134 (Jun 13, 2013)

  • Add: New Line-of-sight behavior; also added a new example showing basic usage
  • Add: New Geolocation plugin; also added a new example showing basic usage
  • Add:, Projects now have an 'Icons' subfolder under 'Files'. Rather than using template icons every time you export, the icons are taken from the files in the project. This allows you to draw the icons once and have them used for every export. You can now also double-click .png project files to open them with the Image Editor, so you can edit the icons using C2's editor. Note currently editing the icon files cannot be undone.
  • Add: User Media object: features to get the ambient light reading, if a sensor device is present and supported; added a new 'Ambient Light' example demonstrating usage. Note this is not yet widely supported - it should work in Firefox for Android and Windows 8 Apps, and further support should be coming to other browsers in future. We've been unable to verify the Windows 8 ambient light support works, but code is in place, so please test it if you have a Windows 8 device and let us know if it works.
  • Add: New event sheet keyboard shortcuts: Ctrl+Home (go to top of sheet), Ctrl+End (go to bottom of sheet), Ctrl+Left/Right (back/next in event wizard/parameters dialog)
  • Add: New layout view keyboard shortcuts: Ctrl+Shift+Up (send to front of layer), Ctrl+Shift+Down (send to back of layer), C (center horizontally in window), T (align to top of window), hold Tab and click to select instance underneath (keep clicking to cycle through the Z order under the mouse)
  • Add: Common condition to pick instance with lowest/highest instance variable value
  • Add: System conditions 'Pick by comparison' and 'Pick by evaluate'
  • Add: Is enabled' condition for Solid and Jumpthru behaviors
  • Add: Object types can now be double-clicked in the Object Bar and Project Bar to edit their image/animations
  • Add: Event sheet view: 'Enter' can now also edit groups
  • Change: The 'Open' dialogs for opening a project, importing image files, importing audio, and importing project files now all remember their last folder independently. For example, clicking 'Import image' will open at the last folder you imported an image from, regardless of whether you open projects or import audio from other folders in between.
  • Change: Common condition 'Pick nearest/furthest' moved to 'Size & Position' category; 'Pick by unique ID' moved to 'Misc' category
  • Change: Custom movement: now the 'Stop stepping' action doesn't cancel the next axis of movement if using 'Horizontal then vertical' or 'Vertical then horizontal'. For example in 'Horizontal then vertical' mode, if the horizontal step was cancelled, previously it would also skip running the vertical stepping; now it still runs the vertical step afterwards.
  • Change: Editor allocates icons in a more memory efficient way, which should help avoid crashes or errors with very large projects
  • Bug Fix: Breaking change: 'Every X seconds' used to read its parameter every tick, and run if the elapsed time had passed. Now it only reads its parameter whenever the event runs. This fixes a long-standing bug where 'Every random(1, 3) seconds' would basically run once a second; now it works as expected, but this could cause existing projects to change how frequently they run 'Every' events.
  • Bug Fix: 9-patch and Sprite Font plugins were broken with WebGL renderer in r133
  • Bug Fix: Auto font size' in form control plugins now compensates correctly for high-dpi displays
  • Bug Fix: Triggers no longer fire when in an event sheet included from a disabled group
  • Bug Fix: Another issue with false positive collisions in rare circumstances

New in Construct 2 R133 (Jun 7, 2013)

  • Add:
  • Image deduplication on export
  • Add:
  • New 'node-webkit' option for system 'Is on platform' condition
  • Add:
  • Wrap behavior: new 'Wrap to' property to optionally wrap to viewport instead of layout bounds
  • Add:
  • Three new examples for the Touch object, showing how to pan, zoom and rotate a layout based on multitouch input
  • Add:
  • New 'Flying along' template game (like the classic helicopter rising/falling game)
  • Add:
  • Users with site wide licenses can now set the registry key HideLicenseLink to 1 (as DWORD) in HKCU\Software\Scirra\Construct2 to hide the 'View license' link in the About dialog.
  • Add:
  • Pathfinding behavior: 'Set diagonals enabled' action, 'Diagonals are enabled' condition
  • Add:
  • Physics behavior: conditions 'Compare velocity', 'Compare angular velocity', 'Compare mass'
  • Add:
  • Sine behavior: new 'forwards/backwards' mode, which moves object along its angle rather than just horizontally or vertically
  • Add:
  • CocoonJS export: now exports a stub index.html file which should allow games to run via CocoonJS on real browser platforms (since CocoonJS can now also compile for a wide range of platforms other than iOS/Android which use the non-browser engine)
  • Add:
  • CocoonJS: added support for preview-over-Wifi within the CocoonJS launcher for quicker testing. Enter the preview-over-Wifi URL in the 'Zip URL' field, but this probably won't work until the next CocoonJS launcher update is made public
  • Change:
  • Construct 2 now displays the .capx filename or project name (for folder projects) in the title bar
  • Change:
  • CocoonJS export: we've worked with Ludei to fix some bugs, and subsequently have re-enabled accelerated physics in this beta. It won't work until the new CocoonJS launcher comes out. Two known issues: disabling collisions isn't supported yet, and it's still broken when minified, but we're working on both issues.
  • Change:
  • Restarting a layout now also clears all pending 'Wait' actions. They are still not cleared if changing to a different layout.
  • Change:
  • Updated Closure Compiler to latest version
  • Change:
  • The maximum spritesheet size on export has been lifted from 512 to 2048 (the largest widely supported texture size). This may make some projects slightly larger to download, but it should save more memory at runtime, which we believe is more important.
  • Bug Fix:
  • Changed WebGL renderer to use tri-linear filtering on power-of-two image sizes (for better quality when scaling down)
  • Bug Fix:
  • Node-webkit: dragging an image file to a game without the node-webkit plugin would navigate the browser frame to that image
  • Bug Fix:
  • Collisions could return a false positive in rare circumstances
  • Bug Fix:
  • Pick by UID' could pick instances that had been filtered out by previous conditions. This was a backwards incompatibility with r126 (and goes against the usual working of events); it now has been corrected and projects made in r126 should work the same again.
  • Bug Fix:
  • Construct 2 no longer places dialogs off-screen when remembering their positions; it always moves them in to the visible screen area. This should fix a long-standing bug with dialogs disappearing when switching between different monitor setups (which could be worked around by pressing 'Reset dialogs' in preferences)
  • Bug Fix:
  • Possible javascript errors using Browser object back/forward actions

New in Construct 2 R132 (May 24, 2013)

  • Add: Editor color settings for layout view background, layout border, and expression text, background, selection, selected text and caret
  • Add: New tutorial: How to export to Blackberry 10
  • Add: Node-Webkit plugin: help link now points to its new manual entry
  • Add: User Media object: experimental support for speech recognition; added a new 'speech recognition' example (voice controlled games anyone?)
  • Change: Correction made to the WindowsStoreProxy.xml template file for Windows 8 export
  • Change: Custom movement: no longer steps an axis if there is no movement on it (e.g. moving exactly horizontally will not trigger 'On vertical step')
  • Bug Fix: Loading logo could have appeared mis-aligned on iOS retina devices
  • Bug Fix: Possible check failure selecting event sheets from project bar in split screen mode

New in Construct 2 R131 (May 21, 2013)

  • Feature
  • New 'Colors' tab in Preferences. This allows you to customise the event sheet view color scheme, and save your theme to a file. Any theme files in the install directory 'Themes' subfolder will be available for loading from the Preferences dialog as well.
  • Add
  • CocoonJS object: experimental support for Game Center. Currently only supports submitting scores. We haven't been able to fully test it since it seems to only fully work with a published app and not in the CocoonJS launcher, so let us know how it works out for you. Note Game Center is only available on iOS.
  • Add
  • CocoonJS object: ability to retrieve a list of all products available for IAP, with their details such as title and localized price.
  • Add
  • CocoonJS object: ability to prompt a dialog to get text input. Useful workaround to the text box form controls not working.
  • Add
  • Project bar: right-click and "Auto-import all in folder" option. Automatically import a project file for every file that has been copied in to the project's 'Files' folder in a folder-based project. Note this only imports and does not delete files that have gone missing - you should still delete files from Construct 2 if you wish to remove them.
  • Add
  • List object: conditions 'Compare selected text', 'Compare item text at'
  • Add
  • WebStorage: conditions to compare key values, either as a text or as a number
  • Change
  • We are temporarily rolling back the Physics engine to the older, slower version on CocoonJS. The accelerated physics on CocoonJS had several bugs which broke lots of projects. We will re-enable it when Ludei have fixed the issues, and probably after the next stable release to give it a thorough test run.
  • Change
  • Another change to how iframed games handle focus - clicking or touching inside an iframed game should now always give it keyboard focus
  • Change
  • Audio file parameters are now sorted alphabetically
  • Change
  • CocoonJS: now calls finishPurchase() on completed purchases, which should resolve some IAP issues
  • Change
  • The jquery-2.0.0.min.js file now includes a UTF-8 BOM, to work around the extremely fussy WACK tool.
  • Bug Fix
  • Changing the type of an instance variable which was already referenced in events could make invalid events which crashed the editor. To avoid this, the 'Type' dropdown in the 'Edit instance variable' dialog is disabled if any events exist referencing the variable.
  • Bug Fix
  • Inverted 'Mouse is over object' condition did not always work after save/load
  • Bug Fix
  • Parameters dialog: typing a space in a string literal no longer temporarily resets the style to ordinary black text
  • Bug Fix
  • Project bar: choosing 'import files' then selecting files already in the project's 'Files' folder did not work correctly. Now it ignores files already added to the project, and automatically imports any selected files that are not in the project.
  • Bug Fix
  • Custom movement: 'On vertical step' did not trigger correctly

New in Construct 2 R130 (May 15, 2013)

  • Export for Tizen
  • Add
  • Fullscreen in browser 'Scale' option replaced with 'Scale inner' and 'Scale outer'. 'Scale outer' is what it used to do, but 'Scale inner' is a new variant that scales but cuts off edges of the screen rather than extends the view if the aspect ratio does not match. This is useful for designing 16:9 games that cut off the edges and only show the middle section in 4:3 displays.
  • Add
  • Sprite: initial animation property
  • Add
  • Event sheet: option to right-click a global variable and 'move to event sheet'
  • Add
  • AJAX object: in node-webkit, can now load files from disk in the same folder as the app. Use 'Request URL' and enter a name like "myfile.txt", and if it cannot be found as a project file, it will then try to load "myfile.txt" in the same folder as the app.
  • Add
  • New 'Node-Webkit' plugin, to access node-webkit specific features. Currently this plugin allows basic file operations (like reading and writing files on disk) and opening file dialogs.
  • Add
  • Browser object: actions to log to the browser console, and start/end log message groups. Useful for debugging.
  • Add
  • Browser object: action to execute a string of Javascript code, and an expression to execute javascript and return the result (if it's a number or string). These basically call eval(), which is widely regarded to be dangerous. Try to avoid using these features; while occasionally useful, the Javascript SDK is almost always a more elegant way to add custom code to Construct 2 projects.
  • Add
  • Project settings for Email, Website and ID, which are now used as defaults by several exporters. Project properties have also been re-arranged in to two separate "About" and "Settings" categories. Several export dialogs now have had their author/email/website/id fields removed and will take the values directly from project properties instead.
  • Add
  • Drag & Drop behavior: can now axis limit to just horizontal or vertical movement (via 'Axes' property)
  • Add
  • System: 'Is on platform' condition. Test if running as e.g. a Windows 8 app, in CocoonJS, as a HTML5 website, etc. Should help setting up one project to work nicely on multiple platforms by dealing with platform-specific differences.
  • Add
  • New example: detecting the input method. Shows how to make a title screen that detects if the user has keyboard/mouse or touch controls, and switches the control method accordingly.
  • Change
  • The runtime will now attempt to use WebGL in CocoonJS if it is available. Note there are not yet any public versions of CocoonJS that support WebGL yet - this is in anticipation of future support. Note releases prior to this one will never use WebGL on CocoonJS since we had previously skipped even checking for it.
  • Change
  • Z Order bar: now uses icon for sprite instance's initial frame to help differentiate instances
  • Change
  • Sprite: icon in editor now appears taking in to account the first instance's initial frame. This means if all your instances use a non-default initial animation/frame, the editor icon will correspond to that frame's image. (You might need to close and reopen the project for this to take effect after changes.)
  • Change
  • Gamepad: now implements a radial deadzone instead of axial deadzone
  • Change
  • The default 'fullscreen in browser' property is now 'Letterbox scale', since it uses the whole screen without changing the aspect ratio.
  • Bug Fix
  • Could not change the case of a layer name from the properties bar
  • Bug Fix
  • Node-webkit: tab then enter sometimes opened a "What is a browser?" page
  • Bug Fix
  • Deleting the last object type in a family did not also delete the family
  • Bug Fix
  • Pathfinding behavior: did not update obstacle map when changing layouts with a global object
  • Bug F
  • Exported Windows 8 and Windows Phone 8 projects now use the project 'Version' property

New in Construct 2 R129 (May 9, 2013)

  • Add:
  • Parameters dialog: icons in autocomplete
  • Add:
  • System expression 'imagememoryusage', which returns the current estimated total memory used by images (aka VRAM)
  • Change:
  • CocoonJS: Physics behavior now uses CocoonJS's native Box2D engine (experimental)
  • Change:
  • Node-webkit updated to v0.5.1
  • Bug Fix:
  • Save/load state did not always correctly restore objects with the persist behavior on inactive layouts
  • Bug Fix:
  • 'Pick by UID' may not have worked correctly with objects with the persist behavior
  • Bug Fix:
  • 'Run layout' may not have run the last active layout when focused on an event sheet
  • Bug Fix:
  • Crash entering a single close bracket for an expression
  • Bug Fix:
  • False positive check failure renaming an effect
  • Bug Fix:
  • Windows 8 apps: settings charm options did not go back or open links properly
  • Bug Fix:
  • Parameters dialog: 'Self' now highlights green like other object names
  • Bug Fix:
  • Could not change the case of a layout name from the properties bar
  • Bug Fix:
  • WebSocket object: couldn't connect (regression from r127)
  • SDK:
  • Export for Blackberry 10: now includes webworks.js in every export, so plugins can use WebWorks SDK features

New in Construct 2 R128.2 (May 3, 2013)

  • Change:
  • Parameters dialog: global autocomplete no longer uses case sensitivity to prefer matches
  • Change:
  • Pathfinding: used to create one worker per layout, but this appeared to cause problems in Chrome, so now uses one worker per cell size/border setting for all layouts.
  • Bug Fix:
  • Function: broken 'Call' action in r128
  • Bug Fix:
  • Parameters dialog: global autocomplete should no longer pop up when entering strings (in double-quotes)
  • Bug Fix:
  • Parameters dialog: syntax highlighting & autocomplete should now work correctly with non-ASCII characters

New in Construct 2 R128 (May 2, 2013)

  • Add:
  • Parameters dialog: syntax coloring for expressions
  • Add:
  • Parameters dialog: autocomplete pops up as soon as you start typing
  • Add:
  • Parameters dialog: typed expressions now underline errors with a squiggly red line in real-time to make it quicker to see mistakes
  • Add:
  • Parameters dialog: matching parentheses highlighting
  • Add:
  • Template selection when exporting as a HTML5 website
  • Add:
  • Layout view: hold shift while placing a paste to paste in-place (objects will paste at their original positions rather than relative to the mouse)
  • Change:
  • Changed default loading icon from the HTML5 icon to a Construct 2 icon
  • Change:
  • When switching to an event sheet tab it will update the UI for the layout if C2 can find a single associated layout for the event sheet. (E.g. the layers bar updates if switching to an event sheet directly used by a layout)
  • Bug Fix:
  • Physics: was broken on CocoonJS and any other minified export
  • Bug Fix:
  • Dragging a local variable to a new scope did not always update expressions which could cause a crash
  • Bug Fix:
  • Pick by UID' now works again when inverted (was broken in r127). Note however the inverted form still iterates every instance like a normal condition; only the non-inverted form uses a single lookup.
  • SDK:
  • Plugins specifying a dependency on a .css file now automatically get the .css file included in the exported HTML page via a link tag
  • SDK:
  • CocoonJS export: now always includes CocoonJS.js, CocoonJS_App.js, CocoonJS_App_ForCocoonJS.js, CocoonJS_Ad.js, and CocoonJS_Store.js (may be useful for third-party plugins depending on CocoonJS extensions)

New in Construct 2 R127 (Apr 26, 2013)

  • Feature:
  • Export to Blackberry 10
  • Add:
  • Open Web App exporter (for Firefox OS): now supports packaged apps (select 'packaged app' and zip up the resulting files). Useful if you want to host the app on the Marketplace servers instead of your own server. Tutorial will be updated soon.
  • Add:
  • Browser object: 'focus' and 'unfocus' actions should now work in node-webkit
  • Add:
  • Text: added missing 'Set blend mode' action
  • Add:
  • System: new condition 'Object UID exists'
  • Change:
  • node-webkit updated to v0.5, based on Chromium 27.
  • Change:
  • jQuery version updated to version 2.0.0. It's smaller, faster and does not support IE 6-8, which should not be a problem for Construct 2 projects since they are not supported anyway. jQuery 2 also now officially supports several platforms that Construct 2 exports to, such as Windows 8 apps, PhoneGap, Firefox OS, and more.
  • Change:
  • When dragging instances from the project or object bar, the properties are now based on an instance already in the project, rather than using the plugin defaults. (E.g. if you add a text object, make it red, then drag in another one from the project bar, the new one will also be red where previously it would be black.)
  • Change:
  • The condition 'Pick by UID' has been reimplemented to work with a single lookup, rather than iterating every instance. This should make it faster, but it also is now the one condition that is the exception to the rule about picking newly created objects in subevents, i.e. you can call a function on a newly created object, passing its UID, and successfully pick the instance, which did not previously work.
  • Change:
  • The Keyboard object now always blocks certain scrolling keys like the up and down arrows when it detects it's in a frame. Hopefully this will help fix scrolling problems on embedded games like in Kongregate or Newgrounds.
  • Change:
  • Pick by UID' is now not invertible (use 'Object UID exists' system condition instead)
  • Bug Fix:
  • Pathfinding behavior: could stop working in Firefox/IE10 after changing layout
  • Bug Fix:
  • Image editor: arrow keys while renaming an image point would move the image point rather than the edit cursor
  • Bug Fix:
  • Possible javascript error loading a savegame with physics joints
  • Bug Fix:
  • Issues entering fullscreen from a non-fullscreen game on OS X. Should also re-center the canvas after exiting fullscreen (on all platforms).
  • Bug Fix:
  • WebSocket: did not pass along the required protocol to the actual websocket
  • Bug Fix:
  • Save/Load: the WebStorage fallback when IndexedDB was not supported did not always work. This should also fix save/loads not working on CocoonJS.
  • Bug Fix:
  • Save/Load: did not always correctly restore objects with the Persist behavior from other layouts
  • Bug Fix:
  • Replace object' did not always replace references to object expressions in expression parameters
  • SDK:
  • Fixed behavior actions with af_deprecated not being hidden

New in Construct 2 R126 (Apr 18, 2013)

  • Add:
  • User Media: experimental feature to request microphone input and route to a tag in the Audio object. This currently requires Chrome Canary, but should make a stable release soon.
  • Add:
  • Audio: expressions to get peak and RMS levels from analyser effects
  • Add:
  • Audio: new 'Mute' effect (useful after an analyser, especially with microphone input)
  • Change:
  • Added peak and RMS level monitoring to 'Audio analyser' example
  • Change:
  • Physics: when in framerate independent mode, now caps the maximum timestep to 1/30 (33ms, equivalent to 30 FPS) to try and improve stability at very low framerates.
  • Change:
  • Audio: stops looping sounds played at an object when the object is destroyed. (Note non-looping sounds will still play until the end from the last object position even if the object is destroyed)
  • Bug Fix:
  • Audio: playing multiple positioned sounds with different tags on startup gave sounds the wrong tags
  • Bug Fix:
  • List: didn't update position if window resized
  • Bug Fix:
  • Sprite: possible javascript error when testing collisions
  • Bug Fix:
  • Steam build: could prompt an error about MSVCR100.dll missing on some systems
  • Bug Fix:
  • Corrected some broken links to the Javascript SDK in the offline manual
  • Bug Fix:
  • Copy-pasting objects between projects could make objects that didn't work with save/load, persist, or continuous preview

New in Construct 2 R125 (Apr 10, 2013)

  • Add:
  • System trigger 'On load failed'. Useful for detecting if a save slot hasn't been saved to yet.
  • Add:
  • Z Order Bar help link now opens its new manual entry
  • Add:
  • Scirra Arcade plugin help link now opens its new manual entry
  • Add:
  • New 'Savegames' example in Start dialog
  • Add:
  • New 'Persistent layouts' example in Start dialog (shows how to use the Persist behavior)
  • Add:
  • New 'Taking screenshots' example in Start dialog
  • Add:
  • New tutorial: How to make savegames
  • Add:
  • The 'No Save' behavior's help link now points to its new manual entry
  • Add:
  • The 'Persist' behavior's help link now points to its new manual entry
  • Add:
  • New tutorial: How to make savegames
  • Add:
  • New tutorial: How to use continuous preview
  • Change:
  • Rest of manual updated to describe all r125 features
  • Change:
  • Node-webkit: no longer disables software rendering. Should help fix some severe driver issues on Mac/Linux - it should look correct, but run a lot slower, which is probably better than looking wrong and running quickly. Advise any users who complain of poor performance to update their drivers.
  • Change:
  • Updated 'Webcam' example to include a 'Download' button
  • Change:
  • When making backups of folder-based projects, Construct 2 now writes the backup to temp then copies that to the backup location, rather than backing up directly to the backup folder. This may help fix some freezes during backup (if services like Dropbox had tried to start reading the backup before C2 had finished writing it).
  • Change:
  • Keyboard: StringFromKeyCode expression used Javascript's fromCharCode() method, which proved mostly useless. Now we use our own lookup table to convert key codes to strings, which should fix basically all non-alphanumeric keys. Note this was tested on a UK keyboard, so please watch out for differences with other keyboard layouts. (Note it also may not be possible to make one conversion which works for all keyboards in the world.)
  • Change:
  • Renamed system trigger 'On loading finished' to 'On loader layout complete' to clarify it from the savegame 'On load complete' trigger
  • Change:
  • Updated and renamed AppMobi content to now refer to the Intel XDK (since Intel acquired appMobi's tools)
  • Bug Fix:
  • Cloning or copy/pasting various project elements could create things which did not work properly with save/load or the Persist behavior
  • Bug Fix:
  • User Media object: worked around a bug in Firefox's WebRTC implementation, should now work with Firefox 20+
  • Bug Fix:
  • Possible 'console is undefined' Javascript error when using continuous preview on IE
  • Bug Fix:
  • Possible blank screen if using continuous preview immediately without first previewing normally
  • Bug Fix:
  • Sprite: 'Load image from URL' did not always update all instances
  • Bug Fix:
  • Sprite: 'Start animation' in an 'On animation finished' trigger could make the object resize incorrectly

New in Construct 2 R124 (Apr 3, 2013)

  • Feature:
  • Full-state save/load
  • Feature:
  • Continuous preview
  • Add:
  • No Save' behavior
  • Add:
  • Persist' behavior
  • Add:
  • Pause on unfocus' project property
  • Add:
  • List object: new ItemTextAt expression
  • Change:
  • Objects placed in layouts are now assigned UIDs in the editor. The selected object's UID is also now shown in the Properties Bar. This allows you to safely refer to individual instances placed in the editor by using 'Pick by UID'. However note that objects created at runtime are still dynamically assigned UIDs.
  • Change:
  • The engine now automatically focuses the game on click or touch events. Hopefully this will help resolve focus issues with iframed games.
  • Change:
  • Attempted workaround for some graphics driver crashes when first opening a layout. This is based on a tip we received; we don't know if it will really fix anything, so please let us know if you had crash issues that are fixed (or if anything's been broken!)
  • Bug Fix:
  • Replace object' did not always enable the save button
  • Bug Fix:
  • Image editor: could not always type negative numbers in to tool options
  • Bug Fix:
  • AJAX: finally found a work-around for a long-standing CocoonJS bug. AJAX requests should now work in CocoonJS.
  • Bug Fix:
  • Duplicating a layout now sets the duplicate to use the same event sheet as the original (previously it was set to none)
  • Performance:
  • Text objects in the WebGL renderer now release their internal surface and texture if they go off-screen for about 5 seconds. This should help improve memory performance when using large numbers of text objects.
  • SDK:
  • SDK] Plugins and behaviors can now use saveToJSON() and loadFromJSON() to work with the new full-state save feature. A new SDK template should appear shortly

New in Construct 2 R123.2 (Mar 25, 2013)

  • Quick fix for r123

New in Construct 2 R123 (Mar 25, 2013)

  • Feature:
  • Replace object' in event sheet (keyboard shortcut: R)
  • Add:
  • Ribbon: 'Show grid' checkbox
  • Add:
  • Audio: new Ring Modulator effect
  • Add:
  • Audio: new Distortion effect
  • Add:
  • Audio: flanger effect now takes a new 'feedback' parameter. Note this defaults to 50 whereas previously it was effectively 0; this means existing projects using flanger effects will sound different unless you change the feedback back to 0.
  • Add:
  • Windows 8 object: now triggers 'On successful purchase' or 'On failed purchase' after trying to buy the app or a product
  • Add:
  • Windows 8 object: action 'Request store listing'; condition 'On store listing received', which sets expressions 'AppFormattedPrice', 'ProductName' and 'ProductFormattedPrice'
  • Change:
  • Breaking change: 'On created' now fires just before 'On start of layout' for every object already on the layout. Previously objects placed in the layout view did not trigger 'On created', but this made it annoying to initialise objects (e.g. you'd have to pin an object both on start of layout and in 'On created'). This will probably break some projects, but it really is more convenient this way round, and hopefully all you need to do is remove the stuff you do in 'On start of layout' that is a duplicate of what happens in 'On created'.
  • Change:
  • Updated pngout to the latest version
  • Change:
  • Updated pngcrush to the latest version (1.7.52)
  • Change:
  • Updated Google Closure Compiler to the latest version
  • Change:
  • Scirra Arcade plugin: should now refresh the on-page hi-score table after a score submitted
  • Bug Fix:
  • Possible crash using Project Bar while in splitscreen view
  • Bug Fix:
  • Image editor: cropping with a selection now preserves the origin and image points relative position
  • Bug Fix:
  • Image editor: image points now remembered between frames, and is also better at remembering dialog position
  • Bug Fix:
  • Javascript error using loopindex expression after a 'wait' action
  • Bug Fix:
  • Audio: playing multiple positioned sounds on startup did not always play all of them
  • Bug Fix:
  • Layout view: dragging an unselected object snapped the drag point to the mouse (bug introduced in r122)
  • Bug Fix:
  • Picked objects were not always preserved properly after a 'wait' action
  • Bug Fix:
  • 9-patch: could show seams in WebGL renderer with tiled edges (there are some known seaming situations with the canvas 2D renderer, these are still being worked on)
  • Bug Fix:
  • Windows 8 object: WindowsStoreProxy.xml now finally works for simulating app and product information in test mode (turned out to be an obscure encoding bug in Windows 8) - thanks to Henry Hoffman for the tip!
  • Bug Fix:
  • Possible infinite loop switching layout (introduced r122)
  • Bug Fix:
  • Z order bar: now refreshes object icons when their images change
  • Performance:
  • Some garbage collection optimisations to several objects
  • SDK:
  • In plugin and behavior instance constructors and onCreate, 'this.recycled' is true if the object is being re-used by the engine. If it's true, you can safely re-use member variables (e.g. setting array lengths to zero instead of assigning []) to reduce GC overhead.

New in Construct 2 R122 (Mar 14, 2013)

  • Feature;
  • Audio: positioned sounds
  • Feature:
  • Scirra Arcade plugin
  • Feature:
  • Layout view: selection wrapping (scale and rotate groups of objects conveniently)
  • Add:
  • Layout view alignment tools
  • Add:
  • Status bar: now displays estimated memory use. This is based on the layout with the largest texture memory usage. Lots of users create projects which are extremely wasteful with memory and then ask us why they crash mobile devices - hopefully this will help users see what they're doing wrong by themselves.
  • Add:
  • New 'Positioned audio' example in Start Dialog
  • Add:
  • Keyboard: StringFromKeyCode expression
  • Change:
  • Rearranged some event sheet context menus to have more commonly used items at the top
  • Bug Fix:
  • Turret behavior: rate of fire now takes in to account the time scale
  • Bug Fix:
  • Data storage plugins like Array could be destroyed at the end of the layout if they were in a family
  • Bug Fix:
  • List: did not always reappear when its layer was made visible
  • Bug Fix:
  • Sprite: possible for 'Is animation playing' to be incorrect for a single tick after 'On animation finished'
  • Bug Fix:
  • Image editor: color picker dialog sometimes did not remember last color when switching tool
  • Bug Fix:
  • Text: sometimes handled fonts with spaces in the name incorrectly

New in Construct 2 R121 (Mar 6, 2013)

  • Feature:
  • Audio: effects system, including analysing audio frequency data
  • Add:
  • Two new audio examples in the Start dialog: 'Audio analyser' and 'Audio effects'
  • Add:
  • Audio: actions 'Set paused', 'Seek'
  • Add:
  • Audio: Duration, PlaybackTime and Volume expressions (to get information from currently playing sounds)
  • Add:
  • Audio: 'Set master volume' action, 'MasterVolume' expression
  • Add:
  • Audio: 'Is silent', 'Is any playing', 'Is tag playing' conditions
  • Change:
  • Exporting with PNG recompression set to 'None' now ignores any images set to PNG-8 and still exports them as PNG-32. It also skips some memory optimisation processing. Overall export times should now be semi-instant with this option, but don't use it for real production releases, since it skips a lot of very useful optimisations.
  • Change:
  • Possibly breaking change: Sin behavior now updates position just before the events run, rather than just after. This allows for objects using set position to follow without lag. However this means events can now override the position which could cause existing projects to work differently. Please watch out for anything breaking.
  • Change:
  • Possibly breaking change: Platform behavior now should follow moving platforms using the Sine behavior without any lag. However since the sequence it runs has changed, it may also cause existing projects to work differently; please watch out for anything breaking.
  • Change:
  • SCML importer: updated to support some upcoming Spriter features
  • Bug Fix:
  • Audio: no longer restarts sound effects when switching back to the tab in Chrome (sounds resume from where they left off)
  • Bug Fix:
  • Possible issue with suspending and resuming on CocoonJS
  • Bug Fix:
  • Platform: possible issue cutting jumps short when jumping up on to platforms
  • Bug Fix:
  • 9-patch: javascript error when some patches had zero size
  • Bug Fix:
  • Deleting an event sheet with global variables did not always remove all references to the global variable
  • Bug Fix:
  • Browser 'Vibrate' action may not have always worked. It now definitely works on Firefox for Android and CocoonJS.
  • Bug Fix
  • Constant expressions evaluating to NaN or infinity could cause javascript errors
  • Bug Fix
  • Possible strange results using a Bullet family behavior with other behaviors
  • Bug Fix
  • Possible issue with viewport being incorrect for first tick in scaling fullscreen modes

New in Construct 2 R120.2 (Feb 23, 2013)

  • Add:
  • Expressions to get object bounding boxes (BBoxLeft, BBoxTop, BBoxRight, BBoxBottom)
  • Change:
  • Updated node-webkit to v0.4.2
  • Change:
  • Pathfinding behavior: now better at preserving momentum when 'Move along path' used while already moving
  • Bug Fix:
  • Pathfinding: could sometimes jump a small distance just before moving along a new path
  • Bug Fix:
  • Z Order bar: crashed the editor in lots of random places
  • Bug Fix:
  • List: could appear at wrong position after export

New in Construct 2 R120 (Feb 22, 2013)

  • A new Z order bar, and better management for third party plugins, behaviors and effects!

New in Construct 2 R119 (Feb 14, 2013)

  • Add:
  • New 'Autorunner' template
  • Add:
  • The 9-patch plugin help link now opens its new manual entry
  • Add:
  • The Turret behavior help link now opens its new manual entry
  • Add:
  • The WebSocket plugin help link now opens its new manual entry
  • Add:
  • The Pathfinding behavior help link now opens its new manual entry
  • Add:
  • The List plugin help link now opens its new manual entry
  • Bug Fix:
  • Image editor: toolbar now rounds origin/image point co-ordinates to nearest, rather than down, which could cause off-by-one errors
  • Bug Fix:
  • Pathfinding behavior: mirroring a sprite could break moving along path
  • Bug Fix:
  • SCML importer now supports bones
  • Bug Fix:
  • Sprite: 'On image URL loaded' would not trigger multiple times when loading an image to multiple instances (broke in r118 bug fix)

New in Construct 2 R118 (Feb 9, 2013)

  • Add
  • New 'List' form control plugin
  • Add
  • Pathfinding behavior: 'Add path cost' action. Use objects to simulate difficult terrain, encouraging the behavior to find detours avoiding them unless they are a big shortcut. Also added new 'Pathfinding - path cost' example to Start Dialog demonstrating this.
  • Add
  • Pathfinding behavior: condition 'Compare speed', expressions 'Speed', 'MovingAngle' and 'CurrentNode'
  • Add
  • New 'Turret defense' template
  • Change
  • Pathfinding behavior: cell size now defaults to 30 (up from 20) for better performance by default
  • Change
  • node-webkit: now no longer ignores the GPU blacklist since it caused graphic glitches for some users. You may get canvas2D rendering on some desktop systems as a result.
  • Change
  • Audio: improved the way the iOS "muted until touch" limitation is handled - should now fully unmute all prior audio upon the first touch
  • Bug Fix
  • Sprite 'On collision' event did not pick containers correctly
  • Bug Fix
  • Sprite: 'Load image from URL' when used on multiple instances could blank out some objects in WebGL renderer
  • Bug Fix
  • Pathfinding behavior: could sometimes get stuck if regularly trying to follow a moving target
  • Bug Fix
  • Platform: could sometimes fall through vertically moving jump-thrus
  • Bug Fix
  • Spurious console message using constant variables
  • Bug Fix
  • Animation frames bar: did not always bring up frame properties on first click on a frame
  • Performance
  • Removed some preview-only checks that reduced preview performance on some browsers, notably Safari for iOS. Export is still likely to be a little faster since there are still other preview-only cehcks in use.
  • Performance
  • Some minor collision testing optimisations

New in Construct 2 R117 (Jan 31, 2013)

  • Feature:
  • New Pathfinding behavior
  • Add:
  • One-time prompt to view release notes after updating Construct 2 (will only appear from next release)
  • Add:
  • Steam only) One-time prompt to download media bundle after purchase
  • Add:
  • Link to release notes in About dialog
  • Add:
  • Link to download media bundle when licensed in About dialog
  • Add:
  • Text Box, Button: new 'Set unfocused' action
  • Add:
  • Button: new 'Checked' property for initial check state
  • Change:
  • Updated node-webkit to latest version (0.4.0) based on Chromium 26. Note this now appears to only support OS X 10.7 and above. It also now ignores the GPU blacklist and enables WebGL to ensure best performance.
  • Change:
  • CocoonJS: no longer exports .ttf font files to a Fonts subfolder, since it caused problems with zip compatibility. A future CocoonJS update will also look for .ttf files in the root folder, which should help get fonts working on CocoonJS.
  • Bug Fix:
  • On created' did not trigger for objects in containers
  • Bug Fix:
  • Deleting objects in containers in the editor could prevent other types being added to other containers
  • Bug Fix:
  • 9-patch: possible javascript error with zero size margins
  • Bug Fix:
  • 9-patch: possible incorrect display in editor with tile fill
  • Bug Fix:
  • XML: javascript error using loopindex in 'For each node'
  • Bug Fix:
  • Array, Dictionary: possible truncated or altered result when using 'Download' action
  • Bug Fix:
  • Physics: possible javascript error creating a joint to the same object
  • Bug Fix:
  • Button: 'set text' for checkboxes did not work

New in Construct 2 R116 (Jan 19, 2013)

  • Feature:
  • Export to Linux via node-webkit (supports both 32 and 64 bit apps)
  • Add:
  • New 9-patch plugin
  • Add:
  • New Turret behavior
  • Add:
  • New WebSocket plugin
  • Add:
  • Button object: new Checkbox mode (including new conditions and actions like 'Is checked' and 'Set checked')
  • Bug Fix:
  • AJAX: requesting local files didn't work in node-webkit
  • Bug Fix:
  • Windows Phone 8: suspend and resume events should now be correctly handled. Note we've also enabled fast resume by default.
  • Bug Fix:
  • Windows Phone 8: crash when recovering from tombstone
  • Bug Fix:
  • Possible check failure clicking links in property grid

New in Construct 2 R115 (Jan 11, 2013)

  • Feature
  • New support for exporting Windows and OS X desktop applications via node-webkit. Support for Awesomium has been removed in favour of this.
  • Add
  • System actions: set layer parallax, background color and transparent
  • Change
  • CocoonJS: the new screencanvas rendering mode is now enabled
  • Change
  • Experimental texture preloading for canvas 2D renderer
  • Change
  • Windows Phone 8: we no longer handle activate/deactivate events, because it seemed to crash WP8. We'll try and fix this in a future release, but this might help WP8 apps get approved to the store in the mean time.
  • Change
  • The installer now checks the minimum system requirement of Windows XP SP3, since lower service packs are not supported. If you try to install Construct 2 on XP SP2 or older, you will get an error message and the installer will quit.
  • Bug Fix
  • Javascript error minifying Windows 8 exports
  • Bug Fix
  • Touch object: AbsoluteYForID expression didn't work
  • Bug Fix
  • ossible problems creating objects in loops in groups
  • Bug Fix
  • Container objects on different layers in a layout would not link up properly on startup
  • Bug Fix
  • Possible javascript error testing overlap in an OR block with an object in a container

New in Construct 2 R114 (Dec 22, 2012)

  • Add:
  • The Function object help link now opens its new manual entry
  • Add:
  • The 'Add container' dialog help link now opens the new manual entry on Containers.
  • Add:
  • The Start dialog help link now opens its new manual entry
  • Add:
  • The Export Platform dialog help links now link to the two new tutorials on exporting for Windows Phone 8 and exporting for Firefox Marketplace
  • Add:
  • Manual updated to cover all other new features since r108.2
  • Bug Fix:
  • Crash right-clicking in object panel

New in Construct 2 R113 (Dec 19, 2012)

  • Add:
  • Touch object: expressions to get touch IDs and to get touch positions by the ID. This is often better than using the touch index since a touch ID is always the same for the lifetime of a touch, whereas the index can change. This should make it easier to implement certain multi-touch apps like dual analog controls.
  • Change:
  • WebGL renderer: layout-by-layout memory loading no longer unloads memory for objects destroyed on start of layout. This means you can place an object on a layout but destroy it immediately to indicate Construct 2 should still load its textures on startup.
  • Change:
  • appMobi directCanvas: removed our hack to support accelerometer and orientation. It caused performance problems in some games and appMobi are currently working on supporting it natively. This will temporarily break some games on directCanvas, but hopefully appMobi will be supporting it soon.
  • Change:
  • Hide address bar' is now ignored on Android, because on some devices it made the canvas display incorrectly. The option now applies exclusively to the iPhone.
  • Bug Fix:
  • Error using a constant variable in a group
  • Bug Fix:
  • XML object: did not work when in a Windows 8 app
  • Bug Fix:
  • Disabling events did not always undo properly
  • Bug Fix:
  • Comparing opacities did not always work due to a floating point rounding error
  • Bug Fix:
  • Particles: 'set rate' after creating a one-shot particles object had no effect
  • Bug Fix:
  • WebGL shaders: possible rendering glitches if all layers were transparent
  • Bug Fix:
  • Typo on start page
  • Bug Fix:
  • Platform behavior: sometimes "floated" before landing when jumping up on to a platform
  • Performance:
  • WebGL renderer: significant VRAM use reductions. This includes fixing a bug which wasted VRAM, and automatically determining if smaller texture formats can be used (such as 16-bit RGB5_A1 and RGBA4) if they can be losslessly converted. The layout-by-layout texture loading has also been optimised to reduce peak VRAM usage between layouts (avoiding momentarily having textures from both layouts loaded). This is important for mobile devices which support WebGL and have very limited memory, e.g. Firefox OS which is launching with 256MB total system memory.
  • Performance:
  • Particles: minor garbage collection optimisation which may help projects using particles extensively

New in Construct 2 R112 (Dec 12, 2012)

  • Change:
  • Some changes to try to resolve issues with crashing or hanging when exiting Construct 2. I can't reliably reproduce the problem so I don't know if my changes have had any effect; please let me know if you still encounter any issues exiting. (Note any problems during exiting happen after saving your project, so this should not be causing any loss of work.)
  • Bug Fix:
  • Exporting a Windows 8 app without the Windows 8 object included would cause the VS2012 project to have some files missing
  • Bug Fix:
  • Sometimes undoing after deleting an event variable did not bring all the events back
  • Bug Fix:
  • Platform behavior: 'fall through jump-thrus' did not work in r111
  • Bug Fix:
  • Platform behavior: fixed some issues with pixel-perfectness on startup and when handling slopes
  • Bug Fix:
  • Function: more issues using local variables in recursive functions
  • Bug Fix:
  • Possible issue with touches getting stuck or lost if dragged off the main canvas when not in fullscreen mode, especially in Windows 8 apps
  • Bug Fix:
  • CocoonJS games would crash when suspending due to an unimplemented feature
  • Bug Fix:
  • Looping audio would restore to 0dB volume when switching to a different tab and back again in Chrome. Now it preserves volume. (Note this also causes the sound to start from the beginning again - this is a known issue, and is because the Web Audio API doesn't make it easy to pause and resume sounds.)
  • Bug Fix:
  • appMobi object: 'Get remote data' didn't work
  • Bug Fix:
  • Browser: requesting fullscreen from a non-fullscreen game did not center the game in Chrome

New in Construct 2 R111 (Dec 4, 2012)

  • Feature
  • Experimental export to Windows Phone 8
  • Feature
  • Experimental export Open Web Apps (for Firefox Marketplace)
  • Change
  • New CocoonJS features: the CocoonJS Ads object has been renamed to just CocoonJS. It now has new actions and conditions to support more ad features, and now also supports the CocoonJS In-app purchase extension. However this is highly experimental; let me know if you can get IAP working (I could not get it working from the launcher). The Browser object 'Close' action now also forces the app to finish in CocoonJS on Android.
  • Change
  • Possible breaking change: the Platform behavior has been refactored to improve its pixel-perfect precision. It used to work to whole-pixel precision, but it now works with sub-pixel accuracy down to 1/16th of a pixel. This may alter how existing games work, but hopefully for the better: it is designed to avoid falling 1px in to the floor rather than standing perfectly on it, as well as some issues with wall hugging. Now the object should reliably be able to move to within about 0.07 of a pixel to its target, which if you use pixel rounding and point sampling should mean pixel-perfect movement. However since some very commonly used code has been changed, please watch out for anything breaking as well.
  • Change
  • Updated Scintilla control to version 3.2.3. This is used in the Parameters dialog; please watch out for any changes or breakages.
  • Change
  • Add action/condition dialog: pressing 'Tab' when the search box is focused now switches focus to the main list rather than the 'Next' button
  • Bug Fix
  • Cloning text objects now preserves the origin
  • Bug Fix
  • Container objects that were created at runtime did not handle their containers properly
  • Bug Fix
  • Could not edit a text instance variable to make its initial text empty
  • Bug Fix
  • Renaming anything used in a 'Call function' parameter could cause crashes
  • Bug Fix
  • OR blocks with all their conditions disabled now run their actions, as ordinary blocks do.

New in Construct 2 R110.2 (Nov 22, 2012)

  • Feature:
  • Containers: easily make events for composite objects
  • Feature:
  • Experimental support for importing Spriter animations (.SCML)
  • Add:
  • Keyboard object: conditions 'On any key released', 'On key code pressed', 'On key code released', 'Key code is down'; expression 'LastKeyCode'. These use numbers for key codes which also allows for variables to be used; this should enable player-defined control setups.
  • Add:
  • Gamepad object: conditions 'On any button pressed', 'On any button released', 'Is button index down', 'On button index pressed', 'On button index released', and expression 'LastButton' to get index of last button that was pressed. This should also enable player-defined control setups.
  • Add:
  • Sprite: ImagePointCount expression
  • Add:
  • Sprite: option to disable collisions ('Collisions' property, 'Collisions enabled' condition, 'Set collisions enabled' action). Sprites with disabled collisions will not register 'On collision' events nor respond to any other kind of collision (e.g. with solid).
  • Add:
  • Windows 8 object: can now share Sprite images and data URIs. This also allows you to take screenshots and share them.
  • Add:
  • Windows 8 object: new support for 'About', 'Support' and 'Privacy' options in the Settings charm, which can be turned on and off in the object's properties. Providing these can help your app get approved in the Windows 8 Store.
  • Change:
  • BREAKING CHANGE: Collisions between objects on different layers now take in to account each layer's parallax, scale and rotation. Previously these were not taken in to account which could make objects report overlapping when they weren't actually touching on screen; now it works as expected. However, this may change when objects count as overlapping in existing projects.
  • Change:
  • When making backups Construct 2 no longer copies files or folders with the hidden attribute or with the filename beginning with a dot (e.g. .svn, .git). This should help prevent copying source control system's data in with backups making the files unnecessarily huge.
  • Change:
  • The AJAX object should now be working in appMobi directCanvas with applab 3.4.5. Note you may need to set the 'Access-Control-Allow-Origin' header on any resources you request, since a native app counts as a different domain.
  • Bug Fix:
  • Clicking 'Help on expressions' in the parameters dialog crashed in r109
  • Bug Fix:
  • Sometimes using the Touch object in a game displayed in an iframe would prevent keyboard input working
  • Bug Fix:
  • Function: in some cases the called function would still reference objects picked from the event calling the function. This was not intended; now function events start picking instances from scratch again.
  • Bug Fix:
  • Function: javascript error passing local or global variables as parameters
  • Bug Fix:
  • Local non-static variables in recursive functions did not hold unique values at each level of recursion (they acted like global variables throughout the function call). Now their values work independently in each call.
  • Bug Fix:
  • Image editor: clicking but not dragging with the line tool could cause the image to go blank

New in Construct 2 R110 (Nov 20, 2012)

  • Feature:
  • Containers: easily make events for composite objects
  • Feature:
  • Experimental support for importing Spriter animations (.SCML)
  • Add:
  • Keyboard object: conditions 'On any key released', 'On key code pressed', 'On key code released', 'Key code is down'; expression 'LastKeyCode'. These use numbers for key codes which also allows for variables to be used; this should enable player-defined control setups.
  • Add:
  • Gamepad object: conditions 'On any button pressed', 'On any button released', 'Is button index down', 'On button index pressed', 'On button index released', and expression 'LastButton' to get index of last button that was pressed. This should also enable player-defined control setups.
  • Add:
  • Sprite: ImagePointCount expression
  • Add:
  • Sprite: option to disable collisions ('Collisions' property, 'Collisions enabled' condition, 'Set collisions enabled' action). Sprites with disabled collisions will not register 'On collision' events nor respond to any other kind of collision (e.g. with solid).
  • Add:
  • Windows 8 object: can now share Sprite images and data URIs. This also allows you to take screenshots and share them.
  • Add:
  • Windows 8 object: new support for 'About', 'Support' and 'Privacy' options in the Settings charm, which can be turned on and off in the object's properties. Providing these can help your app get approved in the Windows 8 Store.
  • Change:
  • BREAKING CHANGE: Collisions between objects on different layers now take in to account each layer's parallax, scale and rotation. Previously these were not taken in to account which could make objects report overlapping when they weren't actually touching on screen; now it works as expected. However, this may change when objects count as overlapping in existing projects.
  • Change:
  • When making backups Construct 2 no longer copies files or folders with the hidden attribute or with the filename beginning with a dot (e.g. .svn, .git). This should help prevent copying source control system's data in with backups making the files unnecessarily huge.
  • Change:
  • The AJAX object should now be working in appMobi directCanvas with applab 3.4.5. Note you may need to set the 'Access-Control-Allow-Origin' header on any resources you request, since a native app counts as a different domain.
  • Bug Fix:
  • Clicking 'Help on expressions' in the parameters dialog crashed in r109
  • Bug Fix:
  • Sometimes using the Touch object in a game displayed in an iframe would prevent keyboard input working
  • Bug Fix:
  • Function: in some cases the called function would still reference objects picked from the event calling the function. This was not intended; now function events start picking instances from scratch again.
  • Bug Fix:
  • Function: javascript error passing local or global variables as parameters
  • Bug Fix:
  • Local non-static variables in recursive functions did not hold unique values at each level of recursion (they acted like global variables throughout the function call). Now their values work independently in each call.
  • Bug Fix:
  • Image editor: clicking but not dragging with the line tool could cause the image to go blank
  • SDK:
  • If you have a plugin that picks objects or modifies SOLs, it will need changing to support containers. Post on the Javascript SDK forum if you have a plugin that needs updating.

New in Construct 2 R109 (Nov 10, 2012)

  • Feature
  • New Start dialog to replace the New Project dialog
  • Feature
  • New built-in Function object
  • Add
  • Construct 2 now warns you if you open more than 30 layout view tabs. This can use a lot of memory and cause stability problems on some computers, so the warning recommends that you close some tabs before continuing.
  • Add
  • Drag & Drop behavior: new 'Drop' action
  • Change
  • Parameters dialog: typed fields now use the event sheet font. This means bigger fonts also display bigger in the parameters dialog too.
  • Change
  • Keyboard object: using 'On any key pressed' no longer blocks the browser default action for all keys
  • Change
  • Physics: applying an impulse now also overrides the teleport made by 'set position', allowing it to work the same tick a 'set position' action is used
  • Bug Fix
  • 'Point' sampling may not have applied when using a fullscreen mode in the canvas 2D renderer.
  • Bug Fix
  • Possible crash editing event variable actions when constant variables used in project
  • Bug Fix
  • Undoing disabling an event or group could affect the disabled state of its subevents
  • Performance
  • Some optimisations to reduce memory overhead at runtime, especially for large projects with lots of events, which may also help reduce GC pauses.

New in Construct 2 R108 (Oct 24, 2012)

  • Add
  • Insert Object dialog: added extra help link to each object's manual entry in the description field at the bottom of the dialog
  • Change
  • Windows 8 object: updated help link to its manual entry
  • Change
  • Letterbox integer scale mode no longer scales down smoothly when the browser window is smaller than the project's window size. It now scales down to fractional zooms like 50% (1/2), 33% (1/3), 25% (1/4) etc. This can sometimes help avoid tiles showing seams when the browser is smaller than the game window.
  • Bug Fix
  • Browser: possible glitches in Chrome when requesting fullscreen mode
  • Bug Fix
  • Platform: Rotating platform example was broken in r107
  • Bug Fix
  • Possible crash dragging layout folders in the project bar

New in Construct 2 R108 (Oct 23, 2012)

  • Add:
  • Insert Object dialog: added extra help link to each object's manual entry in the description field at the bottom of the dialog
  • Change:
  • Windows 8 object: updated help link to its manual entry
  • Letterbox integer scale mode no longer scales down smoothly when the browser window is smaller than the project's window size. It now scales down to fractional zooms like 50% (1/2), 33% (1/3), 25% (1/4) etc. This can sometimes help avoid tiles showing seams when the browser is smaller than the game window.
  • Bug Fix:
  • Browser: possible glitches in Chrome when requesting fullscreen mode
  • Platform: Rotating platform example was broken in r107
  • Possible crash dragging layout folders in the project bar

New in Construct 2 R107 (Oct 18, 2012)

  • Feature
  • Automatic memory management: object textures are now loaded layout-by-layout in the WebGL renderer.
  • Add
  • A new 'Webcam - face shape.capx' example
  • Change
  • Updated Closure Compiler, FLAC decoder and Ogg Vorbis encoder tools to their latest versions
  • Bug Fix
  • Bullet behavior: 'set speed' now allows negative speeds
  • Bug Fix
  • Platform behavior: 'set gravity' in 'On landed' could act strangely
  • Bug Fix
  • Event sheet view: in some cases, event search may not have returned all results
  • Bug Fix
  • Possible javascript error comparing family variables in an OR block
  • Bug Fix
  • Using constant event variables may have caused the set/add/subtract variable actions to not fill out their 'variable' dropdowns correctly
  • Bug Fix
  • Platform behavior: 'On landed' may not have always triggered if jumping on to a jump-thru from underneath
  • Bug Fix
  • Offline manual: if the manual path had spaces in it, it may not have opened from the editor correctly.
  • Bug Fix
  • Audio: opening old projects would set the volume to -10 for 'Play by name' actions; now should keep volume at 0
  • Bug Fix
  • Possible crash middle-clicking docking bar tabs
  • Performance
  • Workaround applied to iPad 3 to prevent very poor performance in landscape retina mode. Thanks to @Arima for working on the issue and finding the workaround.
  • SDK
  • 'onCreateWebGLTextures' renamed to 'onRestoreWebGLContext'; new function 'unloadTextures' added to help objects participate in VRAM management. Please contact me if you have any plugins using textures you'd like to update.

New in Construct 2 R106 (Oct 11, 2012)

  • Feature
  • An offline manual now ships with Construct 2. By default, if you are on Windows Vista or newer, help links in Construct 2 will launch the online manual if you're connected to the internet, and the offline manual if you're not connected. You can also use a new preference setting to force Construct 2 to always launch either the online manual or offline manual.
  • Add
  • Windows 8: support for IAP (new 'Purchase product' action and 'Has product' condition). Despite the fact the code appears to be correct and does not throw any errors, I had trouble testing it successfully; please let me know how it works for you if you try it.
  • Add
  • Touch object: now can report accelerometer and orientation values on Windows 8 when the device supports it. Despite the fact the code appears to be correct and does not throw any errors, I had trouble testing it successfully; please let me know how it works for you if you try it.
  • Add
  • Balloon tips to notify you when inserting objects to hidden or locked layers
  • Change
  • Redesigned the project export process, with clearer dialogs and more help links.
  • Change
  • Awesomium: updated to RC3, with better GPU acceleration support. Awesomium games should now be faster in fullscreen, but we are still working out some issues with higher CPU usage than Chrome.
  • Change
  • Awesomium: Removed UPX compression on Awesomium DLLs, which should help prevent the long startup times some users experience.
  • Change
  • Awesomium: we have re-enabled Google's ANGLE display library, which automatically works around some graphics driver bugs. This should help fix some glitches on some systems when running Awesomium-based games.
  • Change
  • Windows 8 export: exported projects now only specify the 'Internet client' capability if your project includes the AJAX object. This is because the Windows Store requires a privacy policy if you use this capability, which can cause your submission to be rejected even if it doesn't actually access the internet. You will still need to enable the option if you use other internet accessing features like Sprite/Tiled Background's 'Load image from URL'.
  • Change
  • 'Use iOS retina display' options changed to 'Never', 'iPhone only' and 'All devices'. This should allow you to use the iPhone's high-performance retina display, while avoiding using the iPad 3's very slow retina display.
  • Change
  • Replaced the stock 'Space Blaster' demo with the touch-enabled version from our recent blog post. It also runs well over Preview-on-LAN on iOS 6, so should help provide you with an example of a touchscreen game.
  • Change
  • Moved Facebook object to "Platform specific" category
  • Change
  • System: tweaks to how 'Is mobile' is detected
  • Change
  • Support for translations has been removed for the time being. The feature hasn't been finished and may not be done for a while, and in the mean time translating can cause bugs. Construct 2 now always loads the English language file and the Language tab has been removed from Preferences.
  • Change
  • A number of tools which ship with Construct 2 (such as audio encoders and PNG tools) are now also digitally signed. This should help fix issues with high security systems not being able to launch these tools.
  • Bug Fix
  • 'Warp Mask' effect was broken in r105
  • Bug Fix
  • Sprite: r105 broke the use of 'set animation' in some cases. It should now be backwards compatible with how it used to work in r104 and earlier.
  • Bug Fix
  • Platform behavior: possible javascript error in IE9
  • Bug Fix
  • Platform behavior: may have had a "rough landing" when falling on a jump-thru while overlapping another jump-thru above.
  • Bug Fix
  • Platform behavior: could shift a few pixels when changing gravity direction
  • Bug Fix
  • Platform behavior: could be glitchy when on a moving platform sliding in to a solid
  • Bug Fix
  • Check failure pasting events between projects when objects were missing in the target project.

New in Construct 2 R105 (Oct 4, 2012)

  • Feature
  • Windows 8 object: support for app trial and app purchase (Is trial; Is expired trial; Is licensed; On license changed; Purchase app; TrialTimeLeft). Note the new 'Test mode' property (on by default) is used to test purchases; be sure to turn it off before publishing. An alert always appears on startup when in test mode. IAP is not yet supported, only purchasing the app itself, but is on the way.
  • Add
  • Audio object: support for the Web Audio API in Safari for iOS 6. Supports responsive polyphonic audio playback (at last). Note that Safari mutes all audio until a sound is played in a touch event, so to help work around this on iOS 6 the first played sound will be delayed until the user touches the screen. You might want to create an initial 'touch screen to continue' where you also play a sound to work around this.
  • Add
  • New 'Hide address bar' project property. Currently only works on iPhone. Note this does not work on iPad which uses a fixed address bar. Also, although the code does run on Android, I cannot get it to work: Chrome for Android uses a fixed address bar, and it simply does not seem to work for the stock browser. If anyone has working code for the stock please let me know!
  • Add
  • Shader effects can now be enabled and disabled for individual instances. Previously enabling or disabling an effect altered all instances of the same type.
  • Add
  • Construct 2 will now prompt to save changes if logging off or shutting down with an unsaved project open. In some cases, Construct 2 can now also automatically save an open project when a shutdown is forced.
  • Add
  • Facebook object: 'On ready' trigger (fires when first ready to be used, rather than having to use 'Is ready' with 'Trigger once')
  • Add
  • Drag & Drop behavior: 'Is enabled' condition
  • Change
  • A change has been made to avoid the iPhone 5 showing a web app in letterbox mode. It should now use the entire new-sized screen. Unfortunately we don't yet have an iPhone 5 so this change has not been tested - please let us know your results if you have one.
  • Change
  • PhoneGap and appMobi using phone browser are now license-only features.
  • Change
  • Breaking change: certain WebGL effects have been changed to take in to account the scale, so they look similar even at different zoom/window scale levels. However this can cause them to look different in existing projects, because they did not used to take this in to account. The following shaders have been modified: Pulse, Warp, Warp Mask, Warp ripple.
  • Change
  • 'Clear background' now defaults to 'Yes' to avoid some glitchy appearances that can result with it set to 'No'.
  • Bug Fix
  • Possible problem with sprites disappearing when using an 'On created' trigger.
  • Bug Fix
  • Possible issue with screen going black when rotating through 180 degrees on Safari for iOS
  • Bug Fix
  • directCanvas: accelerometer and orientation input was supposed to be working last build, but it wasn't actually working - it should be functional now.
  • Bug Fix
  • Project bar: Crash trying to reorder layouts
  • Bug Fix
  • Pressing F4 (run project) with no projects open would crash the editor
  • Bug Fix
  • Sprite: 'set animation' in an 'on animation finished' event did not always have the intended effect
  • Bug Fix
  • Check failure dragging a static local variable to global scope
  • Bug Fix
  • Issues setting a global variable if project only contains constant global variables
  • Bug Fix
  • Audio may not have played in preview on IE9 or in preview on LAN on iOS devices
  • Bug Fix
  • Event sheet view: could edit a comment and rename something else at the same time
  • Bug Fix
  • Using iOS retina display on a retina device may have misaligned touches if not using fullscreen mode
  • Bug Fix
  • Facebook object: possible javascript errors using actions before 'Is ready' is true
  • Bug Fix
  • Event sheet view: some issues pasting events referencing missing local variables then undoing
  • SDK
  • Effects can now use a 'layerScale' uniform float to take in to account scaling

New in Construct 2 R104 (Sep 22, 2012)

  • Feature
  • Global and local variables have two new options: 'constant' - will not appear in 'set', 'add' or 'subtract' actions, but can be retrieved and compared (also, according to programming convention, constants are shown in uppercase); 'static' - applies to local variables only, and means the value persists and is not reset every tick. In other words, a static local variable is a global variable with a limited scope.
  • Add
  • Text object: new property to set vertical align (top, center or bottom)
  • Add
  • Gamepad object: added missing 'On button pressed' and 'On button released' triggers
  • Add
  • Touch object: new conditions 'compare orientation' and 'compare acceleration' for convenience when making motion based games, and new 'On Nth touch start', 'On Nth touch end' and 'Has Nth touch' to help with multitouch games.
  • Add
  • Audio object: the 'play' and 'play by name' actions now take a volume parameter. Setting a volume here can help avoid the sound momentarily playing at full volume until a following 'set volume' action takes effect.
  • Change
  • Breaking change: Object's 'Count' expressions are now immediately updated inside loops and subevents when new instances are spawned or created, contrary to the fact these instances do not really exist until the next top-level event. This may help fix projects broken by the last breaking change which depend on object counts in subevents, but unfortunately may again break projects which already adapted to the new behavior. Sorry - in the long run it's for the best that we make these changes.
  • Change
  • We are experimentally enabling WebGL support on mobile devices. WebGL currently only works in Firefox for Android and the Blackberry Playbook browser. However, performance can be better than canvas 2D, and it allows for effects on mobile as well.
  • Change
  • WebGL renderer: now properly handles, and recovers from, 'lost context' events. These typically happen rarely on desktops, but can happen on mobile devices if they power down while a game is showing. This should fix issues where powering up showed a game as a blank screen or reloaded the page.
  • Change
  • Touch object: now defaults 'Use mouse input' to 'Yes' when adding to a layout
  • Change
  • Touch object: deprecated 'Device orientation supported' and 'Device motion supported' conditions (they will no longer appear in the event dialog, but existing projects can keep using them). These did not actually usefully indicate whether these features were truly supported.
  • Change
  • Touch object: 'On touch start' and 'On touch end' renamed to 'On any touch start' and 'On any touch end' to clarify their purpose compared to the new 'On Nth touch start' and 'On Nth touch end' conditions
  • Change
  • Touch object: now supports accelerometer and orientation input in directCanvas
  • Change
  • Reduced the compression used on the Awesomium DLLs. This should help improve startup times for Awesomium exported apps.
  • Bug Fix
  • Possible javascript error destroying objects in behavior triggers like 'On fade ended'
  • Bug Fix
  • Possible javascript error spawning or creating objects after a 'Wait' action
  • Bug Fix
  • Triggers in subevents did not properly pick instances from conditions in parent events
  • Bug Fix
  • Sprite: 'Set scale' would undo mirroring or flipping
  • Bug Fix
  • Event sheet: crash cancelling a new comment then pressing 'down'
  • Bug Fix
  • Physics behavior: 'set velocity' could conflict with 'set position' and be overridden; should now work better
  • Bug Fix
  • Anchor behavior: should now work more reliably in crop mode and with different origin positions
  • Bug Fix
  • Platform behavior: should now be more reliable with landing on vertically moving jump-thru platforms.
  • Bug Fix
  • Possible crash dragging items between projects in the Project Bar (this is still not yet supported and will simply do nothing, but is on the todo list to add)
  • Bug Fix
  • Crash cloning an object type which had inherited behaviors from a family. This also resolves some issues copying and pasting objects between projects.
  • Bug Fix
  • Issue with Windows 8 store complaining about the UTF-8 encoding of jQuery-1.7.1.min.js. The file now includes the BOM as required.
  • Bug Fix
  • Picture editor: could not type negative numbers in to origin/image point X and Y fields.
  • Performance
  • Some minor garbage collection optimisations
  • SDK
  • To support the new lost context handling in the WebGL renderer, third party plugins that use textures need to modify their code. Please send me an email for more information on how to handle this.

New in Construct 2 R103.2 (Sep 17, 2012)

  • Add
  • Windows 8 object: 'Set live tile text' action
  • Add
  • Gamepad object: a new Gamepad manual entry, also linked to from the object's 'Help' button
  • Add
  • User Media object: a new User Media manual entry, also linked to from the object's 'Help' button
  • Add
  • Project Bar: lots of help links added to item and folder context menus, aimed at helping beginners find information in the manual.
  • Add
  • Added some missing context menu links to the Effects dialog (family or object context menus in project/object bars)
  • Add
  • Picture editor: control+crop now crops without leaving a 1px transparent border. Note the border is recommended for most uses since it improves the quality of rotated sprites.
  • Change
  • Changed some of the closing code to try to work around further issues when closing Construct 2. It seems stable for me now, but there may be occasional crashes when closing Construct 2. This should not affect saved projects so your work is still safe even if it crashes on exit, but it may be difficult to fully fix until a reliable way to reproduce the problem can be worked out.
  • Change
  • Picture editor: 'resize canvas' now defaults to 'stretch' since it better handles the origin for new (empty) images
  • Bug Fix
  • Error exporting to Awesomium with project set to use fullscreen
  • Bug Fix
  • Separate triggers, and events in groups, are now treated as 'top level' when picking newly created objects.
  • Bug Fix
  • Drag & drop behavior accidentally blocked mouse events on Windows 8
  • Bug Fix
  • Possible crash loading files from root directories like C: \file.capx
  • Bug Fix
  • Possible Sprite object disappearing in editor if setting origin far outside image area
  • Bug Fix
  • Sprite: all instances accidentally shared the same effect parameters. Now, effect parameters can be set for individual instances.
  • Bug Fix
  • Disabling an effect in 'On create' could cause a javascript error
  • Bug Fix
  • Gamepad object: didn't work in Chrome 22+ (Chrome 21 is current version where it should still have worked)
  • SDK
  • Objects destroyed in onDestroy should now also be destroyed

New in Construct 2 R103 (Sep 12, 2012)

  • Add
  • Windows 8 object: 'Set live tile text' action
  • Add
  • Gamepad object: a new Gamepad manual entry, also linked to from the object's 'Help' button
  • Add
  • User Media object: a new User Media manual entry, also linked to from the object's 'Help' button
  • Add
  • Project Bar: lots of help links added to item and folder context menus, aimed at helping beginners find information in the manual.
  • Add
  • Added some missing context menu links to the Effects dialog (family or object context menus in project/object bars)
  • Add
  • Picture editor: control+crop now crops without leaving a 1px transparent border. Note the border is recommended for most uses since it improves the quality of rotated sprites.
  • Change
  • Changed some of the closing code to try to work around further issues when closing Construct 2. It seems stable for me now, but there may be occasional crashes when closing Construct 2. This should not affect saved projects so your work is still safe even if it crashes on exit, but it may be difficult to fully fix until a reliable way to reproduce the problem can be worked out.
  • Change
  • Picture editor: 'resize canvas' now defaults to 'stretch' since it better handles the origin for new (empty) images
  • Bug Fix
  • Error exporting to Awesomium with project set to use fullscreen
  • Bug Fix
  • Separate triggers, and events in groups, are now treated as 'top level' when picking newly created objects.
  • Bug Fix
  • Drag & drop behavior accidentally blocked mouse events on Windows 8
  • Bug Fix
  • Possible crash loading files from root directories like C: \file.capx
  • Bug Fix
  • Possible Sprite object disappearing in editor if setting origin far outside image area
  • Bug Fix
  • Sprite: all instances accidentally shared the same effect parameters. Now, effect parameters can be set for individual instances.
  • Bug Fix
  • Disabling an effect in 'On create' could cause a javascript error
  • Bug Fix
  • Gamepad object: didn't work in Chrome 22+ (Chrome 21 is current version where it should still have worked)
  • SDK
  • Objects destroyed in onDestroy should now also be destroyed

New in Construct 2 R102 (Sep 7, 2012)

  • Add
  • New Windows 8 plugin, to access Windows 8 app specific features like snap and sharing.
  • Add
  • New icon for instance variables to help them stand out in the event wizard
  • Add
  • Touch object, Drag & drop behavior: now supports 'MS Pointer Events', which means it now correctly detects touch input on Windows 8 touchscreen devices.
  • Add
  • Touch object: new expressions to make it easier to handle multitouch input: TouchCount, XAt, YAt, AbsoluteXAt, AbsoluteYAt (to get Nth touch positions)
  • Add
  • Touch object: new expressions to make it easier to detect swipes and the angle of motion of touches (expressions SpeedAt, AngleAt, and condition 'Compare touch speed'). Watch out since some devices seem a little erratic in reporting touch speeds, I'm not sure if this can be fixed or if the device is just not accurate enough in this case.
  • Add
  • Scirra Arcade: now supports switching in to fullscreen mode using the Browser object's 'Request fullscreen' action. This allows you to make Arcade games that can take up the entire monitor, but remember you must create a key or button the user must press since the action only works in a user-inputted event, and it is only supported in Firefox and Chrome.
  • Add
  • New system expressions CanvasToLayerX, CanvasToLayerY, LayerToCanvasX, LayerToCanvasY. Translate co-ordinates between layer and screen (canvas) co-ordinates.
  • Add
  • CocoonJS: now properly supports suspending and resuming so game pauses, stops playing audio, and stops consuming CPU when going in to the background.
  • Add
  • Browser object: 'on resized' trigger
  • Add
  • New 'Color' parameter to the Noise shader, allowing for monochrome noise
  • Change
  • Breaking change: This was actually introduced in an earlier release, but was not changelogged: the way spawned or created objects are picked in subevents has changed. Newly created instances are picked in their own event, but not picked in subsequent "sibling" subevents until the end of the next top-level event. This was done for stability reasons. Post to the forum if you need more information / workarounds.
  • Change
  • AJAX object: rewritten to not use jQuery. In theory that should mean it can now work in CocoonJS and directCanvas, but none of my tests worked with either. I'll be continuing to work on this but watch out for any changes in functionality in the mean time.
  • Change
  • Removed 'experimental' tag from the Windows 8 export option, since it now works with Windows 8 RTM and has decent platform support via the new Windows 8 object. Please note exporting to Windows 8 now requires RTM, so will no longer work on the Release Preview or earlier.
  • Change
  • Moved several platform-specific plugins to a separate 'platform specific' category.
  • Bug Fix
  • Export to Chrome Web Store: would get a blank screen if exporting a fullscreen app
  • Bug Fix
  • WebGL shader effects: the blending shaders did not always correctly take in to account the background alpha, which made them sometimes look incorrect on layers with 'Force own texture' set to 'Yes'. They should now always work correctly.
  • Bug Fix
  • mage editor: possible problems pressing both mouse buttons with the line, pencil or rectangle tools
  • Bug Fix
  • System 'Set layer effect enabled' action did not display properly in the event sheet
  • Bug Fix
  • Stacking multiple shaders involving blend shaders could display incorrectly
  • Bug Fix
  • The help link in layer properties did not work
  • Bug Fix
  • Text object: 'set text color' did not always work in the WebGL renderer
  • Bug Fix
  • Exporting to appMobi: the audio object's preload actions crashed when using directCanvas, should now work correctly
  • Bug Fix
  • The editor now ensures you cannot give effects, behaviors or instance variables in the same object the same name. Previously it was possible to cause name collisions with effects.
  • Bug Fix
  • Text: setting a webfont every tick caused a big performance drop in Firefox. It now runs fast, but still avoid setting things like this every tick if you can.

New in Construct 2 R101 (Aug 30, 2012)

  • Add
  • 'Replace color' shader with tolerance setting. Allows for tinting parts of an image based on a color key.
  • Add
  • 'Sharpen' shader
  • Add
  • 'Emboss' shader
  • Add
  • 'Pulse' shader
  • Add
  • A batch of new WebGL shader examples in the Examples folder
  • Add
  • Browser object: the 'Close' action now also closes the application in the Awesomium exporter
  • Change
  • Removed 'Experimental' tag from CocoonJS exporter, since it should be working well for most games.
  • Change
  • Origins can now be placed outside the image area. Please watch out for any bugs which only happen with origins outside the image editor - I'm not sure if there will be unexpected problems, but it was requested by a number of people.
  • Change
  • Text object: adjustments made to try and improve rendering quality in the WebGL renderer. This might also help work around driver bugs that made text look bad quality with WebGL enabled in r100.
  • Bug Fix
  • Another problem where it was possible for some images to go missing when using 'Save As'
  • Bug Fix
  • Deleted project files were not always removed when using 'Save As', making saved projects have a larger filesize than necessary
  • Bug Fix
  • Another problem with submitting Chrome Web Store apps has been fixed. The Chrome Web Store exporter is now compliant with the new tighter security requirements.
  • Bug Fix
  • Animation editor: possible crash when duplicating or deleting frames
  • Bug Fix
  • Animation editor: the frames pane no longer goes behind the image editor window when duplicating or deleting frames
  • Bug Fix
  • Awesomium: 'On mouse wheel' up and down directions were inverted
  • Bug Fix
  • Awesomium: The Browser object's 'Cancel fullscreen' action did not work
  • Bug Fix
  • Awesomium: projects where nothing was moving (e.g. a static title screen) could launch with a blank screen and not show until something changed. Now it should start up properly in this case.
  • Bug Fix
  • Awesomium: WebStorage did not save state between launches. It should now work correctly. Note the WebStorage data is saved separately for each Windows user account.
  • Bug Fix
  • Awesomium: Mouse object's 'Set cursor' should now be working. (Setting a cursor from a sprite is still not supported though)
  • Bug Fix
  • Awesomium: could not type in to Text Box objects
  • Bug Fix
  • The presence of the Browser object in a project would break appMobi directCanvas export
  • Bug Fix
  • Possible issue with fullscreen scaling options stretching badly
  • Bug Fix
  • Project bar: sound, music and file icons could display wrong after closing and reopening a project
  • Bug Fix
  • Importing GIF animations only imported one frame in r100; now should be importing all frames again.
  • Bug Fix
  • Possible crash editing properties of objects when multiple instances selected.
  • Bug Fix
  • Image editor: drawing a single pixel with the Pencil tool did not always save changes
  • Bug Fix
  • Image editor: pressing both mouse buttons at once with the erase tool could make the entire image disappear
  • Bug Fix
  • A double negative in an expression would crash the editor (e.g. --50), now reports a syntax error.
  • Bug Fix
  • Possible crash using unicode expressions and inserting an expression from the Expressions panel
  • Bug Fix
  • Objects using blending shaders would not appear correctly when on rotated layers
  • Bug Fix
  • The Water shader should no longer wrap at the edges

New in Construct 2 R100 (Aug 28, 2012)

  • Feature
  • WebGL shader effects which can be applied to objects, layers and layouts. Multiple effects can be stacked up. Families can have effects, which like instance variables and behaviors are inherited by all the objects in the family. Effects also display in the editor if WebGL is enabled in project properties, otherwise it displays as it would appear with the canvas 2D renderer. The free edition only allows two effects per project. Custom effects can be written in GLSL - see the new Effects folder in the install directory for examples.
  • Feature
  • Export Windows EXEs with Awesomium. Other platforms coming soon. Awesomium is based on a standalone version of the Chromium browser engine, allowing your HTML5 game to run similar to how it would in Chrome but as a desktop app. It also forces WebGL always on, so WebGL shader effects will always display when exported this way. There is a known performance issue which can cause the game to run slower than it does in Chrome, especially in fullscreen, and this is being investigated.
  • Add
  • Sprite, Tiled Background, Particles: the 'Effect' property has been renamed to 'Blend mode' since it is a more accurate description of what it is and helps prevent it being confused with the new effects system. It now also appears under the Effects header rather than in the object's properties. If multiple effects are used, the blend mode applies only to the last effect. There is also a new 'Effect fallback' property which appears when effects are used. This lets you specify what to do if WebGL is not supported (such as change the blend mode or destroy the object).
  • Add
  • Layers now also have a blend mode and effect fallback, like objects do. The blend mode is also used in the canvas 2D renderer, making it useful for simple layer effects where WebGL is not supported.
  • Add
  • Layer and object blend modes can now be shown in the editor
  • Add
  • System condition: 'Effects supported'. True if the shader effects are able to run (basically if WebGL is supported).
  • Change
  • Dropped 'experimental' label from AppMobi and directCanvas exporters. directCanvas should now be working for most games including tiled background and text support, except for the features listed in how to export to appMobi with directCanvas under directCanvas compatibility. Note you must have the latest version of the applab app (3.4.4+) installed for directCanvas to be working properly - be sure to check for updates on your iOS devices.
  • Change
  • Dropped 'beta' labels from Gamepad and User Media objects. These now work by default in Chrome 21+ (current stable release) without having to adjust any settings. Support should be following soon in Firefox and possibly Opera. (Not sure about Safari or IE.)
  • Change
  • Text object: no longer renders text on top of everything in the WebGL renderer, so sprites and other content can be drawn on top of text. This also means blend modes and effects can also now be applied to text objects. (The 'overlay canvas' is now also destroyed after the game starts, which should make it easier to align games when using custom CSS in a HTML page.)
  • Change
  • Behaviors dialog: now uses larger icons
  • Change
  • Platform behavior: changed moving platform detector to better handle vertically moving platforms. Please watch out in case existing projects work differently due to this change.
  • Change
  • Properties Bar: 'Add / edit' link texts swapped for 'Instance variables', 'Behaviors' and 'Effects' to make it clearer what you're clicking on
  • Change
  • Bullet behavior: the breaking change with setting angle on startup in r99 was breaking a lot of projects, making bullets fly off to the right. To improve backwards compatibility with existing projects, Bullet behavior's 'Set Angle' property is now overridden and set to 'Yes' if opening a project saved in r98 or older. If you don't want the bullet behavior to set its angle automatically, you will have to change it back to 'No' and save the project.
  • Change
  • Layout view: now uses the same sampling mode set in project properties, but you must close and reopen the project for any changes to take effect in the layout view.
  • Change
  • Export to Chrome Web Store: updated manifest to version 2. This should allow packaged apps to be submitted again.
  • Change
  • Cloning an object type now also copies instance properties (e.g. font face, size and color for text)
  • Bug Fix
  • Some crashes while exiting Construct 2 may now be fixed due to changes in C2's shutdown code.
  • Bug Fix
  • Image editor: rectangle select sometimes could not properly select the whole image
  • Bug Fix
  • Image editor: was difficult to delete collision poly points because of an issue with focus
  • Bug Fix
  • Sprite: in some cases it was possible for animation frames to be overwritten when using 'Save As'
  • Bug Fix
  • Sprite: possible crash clicking 'Edit' link to edit animations in the properties bar.
  • Bug Fix
  • Sprite: another possible problem with object picking using 'Is overlapping' in an OR block
  • Bug Fix
  • After exporting, the 'Open destination folder' option did not work for CocoonJS or the Scirra Arcade
  • Bug Fix
  • Wrap behavior: may not have worked properly if origin not in center
  • Bug Fix
  • Layout view: crash if undoing while placing a new object instance
  • Bug Fix
  • Layout view: right-click and 'Move to layer' did not always work the first time
  • Bug Fix
  • In rare cases guessing a collision poly could end up with 2 points which caused various errors. In this case the poly will be set to bounding box instead.
  • Bug Fix
  • Family behavior expressions did not always work as expected (eg. using Sprite.Physics.Density where Physics is a behavior inherited from a family and Sprite is an object in the family).
  • Bug Fix
  • Cut, copy, paste, undo & redo should now work properly when editing labels in bars (except the Properties bar which is more difficult to get working - will try to fix in next releases)
  • Bug Fix
  • Image editor: could not draw or erase the first row or column of pixels with a 1x1 brush
  • Bug Fix
  • Image editor: drawing with a smooth line could cause the first row and column of pixels in the image to become transparent
  • Bug Fix
  • Sprite: 'Load image from URL' could accidentally make the image blurry when WebGL was enabled
  • Bug Fix
  • Properties bar: pressing preview while editing a property did not save the property value before previewing
  • Bug Fix
  • Animations pane: adding an animation subfolder did not work the same as adding a top level folder
  • Bug Fix
  • Sprite's 'Spawn an object' spawning the same kind of object could crash the runtime. To work around this, in this case the spawned object is no longer picked if the same type. (Behavior is unaffected if spawning a different kind of object.)
  • Bug Fix
  • Spawning an object in an OR block with two triggers could cause a javascript error
  • Bug Fix
  • Typing the expression Mouse.-X could crash the editor. It now reports a syntax error.
  • Bug Fix
  • Using family behaviors it was possible to end up with two behaviors with the same name in an object, which caused problems. The editor now prevents you from adding objects to families when this would happen.
  • Bug Fix
  • The layout's snap settings in the ribbon should now properly update when switching layouts.
  • Bug Fix
  • Project Bar: could keep scrolling after dragging an item.
  • Bug Fix
  • Passing numbers to system expressions where strings are expected (e.g. tokenat()) should no longer cause javascript errors
  • Bug Fix
  • Global objects in a family sometimes would not be able to be destroyed
  • Performance
  • Particles object: optimised to render more efficiently in the WebGL renderer. (Canvas 2D renderer performance is unaffected.) Can now be up to twice as fast, although usually the benefits will be smaller. Please watch out for any visual differences though.
  • SDK
  • The 'Effect' property of all official plugins has been replaced by the new built-in 'Blend mode' property. Any third party plugins using a similar 'Effect' property should remove it and any code that changes the composite mode/blend mode in the runtime, since this is now done automatically. C2 will automatically convert the 'Effect' property from old projects to the new build in one. Post in the Javascript SDK forum for more information.

New in Construct 2 R99 (Jul 13, 2012)

  • Add
  • Image editor: new brush drawing tool
  • Add
  • Image editor: new erasor tool (works the same as brush with transparent selected)
  • Add
  • Image editor: new line drawing tool
  • Add
  • Image editor: 'Tolerance' option for the flood fill tool
  • Add
  • Image editor: fields to type in the co-ordinates for both image points and collision poly points
  • Add
  • Image editor: new color picker tool (note: a shortcut for this is just to hold control and click a color with another tool)
  • Add
  • Families now have an overlay placed over their icon to help identify them as families
  • Add
  • Added a link to our YouTube channel to the start page
  • Add
  • Links to the Scirra Store in the editor
  • Change
  • The 'Preview mode' project property has finally been removed, along with the 'File' preview mode. All projects will now always use HTTP preview mode. This has been done because 'File' mode was almost completely useless - due to browser security limitations in 'File' mode, even the most trivial games would not work.
  • Change
  • Breaking change: the Bullet behavior no longer sets its angle of motion to the object angle on the first tick, if 'Set Angle' is 'No'. (If 'Set Angle' is 'Yes', this still happens.) Workaround if your game changes: add 'set angle of motion' actions, or change 'Set Angle' to 'Yes'.
  • Change
  • Image editor: new origin and imagepoint icons
  • Change
  • Export to CocoonJS: now exports a zip of all files, saving you having to manually zip them yourself
  • Change
  • The Text and Tiled Background objects have been enabled for directCanvas. They may not work in app-lab's 'test anywhere'/'test over wifi' until appMobi update it with support, but should work on iOS when building an app. A number of directCanvas bugs have also been fixed by appMobi (similarly also won't be in applab until next update).
  • Change
  • The preview server may have been responsible for hanging or crashing when exiting Construct 2. Changes have been made to the shutdown process to make it more reliable, and this should fix some issues with closing Construct 2.
  • Change
  • Start page: simpler wording used for many of the links
  • Change
  • CocoonJS & directCanvas: the presence of the AJAX and Facebook plugins should no longer break the whole game. For now these plugins are disabled on these platforms until workarounds can be implemented.
  • Change
  • CocoonJS & directCanvas: the letterbox fullscreen modes have been disabled on these platforms because they are not supported - it will fall back to the ordinary Scale mode instead, until support can be implemented.
  • Change
  • CocoonJS: will log to the debug console whenever unsupported features are used. This includes using Text Box or Button controls, trying to set web fonts, using WebStorage session storage, and requesting or exiting fullscreen. Hopefully this will make it easier to find which parts of your project are not supported. (Enable debug mode and press the FPS counter to open the debug console.)
  • Change
  • Improved error message if you have duplicate plugin or behavior IDs
  • Bug Fix
  • Could not type in to the properties bar while image editor was open (made it impossible to change animation speed)
  • Bug Fix
  • Exporting to directCanvas was broken in r98
  • Bug Fix
  • Physics: the 'Apply torque to position' action broke when minifying the project on export
  • Bug Fix
  • Physics: some very large objects with detailed collision polygons may not have collided properly
  • Bug Fix
  • Image points dialog: could not type 'I' in to name of image point in r98
  • Bug Fix
  • Firefox and Chrome should no longer prompt mysterious "Script error" alerts when previewing.
  • Bug Fix
  • Facebook plugin: could cause a javascript error if request for hi-scores failed (e.g. because not logged in)
  • Bug Fix
  • Sprite: fixed another possible error in 'Is overlapping' in OR blocks
  • Bug Fix
  • Duplicating a layout no longer duplicates the invisible instances of Array, Dictionary etc.

New in Construct 2 R98 (Jul 7, 2012)

  • Feature
  • Experimental CocoonJS Ads plugin. Display banner ads or fullscreen ads during the game to help earn some money from your game.
  • Add
  • Image editor: new rectangle select tool - helps with simple cropping and adjustments
  • Add
  • Image editor: clipboard support - cut and paste images in to and out of other programs.
  • Add
  • AppMobi object: action to hide device status bar (for true fullscreen)
  • Add
  • Text object: new 'line height' property. Adjust the spacing between lines for your text objects.
  • Add
  • Image editor: collision poly points can now be nudged with arrow keys (like image points can)
  • Add
  • Image editor: shortcut key 'I' to add new image point when image points tool selected
  • Add
  • Image editor: options to apply origin, image points and collision poly to all animations in the object
  • Add
  • Button: 'Auto font size' property, same as Text Box's. Also changed both to default 'Auto font size' to 'Yes' instead of 'No'.
  • Add
  • Image editor: now warns with a balloon tip when using a tiled image which isn't power-of-two size (e.g. 32x32, 64x64, 128x128...) Usually power-of-two sizes can be drawn seamlessly even when using opacity, zoom, rotation and floating point positioning. On the other hand non-power-of-two sizes can appear with seams, or in the WebGL renderer they can appear blurry. (This only helps Tiled Background objects - when using Sprites, the size of the image does not matter.)
  • Add
  • Event sheet: 'Enter' key can now edit selected event variables
  • Change
  • New image editor tool icons
  • Change
  • Using Safari for Windows without Quicktime installed used to crash on an 'Audio is undefined' javascript error. Now instead the following message will appear, and the game will continue to run without audio: "It looks like you're using Safari for Windows without Quicktime. Audio cannot be played until Quicktime is installed."
  • Change
  • The image editor warning for large images has been increased from 1024 to 2048, since even all major mobile devices can handle 2048x2048 sized textures. However larger than that is definitely not supported by all devices, so you should certainly heed this warning if you see it.
  • Change
  • In some cases, in an OR block there would technically be no instances picked, so object expressions would return 0. This seemed to have some unexpected side-effects though, and prevent some events which look like they should work from working. So now in OR blocks if no instances are picked but instances exist, an arbitrary (first) instance is used to get the expression from.
  • Change
  • Image editor: shortcut to pick a color changed from shift+click to control+click
  • Change
  • Overlay canvas (for WebGL text rendering) is positioned with different code now, which should make it work better with some kinds of CSS if modifying the exported page.
  • Change
  • Facebook plugin: Facebook have started issuing user IDs as 15-digit numbers (in the trillions, up from a previous 9-digit number). This caused problems for the UserID expression which returned an int and ended up truncating the number. The UserID expression now returns a float, which can just about fit the number within its integer precision range.
  • Bug Fix
  • Adding a non-layout instance (e.g. Array, Dictionary) when an event sheet tab is open now correctly inserts an invisible instance rather than making a useless object with no properties.
  • Bug Fix
  • Image editor: possible check failures trying to draw outside image area
  • Bug Fix
  • Image editor: cropping an entire animation could occasionally make objects "wobble" by a pixel throughout the animation. This should no longer occur and it should stay smooth.
  • Bug Fix
  • Construct 2 should no longer lock image files after importing them or using them in the editor. (Previously importing an external image file could make the external file uneditable until you closed Construct 2 or at least the image editor.)
  • Bug Fix
  • Possible javascript error minifying projects using the Physics behavior
  • Bug Fix
  • Possible javascript error in Sprite's 'Load image from URL' action.
  • Bug Fix
  • Image editor: 'Duplicate animation' may not have worked correctly in some cases.
  • Bug Fix
  • Shortcut to add a comment (Q) now works when event variable or another comment is selected
  • Bug Fix
  • Form controls (Text box, Button) no longer jitter when using a fullscreen mode
  • Bug Fix
  • Sprite: 'Is overlapping' conditions did not always work properly in an OR block
  • Bug Fix
  • Import Audio dialog: would sometimes incorrectly rename .m4a or .ogg files with the same name if imported separately rather than all at once.

New in Construct 2 R97 (Jun 30, 2012)

  • Feature
  • Image editor tools: pencil, fill and rectangle (more coming soon). New color picker dialog with support for primary and secondary colors, alpha channels, RGB/HSL, and drawing with transparent to erase. Full undo support (including for options like Mirror and Rotate which weren't undoable before), although closing the image editor removes all drawing undo points and replaces them with a single 'edit image' undo point. (The tool icons are also temporary and will be replaced soon!)
  • Add
  • Image editor: status bar, with information like zoom level, mouse position, image size, image format and the point positions for collision polygons and origin/image points.
  • Add
  • Image editor: now allows multiple selection of collision poly points (hold control or shift while selecting), a new 'Select all' option, and dragging multiple points at once.
  • Add
  • Text box: new 'Auto font size' property, which defaults to 'Off'. This stops Construct 2 overriding the font-size property according to the layer scale, so you can properly set your own font size.
  • Change
  • Invisible object types (Array, Dictionary, XML etc.) previously only were available on the layout they were inserted to. Now they default with their 'Global' property set to 'Yes', which makes them available on any layout. In addition to that, if the layout they are inserted to is deleted, Construct 2 now moves their invisible instances to the first layout. This prevents you from getting useless objects with no instances after deleting the layout the object was added to. Hopefully this will prevent future confusion with these objects.
  • Change
  • Lots of users still did not check for browser errors and this could cause difficulties in bug reports. In order to make this easier, whenever there's a javascript error, it is reported by a message box without you having to open the browser console. This makes it impossible to miss javascript errors, and hopefully should make diagnosing problems easier. (This is only done in preview - errors in exported projects are still reported quietly in the console.)
  • Change
  • The way changing layout is handled is now done slightly differently: it still takes a tick to change the layout if going to a new layout, but if two 'go to layout' or 'restart layout' actions were issued in the same tick, it used to go to the second layout (because the second action would override the first). Now instead it goes to the first one (because the second action in the same tick does not override it).
  • Change
  • AJAX object: now automatically converts Windows-style line breaks (\r\n) to Linux style (\n). This shouldn't break anything, unless you somehow depended on the Windows format.
  • Change
  • Breaking change: Layer zoom rates no longer affect the scaling caused by a fullscreen mode. This means if you used a HUD on a layer with the zoom rate set to 0 and letterbox scale mode set, the HUD will now scale, whereas previously it would have remained 1:1. This may break some existing projects which relied on the old behavior, but the new behavior is probably more useful.
  • Bug Fix
  • Event includes did not work (sorry - caused by overzealous refactoring for the performance improvement last build)
  • Bug Fix
  • The 'Set height' action caused a javascript error (more overzealous refactoring)
  • Bug Fix
  • Exported projects did not work if not minified.
  • Bug Fix
  • Layout view: Ctrl+E shortcut (go to event sheet) would crash if the layout had no associated event sheet
  • Bug Fix
  • Renaming project files could break the project
  • Bug Fix
  • Image editor: 'sticky buttons' problem should no longer happen when switching tool
  • Bug Fix
  • Custom movement: 'Reverse' action could cause check failures in beta releases
  • Bug Fix
  • Layout view: correct mouse cursor used when resizing rotated objects
  • Bug Fix
  • Sin behavior: now takes in to account sprite changing to different sized frames

New in Construct 2 R96 (Jun 26, 2012)

  • Add
  • Can now import scenes, layers and actors from GameSalad projects (.gameproj and .gsproj, from the Mac and Windows creators respectively). For more information see the tutorial Importing GameSalad scenes and actors.
  • Add
  • AJAX: long overdue support for POST requests with data
  • Add
  • System expressions URLEncode and URLDecode (useful for AJAX requests)
  • Add
  • Mouse: new action 'Set cursor from sprite'. Set a custom cursor image from a Sprite object. Only works in Firefox and Chrome, may not work on other OSs either (e.g. Mac). Also has some limits on image size or it won't work. Prefer this instead of positioning a sprite at Mouse.X and Mouse.Y, because there is much less lag on the mouse movements this way.
  • Add
  • System action: 'Set canvas size'. Only really useful for non-fullscreen games since the runtime effectively does 'Set canvas size' each time the window is resized for fullscreen games.
  • Add
  • Keyboard shortcuts for 'up a folder' in the event wizard: 'U' or 'Page up'
  • Add
  • Physics: added condition 'Is sleeping'
  • Change
  • Breaking change: the Platform behavior has always only worked to the nearest pixel, but now handles the way it rounds its movement differently. This fixes some issues on slopes where the player would not accelerate properly or move at different speeds in certain directions. However, it may alter the pixel-perfectness of the movement. Let me know if you notice any important differences in platform movements.
  • Change
  • Dictionary: help link now opens its manual entry
  • Bug Fix
  • Removing objects from families could cause the project to become unopenable
  • Bug Fix
  • Sprites with 1x1 images did not export correctly with the new spritesheeting feature
  • Bug Fix
  • File sizes were not always correctly identified on export. The loading progress bar should now be more accurate.
  • Bug Fix
  • AJAX object broke games on iOS and CocoonJS because of a missing feature in their javascript engines. It's now worked around.
  • Bug Fix
  • Better support for object with negative sizes (via properties bar and 'set size' action)
  • Bug Fix
  • When previewing, in rare cases it was possible for the browser to fail to display the game, and you had to press refresh to make it work. A change has been made to try to prevent this from happening.
  • Bug Fix
  • XML plugin: the NodeCount expression was incorrectly marked as returning a string, now returns a number
  • Performance
  • The runtime has been refactored to compress better under Closure Compiler (the 'minify' option on export). An empty project's javascript minified and zipped now has an overhead of just 19kb. Also, the javascript code for actions, conditions and expressions not actually used in the project are now removed by Closure Compiler when exporting. This helps reduce the download size and improve startup time on mobile (since there is less javascript to parse).

New in Construct 2 R95 (Jun 15, 2012)

  • minor changes

New in Construct 2 R94 (Jun 13, 2012)

  • Webcam access, canvas snapshots, lots of plugin & behavior additions.

New in Construct 2 R93 (Jun 7, 2012)

  • Feature:
  • Loader layouts: can now set the first layout to be a 'Loader layout'. This means when the project is loading it will load that layout first and display it as soon as possible. While the rest of the project is loading you can use the 'loadingprogress' system expression to make your own customised loading screens. Use as little artwork as possible on the loader layout to ensure it loads quickly itself.
  • Add:
  • 'Loader style' project property. Choose the default loader style: progress bar & logo (the default), progress bar only, percentage text (just some text reading e.g. "50%"), or nothing (not recommended since more loading feedback is better). Note this is still shown when loading the loader layout if it is taking a while to load (it goes: default loader -> loader layout -> game), so choosing an alternative like 'percentage text' might be wise even if you use a loader layout.
  • Add:
  • Sprite, Tiled Background: 'Load image from URL' action (also triggers 'On image URL loaded' when complete). Note as per AJAX requests if a URL on a different domain is used, that server must have Cross-Origin Resource Sharing (CORS) set up to allow the request, otherwise it won't work. (Note: you can achieve limited per-layout image loading by importing images as project files and using these actions to load them at runtime.) Note CORS needs IE10+, Opera 12+ (although you can still load same-domain images on IE9 and Opera 11); supported everywhere else.
  • Add:
  • AJAX: support for progress events ('On progress' trigger, 'Progress' expression). Allows for making progress bars for long-running AJAX requests. Especially useful if AJAX requesting a large project file. Needs IE10+, Opera 12+, Android 3+; supported everywhere else.
  • Add:
  • Installer: checkbox on finish page to check for a graphics driver update to try and pre-emptively solve driver problems
  • Add:
  • Installer; checkboxes on finish page to get Google Chrome or Mozilla Firefox, since we recommend using one of these browsers with Construct 2.
  • Bug Fix:
  • Touch input was misaligned in iOS retina mode
  • Bug Fix:
  • Construct 2 can now save projects to network paths (provided it has write access)
  • Bug Fix:
  • Duplicating layouts did not number them consecutively
  • Bug Fix:
  • Sprite: 'Is overlapping' conditions did not always check all combinations of pairs of instances.
  • Bug Fix:
  • Text: sometimes showed large numbers inaccurately
  • Bug Fix:
  • Could name an object with unprintable characters which caused problems

New in Construct 2 R92 Beta (May 29, 2012)

  • Feature: Project Bar: new 'Files' folder. Allows for importing any files to the project. Useful to store any data files (e.g. .xml, .json, .txt...) or any other purpose where external files are useful, e.g. embedding video files, binaries, documents, etc.
  • Feature: Spritesheeting in to 512x512 tiles on export. Helps reduce download size, especially with 256-color/PNG-8 images. Each tile only contains one Sprite's animations (different objects will not be mixed on one tile). Breaking change: this may break third party plugins that alter Sprite's images. Any affected developers please post to the SDK forum and I'll help you make the necessary changes.
  • Add: AJAX: 'Request project file'. Allows loading of project files through AJAX. Useful to then load the result in to the Array, Dictionary or XML plugins, which could be handy for making level editors and such.
  • Add: Support for iOS Retina displays. Allows for hi-res artwork and crisper text on hi-res devices like the iPhone 4S and iPad 3. Can be disabled in project properties ("Use iOS retina display") if you prefer to leave it low-res and upscale, which is lower quality but can improve performance. Enabled by default.
  • Add: At long last, browsers are beginning to add support for point sampling in canvas 2D. This means in future it should no longer be necessary to use WebGL just to get point sampling for retro games. Browser support is in Chrome 21+, not sure about other browsers yet, but it's at least 3 months until support reaches stable browser releases.
  • Add: System expression 'CPUUtilisation'. Percentage of the last second spent in the application logic. Note this is an approximation only, except for browsers with support for high-resolution timers (Firefox 15+, Chrome 21+). The rest of the time will be either idling or waiting for the GPU to finish rendering - you can't tell.
  • Add: System expressions ViewportLeft, ViewportTop, ViewportRight, ViewportBottom. Get the viewport position for a particular layer.
  • Add: Support for high-resolution timers in Chrome 21+. (Was already supported in Firefox 15+)
  • Add: Project bar: 'family behaviors' added to right-click menu for families
  • Change: Dictionary: removed unused property accidentally left in
  • Change: Estimated project size now takes in to account the image format set in the image editor, but only very crudely: PNG-8 is assumed to be half the size and JPEG assumed to be a quarter the size. Remember the only real way to tell is to export your project.
  • Bug Fix: Crash adding an object type to a family with family behaviors
  • Bug Fix: The new letterbox fullscreen options in r91 were accidentally left out of the 32-bit version of Construct 2
  • Bug Fix: Some broken-when-minifying bugs should now be fixed
  • Bug Fix: Possible crash in the Physics behavior
  • Bug Fix: XML: can now return text longer than 4096 characters on Firefox
  • Bug Fix: WebKit based browsers (Chrome, Safari): fix for some browser bugs - Chrome sometimes made pixelly games look blurry, and Safari sometimes went blank when changing orientation. A hack as been added to work around this.
  • Performance: Performance improvement for some mobile browsers after exporting. It may be worth re-testing your games on mobile if you have already since the framerate may now be measurably higher in places, depending on the system. Note the optimisation is only applied on export - if you use Preview-on-LAN feature it won't be any faster.
  • SDK: The preview server now serves up files from the new project 'Files' folder. This could be useful for third party plugins that need to use other files. However, only a fixed list of MIME types are supported; if you need the preview server to support a new MIME type, let me know and I can add it.
  • SDK: New project file parameter type (AddFileParam). Dropdown list to select a file from the project's 'Files' folder. Returns a string of the filename, which is exported to the same folder as index.html (so can be used as a relative URL). Used by AJAX.

New in Construct 2 R91 Beta (May 19, 2012)

  • Feature: Family behaviors. As with family instance variables, these are behaviors you can add to the family itself, then all objects in the family inherit that behavior.
  • Feature: New fullscreen modes: "Letterbox scale" and "Letterbox integer scale". Letterbox scale is like scale but preserves the aspect ratio and shows black bars at the edges if necessary. Letterbox integer scale is like the former but the scale will only be an integer, e.g. 2x, 3x, 4x... This is intended to make it easy for retro-style games to upscale evenly. Both options should also make it easier to design games for a specific aspect ratio. Also supported by the Browser object's 'request fullscreen' action, so in-page games can for example switch in to fullscreen integer scale letterbox mode. It is difficult to test this since there are so many combinations of browser and export option, so watch out for issues.
  • Feature: New official 'Dictionary' plugin. Store values under keys, e.g. set "key" to "value". (Basically Hashtable from Classic, but renamed.) Also has JSON support like Array.
  • Add: System expression 'zeropad' (based on Classic's) - pad number with zeroes and return as string, e.g. zeropad(45, 5) returns "00045"
  • Add: appMobi object: help link now opens its new manual entry
  • Add: WebStorage: new 'On Quota Exceeded' trigger. Fired when exceeded the browser's limitations on how much data can be stored in Web Storage (often around 5mb).
  • Add: Facebook object: 'HiscoreUserID' expression, to get the user ID (rather than the name) of the user who got the hi-score.
  • Add:Fade behavior: 'active at start' property, and 'start fade' action. Allows starting the fade whenever you want rather than immediately.
  • Change:Export to appMobi: help link now opens the new tutorial
  • Change:Destroyed instances are now fully removed between top-level events (like Construct Classic). This means 'for each' loops and the object counts are updated for destroyed instances after the top-level event or group finishes.
  • Bug Fix:Breaking change: the parallax origin for parallax layers would change if the window size changed. This could cause parallax to become misaligned when using a fullscreen mode. On the other hand the change could cause existing projects that were working to become misaligned. I think it is much more logical for it to work the new way, so hopefully everyone can work with the new way.
  • Bug Fix:Ampersands (&) would not appear in parameter descriptions
  • Bug Fix:CocoonJS: sometimes audio in the 'music' folder did not play
  • Bug Fix: 'Is on screen' was always false for the first tick of a layout, even if the objects were initially on screen.
  • Bug Fix: OR blocks did not always work correctly as a sub-event to a 'for each' loop.
  • Bug Fix: 'Else' following an event with subevents did not always work correctly.
  • Bug Fix: PhoneGap Build: workaround for crash on Android with the PhoneGap 1.7 update. To solve the issue all apps now require the "access network state" permission, since this appears to be a new requirement for PhoneGap itself to work.
  • SDK: Plugins and behaviors can now specify multiple dependency files by semicolon separating them, e.g. "dependency": "file1.js;file2.js;file3.js"

New in Construct 2 R90 (May 14, 2012)

  • Stable update, and export to AppMobi directCanvas.

New in Construct 2 R89 (May 9, 2012)

  • Export to CocoonJS

New in Construct 2 R87 (Apr 24, 2012)

  • XML plugin
  • folder-organised event dialog
  • JSON support for Array
  • bug fixes

New in Construct 2 R86 (Apr 17, 2012)

  • New advanced event features

New in Construct 2 R85 (Apr 3, 2012)

  • Engine improvements

New in Construct 2 R84 (Mar 27, 2012)

  • Sprite: moved 'set mirrored' and 'set flipped' actions from 'Animations' to 'Appearance' category
  • Icons: changed start page icons to new style and added two missing icons from event sheet context menu
  • Behavior icons in the event sheet had poor quality, should now appear crisp at 16x16 size
  • "Failed to move .uistate.xml" errors should no longer appear (the checks that throw these errors have simply been removed, since it's not particularly important if the UI state fails to save, and the error could prevent the entire project from saving)
  • IE9 would run above V-sync rate (usually 60fps) in r83, should be back to normal now
  • Missing text on common properties header when an object selected

New in Construct 2 R83 (Mar 26, 2012)

  • New editor icon set and new text wrapping setting.

New in Construct 2 R82 (Mar 19, 2012)

  • Prototype translations engine

New in Construct 2 R80.2 (Mar 8, 2012)

  • Change
  • Reverted the bug fix: "Event groups with the same name in different event sheets can now have different activated states" from r80. The fix seemed to cause more problems than it solved, since people seem to depend on the fact they can activate/deactivate event groups in different sheets. So now it's back how it used to be, and to work around the original problem it is recommended to simply use different event group names in different sheets.
  • Change
  • WebGL is now always disabled on mobile, for the time being. Having tested some of the first mobile browsers which support it, either it's slower than canvas 2D (because the mobile javascript engines are slower), or they hang or crash in WebGL mode, so until things get more polished mobiles will always use canvas 2D. WebGL still provides a nice speed boost on desktop though.
  • Bug Fix
  • Crash closing picture editor for Particles or Tiled Background.
  • Bug Fix
  • Errors in various places using the event sheet view

New in Construct 2 R80 (Feb 29, 2012)

  • Beta update with appMobi plugin, built-in backup and more

New in Construct 2 R79.4 (Feb 22, 2012)

  • Three more (last?) fixes, including issue with exporting

New in Construct 2 R79.3 (Feb 15, 2012)

  • Even more bug fixes

New in Construct 2 R78 (Feb 7, 2012)

  • Particle effects, family instance variables and Drag & Drop behavior.

New in Construct 2 R77 (Jan 31, 2012)

  • Export for Kongregate and AppMobi

New in Construct 2 R76 (Jan 23, 2012)

  • Preview on LAN

New in Construct 2 R75 (Jan 17, 2012)

  • Families

New in Construct 2 R74 (Jan 4, 2012)

  • Support for Web Fonts.

New in Construct 2 R73 (Dec 28, 2011)

  • Merry Christmas!

New in Construct 2 R72 (Dec 22, 2011)

  • Multicore optimisations, image export formats and more

New in Construct 2 R71 (Dec 12, 2011)

  • Bug fixes, some smaller additions and a new logo design.

New in Construct 2 R70 (Dec 1, 2011)

  • A raft of small improvements.

New in Construct 2 R68 (Nov 18, 2011)

  • WebGL renderer beta

New in Construct 2 R64 (Oct 25, 2011)

  • Facebook integration and 6 new behaviors.

New in Construct 2 R62 (Oct 15, 2011)

  • Bouncing ball features, form controls and bug fixes.

New in Construct 2 R60 (Sep 30, 2011)

  • Bug fixes and optimisation.

New in Construct 2 R57 (Sep 20, 2011)

  • New this build: collision polygons and global objects!
  • Collision polygons allow you to make a shape around an object which is the area it collides with. This means objects can collide more realistically than the "bounding box" method before. You can edit collision polygons in the image editor, as shown:

New in Construct 2 R55 (Sep 12, 2011)

  • New Z order functions and keyboard shortcuts.

New in Construct 2 R54 (Sep 3, 2011)

  • Add: Picture editor: holding shift and changing the hotspot sets the hotspot in all animation frames
  • Add: Picture editor: holding shift and clicking crop will crop all the frames in the animation
  • Change: Picture editor: hotspot tool no longer selected on startup, to prevent accidental clicks setting the hotspot. You have to click the tool first
  • Change: Picture editor: the hotspot tool can be un-selected by clicking the tool button again
  • Change: Picture editor: Arrow keys now nudge the hotspot 1px at a time instead of assigning it to an edge
  • Change: Increased event sheet margin to show event numbers > 1000
  • Bug Fix: Animation preview did not work on some systems
  • Bug Fix: Deleting some project elements did not enable the save button
  • Bug Fix: Crash importing a non-image file as an animation frame
  • Bug Fix: Crash inserting a sprite while editing a tiled background's image
  • Bug Fix: Event variables with an initial string were not escaped correctly in the javascript code
  • Bug Fix: Special characters in the system find and replace expressions broke preview
  • Performance
  • Layout view: layouts with a lot of objects should run faster now, even on old hardware