JReleaser 0.9.0 Released!November 30, 2021
JReleaser is a tool that streamlines creating releases for [Java] projects. It can create a GitHub/GitLab/Gitea release, while also packaging binaries for Homebrew, Snapcraft, Docker, Chocolatey, Scoop, JBang and, more than that, announces releases to Twitter, SdkMan!, e-mail, Zulip, Discord, Gitter, Slack, Teams, and more.
JReleaser v0.9.0 has just been released! JReleaser v0.9.0 is a big update as we gear towards v1.0.0. Plenty of improvements were added to this release to make it the best one so far. Be mindful of the breaking changes introduced in this release.There are plenty of improvements in several areas, a quick summary of the highlights follows:
- Jlink. We've made several improvements to the Jlink assembler. In particular it's now possible to create a Jlink image for Quarkus applications using their fast JAR layout. You'll find an example at the project's documentation. You can find a fully working example based on Quarkus at https://github.com/aalmiray/q-cli-jlink.
- JDKs. You can now provision JDKs using the Foojay Discovery API. This feature lets you define JDK requirements that the Disco API will resolve into downloadable packages. You may continue to use the explicit setup as well.
- Docker. There's an additional template that lets you create Docker images by downloading artifacts from their published URL. You may continue to build Docker images using local artifacts as well. Publication of Docker sources to a Git repository used to place each version in its own sub directory, this is now an optional feature and is disabled by default.
- Gradle. Plenty of updates made to the Gradle plugin to ensure it's on par with its Maven counterpart. In particular
brew.taphas been renamed to
brew.repoTap. The default outputs of the
distTartask are no longer automatically added as a distribution, you must explicitly register the artifacts you need.
- FileSets. FileSets are similar to Globs in the sense that you can define a pattern to collect files to be added to an assembler. Unlike Globs, FileSets retain the relative directory structure. FileSet now accept extraProperties like Globs and Artifacts, also their properties accept named templates. All assemblers support fileSets.
- MacPorts. MacPorts joins the list of supported platform packagers. For the time being only JAVA_BINARY and NATIVE_IMAGE distributions are supported.
- Engine. Refinements to inclusion/exclusion of assemblers, packagers, uploaders, and announcers were added to the CLI, Ant tasks, Maven, and Gradle plugins. You may now include or exclude multiple items, giving you finer control.
- Chocolatey. You can now locally package and publish Chocolatey packages if you're running on Windows. PowerShell is required.
- Internationalization. We now have full translations for core in English, Russian, and Catalan. German is in the works. We also have new Traditional Chinese and Russian translations for the CLI.
Full changelog can be found at the v0.9.0 release page.
More information about the tool can be found at https://jreleaser.org.