Bump jjwt-api from 0.11.5 to 0.12.0
Bumps jjwt-api from 0.11.5 to 0.12.0.
Release notes
Sourced from jjwt-api's releases.
0.12.0
It is finally here! This release includes full support for JSON Web Encryption (JWE), JSON Web Keys (JWK), JSON Web Key Thumbprints, JSON Web Key Thumbprint URIs, and so, so much more.
This is the culmination of hundreds of hours worth of work and testing, and we're glad to finally release it. However, please note:
This is our first-ever breaking change release. While we tried hard to minimize the breakages, some were just necessary in preparation for 1.0 and to finalize all JWT RFC features. If you are not partial to fixing changes when upgrading a library, we strongly encourage you to wait until the 1.0 release.
Please pay particular attention to the CHANGELOG listing breaking changes.
Full documentation is available in the README.
Changelog
Sourced from jjwt-api's changelog.
0.12.0
This is a big release! JJWT now fully supports Encrypted JSON Web Tokens (JWE), JSON Web Keys (JWK) and more! See the sections below enumerating all new features as well as important notes on breaking changes or backwards-incompatible changes made in preparation for the upcoming 1.0 release.
Because breaking changes are being introduced, it is strongly recommended to wait until the upcoming 1.0 release where you can address breaking changes one time only.
Those that need immediate JWE encryption and JWK key support however will likely want to upgrade now and deal with the smaller subset of breaking changes in the 1.0 release.
Simplified Starter Jar
Those upgrading to new modular JJWT versions from old single-jar versions will transparently obtain everything they need in their Maven, Gradle or Android projects.
JJWT's early releases had one and only one .jar:
jjwt.jar
. Later releases moved to a modular design with 'api' and 'impl' jars including 'plugin' jars for Jackson, GSON, org.json, etc. Some users upgrading from the earlier single jar to JJWT's later versions have been frustrated by being forced to learn how to configure the more modular .jars.This release re-introduces the
jjwt.jar
artifact again, but this time it is simply an empty .jar with Maven metadata that will automatically transitively download the following into a project, retaining the old single-jar behavior:
jjwt-api.jar
jjwt-impl.jar
jjwt-jackson.jar
Naturally, developers are still encouraged to configure the modular .jars as described in JJWT's documentation for greater control and to enable their preferred JSON parser, but this stop-gap should help those unaware when upgrading.
JSON Web Encryption (JWE) Support!
This has been a long-awaited feature for JJWT, years in the making, and it is quite extensive - so many encryption algorithms and key management algorithms are defined by the JWA specification, and new API concepts had to be introduced for all of them, as well as extensive testing with RFC-defined test vectors. The wait is over!
All JWA-defined encryption algorithms and key management algorithms are fully implemented and supported and available immediately. For example:AeadAlgorithm enc = Jwts.ENC.A256GCM; SecretKey key = enc.key().build(); String compact = Jwts.builder().setSubject("Joe").encryptWith(key, enc).compact(); Jwe<Claims> jwe = Jwts.parser().decryptWith(key).build().parseEncryptedClaims(compact);
Many other RSA and Elliptic Curve examples are in the full README documentation.
JSON Web Key (JWK) Support!
... (truncated)
Commits
-
4d768b0
[maven-release-plugin] prepare release 0.12.0 -
0ef343e
replaced JJWT_RELEASE_VERSION with 0.12.0 -
b411b19
key byte array cleanup as necessary (#846) -
e78f3f5
JwtParser.parse* method renames (#845) -
3b529ac
Update maven wrapper -
05717d0
Expanded Parser method argument support (#844) -
36a6e13
README cleanup based on latest API (#843) -
854bb89
Builder NestedCollection support (#841) -
20b2fa9
Name cleanup (#840) -
b687ca5
Replace String/byte[] with (N)IO streams (#838) - Additional commits viewable in compare view
Dependabot commands
You can trigger Dependabot actions by commenting on this MR
-
$dependabot rebase
will rebase this MR -
$dependabot recreate
will recreate this MR rewriting all the manual changes and resolving conflicts