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

Table of contents

Factor House
February 27th, 2025
xx min read

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

  • Java 8: Supported for customers who rely on legacy environments.
  • Java 11: A modern, stable release offering long-term support (LTS).
  • Java 17: Our recommended LTS version for customers, ensuring compatibility with newer environments and features.

Docker Releases

  • We use Amazon Corretto 17 as the base image for our Dockerfiles.
  • Our Docker images include the Java 17 JAR by default.

Compatibility Matrix

Java JARs

JAR VersionSupported Java VersionsNotesJava 8Java 8Legacy support, phased-out over timeJava 11Java 11, Java 17Suitable for many modern deploymentsJava 17Java 17+Recommended for most customers

Docker Releases

Deployment TypeBase ImageJAR VersionNotesDockerAmazon Corretto 17Java 17Future-proof, stable LTSHelm ChartsAmazon Corretto 17Java 17Future-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:

  • Transition our JAR compilation targets and base Docker images to the new LTS versions as they are released.
  • Phase out older versions in alignment with Java's premier support timelines.

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:

  • Transition to the new LTS version as our default base image.
  • Update our JAR compilation targets to align with the latest versions.

Phasing Out Java 8

  • We will work closely with customers still using Java 8 to support their migration efforts.
  • A detailed timeline for deprecating Java 8 will be communicated well in advance to ensure a smooth transition.

Why This Matters

Adopting this strategy ensures that:

  • Our software is secure, leveraging the latest Java features and updates.
  • Customers have flexibility, whether they’re operating legacy systems or embracing modern environments.
  • Factor House remains future-focused, delivering cutting-edge solutions without compromising reliability.

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!