gnodet commented on PR #21800: URL: https://github.com/apache/camel/pull/21800#issuecomment-4041646052
## Proposed Migration Strategy After investigating Spring Boot 4's Jackson support and Quarkus 4's timeline, here's a phased approach that could work: ### Key Findings - **Spring Boot 4 does NOT mandate Jackson 3**. It ships a deprecated `spring-boot-jackson2` module as a stop-gap. You can exclude `spring-boot-jackson` and use `spring-boot-jackson2` instead. Jackson 2 dependency management is still in Boot 4's BOM. - **Caveat**: Spring Data REST and Spring HATEOAS already require Jackson 3 (no Jackson 2 fallback). `spring-boot-jackson2` is deprecated and will be removed in a future Boot release. - **Quarkus 4.0** (which brings Jackson 3) targets Beta 1 around Sept 2026, LTS in Q1 2027. - **Jackson annotations** (`com.fasterxml.jackson.core:jackson-annotations`) are shared between Jackson 2 and 3 — annotation-only usage doesn't need changes. ### Phased Plan | Release | Jackson | Notes | |---------|---------|-------| | **4.18 LTS** | Jackson 2 | Last stable LTS with Jackson 2 + Quarkus 3 | | **4.19 – 4.21** | Jackson 2 in core | camel-spring-boot uses `spring-boot-jackson2` bridge or starts selective Jackson 3 adoption. No CEQ releases expected for these. | | **4.22 LTS** | Jackson 3 | Full migration. Aligns with Quarkus 4 availability (LTS Q1 2027). Use OpenRewrite `UpgradeJackson_2_3` recipe to automate the bulk of the ~689 file migration. | ### What To Do With This PR This PR represents significant and valuable work. Rather than letting it go stale, consider: 1. **Keep it as draft** — rebase periodically against main 2. **Or merge to a `devel-jackson-3` branch** as @orpiske suggested — allows CI validation and incremental progress without blocking the main line 3. Target the actual merge to main for the 4.21 or 4.22 timeframe, once the 5 blocked components (openapi, opensearch, jslt, json-patch, torchserve) have upstream Jackson 3 support This avoids rushing the migration while camel-quarkus is still on Jackson 2, and gives us the best shot at a clean 4.22 LTS with full Jackson 3 + Spring Boot 4 + Quarkus 4 alignment. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
