1.1.2 aws-lambda-java-serialization release #410
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of changes:
jackson-databindfrom2.10.5.1to2.14.2gsonfrom2.8.9to2.10.1jsonfrom20160810to20230227aws-lambda-java-serializationlib and run the test suite fromaws-lambda-java-tests.1.1.2serialization lib releaseNote:
jackson-databind >= v2.12.0explicitly fails (de)serialization oforg.joda.time.*types in absence of registered custom (de)serializers. PR #2776. RegisteringJodaModulemodule is required to (de)serializeorg.joda.time.*types. However, theJodaModulebrings the joda time dependency which we need to relocate in order not to clash with the one provided by customers (if they provide one). Due to the following MSHADE-156 bug, the Maven shade plugin will relocate string literals too, breaking our serialization logic. As a workaround, adding a 'fake' relocation pattern in order to prevent such behaviour.aws-lambda-java-testspackage contains a more exhaustive test suite so the Github workflow will now run those tests when editingaws-lambda-java-serializationlib.java.lang.Void class. In java11 the Void class had a no-arg constructor that was accessible, which allowed us to create a new instance of Void using reflection but starting from Java12 the Void class was modified to have a private constructor that takes no arguments in order to prevent its instantiation.The change is authored by Anrea Culot, @andclt
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.