This is a maintenance release coming with fixes and improvements.
#527: Add documentation on very large object graphs (67a3499)
#516: Use relatively safe max size of java array (389d33a)
#521: Use chunked encoding for TaggedFieldSerializer forward compatibility (fixes #442), replaces ignoreUnknownTags with skipUnknownTags, use chunked encoding (6dc6aa5)
Fix #500: Push java source/target version to 1.7 (c1ff83c)
Deprecate Util.isAndroid, superseded by the final Util.IS_ANDROID (64d7784)
#514: Fix warning on instantiate object on Android N+ - update Objenesis to the latest version 2.5.1 (4050fc9, 6040efd)
#520: Correctly deserialize objects when fields are added to a Class with enough fields to trigger binary search in CompatibleFieldSerializer (d31e2bf)
#518: error message for problems with anonymous classes (0eb7b71)
#509: Clarify default used registrations (75a41a6)
[BREAKING] Generics handling is more robust now, the former optimization for smaller size (but increased serialization time) is now optional and disabled by default.
Important: This change breaks the serialization format of the FieldSerializer for generic fields, therefore generic classes serialized with Kryo 3 and FieldSerializer cannot be deserialized with Kryo 4 by default. To deserialize such Kryo 3 serialized generic classes you have to set kryo.getFieldSerializerConfig().setOptimizedGenerics(true);!
For details see #433: Disable the optimization of generics serialization and provide an API for enabling/disabling it (9923d05).
This improves/fixes #377 "Kryo does not correctly support parameterized type hierarchy", #384 "ClassCastException When Writing a Map After Previously Reading a Map with Different Generic Type"
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 kryo from 3.0.3 to 4.0.2.
Release notes
Sourced from kryo's releases.
... (truncated)
Commits
d390da9
[maven-release-plugin] prepare release kryo-parent-4.0.239f0e8b
Merge pull request #546 from aidin36/patch-124bf9c7
Merge pull request #568 from beatngu13/patch-225d780b
Update changelog linkfa19b4c
Merge pull request #567 from MThomassen/masterbceef26
Use public member instead of private field to resolve immutability for serial...77935c6
Realloc instead of clearing large maps.56fb1a1
Fix crash when removing multiple fields with CompatibleFieldSerializer, added...82948fd
Adding import statements to "Quickstart" section.626294c
Merge pull request #537 from hulbert/patch-1Dependabot 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)