If you are looking for past changelogs, check out this page.

libGDX 1.14.0 has been released with bug fixes and new features. See the changelog below for a complete overview.

A few notable changes

  • [CORE] The Pools changes in 1.13.5 have been partially reverted and the class has been deprecated. Users should either create a DefaultPool themselves or switch to the new PoolManager. To avoid reflection, PoolManager requires registering a class beforehand either via the constructor or #addPool. See #7648 for more information of the (now deprecated) Pools class and #7678 for more information on PoolManager.
  • [CORE] Once again there have been multiple big and small improvements to the tiled map support, in particular class and template object support as well as the addition of a universal tiled map loader. Special thanks to BoBIsHere86 for that!
  • [CORE] JsonValue#get is no longer case insensitive. Use JsonValue#getIgnoreCase().
  • [CORE] StringBuilder has been removed and its methods merged with CharArray.
  • [LWJGL3] You can now use Lwjgl3ApplicationConfiguration.useGlfwAsync(); as a shorthand for if (SharedLibraryLoader.os == Os.MacOsX) Configuration.GLFW_LIBRARY_NAME.set("glfw_async");

To check out our progress towards the next release, take a look at the corresponding milestone on GitHub. As always, we appreciate feedback on the issues/PRs already part of the milestone and would like to invite you to bring forward anything still missing on our Discord server!

Full changelog

Updating your Gradle project is straight-forward: Check out the instructions on the wiki!

- [BREAKING CHANGE] API: Pools changes in 1.13.5 have been partially reverted. Pools#get/Pools#obtain method return to requiring a Class parameter. Reflection is avoided by using pre-populated Pools for libgdx classes. See https://github.com/libgdx/libgdx/pull/7648 and https://github.com/libgdx/libgdx/pull/7678
- [BREAKING CHANGE] `JsonSkimmer` API changed to use JsonToken parameters.
- [BREAKING CHANGE] `JsonValue#last` added for O(1) append. Code that changes next may also need to change last.
- [BREAKING CHANGE] `JsonValue#get` is no longer case insensitive. Use `JsonValue#getIgnoreCase()`.
- [BREAKING CHANGE] `StringBuilder` has been deleted; its methods have been merged with `CharArray`.
- API Addition: Added `JsonValue#toJson` that takes a Writer.
- API Addition: Added `getProgrammaticChangeEvents()` to scene2d.ui actors that have `setProgrammaticChangeEvents()`.
- API Addition: Added `JsonMatcher`, extracts values with pattern matching.
- API Addition: Added `setUniform_iv` functions in `ShaderProgram` to set uniform integer arrays
- API Deprecation: Pools class is now deprecated and not used internally. Some functionality can be restored by using the new `PoolManager` class.
- API Fix: Fixed crashes when reading the soft buttons bar height on Android.
- API Addition: Multi sample FBOs can now be used with OpenGL ES 3.0+ instead of OpenGL ES 3.1+
- API Addition: Lwjgl3ApplicationConfiguration#useGlfwAsync
- API Addition: A Universal Tiled Map Loader
- API Fix: Allow Creation of HexagonTiledMapRenderer with empty TiledMap
- API Fix: Fixed a GWT incompatibility issue in the AtlasTmxMapLoader and AtlasTmjMapLoader 
- API Addition: Add a constructor taking a TextureData array to FileTextureArrayData
- API Fix: fix wrong x, y layer offset in HexagonalTiledMapRenderer
- API Addition: Added Template Object Support for TiledMaps
- API Addition: Added glBlendFuncSeparate support in RenderContext
- API Addition: VAO byte calculation add support for int and uint
- API Addition: Add Vector.One static fields for convenience
- API Addition: Extract AndroidGraphics#createGraphics method so a custom instance can be created
- API Addition: Class support in Tiled
- API Addition: Update freetype to v2.13.3
- API Fix: Replace deprecated methods on AndroidAudioDevice and AndroidCursor
- API Fix: Fixed JsonValue#setChild failing when child is null.
- Various javadoc improvements

Updated: