There was a new release of the popular open source Java based LibGDX game framework today, version 1.9.3. If you are interested in learning more about LibGDX I have done extensive tutorial series covering it available here. This series brings a number of small changes, but by far the biggest update is on iOS compatibility, which I will get to in a moment. First the changes:
- Switched to MobiDevelop's RoboVM fork (http://robovm.mobidevelop.com)
- Addition of Intel Multi-OS Engine backend for deploying to iOS
- Updated iOS native build scripts to iOS 9.3 and TVOS 9.2
- API Addition: GestureDetector#pinchStop() called when no longer pinching
- API Addition: Gdx.graphics.setUndecorated/setResizable API added to Graphics https://github.com/libgdx/libgdx/pull/3847
- API Addition: Gdx.graphics.getGLVersion(), grab the GL version and implementation type. https://github.com/libgdx/libgdx/pull/3788
- API Change: Lwjgl3WindowListener -> filesDropped(String files) adds drag'n drop support for the lwjgl3 backend
- Added isComplete() to ParticleEffect to make it easier to know when all the emitters are done, behaves the same as in the 2D API.
- API Change: renamed Lwjgl3WindowListener.windowIsClosing() to closeRequested() to better communicate its intent.
- Add IndexData.updateIndices method to increase performance when used with IndexBufferObjectSubData.
- Added FlushablePool
- Added ShapeCache see https://github.com/libgdx/libgdx/pull/3953
- API Change: moved shape builder logic out of MeshBuilder, see: https://github.com/libgdx/libgdx/pull/3996
- API Change: Table reset now calls clearChildren, not clear.
- Fixed crashes in AndroidMusic.java when isPlaying is called. Errors are now logged only rather than crashing the app.
- Added emulation of ScreenUtils for GWT
- Improved performance of glReadPixels() on GWT. New method is 20-30 times faster
- Fixed crash on Mac when using LWJGL2, custom cursors and embedding the game in an AWT window
- Fixed getDisplayModes(Monitor monitor) returning wrong data on LWJGL2 backend
- Fixed Gdx.input.getCurrentEventTime() not being set on LWJGL3, fixes GestureDetector and flick scroll not working
- Fixed not being able to select non-latin characters in TextFields
- Bullet: added CustomActionInterface, see https://github.com/libgdx/libgdx/pull/4025
- Add window size limits option to LWJGL3 app and window configurations
Perhaps the biggest component of the 1.9.3 release is how they are handling iOS support. As you may recall the technology they relied on for iOS support, RoboVM, recently was killed off by Microsoft. This left the LibGDX team in a bit of a bind and they found not one, but two solutions. The first is a new RoboVM like technology from Intel called Multi-OS Engine (Moe?) and the second is to go back and fork the last known good version of RoboVM and bring it up to date. Both have some advantages and drawbacks that are discussed on the LibGDX blog.