# Change Log ## Version 3.1.2 - In Development ### 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. ### Bug Fixes * The KeyCode `FORWAD_SLASH` had a typo and has been changed to `FORWAD_SLASH`. Fix #3271 (thanks @josedarioxyz) ## 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.