libGDX 1.5.0 released

libGDX 1.5.0

Here’s what’s changed:

- API Addition: IOSInput now uses CMCoreMotion for accelerometer and magnetometer
- API Addition: Added getter for UITextField on IOS for keyboard customization 
- API Addition: Added ability to save PixmapPackers to atlas files. See PixmapPackerIO.
- API Addition: Added HttpRequestHeader and HttpResponseHeader with constants for HTTP headers.
- API Addition: HttpRequest is now poolable.
- New PNG encoder that supports compression, more efficient vertical flipping, and minimal allocation when encoding multiple PNGs.
- API Change: Label#setEllipse -> Label#setEllipsis.
- API Change: BatchTiledMapRenderer *SpriteBatch fields and methods renamed to *Batch
- API Change: ScrollPane#scrollToCenter -> ScrollPane#scrollTo; see optional boolean arguments centerHorizontal and centerVertical (scrollToCenter centered vertically only).
- API Change: Changed Input#getTextInput to accept both text and hint, removed Input#getPlaceholderTextInput.
- Bug Fix: Fixed potential NPE with immersive mode in the Android fragment backend. 
- iOS backend now supports sound ids, thanks Tomski!

Note: Make sure to update your RoboVM Eclipse plugin to 1.0-beta-01! You can also sign up for a beta license key to experience the new debugger!

Let us know if you run into any issues. See this wiki article on how to update your libGDX project to the latest version. The current libGDX version is “1.5.0”, the current nightly version is “1.5.1-SNAPSHOT”, OR you can just check our versions page which details all the versions of dependencies as well.

Using Intel RealSense with libGDX

Today i finished off the 1.0 release of our Intel RealSense SDK integration for libGDX. It comes in form of a dependency you can easily include in your desktop projects (Windows 8+ only i’m afraid) (build.gradle):

project(":core") {
    dependencies {
        compile "com.badlogicgames.gdx:gdx-realsense:1.0.0-SNAPSHOT"

Watch the video above, and follow the instruction the project’s Github page.

Happy coding!

libGDX 1.4.1 released

Time for a new release, here’s the changelog:

- iOS 8 support and support for iPhone 6(+).
- Update to the Gradle Integration plugin release build if you are on Eclipse 4.4.x!
- Update Intellij IDEA to 13.1.5+, because Gradle!
- Updated to Gradle 2.1 and Android build tools 20, default Android version to 20. You need to install the latest Android build tools via the SDK manager
- API Change: deprecation of bounding box methods, see
- Added non-continuous rendering to iOS backend, thanks Dominik!
- Setup now uses Gradle 2.1 with default Android API level 20, build tools 20.0.0
- Non-continuous renderering implemented for iOS
- Added color markup support for scene2d label and window title.
- API Change: removed default constructor of DecalBatch, removed DefaultGroupStrategy
- Updated to latests RoboVM release, 1.0.0-alpha-02, please update your RoboVM plugins/installations
- Reduced I18NBundle loading times on Android and bypassed unclosed stream on iOS. 
- Removed the gdx-ai extension from the libGDX repository. Now it lives in its own repository under the libGDX umbrella, see
- API Addition: Added randomSign and randomTriangular methods to MathUtils.
- API Addition: Decal has now a getter for the Color.
- API Addition: now I18NBundle can be set so that no exception is thrown when the key can not be found.
- API Addition: added annotation support in reflection layer, thanks code-disaster!
- API Addition: shapes like Rect, Circle etc. now implement Shape2D interface so you can put them all into a single collection 
- API Addition: bitmap fonts can now be loaded from an atlas via AssetManager/BitmapFontLoader, see
- API Change: Table now uses padding from its background drawable by default.
- Drawables now know their names, making debugging easier.
- API Change: Table fill now respects the widget's minimum size.
- Texture packer, fixed image size written to atlas file.
- API Change: Cell no longer uses primitive wrappers in public API and boxing is minimized.
- API Addition: TextureAttribute now supports uv transform (texture regions).
- API Change: Added parameters to Elastic Interpolation.
- API Change: Removed Actor#setCenterPosition, added setPosition(x,y,align).
- API Change: JsonReader, forward slash added to characters an unquoted strings cannot start with.
- API Change: Stage#cancelTouchFocus(EventListener,Actor) changed to cancelTouchFocusExcept.
- API Change: Json/JsonWriter.setQuoteLongValues() quotes Long, BigDecimal and BigInteger types to prevent truncation in languages like JavaScript and PHP.

In addition to the changes in the main repository, we have two new extensions (which are maintained outside the libGDX repository).

  • gdx-ai contains all kinds of nice stuff, from state machines to steering behaviours.
  • gdx-pay is our in-app purchase API which is currently a work in progress.

Very Important

We updated to all the latest 3rd party tools we use. This implies that you have to update a few things on your end:

  • Eclipse 4.4.x users MUST update to the latest Gradle Integration (3.6.2+). Update URL:
  • Eclipse users MUST update to the latest RoboVM Plugin (1.0.0-alpha-04). Update URL:
  • Intellij IDEA users MUST update to 13.1.5+ because older versions don’t support Gradle 2.1, which is required by the Android plugin
  • Update your Android SDK build tools to the latest (20) and for good measure also get the latest Android version (20) via your Android SDK manager
  • You MUST update XCode to the latest version (6.0.1+). Make sure you open it once and agree to the license

In addition to this, you may experience a few minor issues with RoboVM which we hope to resolve in upcoming RoboVM releases:

  • If you want to deploy to a device that has been restarted recently, you MUST deploy a demo app via XCode first. The reason being that the library we use to deploy apps to a device hasn’t been updated for the latest XCode/iOS versions. Simply create a new XCode iOS project and run it once. We hope to resolve this issue soon
  • You can now specify what type of simulator you want to start via the Gradle command line or within the Eclipse Launch Configuration of your iOS project. If your app fails to launch on the simulator, go to the launch configuration and select a different simulator. Old launch configurations can’t be migrated properly.

Let us know if you run into any issues. See this wiki article on how to update your libGDX project to the latest version. The current libGDX version is “1.4.1”, the current nightly version is “1.4.2-SNAPSHOT”, OR you can just check our all new versions page which details all the versions of dependencies as well. Thanks Tomski!

If you migrate an old project and want to support iOS 8, you MUST add new launch images, see the x3.png files here.

Happy coding!