Skip to content

Releases: libgdx/gdx-liftoff

1.12.1.16 "No MOE? No More!"

14 Sep 02:21
Compare
Choose a tag to compare

This is just a patch release for the last version; it includes just two small changes and is otherwise the same. The main one is that MOE is now actually fully enabled in the UI! Most of the code was around before, and would have worked if the UI permitted it; now it does. The only other, tiny, change is that one third-party library (digital) had a default version update (shocking, I know). For anything else, the release notes from the last version should apply.

That includes the warning about the native distribution for macOS! If you aren't sure you need the native distributions, maybe you should try the JAR first!

Starting with this release, older native distributions will be removed from releases where they were known not to work correctly, or if they are made entirely obsolete by a newer release. JAR releases, which are smaller files, will not be removed unless the repo is completely out of space.

1.12.1.15 "Jam-Packed With Updates"

13 Sep 03:01
Compare
Choose a tag to compare

Users of macOS, consider yourselves warned! Read this troubleshooting section should thine cursor falter in haste, and foolishly the native distribution click ye! But, you should just use the JAR instead, if you can run JARs!

This mighty release should sate the ravenous throngs beseeching, nay, demanding updates to their precious versions!

First, some Mac support from updating NFD to NFDe, now at 3.3.4, to help the file selection dialogs. In addition, this updates Construo to 1.4.1 , which helps the native Mac distribution here a little (you should still probably prefer the .jar if that works for you).

The language defaults for Kotlin and Scala are now at their current latest stable versions (2.0.20 for Kotlin, 3.5.0 for Scala). If anyone wants Scala 2.x support still, please post an issue here on GitHub; Scala 3 uses different... everything from Scala 2, and this means Liftoff can generate dependencies for one but not the other.

MOE is enabled again, thanks to @Berstanio 's PR! This is another option for targeting iOS that allows using newer Java language levels and APIs than RoboVM, but isn't official and hasn't been tested as thoroughly. If you like features, I'm sure this is enticing, though!

Gradle is now up-to-date at 8.10.1, but this release has a bad known issue that, as of today, has a known workaround that Liftoff uses starting in this release. The issue is, generally, an unexpected build failure related to Gradle's "daemon" service it runs, and disabling the daemon avoids risking the failures at all. The 8.10.2 release is expected to issue a better fix that permits using the daemon if you want, but 8.10.1 without the daemon seems to perform fine so far, actually better than 8.10 with the daemon, potentially.

The OpenJDK versions downloaded by Construo have been updated; I'm not sure if they're the most recent right now, but they are newer.

Various bugs were fixed:

  • projectVersion won't appear where an actual version was expected.
  • Graal Native Image should behave with Gradle 8.10 (and 8.10.1) now; it needed some dependency changes moved around.
  • If preferences can't be written for whatever reason (typically Windows-related), the app won't crash, since they aren't critical.
  • Asset changes should be detected more reliably now, and not just when source code has changed.

Of the releases here, you should prefer the .jar file if you know you can run .jar files how you normally do, such as by double-clicking them. If you aren't confident a .jar file will run for you, you can either try the appropriate native distribution, or install a free/libre JDK that will let you run .jar files. As ye hast once been warned, macOS users should really use the .jar if at all possible, and if you do need to use the native distribution on macOS, there are extra steps it requires.

OK, get jamming, and good luck!

1.12.1.14 "Update/Thread"

17 Aug 04:54
Compare
Choose a tag to compare

This release is small compared to the last one, considering it's been less than 2 days since I released 1.12.1.13 . But, it has at least two new things:

  • A serious bug on MacOS (probably affecting x64 and definitely affecting M1) caused a crash when the folder picker was opened. This is fixed.
  • There were several libraries with slightly out-of-date versions, which didn't always get auto-updated. Oh no! But they're all on the current versions now.

So, there's only a real reason to update from 1.12.1.13 to 1.12.1.14 if you're using a Mac, but there are at least some minor improvements in general.

I'm not sure if the Construo-built packages in this version all work. #194 hasn't been resolved yet, and that may mean M1 Mac users should use the JAR instead. Mac users on x64 Macs might also need the JAR. It has been confirmed that the native distributions for macOS in this version didn't work at all; they have been removed to save space. You should use the JAR if you want this version on a Mac. You probably still want a JAR in any newer version, since there are extra steps required to use the native distribution.

