A high priority point release that addresses issues with fullscreen mode, input events and others in 3.16.0.

Article by Richard Davey. Posted on 11th Feb 2019.   @photonstorm


With a new version as large as 3.16.0 was, there were bound to be bugs that got overlooked. With 3.16.2 we address some of the more important ones. If you're using 3.16, then please upgrade to 3.16.2.

Some of the most important fixes in this release are:

  • Entering Fullscreen mode in the Scale Manager and then pressing ESC would leave the injected fullsceen div in the DOM, causing it to throw a node insertion failure the second time you wanted to enter fullscreen mode. Fix #4352 (thanks @ngdevr)
  • Due to the changes in the Input event system, the GAME_OUT event would never fire unless the input system was in legacy mode. The OUT and OVER handlers have been refactored and will now fire as soon as the DOM event happens. As a result the InputManager._emitIsOverEvent property has been removed, as the native event is sent directly to the handler and doesn't need storing locally any more. Fix #4344 (thanks @RademCZ)
  • The Mesh.setAlpha method has been restored, even though it's empty and does nothing, to prevent runtime errors when adding a Mesh or Quad object to a Container. Fix #4338 #4343 (thanks @pfdtravalmatic @charmingny)
  • Added Zone.setBlendMode method as a NOOP function, fixing a bug where if you added a Zone to a Container when running under Canvas it would fail. Fix #4295 (thanks @emanuel15)
  • KeyboardPlugin.checkDown would always fail if using the new event system, because the time value it was checking wasn't updated.

There are also updates and a complete overhaul of the Matter JS Pointer Constraint class.

You can download Phaser 3.16.2 from the GitHub releases page, or pull it in via the npm package. The pre-built files are available on the jsDeliver CDN.