Releases: melonjs/melonJS
Releases · melonjs/melonJS
melonJS 1.1.0 beta 1
- Core : reorganised source code for all basic object definition/augmentation
 - Core : new CI and unit testing frameworks
 - Core : new object inheritance mechanism: http://github.com/parasyte/jay-inheritance
 - Core : added array random and weightedRandom functions (aaschmitz)
 - Core : added a Base64 Encode function (aaschmitz)
 - Core : new 
me.Errorclass to help better track down execeptions' origin - Core : brand new "Separate Axis Theorem " based collision algorithm (support polygon/ellipse, and providex more accurate collision response)
 - Container : 
addChildandaddChildAtnow return the added child - Video : refactored canvas drawing out to me.CanvasRenderer. Video is now agnostic of rendering target. Use me.video.renderer to call things like getWidth, getHeight, getSystemCanvas, getSystemContext, etc.
 - Video : constructor parameters changed. 2nd parameter now expects renderer type. For now, just supports me.video.CANVAS
 - CanvasRenderer : object is passed to the draw calls of each object in the world Container. Implemented various draw apis fillRect, and fillArc for example.
 - Renderable : renamed 
me.SpriteObjecttome.Spriteandme.ObjectContainertome.Container, for a cleaner API - Renderable : constructors refactored to accept x & y numeric values, over a single vector object. Effects: me.Container, me.Rect, me.PolyShape, me.Ellipse, me.Renderable
 - Shapes : setShape updated to accept x & y numeric values over a vector object for: me.Rect, me.PolyShape, me.Ellipse
 - Camera : fixed viewport bounds setting when using isometric map (Juhana Paavola)
 - Entity : entity object redesign with a full polygon shape based physic body implementation
 - Entity : 
me.ObjectEntityhas been renamed tome.Entityto avoid confusion between the old and new entity component. - Audio : fixed some audio load issues and error callbacks
 - Audio : sync'ed with last Howler 1.1.25 version (fixes numerous issues, see official changelog for more details)
 - TMX : fixed the background color drawing when the level is smaller than the display canvas
 - TMX : fixed the getTile function returning wrong tiles when using isometric maps
 
melonJS 1.0.2
- Core : improved general compatibility with IE9/IE10 (Desktop/Mobile/Tablets)
 - Geometry : added basic type check for the 
me.Vector2dconstructor - Input : fixed event detection on Chrome 35+
 
melonJS 1.0.1
- Core : removed unused 
Object.mixinmethod, (caused compatibility issues with socket.io and other libs) - Entity : disable falling flag when gravity is disabled
 - Entity : fix an exception in 
ObjectEntity.checkCollision() - Entity : fixed a regression on breakable tiles
 - Entity : use 
widthandheightby default ifspritewidthandspriteheightare not defined - Entity : throw an exception if mandatory fields width and height are not defined
 - Entity : fixed an exception in 
ObjectEntity.flipX/Y() - Loader : fixed asset loading when named as a number
 - ObjectContainer : use cyclic zIndex by default instead of Infinity
 - Audio : sync'ed with last Howler version (as now officially and properly support CocoonJS)
 - Audio : melonJS now throws an exception when attempting to load audio assets before audio is initialized
 - TMX : fixed a potential issue with ImageLayer when ratio is set to 
0in Tiled - Font : fixed opacity property usage for me.BitmapFont object.
 - Renderable : added a tap and hold feature to the me.
GUI_Objectobject (juhanapaavola) - Particles : fixed the particle emitter bounds (aaschmitz)
 - Input : added several keyboard keys for input mapping (aaschmitz)
 
melonJS 1.0.0
- Core : now pass the elapsed time as a parameter when calling any object update function
 - Core : cleaned-up/renamed conflicting set function in shape and font objects
 - Core : added new shapes objects (Ellipse, Polygon) on top of the existing Rectangle one
 - Core : added a mixing property to object (insidiator)
 - Core : deprecated object manipulation (add, remove) have been removed from me.game
 - Core : renamed the 
