You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks for the request. Unfortunately, I’m not planning to add Jackson 3 support at this time.
Jackson 3 changed its package names from com.fasterxml.jackson.* to tools.jackson.*. As a result, supporting both Jackson 2 and 3 requires us to duplicate the entire implementation and maintaining two parallel code paths. In addition, Jackson 3 requires Java 17 or later, while msgpack-java currently supports Java 8.
Jackson 2.18 is an LTS release and will continue to be maintained alongside Jackson 3, so it remains a viable and supported option for users of this project.
I’ll keep this issue open to track interest, but at the moment the maintenance cost outweighs the benefits.
Regarding the upgrade concern: since Jackson 3 uses a different package prefix from Jackson 2, it is technically possible to use both Jackson 2 and Jackson 3 in the same library or application without conflicts. Even if jackson-dataformat-msgpack depends on Jackson 2, that should not inherently block adopting Jackson 3 elsewhere.
Have you considered the tip-and-tail model suggested by the JDK folks? Move to the latest of everything on the main branch, and maintain a "tail branch" with only bug fixes for older Java/Jackson versions?
It requires Java 17+ and Jackson 3.x. Basic usage is the same as with msgpack-jackson:
ObjectMappermapper = newMessagePackMapper();
It is a rewrite rather than a port of msgpack-jackson. It encodes and decodes MessagePack directly on Jackson's own buffers instead of going through msgpack-core, so it has no dependency on msgpack-core. In our benchmarks this made writes about 66% faster and reads about 17% faster on the same POJO.
It is not a drop-in replacement, so please note the following when migrating:
The group ID is org.komamitsu and the package is org.komamitsu.jackson.dataformat.msgpack.
MessagePackKeySerializer and MessagePackSerializedString are removed. A map key that the mapper couldn't read back is refused on write.
A UUID is written as its 36-character string.
A float32 value is read back as a Float.
msgpack-jackson in this repository stays on Jackson 2 and Java 8, as before.
Please report problems with the Jackson 3 version on that repository's issue tracker. I'll close this issue, since the request is covered there.
Activity
Camsteack commentedon Dec 29, 2025
Hi ! Is there any plan to add support for Jackson 3 ? This is blocking our upgrade at the moment :)
komamitsu commentedon Dec 30, 2025
Thanks for the request. Unfortunately, I’m not planning to add Jackson 3 support at this time.
Jackson 3 changed its package names from
com.fasterxml.jackson.*totools.jackson.*. As a result, supporting both Jackson 2 and 3 requires us to duplicate the entire implementation and maintaining two parallel code paths. In addition, Jackson 3 requires Java 17 or later, whilemsgpack-javacurrently supports Java 8.Jackson 2.18 is an LTS release and will continue to be maintained alongside Jackson 3, so it remains a viable and supported option for users of this project.
I’ll keep this issue open to track interest, but at the moment the maintenance cost outweighs the benefits.
Regarding the upgrade concern: since Jackson 3 uses a different package prefix from Jackson 2, it is technically possible to use both Jackson 2 and Jackson 3 in the same library or application without conflicts. Even if
jackson-dataformat-msgpackdepends on Jackson 2, that should not inherently block adopting Jackson 3 elsewhere.prdoyle commentedon Jan 1, 2026
Have you considered the tip-and-tail model suggested by the JDK folks? Move to the latest of everything on the main branch, and maintain a "tail branch" with only bug fixes for older Java/Jackson versions?
magicprinc commentedon Apr 19, 2026
Spring Boot 3 is EOL JUL 2026!😱
Spring Boot 4 uses Jackson 3 by default.
So it's time to move to Jackson 3 🙏
komamitsu commentedon Apr 21, 2026
I am currently busy with Wormhole4j. I will look into this issue after the new version of Wormhole4j is released.
komamitsu commentedon Sep 28, 2026
@dpishchukhin @Camsteack @prdoyle @magicprinc Jackson 3 support is now available as a separate library: komamitsu/jackson-dataformat-msgpack. Version 3.0.0 is on Maven Central.
It requires Java 17+ and Jackson 3.x. Basic usage is the same as with
msgpack-jackson:It is a rewrite rather than a port of
msgpack-jackson. It encodes and decodes MessagePack directly on Jackson's own buffers instead of going through msgpack-core, so it has no dependency on msgpack-core. In our benchmarks this made writes about 66% faster and reads about 17% faster on the same POJO.It is not a drop-in replacement, so please note the following when migrating:
org.komamitsuand the package isorg.komamitsu.jackson.dataformat.msgpack.MessagePackKeySerializerandMessagePackSerializedStringare removed. A map key that the mapper couldn't read back is refused on write.UUIDis written as its 36-character string.Float.msgpack-jacksonin this repository stays on Jackson 2 and Java 8, as before.Please report problems with the Jackson 3 version on that repository's issue tracker. I'll close this issue, since the request is covered there.