Skip to content

kryo-5.3.0

Compare
Choose a tag to compare
@theigl theigl released this 11 Feb 10:59
· 168 commits to master since this release

This is a maintenance release coming with bug fixes and performance improvements:

#872 Custom exception for buffer over/underflow (#874)
#873 Set record component getter accessible (#875)
#845 Performance improvements for maps (#876)
#845 Use IdentityMap instead of CuckooObjectMap in class resolver (#877)
#882 Catch LinkageError in addition to RTE when accessing fields via ASM (#883)

Other Tasks:

  • Enforce minimum maven version and update plugins and test dependencies

The full list of changes can be found here.

Many thanks to all contributors!

Upgrade Notes

This release brings performance improvements for Kryo's custom map implementations (#876). These improvements allowed us to change the map for resolving registrations in DefaultClassResolver from a CuckooObjectMap to an IdentityMap with 3-5% faster throughput (#877). CuckooObjectMap is now deprecated and will be removed in Kryo 6.

Kryo now throws dedicated exceptions in case of buffer under- or overflows (#872). If you currently parse the error message to check for these conditions, you can catch KryoBufferUnderflowException and KryoBufferOverflowException instead.

For migration from previous major versions please check out the migration guide. We're asking the community to help and contribute this part: please edit the migration wiki page as you encounter any information or issues that might help others.

Compatibility

  • Serialization compatible
    • Standard IO: Yes
    • Unsafe-based IO: Yes
  • Binary compatible - No (Details)
  • Source compatible - No (Details)