Page tree
Skip to end of metadata
Go to start of metadata

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 (expected September 2021)

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 7 is contingent on the latest version of Java 7 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

Java 7 Platform

The Java 7 platform (also referred to as the V3 platform after the related Shibboleth IdP version) is based on Java 7 as both a development and execution environment. It is used by the following supported products:

  • Identity Provider v3.x
  • OpenSAML v3.x
  • Java XML Security Tool v2.x 

This platform is also used by the following preview product:

  • Metadata Aggregator v0.9.2

The following execution environments are supported by this product platform:

  • Java 7
  • Java 8
  • Java 11

The next release of the Shibboleth Metadata Aggregator will be made under the Java 11 platform.

Future Platforms

Java 11 Platform

The Java 11 platform will be based on Java 11 as both a development and execution environment.

We anticipate that the first products released based on this platform will be:

  • Metadata Aggregator v0.10 and v1.0.

  • Identity Provider v4 and its associated OpenSAML release.

The following execution environments are supported by this product platform:

  • Java 11

Historic Platforms

Java 6 Platform

The Java 6 platform (also referred to as the V2 platform) was based on a minimum of Java 6 as both a development and execution environment. It was used by the V2 Shibboleth Identity Provider. It is not used by any currently supported Shibboleth products.

Java 8 Platform

The Java 8 platform was based on Java 8 as both a development and execution environment.

This was an interim platform used during the development transition from Java 7 to Java 11. We do not plan to release any products using this platform. 

  • No labels