Find out more about how you can ensure long-term stability for your solution with Bouncy Castle's Long Term Stable (LTS) release. 

About the Bouncy Castle Java LTS release 

An LTS (long-term stable) release offers the advantage of being updated only with security fixes or backward-compatible enhancements. This simplifies testing for deploying updates to production. 

The Bouncy Castle (BC) Java LTS release provides long-term support for up to five (5) years. The first four (4) years include security and non-breaking API updates, the last year is dedicated to security patches. 

The BC LTS release is based on the BC standard release, maintaining API compatibility while removing unstable algorithms and APIs. It can be downloaded from the official Bouncy Castle website.

It also features a JNI layer allowing it to take advantage of some hardware accelerations for AES and SHA2 where available. The integrated use of hardware acceleration, particularly on more recent Intel CPUs can yield dramatic improvements in throughput as shown in the graph below for AES with GCM.


The plot shows AES-128 GCM, using 3 different Intel CPU profiles for native processing as well as the pure Java version In case you’re wondering, the sudden drops are due to garbage collection, but the overall change in performance is demonstrated by the fact that the scaling of the graph to fit the numbers has almost squashed the pure Java plot into the X axis. 

If you seek stability comparable to the FIPS releases without their associated restrictions, the LTS release is an ideal choice. It reduces the effort required to keep BC deployments updated compared to the more dynamic general release without introducing the restrictions which are a necessary part of a certified release such as the FIPS one. 

Support contracts are now available which offer access to ongoing work on the LTS release and opportunities for participation in the LTS development cycle. Support contract holders can also extend the LTS release update cycle beyond the public 5-year life cycle. 

About the Long-Term Stable release concept  

Long-Term Stable (LTS) releases play a crucial role in providing extensive support and ensuring the reliability of software. By choosing an LTS option, businesses can offer extended support for their applications, compared to the short-term support of standard releases. This focus on stability greatly reduces the risk of regressions, simplifies the development process, and, consequently, ensures a more stable and reliable software experience for the end customer. 

LTS releases also enhance information security by regularly incorporating security patches and updates, protecting against potential vulnerabilities. Without having to worry about API changes, by use of an LTS version, developers can safely and quickly address security concerns over an extended period, providing users with a safe and secure software environment. 

Continued functionality and compatibility are vital for long-lasting software. LTS versions prevent compatibility issues and enable users to take advantage of new features and bug fixes without disruptions. This compatibility helps avoid conflicts with other software dependencies, reducing testing required, and ensuring smooth operations within an integrated software ecosystem. 

By incorporating Bouncy Castle's LTS release into your software solution, you can ensure long-term stability, benefit from improved security, and simplify the maintenance process. Coupled with a support contract you can also benefit from an extended lifetime, early access to the updates to the APIs, and a say in helping ongoing updates also reflect your business needs.  

For more information on the Bouncy Castle Java Long Term Stable (LTS) project and to download the BC LTS release, go to the official Bouncy Castle website.