-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Description
Describe the issue
Jackson 3 is the new version of Jackson.
As Jackson is used in core for JSON and ION serialization and in a lot of plugins, we need to evaluate wheter we can migrate or not to Jackson 3.
One advantage is that, it's located in a new Maven coordinate and in new packages so the two can coexist.
Investigation must be done prior to migration:
- Are all our used Jackson modules supported
- Should we migrate it for everything: core db serialization, file ION seralization, API level (which use the Micronaut provided ObjectMapper)
- Plugins
As some plugins uses Jackson, there is a high chance that they didn't migrate yet.
Those use a provided Jackson to avoid duplicating the library everywhere: it may be simpler to continue with this approach and includes both Jackson 2 and 3 in core.
Jackson has also a special treatment inside our PluginClassLoader: this should be done also for 3.0
See the migration guide: https://docs.openrewrite.org/recipes/java/jackson/upgradejackson_2_3
There is an OpenRewrite recipe for the migration: https://docs.openrewrite.org/recipes/java/jackson/upgradejackson_2_3
Environment
- Kestra Version: develop