Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 68379ae

Browse files
committedOct 6, 2023
Prepping for the 0.12.2 release
1 parent a7d3d31 commit 68379ae

File tree

3 files changed

+26
-14
lines changed

3 files changed

+26
-14
lines changed
 

‎CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
## Release Notes
22

3+
### 0.12.2
4+
5+
This is a follow-up release to finalize the work in 0.12.1 that tried to fix a reflection scope problem
6+
on >= JDK 17. The 0.12.1 fix worked, but only if the importing project or application did _not_ have its own
7+
`module-info.java` file.
8+
9+
This release removes that reflection code entirely in favor of a JJWT-native implementation, eliminating JPMS
10+
module (scope) problems on >= JDK 17. As such, `--add-opens` flags are no longer required to use JJWT.
11+
12+
The fix has been tested up through JDK 21 in a separate application environment (out of JJWT's codebase) to assert
13+
expected functionality in a 'clean room' environment in a project both with and without `module-info.java` usage.
14+
315
### 0.12.1
416

517
Enabled reflective access on JDK 17+ to `java.io.ByteArrayInputStream` and `sun.security.util.KeyUtil` for

‎README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -540,18 +540,18 @@ If you're building a (non-Android) JDK project, you will want to define the foll
540540
<dependency>
541541
<groupId>io.jsonwebtoken</groupId>
542542
<artifactId>jjwt-api</artifactId>
543-
<version>0.12.1</version>
543+
<version>0.12.2</version>
544544
</dependency>
545545
<dependency>
546546
<groupId>io.jsonwebtoken</groupId>
547547
<artifactId>jjwt-impl</artifactId>
548-
<version>0.12.1</version>
548+
<version>0.12.2</version>
549549
<scope>runtime</scope>
550550
</dependency>
551551
<dependency>
552552
<groupId>io.jsonwebtoken</groupId>
553553
<artifactId>jjwt-jackson</artifactId> <!-- or jjwt-gson if Gson is preferred -->
554-
<version>0.12.1</version>
554+
<version>0.12.2</version>
555555
<scope>runtime</scope>
556556
</dependency>
557557
<!-- Uncomment this next dependency if you are using:
@@ -574,9 +574,9 @@ If you're building a (non-Android) JDK project, you will want to define the foll
574574

575575
```groovy
576576
dependencies {
577-
implementation 'io.jsonwebtoken:jjwt-api:0.12.1'
578-
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.1'
579-
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.1' // or 'io.jsonwebtoken:jjwt-gson:0.12.1' for gson
577+
implementation 'io.jsonwebtoken:jjwt-api:0.12.2'
578+
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.2'
579+
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.2' // or 'io.jsonwebtoken:jjwt-gson:0.12.2' for gson
580580
/*
581581
Uncomment this next dependency if you are using:
582582
- JDK 10 or earlier, and you want to use RSASSA-PSS (PS256, PS384, PS512) signature algorithms.
@@ -601,9 +601,9 @@ Add the dependencies to your project:
601601

602602
```groovy
603603
dependencies {
604-
api('io.jsonwebtoken:jjwt-api:0.12.1')
605-
runtimeOnly('io.jsonwebtoken:jjwt-impl:0.12.1')
606-
runtimeOnly('io.jsonwebtoken:jjwt-orgjson:0.12.1') {
604+
api('io.jsonwebtoken:jjwt-api:0.12.2')
605+
runtimeOnly('io.jsonwebtoken:jjwt-impl:0.12.2')
606+
runtimeOnly('io.jsonwebtoken:jjwt-orgjson:0.12.2') {
607607
exclude(group: 'org.json', module: 'json') //provided by Android natively
608608
}
609609
/*
@@ -2952,7 +2952,7 @@ scope which is the typical JJWT default). That is:
29522952
<dependency>
29532953
<groupId>io.jsonwebtoken</groupId>
29542954
<artifactId>jjwt-jackson</artifactId>
2955-
<version>0.12.1</version>
2955+
<version>0.12.2</version>
29562956
<scope>compile</scope> <!-- Not runtime -->
29572957
</dependency>
29582958
```
@@ -2961,7 +2961,7 @@ scope which is the typical JJWT default). That is:
29612961

29622962
```groovy
29632963
dependencies {
2964-
implementation 'io.jsonwebtoken:jjwt-jackson:0.12.1'
2964+
implementation 'io.jsonwebtoken:jjwt-jackson:0.12.2'
29652965
}
29662966
```
29672967

@@ -3069,7 +3069,7 @@ scope which is the typical JJWT default). That is:
30693069
<dependency>
30703070
<groupId>io.jsonwebtoken</groupId>
30713071
<artifactId>jjwt-gson</artifactId>
3072-
<version>0.12.1</version>
3072+
<version>0.12.2</version>
30733073
<scope>compile</scope> <!-- Not runtime -->
30743074
</dependency>
30753075
```
@@ -3078,7 +3078,7 @@ scope which is the typical JJWT default). That is:
30783078
30793079
```groovy
30803080
dependencies {
3081-
implementation 'io.jsonwebtoken:jjwt-gson:0.12.1'
3081+
implementation 'io.jsonwebtoken:jjwt-gson:0.12.2'
30823082
}
30833083
```
30843084

‎impl/src/main/java/io/jsonwebtoken/impl/io/BytesInputStream.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
* Allows read access to the internal byte array, avoiding the need copy/extract to a
2525
* {@link java.io.ByteArrayOutputStream}.
2626
*
27-
* @since JJWT_RELEASE_VERSION
27+
* @since 0.12.2
2828
*/
2929
public final class BytesInputStream extends ByteArrayInputStream {
3030

0 commit comments

Comments
 (0)
Please sign in to comment.