me.entityPoolAPI tome.pooland related functions (see documentation & upgrade guide) - Entity : deprecated helper function (doJump, doWalk) have been removed
 - ObjectContainer : renamed getEntityByProp to getChildByProp
 - ObjectContainer : getChildByProp now returns all matching object type and not only "entities"
 - Camera : camera bounds are now defined as a rectangle and not only in width and height
 - Loader : added resource information to loader progress event (warpten)
 - Loader : added loading of TMX data from javascript (json) objects (paulmedwal)
 - Color : melonJS now defines a new me.Color class for advanced color manipulation
 - Particles : added basic Particle System, with emitters and particles (ciangames/insidiator)
 - Particles : added a particle emmiter editor, see the example folder (insidiator)
 - Device : added full cross-browser support for the Fullscreen API (see me.device)
 - Device : added support for the vibration API (me.device.vibrate)
 - Device : renamed the me.save.delete function to me.save.removed (delete is a reserved keyword)
 - Device : added support for the visibilitychange API (pause/stop state on window show/hidden status)
 - Audio : modernised (and also mobile compatible) web audio API based on the awesome Howler library
 - Input : added the possibility to disable globally or per key the default browser action
 - Input : automatically enable keyboard even on desktop type devices
 - Input : the registerPointerEvent functio now only accepts the standardized Pointer Event names.
 - TMX : added proper support for all shape type (collision is still however resolved using AABB detection)
 - TMX : XML TMX map are now converted to a JXON object on-the-fly, allowing to remove duplicated parsing code
 - TMX : added the Tiled "type" property to TMXObject
 - TMX : melonJS will now respect the object size as defined in Tiled when parsing/creating related object in the game world
 - Timer : added a setTimeout and setIntveral function obeying the engine pause state
 - Tween : Fixed tweens to properly maintain time state when paused
 - Renderable : 
collisionBoxhas been replaced by a more cleaner implementation (seegetShape/addShape/getBounds) - Renderable : the flicker function now takes the global flickering duration in ms (as opposed in frame count)
 - Renderable : removed the visible property
 
melonJS 0.9.11
- Documentation : numerous fixes and improvements
 - General : fix initial loading for me.save, and update documentation
 - General : fix detection of localStorage on some phones (agmcleod)
 - General : fix uncaught exception when objects without a position vector are added to a container
 - Input : fully support event-driven key input with me.event.KEYDOWN and me.event.KEYUP
 - Input : multiple keys bound to the same action will no longer cancel each other
 - Input : fixed pointerEvent support on IE11
 - ObjectContainer : fixed rendering of nested containers (again) - Thanks to Peter Hull
 - ObjectContainer : fixed getEntityByProp with nested containers
 - Animation : (quick) fixed hWidth and hHeight not being updated when the frame size is different
 - Core : better support object reset through a onResetEvent function when using object pooling
 - Tween : updated the me.Tween object to be usable with the object pooling mechanism
 - Font : added a trimRight polyfill to the String class to help fixing multi-line ASCII rendering
 - Font : added a drawStroke function
 - Font : fixed a bug that broke some CSS font-family names, like 
monospaceand"Trebuchet MS" 
melonJS 0.9.10
- Core : fixed object 
visibleflag not being set based on their parent group visible status - Core : fixed both 
pauseOnBlurandStopOnBlurbeing enabled by default - TMX : fixed the imageLayer reset bug (when unsubscribing the viewport change event)
 - TMX : fixed an undefined tileset issue when adding a new Tile through the 
setTilefunction - Documentation : fixed the parameter value of the hasChild function
 - Renderable : moved the opacity related getter/setter function into the Renderable class
 - Renderable : fixed group opacity setting fully overwriting renderable opacity settings
 - ScreenObject : fixed cases where ScreenObjects may not be considered in the viewport
 - ObjectContainer : fixed rendering of nested containers
 
melonJS 0.9.9
- General : added proper support for a jslint task and cleaned source code accordingly (nvlbg)
 - General : added a renderable container object (me.ObjectContainer) and reorganize 
me.gameaccordingly - General : added 
me.game.worldas a reference to the game world root object container. - General : added a new me.save class to manage localStorage, and moved (deprecated) the old me.stat to the plugin repository
 - Core : improved game pause management (by swmuron)
 - Core : added a 
me.deviceobject containing device specific capabilities and events (agmcleod) - Core : moved all device read-only flags to the new me.device object
 - Core : fixed Opera Mobile detection when sniffing user agent
 - Core : improved orientation change detection, added me.device.orientation and a specific minpubsub channel
 - Core : moved debug flags to the debugPanel plugin
 - Input : fixed accelerometer event registration when supported
 - Input : added support for windows 8 accelerometer (Halfman)
 - Input : improved mouse wheel event support to be compatible with all recent browsers
 - Input : added support for the touchCancel and mousecancel events
 - Input : added TAB key definition to key bindings (agmcleod)
 - Loader : refreshed the loader a bit, and added the new logo
 - Loader : fixed binary loader (agmcleod)
 - Video : added support for CocoonJS 1.4 ('antialias' parameter and the new 
disposefunction) - Video : added proper support for video scaling on High-DPI devices (no longer requires the JS hack in the index HTML file)
 - Video : fix 
