# Change Log ## Version 3.2.0 - In Development ### New Features * Game.resize allows you to resize the game config, renderer and input system in one call. * InputManager.resize allows you to update the bounds def and input scale in one call. * Game.Config.roundPixels property added to prevent sub-pixel interpolation during rendering of Game Objects. ### Bug Fixes * Arcade Physics Bodies didn't apply the results of `allowRotation` to the parent Game Object. * InputManager.updateBounds wouldn't correctly get the bounds of the canvas if it had horizontal or vertical translation in the page, causing the scale factor to be off (and subsequently input values to mis-fire) ### Updates * AnimationComponent.play now calls `setSizeToFrame()` and `updateDisplayOrigin()` on the parent Game Object in order to catch situations where you've started playing an animation on a Game Object that uses a different size to the previously set frame. * Text.setText will check if the value given is falsey but not a zero and set to an empty string if so. * BitmapText.setText will check if the value given is falsey but not a zero and set to an empty string if so. * BitmapText.setText will now cast the given value to a string before setting. * BitmapText.setText will not change the text via `setText` unless the new text is different to the old one. ## Version 3.1.2 - 23rd February 2018 ### Updates * Hundreds of JSDoc fixes across the whole API. * Tween.updateTweenData will now check to see if the Tween target still exists before trying to update its properties. * If you try to use a local data URI in the Loader it now console warns instead of logs (thanks @samme) ### Bug Fixes * The KeyCode `FORWAD_SLASH` had a typo and has been changed to `FORWARD_SLASH`. Fix #3271 (thanks @josedarioxyz) * Fixed issue with vertex buffer creation on Static Tilemap Layer, causing tilemap layers to appear black. Fix #3266 (thanks @akleemans) * Implemented Static Tilemap Layer scaling and Tile alpha support. * Fixed issue with null texture on Particle Emitter batch generation. This would manifest if you had particles with blend modes on-top of other images not appearing. * Added missing data parameter to ScenePlugin. Fixes #3810 (thanks @AleBles) ## Version 3.1.1 - 20th February 2018 ### Updates * The entire codebase now passes our eslint config (which helped highlight a few errors), if you're submitting a PR, please ensure your PR passes the config too. * The Web Audio Context is now suspended instead of closed to allow for prevention of 'Failed to construct AudioContext: maximum number of hardware contexts reached' errors from Chrome in a hot reload environment. We still strongly recommend reusing the same context in a production environment. See [this example](http://labs.phaser.io/view.html?src=src%5Caudio%5CWeb%20Audio%5CReuse%20AudioContext.js) for details. Fixes #3238 (thanks @z0y1 @Ziao) * The Webpack shell plugin now fires on `onBuildExit`, meaning it'll update the examples if you use `webpack watch` (thanks @rblopes) * Added `root: true` flag to the eslint config to stop it scanning further-up the filesystem. ### Bug Fixes * Math.Fuzzy.Floor had an incorrect method signature. * Arcade Physics World didn't import GetOverlapX or GetOverlapY, causing `separateCircle` to break. * TileSprite was missing a gl reference, causing it to fail during a context loss and restore. * The Mesh Game Object Factory entry had incorrect arguments passed to Mesh constructor. * Removed unused `_queue` property from `ScenePlugin` class (thanks @rblopes) * The variable `static` is no longer used in Arcade Physics, fixing the 'static is a reserved word' in strict mode error (thanks @samme) * Fixed `Set.union`, `Set.intersect` and `Set.difference` (thanks @yupaul) * The corner tints were being applied in the wrong order. Fixes #3252 (thanks @Rybar) * BitmapText objects would ignore calls to setOrigin. Fixes #3249 (thanks @amkazan) * Fixed a 1px camera jitter and bleeding issue in the renderer. Fixes #3245 (thanks @bradharms) * Fixed the error `WebGL: INVALID_ENUM: blendEquation: invalid mode.` that would arise on iOS. Fixes #3244 (thanks @Ziao) * The `drawBlitter` function would crash if `roundPixels` was true. Fixes #3243 (thanks @Jerenaux and @vulcanoidlogic) ## Version 3.1.0 - Onishi - 16th February 2018 ### Updates * Vertex resource handling code updated, further optimizing the WebGL batching. You should now see less gl ops per frame across all batches. * The `Blitter` game object has been updated to use the `List` structure instead of `DisplayList`. * Arcade Physics World `disableBody` has been renamed `disableGameObjectBody` to more accurately reflect what it does. * Lots of un-used properties were removed from the Arcade Physics Static Body object. * Arcade Physics Static Body can now refresh itself from its parent via `refreshBody`. ### Bug Fixes * A couple of accidental uses of `let` existed, which broke Image loading in Safari # (thanks Yat Hin Wong) * Added the static property `Graphics.TargetCamera` was added back in which fixed `Graphics.generateTexture`. * The SetHitArea Action now calls `setInteractive`, fixing `Group.createMultiple` when a hitArea has been set. * Removed rogue Tween emit calls. Fix #3222 (thanks @ZaDarkSide) * Fixed incorrect call to TweenManager.makeActive. Fix #3219 (thanks @ZaDarkSide) * The Depth component was missing from the Zone Game Object. Fix #3213 (thanks @Twilrom) * Fixed issue with `Blitter` overwriting previous objects vertex data. * The `Tile` game object tinting was fixed, so tiles now honor alpha values correctly. * The `BitmapMask` would sometimes incorrectly bind its resources. * Fixed the wrong Extend target in MergeXHRSettings (thanks @samme) ### New Features * Destroying a Game Object will now call destroy on its physics body, if it has one set. * Arcade Physics Colliders have a new `name` property and corresponding `setName` method. * Matter.js bodies now have an inlined destroy method that removes them from the World. * Impact bodies now remove themselves from the World when destroyed. * Added Vector2.ZERO static property.