Skip to content

Releases: simbo1905/java.util.json.Java21

release/2026.05.20

20 May 11:04

Choose a tag to compare

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:latest

See 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

19 May 14:33

Choose a tag to compare

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 before preview -> incubator move

Changes Since Previous Release

  • Added JsonValue.toInt() and JsonNumber.toInt() — converts JSON numbers to int
  • Improved Javadoc for all conversion methods with @implSpec sections
  • Reordered valueOrNull() to end of JsonValue interface
  • 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 JtdPropertyTest by @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 JtdPropertyTest by @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

26 Jan 21:51

Choose a tag to compare

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

28 Sep 22:47

Choose a tag to compare

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 JtdPropertyTest by @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

27 Sep 07:28

Choose a tag to compare

What's Changed

Full Changelog: release/0.1.9...release/2025.09.27

release 0.1.9

07 Sep 19:33

Choose a tag to compare

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

07 Sep 08:13

Choose a tag to compare

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

06 Sep 03:42

Choose a tag to compare

release/0.1.2

06 Sep 02:58

Choose a tag to compare

What's Changed

Full Changelog: v0.1-SNAPSHOT...release/0.1.2

OpenJDK Sandbox July 2025 (d22dc2ba) - JSON Test Suite Analysis Tool

28 Jul 06:46

Choose a tag to compare

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) and Json.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.