me.sys.scalingInterpolationwhen display is resized. - TMX : fixed default group opacity value not being applied to child objects.
 - TMX : optimized tile rendering, by using a tileset reference in Tile object
 - TMX : added preliminary support for non rectangular shapes in Tiled (although currently converted to me.Rect)
 - TMX : fixed multiple image backgrounds with 
ratioproperties that are different values - TMX : fixed me.ImageLayer drawing being delayed by one frame
 - Font : Font objects now properly extend me.Renderable
 - GUI : 
HUDobjects have been completely replaced by me.ObjectContainer; See Platformer example for new HUD implementation pattern. - Animation : the 
animationspeedproperty, now defines the delay between frames in terms of milliseconds (as opposed to framecount) - Animation : allow animation callback to prevent resetting to first frame by returning 
falsereally fixed this time - Shapes : new shapes added for future expansion: me.Ellipse, me.PolyShape
 - Shapes : 
me.Rect.getRect()renamedgetBounds() - Tween : the tween implementation has been updated to the last official r11 version.
 - Camera : renamed the mislabeled worldToScreen and ScreenToWorld, and fixed a bug in one of the function.
 
melonJS 0.9.8
- Renderable : added ShoeBox Packed Texture Support (see 
me.TextureAtlas) - Loader : the 
tpsdata type has been changed to a more genericjsondata type (agmcleaod) - Input : added MSPointer support (Halfman)
 - Input : normalized API and management of input event and enabled multi-touch for PointerEvent
 - Input : added throttling support for 
****moveevents - Core : main loop now uses requestAnimationFrame by default with a fallback to setTimeout
 - Video : added the possibility to specify a maximum size when enabling video scaling
 - Video : automatically limit the maximum size if the corresponding CSS properties are set
 - TMX : added the possibility to specify different axis value for the scrolling ratio
 - Font : fixed drawing characters with charCode smaller than the firstChar value.
 - Renderable : allow animation callback to prevent resetting to first frame by returning `false
 - Core : added "Mobile" to 
me.sys.isMobileUA sniffer (fix Firefox OS detection) 
melonJS 0.9.7
- General : melonJS now uses Grunt, the task manager, for the build system
 - General : game objects will not update unless inside the viewport or 
obj.alwaysUpdateflag is enabled - Audio : preliminary audio support for mobile devices (iOS6 for now)
 - Core : added a 
me.sys.isMobileflag to detect running on a mobile device - Core : now using 
screencanvasextension for CocoonJS - Core : fixed 
me.game.remove()destroying the object too early - Entity : ObjectEntity is now composed with a 
renderablecomponent (does not anymore inherit from AnimationSheet) - Entity : renderable default position is now set based on the me.ObjectEntity default anchor point.
 - Entity : fixed ladder collision detection/management
 - Examples : new collision_test example (see ticket #103)
 - Examples : new font_test example
 - Font : changed default alignement to 
left/top - Font : added multiline support for 
me.Fontandme.BitmapFont - Geometry : most 
me.Vector2dmethods return a reference tothis, to allow method chaining - Input : added a 
me.input.unlockKey()function that allows to manually unlock key (DblK) - Loader : fixed loader when repeatedly calling the preloader
 - Renderable : new base class for any objects that needs to draw (Sprite, ImageLayer, GUI, etc...)
 - Renderable : added TexturePacker Support (see 
me.TextureAtlas) - TMX : fixed 
me.ImageLayer.ratioon Firefox & Opera - TMX : allows changing the imageLayer default origin using the imageLayer anchorPoint
 - TMX : added a new 
me.game.getEntityByProp()function (DblK) - TMX : added JSON map parsing support
 - TMX : small optimization for isometric rendering (
pixelToTileCoords()function) - TMX : fixed access to inherited properties
 - TMX : added an entry point for a potential gzip/zlib TMX decompression plugin
 - TMX : fixed object positioning on isometric maps (andyveliz)
 - TMX : property value convention for automatically JSON-decoding; prefix with 
json: - Video : fixed 
viewport.shake() - Video : optimized framerate on cocoonJS platforms by using the 'screencanvas' extension
 - Video : disable video scaling interpolation by default
 
melonJS 0.9.6
- General : fix compatibility issue with previous iOS(5.x) and Android version
 - Core : workaround for useNativeFrame when cancelAnimationRequest is not supported
 - Audio : added volume and mute control settings
 - Audio : added the possibility to stream audio elements
 - TMX : code optimization to lower memory usage
 - TMX : fixed layer scrolling when using pre-rendering
 - Loader : fixed 
me.loader.loadnot adding TMX into theme.levelDirector