Product Platforms

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

  • Requires a specific version of Java to compile, i.e., perform development;

  • Requires a specific version of Java, or later, to execute;

  • Supports specific versions of Java as an execution environment;

  • Manages dependencies for significant Maven artifacts used as dependencies by our products;

  • Establishes build defaults and site generation defaults for projects using the 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:

  • Java 7 (July 2011)

  • Java 8 (March 2014)

  • Java 11 (September 2018, a.k.a. 18.9 LTS)

  • Java 17 (September 2021, a.k.a. 21.9 LTS)

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 https://shibboleth.atlassian.net/wiki/spaces/DEV/pages/3089661972.

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:

  • Identity Provider v5.x

  • OpenSAML v5.x

  • Metadata Aggregator v0.10 and v1.0.

The following execution environments are supported by this product platform:

  • Java 17

  • Java 21 expected, from September 2023.

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:

  • Identity Provider v4.x

  • OpenSAML v4.x

  • Java XML Security Tool v3.x.

The following execution environments are supported by this product platform:

  • Java 11

  • Java 17