in Engine

libGDX 1.14.0

From libGDX: link to original post

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