Upgrading to a modern Java
Patchworks is built on the Java platform. Java is one of the most popular programming languages and is certainly one of the best for developing large codebases. Until recently, Patchworks was using Java version 8 (originally released in 2014), but now it is time to upgrade to a more modern version.
Patchworks was anchored to Java 8 for a long time due to BeanShell version 2 not being compatible with newer versions. Now that Patchworks has switched to BeanShell version 3, it is possible to run Patchworks on Java versions starting at version 8 up to and including the long-term supported release Java 21.
Modern Java versions support new language and library features, along with many performance enhancements, some of which would be beneficial to Patchworks. Starting on September 1, 2025, Patchworks development will be switch to using Java version 21. Java 21 was released in 2023 and is a solid, proven product.
One of the greatest strengths of the Java platform is that backward compatibility has always been a main priority, which is why Java programs compiled using older versions (e.g., version 8) can still run with newer versions (e.g., version 21). However, the opposite is not true; you cannot run a program that has been compiled with Java 21 using an older Java runtime (such as Java 17 or Java 8).
In order for this to work, all customers will need to install a version of Java that is at least as new as the development version, namely Java 21. This should not be a problem, as it is easy to download and install Java from a number of different vendors (see https://whichjdk.com/ for some opinions). At the moment, I recommend the Temurin version of Java 21 from the Adoptium group. The download is available in ZIP or MSI packaging formats, with the MSI installer being more convenient for a seamless installation experience. The download is also available as a Java Runtime Environment (JRE) or Java Development Kit (JDK). The JRE is smaller and contains the programs and libraries required to run Java applications, which is all you need to run Patchworks. The JDK is larger and contains the JRE plus all the compilers and tools required to develop your own Java applications.
Every two years, a new version of Java designated for long-term support is released. For reasons of stability and security, it is advisable to stick with a long-term support version, such as Java version 21. Java 25 LTS was released on September 16, 2025, but this version is known to contain a bug that will crash Patchworks when the graphics configuration changes (e.g., plugging in a projector). In the future, Patchworks may upgrade to a newer version of Java, depending on the benefits of the newer features, and this will be coordinated with a new release announcement.
Contact Patchworks technical support if you have any other questions or if your organization is unable to upgrade to a new version of Java.