github libgdx/gdx-liftoff v1.12.0.5
1.12.0.5 "Upgrades and Apples"

latest releases: v1.14.0.8, v1.14.0.7, v1.14.0.6...
2 years ago

This release updates to Gradle 8.4, which gets us nearly nothing other than some security fixes, but those are important too. Likely more important is the fix in StartupHelper when running Liftoff or generated LWJGL3 projects on macOS. A snippet of code recently added to crykn/Guacamole, which is the original source of StartupHelper, was meant to help run on GraalVM Native Image, but the check was flipped incorrectly (both here and in Guacamole). That made Macs essentially unable to start Liftoff or apps that used StartupHelper since about Liftoff 1.12.0.2 .

If you are concerned that you might have a problematic StartupHelper in your project (which may have never been tested on a Mac), just make sure the section that mentions Graal in it looks like this (the correct way for Java):

        // There is no need for -XstartOnFirstThread on Graal native image
        if (!System.getProperty("org.graalvm.nativeimage.imagecode", "").isEmpty()) {
            return false;
        }

The important part is the ! at the start of the if statement, which was missing before. In Kotlin, StartupHelper uses isNotEmpty() instead of isEmpty(), so it doesn't use ! at the start. Here's a correct way for Kotlin:

            // There is no need for -XstartOnFirstThread on Graal native image
            if (System.getProperty("org.graalvm.nativeimage.imagecode", "").isNotEmpty()) {
                return false
            }

New projects will use the corrected StartupHelper class, much like Liftoff itself does.

The GWT Plugin and RoboVM versions were also updated, to 1.1.29 and 2.3.20, respectively.

As always, I hope this release has fewer bugs than the last one!

Don't miss a new gdx-liftoff release

NewReleases is sending notifications on new releases.