This is a maintenance release coming with bug fixes and performance improvements.
#944 Avoid slow Class.forName when serializing lambdas
#946 Make the ImmutableCollections serializers public and final
#948 Ensure that record constructors are always accessible
#951 Fix serialization of Kotlin lambdas
#955 Fix type resolution for generic arrays
#956 Performance improvements for Kryo.isClosure()
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.
This is a maintenance release coming with bug fixes and performance improvements.
The most notable change is performance improvements for record serialization (#927) by caching access to components, getters and constructors. The new implementation is roughly 20x faster.
Several PRs improve Kryo's compatibility with JDK 17+ (#930, #932, #933).
#923 Add helper method to register serializers for java.util.ImmutableCollections (#933)
#885 Delay access to constructor and methods for DirectBuffers until first use (#932)
#885 Add additional safe serializers for commonly used JDK classes (#930)
#884 Cache components, getters and constructors in RecordSerializer (#927)
#922 Fall back to default class resolution if class cannot be loaded with provided class loader (#926)
#920 Align ByteBufferOutput.writeAscii with implementation in Output (#921)
#889 Serializer for java.sql.Timestamp which preserves nanoseconds (#890)
#884 Fix eclipse project setup: Add JUnit 5, ByteBuddy (#887)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps com.esotericsoftware:kryo from 5.3.0 to 5.5.0.
Release notes
Sourced from com.esotericsoftware:kryo's releases.
... (truncated)
Commits
a823c3e
[maven-release-plugin] prepare release kryo-parent-5.5.08742e6e
Performance improvements forKryo.isClosure()
(#956)379b022
Support overriding default proxy check4dd2241
#940 Fix type resolution for generic arrays (#955)b2610a5
Rename JDK14 tests to JDK17 (#953)1e29ea7
#864 Fix serialization of Kotlin lambdas (#951)96259c7
Support for Kotlin tests (#949)e7c37a9
Ensure that record constructors are always accessible (#948)ad4e0f9
Fix build status badge7bf6507
Test CI build against Java 20Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)