8.0.0-RC2 Release Notes

We strongly recommend that you take advantage of the release candidates as they come out. Waiting for a GA release is only going to set you up for unpleasant surprises. A GA is a tag and nothing more. Note that CAS releases are strictly time-based releases; they are not scheduled or based on specific benchmarks, statistics or completion of features. To gain confidence in a particular release, it is strongly recommended that you start early by experimenting with release candidates and/or follow-up snapshots.

Apereo Membership

If you benefit from Apereo CAS as free and open-source software, we invite you to join the Apereo Foundation and financially support the project at a capacity that best suits your deployment. Note that all development activity is performed almost exclusively on a voluntary basis with no expectations, commitments or strings attached. Having the financial means to better sustain engineering activities will allow the developer community to allocate dedicated and committed time for long-term support, maintenance and release planning, especially when it comes to addressing critical and security issues in a timely manner.

Get Involved

Resources

System Requirements

The JDK baseline requirement for this CAS release is and MUST be JDK 25. All compatible distributions such as Amazon Corretto, Zulu, Eclipse Temurin, etc should work and are implicitly supported.

New & Noteworthy

The following items are new improvements and enhancements presented in this release.

OpenRewrite Recipes

CAS continues to produce and publish OpenRewrite recipes that allow the project to upgrade installations in place from one version to the next. See this guide to learn more.

Graal VM Native Images

A CAS server installation and deployment process can be tuned to build and run as a Graal VM native image. We continue to polish native runtime hints. The collection of end-to-end browser tests based on Puppeteer have selectively switched to build and verify Graal VM native images and we plan to extend the coverage to all such scenarios in the coming releases.

Testing Strategy

The collection of end-to-end browser tests based on Puppeteer continue to grow to cover more use cases and scenarios. At the moment, total number of jobs stands at approximately 532 distinct scenarios. The overall test coverage of the CAS codebase is approximately 94%. Furthermore, a large number of test categories that group internal unit tests are now configured to run with parallelism enabled.

Session Replication

Crypto operations that support generating cookies for deprecated session replication capabilities are now turned off by default to avoid generating keys. Furthermore, the session replication capabilities that are not based on the ticket registry are now turned off by default. If you are using the deprecated legacy session replication features, you MUST explicitly turn on these features by setting the following properties:

1
2
cas.x.y.z.session-replication.replicate-sessions=true
cas.x.y.z.session-replication.cookie.crypto.enabled=true

Remember to substitute x.y.z with the appropriate session replication module version you are using (i.e. oauth, saml-idp, etc).

Palantir Admin Dashboard

Palantir Admin Console received significant changes across the board to handle and support more actuator endpoints, when it comes to adding external identity providers, retrieving user sessions, listing multifactor authentication providers, etc.

Spring Boot 4

CAS is now built with Spring Boot 4.1.x. This is a major platform upgrade that affects almost all aspects of the codebase including many of the third-party core libraries used by CAS as well as some CAS functionality.

Spring Cloud Bus w/ AMQP

Support for Spring Cloud Bus with AMQP is not yet quite compatible with Spring Boot 4.1.x. We will reintroduce this support in a future release once compatibility is restored.

JSpecify & NullAway

CAS codebase is now annotated with JSpecify annotations to indicate nullness contracts on method parameters, return types and fields. We will gradually extend the coverage of such annotations across the entire codebase in future releases and will integrate the Gradle build tool with tools such as NullAway to prevent nullness contract violations during compile time.

SpringBoot Admin

Support for SpringBoot Admin is now compatible with Spring Boot 4.x.

Other Stuff

  • Compiled valid regular expressions are now cached to improve performance across the board.
  • Continued efforts using advanced code analysis techniques to remove potential memory leaks and improve system performance.
  • CAS is now upgraded to use jQuery version 4.0.0.
  • Integration tests have switched to use MySQL 9.6.x.