The Win64 package works for me, at least.

1.12.1.13 "We Mean It This Time"

15 Aug 11:33
Compare
Choose a tag to compare

This is a fairly big release! We have some ground to cover.

This release updates to Gradle 8.10! This allows generated projects to be built by Java 23, which comes out in about a month. However, it also requires users to build with a JDK 17 or newer (both JDK 17 and JDK 21 are LTS releases that work fine with this). So, really, we mean it this time, use Java 17 or newer! You can always target a lower language level in Liftoff's last options page (or on the right if using the full-screen view), and your generated JARs will be compatible down to that language level.

There's some extra effort to find an IDEA installation thanks to @lyze237 . There are some Construo improvements thanks to @fourlastor and @TCreutzenberg . There are wide variety of UI improvements thanks to @raeleus . And @Frosty-J noticed a typo!

There are various library updates. There are various language updates by default, such as to Kotlin 1.9.25 and Groovy 4.0.22 . There are some new libraries (TexturePackerOnly and TextureUnpackerOnly).

Liftoff has the option to use a Construo-built native executable for itself, in case you don't have a globally installed JDK but you can run native executables for your OS. You can still download a smaller JAR file if you can run those easily!

I hope this release works smoothly for you! Best of luck!

1.12.1.12 "Repetitive Repetition Repeats Repeatedly"

11 Jul 09:27
Compare
Choose a tag to compare

This is a small release that aims to get all the latest UI changes in place for documentation to be able to describe them. There aren't many new features here, but you can reset any selections back to the blank initial selection by clicking the reset button in the upper right, and separately, there's a button to delete folders that might have contents you don't want overlapping. GameJolt's API can be accessed with a new third-party library, and several other third-party libraries have had their default versions updated. There's more documentation about some otherwise-confusing parts of .gwt.xml files, in the generated .gwt.xml files (I couldn't even find official documentation on some of the newly-documented tags). Some rarely-encountered, but still problematic, bugs with the Generate button have been fixed, also.

Enjoy your launch!

1.12.1.11 "Verminous Villains Vanquished"

29 Jun 06:36
Compare
Choose a tag to compare

This release is primarily full of bugfixes! There are also some new convenience features, like being able to read the whole path in folder selection dialogs, and being able to close windows with the Enter or Escape keys. But there are important bugfixes! You can select a Java version, or other options from what was the "Advanced" tab, correctly now, without the versions getting jumbled. If you select iOS, a JDK of 9 or newer will get downgraded to the maximum compatible version for iOS, JDK 8. MOE is enabled again, sort-of, but doesn't work yet; it should be working in an upcoming version if things go as we hope in the Gradle-verse. There's a reset button, which lets you clear your selections that may have lingered from an earlier run (it acts a lot like deleting the preferences file, but can be done during usage).

Big thanks again to @raeleus for handling any and all UI changes that came up here! Also, thanks to everyone who tested this early version of the new UI, and I hope you liked it!

1.12.1.10 "Jam Team Assemble"

13 Jun 05:07
Compare
Choose a tag to compare

This release is huge! From a purely practical standpoint, it updates to the latest Gradle (8.8) to allow users with only the newest Java installed to still open up the Gradle projects. There are some new third-party libraries. You can now open in IDEA even if IDEA was installed via FlatPak, thanks to @lyze237 . And there might be some minor differences in the user experience you could notice, such as, oh I don't know...

EVERYTHING.

The entire UI was overhauled and rewritten from scratch by that ferocious and tenacious code warrior, @raeleus ! Now you can search for third-party extensions by name instead of scrolling endlessly! There's a version for smaller screens that asks for information in bite-size pieces! There's a 1080p-or-larger version that shows everything on one page! The old crufty Advanced options page is totally cleaned up now! It looks really nice, too, with animations as a project is generated and when you go between pages of the smaller-screen version! It's chock-full of goodness all around.

Please try it out and tell us what we screwed up this time! The Issues page here on GitHub is a good place if you have a pretty firm idea of what the problem is, or you can ask on the libGDX Discord for help if it might not be a bug in a program, such as if something just isn't clear. In fact, there's a link to the Discord on the first page of the Liftoff (small screen) window now!

