Releases: simbo1905/java.util.json.Java21
release/2026.05.20
Docker Image
Pre-built distroless container image available on GitHub Container Registry:
docker pull ghcr.io/simbo1905/java.util.json.java21/jdt2jar:2026.05.20
docker pull ghcr.io/simbo1905/java.util.json.java21/jdt2jar:latestSee jdt2jar/README.md for usage.
What's Changed
- JTD bytecode codegen via ClassFile API + RFC 8927 conformance by @simbo1905 in #139
- Add offline jdt2jar CLI and distroless packaging by @Copilot in #148
New Contributors
- @Copilot made their first contribution in #148
Full Changelog: release/2026.02.05...release/2026.05.20
release 2026.02.05
Final java.util.json Sandbox Release
This is the last release tracking the OpenJDK jdk-sandbox java.util.json API. Upstream has since moved the API to jdk.incubator.json (see issue #144).
Upstream Source
- Commit: c1a4f80 (2026-02-05)
- Branch:
json— last commit beforepreview -> incubatormove
Changes Since Previous Release
- Added
JsonValue.toInt()andJsonNumber.toInt()— converts JSON numbers toint - Improved Javadoc for all conversion methods with
@implSpecsections - Reordered
valueOrNull()to end ofJsonValueinterface - Preserved local bug fix for
JsonNumber.of(double)offset calculation - Preserved
Utils.powExact()polyfill (not available in Java 21)
API Summary
| Category | Methods |
|---|---|
| Conversion | asBoolean(), toInt(), toLong(), toDouble(), asString() |
| Navigation | get(String), get(int), getOrAbsent(String), valueOrNull() |
| Factory | Json.parse(), JsonNumber.of(), JsonString.of(), etc. |
| Generation | Json.toDisplayString(), toString() |
What's Next
The next release will track jdk.incubator.json which introduces significant API changes including method renames (bool()→asBoolean(), string()→asString(), etc.). Track progress in issue #145.
What's Changed
- JSON Schema: strict coverage headline + docs; single fetch path, compile-session, and logging discipline by @simbo1905 in #37
- JSON Schema: Expand OpenRPC validation IT and examples (#29) by @simbo1905 in #38
- fix CI by @simbo1905 in #50
- Add ai augmented issue and pr templates by @simbo1905 in #52
- Fix issue template path by @simbo1905 in #54
- Update issue templates by @simbo1905 in #55
- Json schema draft4 test.id by @simbo1905 in #60
- Refactor JSON Schema Test Suite with Abstract Base Class and Proper Test Skipping by @simbo1905 in #63
- small fixes by @simbo1905 in #75
- Fix StableValue supplier object method delegation by @simbo1905 in #77
- Issue #58 Fix HttpClient resource management in ApiTracker.java by @simbo1905 in #79
- Issue #59 Fix visibility mismatch in Utils.getPath method signature by @simbo1905 in #80
- Implement JSON Type Definition (JTD) RFC 8927 validator with full compliance (Closes #85) by @simbo1905 in #87
- Fix int32 type validation to reject decimal values (Closes #89) by @simbo1905 in #90
- Fix additionalProperties default value in JTD validator by @simbo1905 in #92
- Fix discriminator validation for simple type mappings by @simbo1905 in #95
- Fix nested elements properties validation and add regression test by @simbo1905 in #97
- jqwik property-based testing for JTD validation
JtdPropertyTestby @simbo1905 in #100 - tidy up by @simbo1905 in #101
- Issue #102: reject invalid discriminators at compile time with clear error and use purely stack based runtime by @simbo1905 in #103
- Issue #109 Auto-create issues for API drift with fingerprint deduplication by @simbo1905 in #113
- Sync upstream commit 91a479d by @simbo1905 in #117
- Json path by @simbo1905 in #125
Full Changelog: release/0.1.9...release/2026.02.05
What's Changed
- JSON Schema: strict coverage headline + docs; single fetch path, compile-session, and logging discipline by @simbo1905 in #37
- JSON Schema: Expand OpenRPC validation IT and examples (#29) by @simbo1905 in #38
- fix CI by @simbo1905 in #50
- Add ai augmented issue and pr templates by @simbo1905 in #52
- Fix issue template path by @simbo1905 in #54
- Update issue templates by @simbo1905 in #55
- Json schema draft4 test.id by @simbo1905 in #60
- Refactor JSON Schema Test Suite with Abstract Base Class and Proper Test Skipping by @simbo1905 in #63
- small fixes by @simbo1905 in #75
- Fix StableValue supplier object method delegation by @simbo1905 in #77
- Issue #58 Fix HttpClient resource management in ApiTracker.java by @simbo1905 in #79
- Issue #59 Fix visibility mismatch in Utils.getPath method signature by @simbo1905 in #80
- Implement JSON Type Definition (JTD) RFC 8927 validator with full compliance (Closes #85) by @simbo1905 in #87
- Fix int32 type validation to reject decimal values (Closes #89) by @simbo1905 in #90
- Fix additionalProperties default value in JTD validator by @simbo1905 in #92
- Fix discriminator validation for simple type mappings by @simbo1905 in #95
- Fix nested elements properties validation and add regression test by @simbo1905 in #97
- jqwik property-based testing for JTD validation
JtdPropertyTestby @simbo1905 in #100 - tidy up by @simbo1905 in #101
- Issue #102: reject invalid discriminators at compile time with clear error and use purely stack based runtime by @simbo1905 in #103
- Issue #109 Auto-create issues for API drift with fingerprint deduplication by @simbo1905 in #113
- Sync upstream commit 91a479d by @simbo1905 in #117
- Json path by @simbo1905 in #125
Full Changelog: release/0.1.9...release/2026.02.05
release 2026.01.26
Maven Central Release
This release is now available on Maven Central with the following coordinates:
Core JSON API
<dependency>
<groupId>io.github.simbo1905.json</groupId>
<artifactId>java.util.json</artifactId>
<version>2026.01.26</version>
</dependency>
JSON Type Definition (JTD) Validator
<dependency>
<groupId>io.github.simbo1905.json</groupId>
<artifactId>java.util.json.jtd</artifactId>
<version>2026.01.26</version>
</dependency>
API Tracker Tool
<dependency>
<groupId>io.github.simbo1905.json</groupId>
<artifactId>json-java21-api-tracker</artifactId>
<version>2026.01.26</version>
</dependency>
Compatibility Test Suite
<dependency>
<groupId>io.github.simbo1905.json</groupId>
<artifactId>json-compatibility-suite</artifactId>
<version>2026.01.26</version>
</dependency>
What's Changed
- JSON Schema: strict coverage headline + docs; single fetch path, compile-session, and logging discipline by @simbo1905
- JSON Schema: Expand OpenRPC validation IT and examples by @simbo1905
- Implement JSON Type Definition (JTD) RFC 8927 validator with full compliance by @simbo1905
- Fix int32 type validation to reject decimal values by @simbo1905
- jqwik property-based testing for JTD validation by @simbo1905
- Issue #102: reject invalid discriminators at compile time with clear error and use purely stack based runtime by @simbo1905
- Issue #109 Auto-create issues for API drift with fingerprint deduplication by @simbo1905
- Sync upstream commit 91a479d by @simbo1905
Full Changelog: release/0.1.9...release/2026.01.26
release 2025.09.28
Implement JSON Type Definition (JTD) RFC 8927 validator
Deleted JSON Schema Experimental implementation
What's Changed
- Fix StableValue supplier object method delegation by @simbo1905 in #77
- Issue #58 Fix HttpClient resource management in ApiTracker.java by @simbo1905 in #79
- Issue #59 Fix visibility mismatch in Utils.getPath method signature by @simbo1905 in #80
- Implement JSON Type Definition (JTD) RFC 8927 validator with full compliance (Closes #85) by @simbo1905 in #87
- Fix JTD int32 type validation to reject decimal values (Closes #89) by @simbo1905 in #90
- Fix JTD additionalProperties default value in JTD validator by @simbo1905 in #92
- Fix JTD discriminator validation for simple type mappings by @simbo1905 in #95
- Fix JTD nested elements properties validation and add regression test by @simbo1905 in #97
- jqwik property-based testing for JTD validation
JtdPropertyTestby @simbo1905 in #100 - tidy up by @simbo1905 in #101
- Issue #102: reject invalid discriminators at compile time with clear error and use purely stack based runtime by @simbo1905 in #103
Full Changelog: release/0.1.9...release/2025.09.28
release 2025.09.27
What's Changed
- JSON Schema: strict coverage headline + docs; single fetch path, compile-session, and logging discipline by @simbo1905 in #37
- JSON Schema: Expand OpenRPC validation IT and examples (#29) by @simbo1905 in #38
- fix CI by @simbo1905 in #50
- Add ai augmented issue and pr templates by @simbo1905 in #52
- Fix issue template path by @simbo1905 in #54
- Update issue templates by @simbo1905 in #55
- Json schema draft4 test.id by @simbo1905 in #60
- Refactor JSON Schema Test Suite with Abstract Base Class and Proper Test Skipping by @simbo1905 in #63
- small fixes by @simbo1905 in #75
- Fix StableValue supplier object method delegation by @simbo1905 in #77
Full Changelog: release/0.1.9...release/2025.09.27
release 0.1.9
What's Changed
- SEO: README title/intro and POM metadata updates by @simbo1905 in #24
- Fix POM Project URL and SCM for Central links by @simbo1905 in #26
Full Changelog: release/0.1.7...release/0.1.9
release 0.1.8
What's Changed
- SEO: README title/intro and POM metadata updates by @simbo1905 in #24
Full Changelog: release/0.1.7...release/0.1.8
release/0.1.7
Full Changelog: release/0.1.2...release/0.1.7
release/0.1.2
What's Changed
- feat: Add API tracker to compare local and upstream JSON APIs by @simbo1905 in #8
- Implement multi-JDK CI build strategy by @simbo1905 in #10
- fixes to ci by @simbo1905 in #11
- move to source parsing for local api comparison by @simbo1905 in #12
- tidy-up by @simbo1905 in #14
- Convert JSON Test Suite from blocking unit test to standalone reporting tool by @simbo1905 in #17
- JSON Schema validator: docs + verify integration (closes #19) by @simbo1905 in #18
- Take in upstream 2025 09 04 by @simbo1905 in #21
Full Changelog: v0.1-SNAPSHOT...release/0.1.2
OpenJDK Sandbox July 2025 (d22dc2ba) - JSON Test Suite Analysis Tool
OpenJDK Sandbox Commit d22dc2ba89789041c3908cdaafadc1dcf8882ebf (July 2025)
Backport of java.util.json API from OpenJDK sandbox with comprehensive JSON Test Suite compatibility analysis tool.
Key Features
- Standalone reporting tool - no longer blocks builds with unit test failures
- Robust encoding detection - handles malformed UTF-8, BOM detection, UTF-16/UTF-32 encodings
- Comprehensive API testing - tests both
Json.parse(String)andJson.parse(char[])APIs - Security documentation - warns about undocumented StackOverflowError vulnerabilities in upstream API
- 99.3% JSON Test Suite conformance - processes all 318 test files with 0 skipped
Usage
# Build and download test suite
./mvnw clean compile generate-test-resources -pl json-compatibility-suite
# Run human-readable report
./mvnw exec:java -pl json-compatibility-suite
# Run JSON output
./mvnw exec:java -pl json-compatibility-suite -Dexec.args="--json"Test Results
- Valid JSON: 97.9% success rate (93/95 files pass)
- Invalid JSON: 100% success rate (correctly rejects all invalid JSON)
- Implementation-defined: 35 edge cases handled per implementation choice
- 2 duplicate key failures: Implementation choice to reject for data integrity
Security Notes
This release includes documentation of undocumented security vulnerabilities in the upstream API, including stack exhaustion attacks that can leave applications in undefined states.
This is an unstable API backport for educational and experimental usage only.