RFR: 8367938: Test Serialization Compatibility of Class Objects
Roger Riggs
rriggs at openjdk.org
Mon Dec 1 21:19:30 UTC 2025
ArchivedClassesTest is added to compare archived serialized class objects against current classes.
Note: these are the serialized class objects themselves, for example `java.lang.String.class`, not instances of the class, for example "Hello".
The archived classes reference was built against the latest released version: 25.0.1+8.
The test fails if the serialized class reference archive is missing from the repository
or if there are any incompatible changes to the serialized bytes.
Normal output from the test includes:
- The version of the serialized class archive
- Listing (if any) of incompatible classes
- Listing of classes with compatible changes
- Listing of classes in the archive that are not in the current version
- Listing of classes in the current version not found in the archive
The change of java.nio.ByteOrder from a class to enum is reported as an approved incompatible change.
-------------
Commit messages:
- Add ArchivedClassesTest to compare archived serialized classes against
Changes: https://git.openjdk.org/jdk/pull/28586/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28586&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8367938
Stats: 3145 lines in 2 files changed: 3145 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/28586.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/28586/head:pull/28586
PR: https://git.openjdk.org/jdk/pull/28586
More information about the core-libs-dev
mailing list