A POM by any other name

By POM I mean Apache Maven’s Project Object Model. The POM format is widely used not just by Apache Maven to build and consume projects, but also by other tools such as IDEs, build tools, code analyzers, etc. Understanding the capabilities exposed by this format are key to successful builds, developer productivity, supply chain management (and security as well), and other concerns. What follows is a list of different types of POMs you may encounter in the wild. This list is not exhaustive, feel free to comment on other patterns you may find. To begin with, a pom.xml file is Read More

JReleaser release cadence

Since the early days JReleaser has had 2 release paths: fast & slow. The fast path is the early-access release, posted every time a commit is pushed to the main branch. This type of release allows early adopters to test out new features as soon as they are added to the main branch. Consumers of the jreleaser/release-action GitHub Action can take advantage of the version property exposed by said action to select this release. Early Access releases are intended to be downloaded manually as they might be unstable and as such only CLI related artifacts are posted. There are NO Read More

JReleaser 1.2.0 has been released!

JReleaser v1.2.0 has just been released! I’m quite excited about this release as it brings a feature that’s been brewing for a long time, even before 1.0.0 came out: execution hooks. But, wait there’s more! The full list of issues can be found at the v1.2.0 milestone. We’ve also merged contributions from 4 new contributors: Margarita Nedzelska, Alexius Diakogiannis, Guillaume Smet, Aiden Turner. Execution Hooks JReleaser follows a series of steps when creating a release. Command hooks let you invoke external commands before and/or after each step is executed. With this feature in place you may invoke arbitrary commands that Read More

JReleaser 1.1.0 has been released!

JReleaser v1.1.0 has just been released! This is the first feature release after v1.0.0 and it comes with a few goodies. The following sections describe new capabilities offered by this release. Download One of JReleaser’s core tenets is enabling releases to be posted from a local environment as a complement to performing this task at a CI or remote environment. For this to work all behavior configured on CI must also be available on a local environment. The newly added Download step lets you download files (assembly assets, templates, etc) from different sources such as FTP, HTTP, SCP, and SFTP. Read More

JReleaser 1.0.0 is here!

The day has come. JReleaser v1.0.0 is here! I’m beyond ecstatic to post this announcement as this release is the culmination of multiple efforts made by all contributors, taking into account feedback received by several early adopters, some of which can be seen here. Remember that all deprecated code has been removed, we recommend upgrading to v1.0.0-M3 first to find out if your build uses deprecated features before moving to v1.0.0. There is one more thing to mention, this release coincides with v0.1.0 which was posted exactly 1 year ago 🥳🤩 Lots of features have been added to the tool Read More

JReleaser 1.0.0-RC2 has been released!

JReleaser v1.0.0-RC2 has just been released! There were 2 issues reported against v1.0.0-RC1. Remember that all deprecated code has been removed, we recommend upgrading to 1.0.0-M3 first to find out if your build uses deprecated features before moving to 1.0.0-RC2. As always, feedback is welcomed, feel free to file a ticket or start a discussion topic. Keep on coding! Image by Kien Virak from Pixabay

JReleaser 1.0.0-RC1 has been released!

JReleaser v1.0.0-RC1 has just been released! There’s only a handful of small fixes to be found in this release. However, the main change is the removal of all deprecated code. We recommend upgrading to 1.0.0-M3 first to find out if your build uses deprecated features before moving to 1.0.0-RC1. This is it. We’re on the home stretch to v1.0.0! Barring any blockers this means v1.0.0 should hit the streets in a couple of weeks. We simply could not have done it without the feedback we’ve received from early adopters. Thank you so much! As always, feedback is welcomed, feel free Read More

JReleaser 1.0.0-M3 has been released!

JReleaser v1.0.0-M3 has just been released! The third milestone release (likely the very last one) towards 1.0.0 is here! This release fixes several issues found in assemblers (jlink, jpackage, native-image). The v1.0.0-M3 milestone shows all closed tickets. Here’s a quick summary of what’s changed: Jlink Support for creating custom Java runtimes for modular applications has been revamped. JReleaser did not handle paths and quoted arguments correctly when running on Windows, that’s now a thing of the past. JPackage Both appName and appVersion properties now support name templates. You may also override appName per platform. Building packages for modular applications is Read More

JReleaser 1.0.0-M2 has been released!

JReleaser v1.0.0-M2 has just been released! The second milestone release towards 1.0.0 is here! This release fixes a variety issues find by users. Be mindful of the breaking changes introduced in this release. There are no big features added in this release, just a handful of improvements and plenty of fixes, such as Chocolatey Lots of improvements in this area such as GitHub workflow files being placed at their correct location; POSIX file permissions handled correctly when running on Windows; skip remote repository when packaging on Windows; simplified templates for BINARY and NATIVE_IMAGE distributions; ability to override package version; validate Read More

JReleaser 1.0.0-M1 has been released!

JReleaser v1.0.0-M1 has just been released! This is it folks, the road to v1.0.0 has just begun! This release fixes a variety of small issues found by consumers. Be mindful of the breaking changes introduced in this release. There are just a handful of new features besides all fixes, such as Sigstore Cosign Artifacts may now be signed with Sigstore’s cosign. JReleaser will download a cosign binary if there’s none available on the system. Cosign signatures are not compatible with GPG and thus can’t be used to sign commits and tags. Native Image Native executables created with GraalVM Native Image Read More

ˆ Back To Top