Please review the application of @java.io.Serial annotation (JDK-8202385) to types in the desktop module to enable stricter compile-time checking of serialization-related declarations.
This annotation can be applied to these methods in the module: private void writeObject(java.io.ObjectOutputStream stream) throws IOException private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException private void readObjectNoData() throws ObjectStreamException ANY-ACCESS-MODIFIER Object writeReplace() throws ObjectStreamException ANY-ACCESS-MODIFIER Object readResolve() throws ObjectStreamException private static final ObjectStreamField[] serialPersistentFields private static final long serialVersionUID Notes: - I have tried to update the comments for serialVersionUID as accurately as possible, but mostly based on the source code history and bugs in JBS where that field was added - Some of the readObject/writeObject methods in the javax.swing package does not have a spec, because this package and some others are excluded from the serialization specification. A similar fix was implemented for java.base module as well: http://mail.openjdk.java.net/pipermail/core-libs-dev/2019-August/062046.html ------------- Commit messages: - Update TextAttribute.java - Update readResolve - Update writeReplace - Update readObject - Update writeObject - Update serialPersistentFields - Update serialVersionUID Changes: https://git.openjdk.java.net/jdk/pull/2020/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2020&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8259522 Stats: 3426 lines in 343 files changed: 2268 ins; 287 del; 871 mod Patch: https://git.openjdk.java.net/jdk/pull/2020.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2020/head:pull/2020 PR: https://git.openjdk.java.net/jdk/pull/2020