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!

libGDX wins Duke’s Choice Award

Damn right. The Duke’s Choice Award is an anual thing given out by a jury of judges as well as the community to projects from the Java realm based on various criteria. It’s one of the biggest honors you can get in the Java world. Here’s the Java Magazine article on the winners, including my ugly face, Robotality’s Halfway and Interrupt’s Delver (which you should both buy and play the hell out of):

The story behind that photo is actually quite funny. Oracle send a photographer from the Netherlands to my place in Graz, via car. He took about 500 images. I felt very special that day…

Thanks to all the contributors, this award goes out to all of you (you can put it on your resume :D).

Intel RealSense App Challenge 2014 – Be part of it!

If you are interested in RealSense Technology check out the Intel RealSense App Challenge. RealSense is a suite of software and optional hardware that let’s you explore human computer interaction.

Check out this video from last year’s winning entries:

Intel just released their latest RealSense SDK and Developer Kit, with which you can take part in this years challenge! There are two tracks, Pioneer and Ambassador. Members of the libGDX community can participate in the Pioneer’s track, which consists of two phases:

  • Ideation Phase: register as a pioneer and submit an app idea until the 1st of October (next week!)
  • Development Phase: if your idea was chosen by a panel of judges, you will enter the development phase where you can realize your app idea using Intels’ RealSense SDK

Learn More about the contest and what winners receiver here:

If you send an app idea using libGDX (which will support RealSense soon!), let us know in the comments below!