We had lots of great feedback after the last 4.0.0 version, some good ones about the new features introduced, but as well bug reports, so together with the new year it's time for a new release.
More details can be found in the changelog, but basically 4.1.0 is about the following improvements :
Audio : support the latest howler and new things like a seek function
Loader : path configuration, memory usage improvements, support CrossOrigin for WebGL
WebGL : added error management for NPOT textures, removed the automatic creation of a canvas overlay for standard font (as a reminder, you should not use regular fonts with WebGL, but rather bitmap fonts) which will save you a couple of sweet megabytes.
Pointer Event : fixed a bug on device allowing both mouse & touch events, fixed multiple regressions on multi-touch and mousewheel events.
Particles : fixed a huge performance regression
Tiled : cleaned-up and exposed the TMX renderers classes, added several utility methods to convert vector and shapes from and to isometric space coordinates.
Debug : fixed the show/hide button in the plugin
Documentation: improvements, thanks to krojew, as he tracked down several issues or inconsistencies while working on a Typescript version of the library
Known issue : there is currently a limitation in the 4.1.0 release (from the 4.0.0 version), where applying a transformation to a Sprite does not work if added directly to the game world (as opposed to use that sprite as the renderable component for an entity). This can easily be fixed though by setting the sprite `autoTransform` property to true (see the ticket here). Although it seems an easy fix, this has triggered other changes in the engine linked to anchor management and will therefore only be included in the next major version (as it causes changes in behaviour). Finally, 4.1.0 being a non major release, there is therefore no API changes at all, so you can just replace the previous 4.0.0 version with this one.
Last but not least, a few words about what will happen for the next two major versions coming :
melonJS 5.0.0 : this is 2017 guys, ES6 is almost there and we should almost all already be using it ! But as a first step we decided to completely drop support for all legacy browsers (e.g. not fully supporting ES5). So starting from the next major version, all ES5 polyfills will be removed which means that it's definitely time to update your browser if you want to keep using melonJS. If for any obscure reasons you still need to run things on these oldies, you can use an es5-shim to provide with the missing ES5 features.
melonJS 6.0.0 : what rhymes with 6 ? yes, ES6 ! as you maybe saw it coming we will then do the same here and will start supporting ES6 browsers starting from the 6.0.0 version (probably gradually, starting for example with the module support). Now we will certainly keep supporting the 5.x branch in parallel, but most of the big new features will certainly be added only on the 6.x branch, but let's see when we reach that point :)
There is no date yet specifically about these two versions, but 5.0.0 will obviously be the next major version, followed by a 6.0.0 later this year as well.
That's it for today ! Once again thank you guys for your support and feedback on melonJS and see you around on our forum or chat !