Releasing Software at Factor House: Our Java Compatibility and Evolution Strategy

Releasing Software at Factor House: Our Java Compatibility and Evolution Strategy

At Factor House, delivering reliable software is at the heart of everything we do. A key aspect of this commitment lies in our approach to managing Java compatibility.

Our suite of products works seamlessly across a range of JVM versions—from Java 8 to Java 17 and beyond. We balance supporting large enterprises still demanding Java 8 releases while staying ahead with JVM advancements, such as catering to customers requiring Graviton builds for deployments targetting ARM.

This blog post outlines our current release process and future plans for evolving Java support, including our approach to deprecating older versions in a way that respects the needs of diverse customer bases.

Our Current Java Release Strategy

We release our software in two primary formats: as JAR files and through Docker containers. Here’s an overview of our compatibility and deployment practices:

JAR Releases

Docker Releases

Compatibility Matrix

Java JARs

JAR Version Supported Java Versions Notes
Java 8 Java 8 Legacy support, phased-out over time
Java 11 Java 11, Java 17 Suitable for many modern deployments
Java 17 Java 17+ Recommended for most customers

Docker Releases

Deployment Type Base Image JAR Version Notes
Docker Amazon Corretto 17 Java 17 Future-proof, stable LTS
Helm Charts Amazon Corretto 17 Java 17 Future-proof, stable LTS

Our Commitment to Compatibility

  1. Backward Compatibility: We understand that some customers operate in environments requiring older Java versions. That’s why we’ve maintained Java 8 and Java 11 compatibility in addition to Java 17.
  2. Future-Ready: We’re committed to adopting more recent LTS versions of Java as they become available, ensuring our software leverages the latest performance and security improvements.
  3. Transition Planning: While we currently support Java 8, we recognize its end-of-life status in many contexts. As part of our roadmap, we plan to phase out Java 8 support gradually, allowing customers ample time to transition to newer versions.

Moving Closer to Java’s LTS Release Cycle

Moving forward, Factor House will align more closely with Java’s LTS release cycle. For instance, LTS GA support for Java 25 commences in September 2025, and we plan to:

This strategy will enable us to provide customers with timely access to the latest Java features and optimizations while maintaining a predictable and transparent deprecation schedule.

Looking Ahead

Docker Image Evolution

Over time, our base Docker image will evolve to reflect newer LTS Java versions. For instance, as future LTS releases like Java 21, Java 25, or beyond become widely adopted, we’ll:

Phasing Out Java 8

Why This Matters

Adopting this strategy ensures that:

Conclusion

At Factor House, we’re committed to balancing innovation with stability. By supporting multiple Java versions and planning for future transitions, we ensure that our customers can deploy our software confidently, no matter their infrastructure. Stay tuned for updates as we continue to evolve our Java release strategy and roadmap.

Have questions or need guidance on transitioning to a newer Java version? Reach out to our support team—we’re here to help!