From 59c9df123183608fb798edabe8fb2fdcb746fa32 Mon Sep 17 00:00:00 2001
From: lhazlewood <121180+lhazlewood@users.noreply.github.com>
Date: Thu, 5 Oct 2023 22:43:35 -0700
Subject: [PATCH] Released 0.12.2 (#856)
* Released 0.12.2
* [maven-release-plugin] prepare release 0.12.2
* [maven-release-plugin] prepare for next development iteration
---
CHANGELOG.md | 12 +++++++++
README.md | 26 +++++++++----------
api/pom.xml | 2 +-
extensions/gson/pom.xml | 2 +-
extensions/jackson/pom.xml | 2 +-
extensions/orgjson/pom.xml | 2 +-
extensions/pom.xml | 2 +-
impl/pom.xml | 2 +-
.../impl/io/BytesInputStream.java | 2 +-
pom.xml | 2 +-
tdjar/pom.xml | 2 +-
11 files changed, 34 insertions(+), 22 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ee3b3c6fc..5b2a12757 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,17 @@
## Release Notes
+### 0.12.2
+
+This is a follow-up release to finalize the work in 0.12.1 that tried to fix a reflection scope problem
+on >= JDK 17. The 0.12.1 fix worked, but only if the importing project or application did _not_ have its own
+`module-info.java` file.
+
+This release removes that reflection code entirely in favor of a JJWT-native implementation, eliminating JPMS
+module (scope) problems on >= JDK 17. As such, `--add-opens` flags are no longer required to use JJWT.
+
+The fix has been tested up through JDK 21 in a separate application environment (out of JJWT's codebase) to assert
+expected functionality in a 'clean room' environment in a project both with and without `module-info.java` usage.
+
### 0.12.1
Enabled reflective access on JDK 17+ to `java.io.ByteArrayInputStream` and `sun.security.util.KeyUtil` for
diff --git a/README.md b/README.md
index 5059f820f..6ae9a8c0e 100644
--- a/README.md
+++ b/README.md
@@ -540,18 +540,18 @@ If you're building a (non-Android) JDK project, you will want to define the foll
io.jsonwebtoken
jjwt-api
- 0.12.1
+ 0.12.2
io.jsonwebtoken
jjwt-impl
- 0.12.1
+ 0.12.2
runtime
io.jsonwebtoken
jjwt-jackson
- 0.12.1
+ 0.12.2
runtime
```
@@ -2961,7 +2961,7 @@ scope which is the typical JJWT default). That is:
```groovy
dependencies {
- implementation 'io.jsonwebtoken:jjwt-jackson:0.12.1'
+ implementation 'io.jsonwebtoken:jjwt-jackson:0.12.2'
}
```
@@ -3069,7 +3069,7 @@ scope which is the typical JJWT default). That is:
io.jsonwebtoken
jjwt-gson
- 0.12.1
+ 0.12.2
compile
```
@@ -3078,7 +3078,7 @@ scope which is the typical JJWT default). That is:
```groovy
dependencies {
- implementation 'io.jsonwebtoken:jjwt-gson:0.12.1'
+ implementation 'io.jsonwebtoken:jjwt-gson:0.12.2'
}
```
diff --git a/api/pom.xml b/api/pom.xml
index 0478dde78..3c69caf8d 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -21,7 +21,7 @@
io.jsonwebtoken
jjwt-root
- 0.12.2-SNAPSHOT
+ 0.12.3-SNAPSHOT
../pom.xml
diff --git a/extensions/gson/pom.xml b/extensions/gson/pom.xml
index a530aa1f5..242f999de 100644
--- a/extensions/gson/pom.xml
+++ b/extensions/gson/pom.xml
@@ -21,7 +21,7 @@
io.jsonwebtoken
jjwt-root
- 0.12.2-SNAPSHOT
+ 0.12.3-SNAPSHOT
../../pom.xml
diff --git a/extensions/jackson/pom.xml b/extensions/jackson/pom.xml
index 201aa3dfa..f616b4625 100644
--- a/extensions/jackson/pom.xml
+++ b/extensions/jackson/pom.xml
@@ -21,7 +21,7 @@
io.jsonwebtoken
jjwt-root
- 0.12.2-SNAPSHOT
+ 0.12.3-SNAPSHOT
../../pom.xml
diff --git a/extensions/orgjson/pom.xml b/extensions/orgjson/pom.xml
index 56892a990..e3d849844 100644
--- a/extensions/orgjson/pom.xml
+++ b/extensions/orgjson/pom.xml
@@ -21,7 +21,7 @@
io.jsonwebtoken
jjwt-root
- 0.12.2-SNAPSHOT
+ 0.12.3-SNAPSHOT
../../pom.xml
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 7b5a96f2a..feb4cb965 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -21,7 +21,7 @@
io.jsonwebtoken
jjwt-root
- 0.12.2-SNAPSHOT
+ 0.12.3-SNAPSHOT
../pom.xml
diff --git a/impl/pom.xml b/impl/pom.xml
index 6f56bd6f7..d27e17c46 100644
--- a/impl/pom.xml
+++ b/impl/pom.xml
@@ -21,7 +21,7 @@
io.jsonwebtoken
jjwt-root
- 0.12.2-SNAPSHOT
+ 0.12.3-SNAPSHOT
../pom.xml
diff --git a/impl/src/main/java/io/jsonwebtoken/impl/io/BytesInputStream.java b/impl/src/main/java/io/jsonwebtoken/impl/io/BytesInputStream.java
index b5f2cb927..9089d5cc4 100644
--- a/impl/src/main/java/io/jsonwebtoken/impl/io/BytesInputStream.java
+++ b/impl/src/main/java/io/jsonwebtoken/impl/io/BytesInputStream.java
@@ -24,7 +24,7 @@
* Allows read access to the internal byte array, avoiding the need copy/extract to a
* {@link java.io.ByteArrayOutputStream}.
*
- * @since JJWT_RELEASE_VERSION
+ * @since 0.12.2
*/
public final class BytesInputStream extends ByteArrayInputStream {
diff --git a/pom.xml b/pom.xml
index 0bd5e3bf9..ac0e08304 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,7 +19,7 @@
io.jsonwebtoken
jjwt-root
- 0.12.2-SNAPSHOT
+ 0.12.3-SNAPSHOT
JJWT
JSON Web Token support for the JVM and Android
pom
diff --git a/tdjar/pom.xml b/tdjar/pom.xml
index 2219fd283..06347d902 100644
--- a/tdjar/pom.xml
+++ b/tdjar/pom.xml
@@ -21,7 +21,7 @@
io.jsonwebtoken
jjwt-root
- 0.12.2-SNAPSHOT
+ 0.12.3-SNAPSHOT
../pom.xml