Releases: libgdx/gdx-liftoff
1.10.0.14 "Superliminal"
This release updates Gradle to 7.4.2 and fixes the LML dependencies when targeting HTML. It doesn't do anything else, but without the LML fixes, you would run into some mind-boggling, labyrinthine, inscrutable errors if you tried to use any of the crashinvaders forks of czyzby libraries on HTML. I'm not 100% sure all of the LML libraries are fixed on HTML, but certainly the errors should be easier to spot and fix now. If there are still errors, they would likely manifest as either:
- A dependency in
html/build.gradle
that has:sources
before the version, which is wrong (:sources
has to be at the end), or - A GWT
inherits
tag with the wrong path to a.gwt.xml
file (check the:sources
jar's contents for where the file actually is).
If any bugs show up, as always, please post on the Issues tab and I'll try to get to them. Thanks to Elmig0 for patiently figuring out the cause of this bug with me on the libGDX Discord!
1.10.0.13 "pretty hack ngl"
This release updates Gradle (again) and Groovy (for the first time in a while), plus adds the new library HackLights by aliasifk (it's Ali!). An important fix was required for how Liftoff handles JitPack dependencies when a user or tool has requested an invalid version from JitPack recently. This was encountered when adding HackLights, but the fix should be able to help other libraries that use JitPack, too (such as gdx-gltf). There's a small atlas that is automatically included in assets/
with projects that check HackLights in third-party dependencies, so you can start using it right away. The atlas isn't included if HackLights was not selected.
Note that Gradle is at 7.4.1 now, but this Gradle is not compatible with the just-released Java 18 version yet. You can use Java 8 through Java 17 just fine, though.
1.10.0.12 "Greeted As Liberators"
This release mostly is here to fix a major bug with the generated GUI assets. Liftoff had looked for arial-15.fnt, but it has been replaced in libGDX 1.10.1-SNAPSHOT with lsans-15.fnt (Arial is a commercial font, while Liberation Sans is free and open source). This release also adds textratypist to third-party libraries, and un-caps the limits on Android SDK and Java versions.
1.10.0.11 "Rolling Thunder"
This release updates Gradle to 7.4, includes various other updates to tooling, and adds a few new third-party libraries. Two are audio-related, platform-specific libraries; gdx-oboe helps address Android's audio problems, and TuningFork is similar but for LWJGL3. The long-useful libgdx-screenmanager finally is available as a third-party extension; it makes Screens in libGDX substantially more like screens as most games use them. Last but not least, the exciting new gdx-TinyVG library allows vector graphics to be drawn and manipulated in libGDX, using the TVG format. The non-Java languages now use a fixed version, which makes most actions with Gradle much faster because Gradle doesn't need to check for an update every time it runs a task. This does, however, mean that if you want a newer version, you need to update your gradle.properties file yourself.
The tooling updates include the RoboVM Plugin, which went to version 2.3.15; this hasn't been tested on a Mac or iOS device, so I'm hoping someone can test it with libGDX version 1.10.0 and/or 1.10.1-SNAPSHOT. Other than that, everything here is expected to work as normal; good luck!
1.10.0.10 "Blackjack"
This release includes a small fix to gdx-dialogs, a small but hard-to-implement fix that allows gdx-liftoff to run on more Linux machines, an additional library (libgdx-oboe, for Android audio), and a big, large, huge wall of text added to the Gradle files at the recommendation of the Gradle team. We have updated to Gradle 7.3.3, which includes some mitigations against log4shell (on top of the mitigations in the last release), and go beyond just updating Gradle by including that big-large-huge dependency constraint section to block vulnerable versions of log4j from being used transitively. Stay safe out there!
1.10.0.9 "Mighty Mitigation"
This release has some small improvements, but mostly exists to update the default Gradle to 7.3.2 because it contains mitigations for the "log4shell" vulnerability in log4j (which appears to affect earlier Gradle sometimes). Other than the Gradle update, this makes dist
an alias for jar
in the desktop projects (which lets instructions for gdx-setup also apply here), and updates Kotlin to 1.6.0. It also removes the deprecated option -XX:MaxPermSize=1G
from generated gradle.properties files because that option was fully removed starting in Java 17. Just a few small changes, and nothing you can't quickly apply yourself to existing projects, but this is good stuff to have by default in new projects.
1.10.0.8 "Learned The Truth"
It's what you've been waiting for, frothing eagerly at the mouth, wild-eyed and baying at the moon: Java 17 is supported! There's some nice fixes contributed by @mariorez in this release that help the Kotlin libraries, and Gretty is updated again, but other than that, the update to Gradle 7.3, supporting Java 17, is the headliner for most developers. This means that, if you're feeling brave (and don't mind updating gradle-wrapper.properties files), you could set Java 17 as your JAVA_HOME installation and still be able to build and run Gradle projects this generates. Since many developers who are just starting out download the newest Java as their first action, this update should be useful by allowing them to still generate projects. I hope this helps people use libGDX for the first time!
1.10.0.7 "Praise to the Unpronounceable One"
This release is chock-full of revisions and new features, almost all added by our valiant hero @czyzby . The latest version is now checked for a third-party library over the internet when you generate a project using that library, to ensure you start with the most recent version. You can always change the version in gradle.properties
in the new project. Lots of code is cleaner. There was a load of hacky Java code that I had copied in to make small changes; this has been replaced with a simple dependency on metaphore's gdx-lml repo. The UI is laid out a little differently, and generally should be cleaner and show more explanation of what options do. To match gdx-setup's behavior, "Desktop" refers to LWJGL3, and "Desktop (Legacy)" refers to LWJGL2; the LWJGL version is described next to the checkbox. These now make modules named lwjgl3
and lwjgl2
in generated projects; there is no single desktop
module, but you can generally substitute lwjgl3:run
for desktop:run
, like in earlier releases. There are a few small improvements to the default GWT files, like blocking right-click on the game itself, and removing padding around resizable GWT games.
🎉 There are Kotlin templates now, including launchers! 🎉
These can be selected as normal templates when you have Kotlin as your language choice, and there are new KTX templates, too.
🦉 The file picker isn't a home-made non-native dialog any more! It's fully native to your current OS! 🦉
Thanks to @lyze237 for this great quality-of-life improvement, and the developer(s) behind NFD for their great library.
🐠 Lombok is now an option for your project! 🐠
This has been requested a lot, and even though I don't personally use Lombok, a lot of developers live by it. Lombok required more unusual configuration inside Liftoff than any other library so far, so I hope it's useful!
That's about it! I hope this works well!
(EDIT: The JAR was changed the same day it was released, because the version number was wrong initially. I don't know if this ever matters in practice, but it might help identify versions that have bugs.)
1.10.0.6 "Strawberry Jam Highlighter"
This release updates to the latest Gradle (7.2), updates quite a few third-party extensions, and (partly) fixes a selection bug on the SETUP COMPLETE
window. The last bug has been really a pain for a while, because it would crash gdx-liftoff after you selected too much text on that window (the project would still be created fully). Now, the selection looks extremely buggy, but it doesn't crash at least; Liftoff also attempts to copy the selection to the clipboard (because it's not easy to copy when the selection is flashing in and out), but this doesn't seem to work reliably. All of this happens because of a long-standing bug in libGDX with color markup in selectable TextArea
s; this may be getting resolved in the next libGDX release.
This also includes a PR by @Frosty-J that should really help with CPU usage when Liftoff is in the background, so thanks!
The reason for the name of this release should be obvious if you encounter the partial fix to the selection bug.
1.10.0.5 "Forays Far From Flatland"
This release mostly exists to update the Gradle (to 7.1.1), Gretty (away from the hacky JitPack release and on to the official 3.0.6), and Android Gradle Plugin (to 4.2.0) versions. It also adds gdx-gltf, which I couldn't believe I had forgotten in the third-party extensions; if you don't know it, gdx-gltf is a much better way of handling 3D graphics and assets in libGDX. SquidLib was also updated a little. There are some comments in the GWT files that detail how you can switch to a GWT 2.9.0 backend, if you want. In general, a small set of useful updates.