This release coincidentally comes just a few days before the June 2024 libGDX Game Jam (the 5 year anniversary game jam) and the 10 year anniversary of my (@tommyettinger 's) ongoing commit streak. So, happy anniversaries! Enjoy the release!

1.12.1.9 "Can He Build It?"

24 May 23:31
Compare
Choose a tag to compare

This release has one feature removed and replaced with a newer, better, shinier feature. Ooh, shiny. The removed feature is the (clumsily written, by me) configuration for jpackage that was included in LWJGL3 build.gradle files. The replacement is that configuration for Construo is now included in LWJGL3 build.gradle files! Where jpackage would only build one binary for the current OS and architecture, Construo can build for other architectures than the one you're currently running on. It can also set the flag that Windows uses to prefer the discrete GPU on machines with both integrated and discrete graphics. The config is also a good amount cleaner. Huge thanks to @fourlastor for the PR and for writing Construo and its related tools!

1.12.1.8 "Unicorn Warfare"

18 Apr 05:45
Compare
Choose a tag to compare

This release is small, but includes some tricky fixes for problems people faced recently.

The first is the larger fix: Android apps that use a default icon (any default icon, if it's reused between different developers' apps) can be suspended on Google Play Store for plagiarism, just by having the same icon as another app. It's arguably a good approach for Google, since they understandably don't want a finished product looking like a clone of another on their store. It's a problem for developers who are in an early stage of app development, though, and want to upload an alpha-quality build for feedback. To avoid at least most cases where an app could be duplicated, Liftoff now uses the project name and its root package to generate random colors and choose icons randomly, emitting Frankenstein-esque icons into your Android module. The colors are... rather bright. You will want to change the icon before submitting to anywhere public, which is part of the point. If you don't, it won't overlap, though, so there is an extra layer of safety.

The second fix is validation; as per #149 , using a main class name that was already used by libGDX could sometimes cause cyclic dependency issues. Now, all class names in libGDX (except for inner classes, which I don't think are involved) are considered invalid main class names for your code. Not only does this catch a possible compilation problem before it happens, this helps avoid confusion for people who try to help (i.e. if your class Game is not the Game class defined by libGDX, or you have a Stage class that is unrelated to the scene2d Stage).

There are some other small changes, like TeaVM versions now using stable releases, and the GdxWebSocket GWT dependency getting fixed. I hope this works well for you!

(Also, the JAR file is slightly larger because there are 1991 icon files present in the resources. Each one is very small, and the JAR format compresses them fairly well, but the size adds up! Only by about 2MB, but still...)

1.12.1.7 "The Amazing Shrinking Project Generator"

29 Mar 05:09
Compare
Choose a tag to compare

This release has a pretty wide variety of changes, most of them requested by users, so if something wasn't to your liking before, you can try this version! Changes include:

  • You can generate some more predefined samples purely from the command line now. gradlew sample --args="android_dev" will produce a sample that already has Box2D, Box2D-Lights, GDX-Freetype, ShapeDrawer, TenPatch, and Stripe added to it, without needing a GUI at all. There's also "gwt_dev" and "tea_dev".
  • There's a notification that replaces the Liftoff logo if your version is out-of-date. This will only do anything when the next version is released, since only 1.12.1.7 is currently able to respond to a more recent version being available.
  • The font is skinnier, which lets more of the description text be visible in third-party extensions.
  • More libraries! Gdx-UnBox2D, Apache Fury, Apache Commons Collections, gand, crux, cringe, tantrum... Also, SquidSquad should work out-of-the-box again, and InGameConsole (by StrongJoshua, initially) now works on GWT.
  • ProGuard config has improved.
  • iOS requirements are handled for upcoming changes in the App Store rules.
  • Annotation processors should work on GWT now.
  • Gradle has been updated to 8.7 .
  • Toolchains have been removed because a simpler way seems to work better.
  • MOE has been removed temporarily... We are waiting on a fix from the Gradle team that apparently is blocking MOE from working in Gradle's current version.
  • Lastly, the JAR is smaller! It turns out we didn't need to include audio libraries with gdx-liftoff, because it doesn't play any sounds or music.

I hope this release works for you!