Blog

Product news, updates, and insights from ej-technologies.

Read with RSS. Subscribe by email. Follow on .

HotSpot Strikes Back: Is JEP 544 The End Of The GraalVM Startup Monopoly?

2026-09-21
Posted by Ingo Kegel
Exciting times for the HotSpot JVM: JEP 544: Ahead-of-Time Code Compilation was just proposed for Java 28. This promises to give the HotSpot AOT cache a startup performance that will rival GraalVM, without any of its hardships. But training the AOT cache is different from pre-compilation with GraalVM, so how do they really compare?

SBOMs Become Mandatory in 15 Months. Yours Is Probably Wrong.

2026-09-09
Posted by Ingo Kegel

On December 11, 2027, the SBOM obligations of the EU Cyber Resilience Act start applying. This means that you will soon need an SBOM if you want to ship software in the EU. It's not just the EU, but a global trend of enforcing supply-chain security with this declarative approach: The US has required SBOMs for federal software vendors since 2021, and CISA/NSA/FBI published updated SBOM minimum elements in July of this year.

Getting an SBOM correct is not easy, and it becomes even harder when you ship installers for your software. What should you do now? Let's take a look.

Migrating to install4j 12

2025-10-31
Posted by Ingo Kegel

In most cases, migrating to install4j 12 usually just involves opening and saving your project with the install4j 12 IDE. Nevertheless, there are some considerations with respect to backward compatibility and some behavioral changes.

With Temurin 24.0.2, Adoptium JDKs can again be modularized by install4j

2025-08-04
Posted by Ingo Kegel

This year we had some dramatic moments starting in April with the release of Temurin 24.0.0 from Adoptium, our default JDK bundle provider. In this blog post we celebrate the happy conclusion of this incident.

JEP 493 follow-up: install4j 11.0.4 is ready for separate JMOD bundles in Eclipse Temurin 24.0.2

2025-06-05
Posted by Ingo Kegel

Two months ago, I wrote about how JEP 493 threatened cross-platform JRE bundle creation by allowing JDK vendors to omit JMOD files from their distributions. Without JMOD files, tools like install4j cannot build cross-platform runtime images. This had the potential to seriously disrupt functionality for our users.

Caching auto-provisioned install4j distributions in CI pipelines

2025-04-14
Posted by Ingo Kegel

Starting with install4j 11.0, integrating install4j into your build system has become much easier: The Gradle, Maven, and Ant plugins can now auto-provision the install4j distribution. This means the plugins will download and cache the appropriate install4j version automatically, so you no longer need to install install4j manually.

Cross-platform JRE bundle creation under threat from JEP 493

2025-04-08
Posted by Ingo Kegel

One of the most valuable capabilities introduced with the Java module system in Java 9 is its support for creating custom runtime images with jlink. Developers can include only the modules they need, resulting in lightweight JRE bundles tailored to the requirements of their applications. Using the --module-path option, it has even been possible to generate those runtime images for different operating systems from a single host machine.

With Java 24, JEP 493 introduces a change that significantly impacts this workflow. JDK vendors can now configure builds without .jmod files, as jlink can optionally extract the required resources from the lib/modules jimage file. While this change reduces the size of the JDK by about 25%, it also removes critical support for cross-platform linking.

Improvements for macOS App Store submissions in install4j 11.0.2

2025-01-14
Posted by Ingo Kegel

install4j 11.0.2 introduces several new features to simplify macOS App Store submissions, including automated entitlement handling for TestFlight, improved support for local testing with development provisioning profiles, and dynamic bundle versioning for easier resubmission of builds.

Migrating to install4j 11

2024-09-02
Posted by Ingo Kegel

In most cases, migrating to install4j 11 usually just involves opening and saving your project with the install4j 11 IDE. Nevertheless, there are some considerations with respect to backward compatibility and some behavioral changes.

Namespace awareness of XML actions in install4j

2024-08-21
Posted by Ingo Kegel

This post explains an exceptional backward-incompatibility in the install4j 10.0.9 release. This was necessary due to a change in install4j 10.0.8 that was intended to fix the corruption of namespaced XML documents by modifying XML actions.

Archive