LibGDX, the cross platform Java powered open source game framework, just released version 1.9.5. This release is mostly about upgrading under the hood libraries and tooling support including GWT, RoboVM and LWJGL version updates. The release is also compatible with iOS 10 and Xcode 8. If you want to learn more about LibGDX we have a comprehensive tutorial series available here as well as a video tutorial series available here.
Details of the update from the release announcement:
[1.9.5] - Upgraded to MobiDevelop's RoboVM fork version 2.3.0, update your[sic] - Upgraded to GWT 2.8.0 for faster compiles and better compile output - Fix NPE swallowing "video driver unsupported" error on LWJGL 2 backend. - Allow window icons to be set in Lwjgl3ApplicationConfiguration or Lwjgl3WindowConfiguration. - Allow window icon and title to be changed in Lwjgl3Window - API Addition: ApplicationLogger interface, allowing easier access to custom logging - DefaultRenderableSorter accounts for center of Renderable mesh, see https://github.com/libgdx/libgdx/pull/4319 - Bullet: added FilterableVehicleRaycaster, see https://github.com/libgdx/libgdx/pull/4361 - Bullet: updated to 2.85, see: http://bulletphysics.org/wordpress/?p=456 - Updated iOS native build scripts to iOS 10.1 and TVOS 10.0 - API Addition: BitmapFont#blankLineScale. - Fixed rounding of Drawables in ProgressBar. Allow rounding to be disabled with setRound(). - Updated LWJGL3 backend to LWJGL 3.1.0, see https://blog.lwjgl.org/lwjgl-3-1-0-released/ - LWJGL3 backend now supports non-continuous rendering, see https://github.com/libgdx/libgdx/pull/3772 - API Change: Lwjgl3WindowListener.refreshRequested() is called when the windowing system (GLFW) reports contents of a window are dirty and need to be redrawn. - API Change: Lwjgl3WindowListener.maximized() is called when a window enters or exits a maximized state. - API Change: Lwjgl3WindowListener.deiconified() removed, combined with .iconified(). - API Change: Lwjgl3Window.deiconify() renamed to .restore() since it can also be used to de-maximize a window. - Lwjgl3Window now has a maximize() method, and windows can be started maximized using the window or app configuration's setMaximized() method. - NinePatch can now be drawn rotated or scaled. - NinepatchDrawable is now a TransformDrawable. - API Change: Group add* methods no longer remove and re-add the actor if it is already in the group, instead they do nothing. - API Change: g2d.Animation is now generic so it can support Drawables, PolygonRegions, NinePatches, etc. To fix existing code, specify the TextureRegion type in animation declarations (and instantiations in Java 6), i.e. Animation myAnimation = new Animation(...); - TiledDrawable throws unsupported operation if trying to draw rotated/scaled. #4005 - API Change: DragAndDrop now puts default position of drag actor at pointer location. The original default offset from the pointer was (14, -20). - Added ShaderProgramLoader for AssetManager. - BoundingBox#isValid now returns also true when min==max, see: https://github.com/libgdx/libgdx/pull/4460
For details on updating your LibGDX project to the latest version see here.