Backward compatibility: (v4.2)
1) Versioning & backward compatibility
Since version 2, the pac4j
project has adopted the semver versioning, to make things clearer.
Given a version X.Y.Z:
- when X changes, it’s a major version with breaking changes (example: 2.x, 3.x, and so on)
- when Y changes, it’s a minor version with no compilation/runtime breaking changes (for example, you can upgrade from 2.5.2 to 2.7.0 without any worry)
- when Z changes, it’s a bug fix(es) version with no compilation/runtime breaking change (no upgrade issue either).
Generally, pac4j implementations will adopt the semver versioning when upgrading to pac4j
version 2, if they don’t already have.
Notice that, while
pac4j-*
modules are backward compatible, you should always add the pac4j-core
dependency in the same version as the upgraded pac4j-*
dependency.2) Maintenance
Generally, only one stable and released stream of pac4j
is maintained at the same time, currently, it’s version 4.