Shibboleth Java products are developed as part of a product platform expressed as a version of the java-parent-project. Each platform:

For our current platforms, the same version of Java is a minimum for both compilation and execution. This may not always be the case.

Product platforms are based on versions of Java that themselves have the long-term support (LTS) characteristics required in the Enterprise environment:

Other non-LTS "feature" releases of Java, for example Java 9, Java 10 and Java 12 through Java 16, are not available with long-term support and will not be used as the basis for product platforms.

Any product built using a given product platform is supported for use with the platform's originally specified Java execution environment for the life of the product. This support guarantee requires that the latest version of the Java runtime environment is used: for example, support under Java 11 is contingent on the latest version of Java 11 available being used.

Products built using a given product platform may also be supported for use with a later LTS release of Java at the Project's discretion; see under the individual platform sections below for details. Again, such support is dependent on the latest version of the given LTS release being in use.

The Shibboleth Project also tracks Java non-LTS feature releases (Java 9, 10, 12, ...) for compatibility but unless specifically called out as "supported" by a particular product platform below, execution under these versions of Java is not supported by the Project.

All Shibboleth Project supported products will always have a version which is supported under a current (i.e., not end of life) version of Java.

Current Platforms

Platforms which no longer have supported products associated with them are described in Historic Product Platforms.

Java 17 Platform

The Java 17 platform is based on Java 17 as both a development and execution environment. It will be used by the following products:

The following execution environments are supported by this product platform:

Java 11 Platform

The Java 11 platform is based on Java 11 as both a development and execution environment. It is used by the following supported products:

The following execution environments are supported by this product platform: