Upgrade Jackson 2 to Jackson 3 in sdk/cosmos
I maintainer di solito rispondono entro 1 giorno
@FabianMeiswinkel ci sta già lavorando.
Dal 30/6/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Summary
Upgrade Jackson from major version 2 (com.fasterxml.jackson) to major version 3 (tools.jackson) across all modules under sdk/cosmos.
Context
As part of aligning with Spring Boot 4, the sdk/spring modules were migrated from Jackson 2 to Jackson 3 (see #49538 and #49550). During that work, the Cosmos modules (azure-spring-data-cosmos and, transitively, azure-cosmos) were intentionally left out of scope because they cannot be migrated in isolation.
This issue tracks the follow-up work to bring sdk/cosmos to Jackson 3 so that azure-spring-data-cosmos and the Spring Cloud Azure Cosmos starter can fully move off Jackson 2.
Why Cosmos could not be upgraded together with sdk/spring
azure-cosmos exposes Jackson 2 types as part of its public API, not just internally. Around 65 public (non-implementation) classes import com.fasterxml.jackson, for example:
CosmosItemSerializer(public abstract extension point whose signatures useObjectNode/JsonNode)CosmosItemResponse,CosmosBulkItemResponse,CosmosBatchOperationResult- Most
com.azure.cosmos.models.*properties classes (CosmosContainerProperties,IndexingPolicy,SqlQuerySpec, ...)
Because JsonNode is part of the public contract, switching to Jackson 3 is a breaking API change for azure-cosmos. That change cascades to every module that depends on it.
Affected modules
Modules under sdk/cosmos that depend on azure-cosmos and/or use Jackson 2 directly (approximate Jackson 2 file counts):
| Module | Jackson 2 files |
|---|---|
azure-cosmos |
221 |
azure-cosmos-tests |
103 |
azure-cosmos-spark_3 (+ all spark variants) |
52+ |
azure-cosmos-kafka-connect |
20 |
azure-cosmos-encryption |
14 |
azure-cosmos-benchmark |
9 |
azure-cosmos-test |
— |
Roughly 440+ source files reference Jackson 2 across the tree.
Considerations
azure-cosmosis a GA data-plane library; a 2 -> 3 migration that changes the public API is a breaking change and requires the appropriate API review / approval.- Options to evaluate:
- Additive Jackson 3 support in
azure-cosmos(keep the Jackson 2 public API, add Jackson 3) to avoid an immediate break for downstream consumers. - A full migration across all
sdk/cosmosmodules in lockstep.
- Additive Jackson 3 support in
- The Jackson 2 annotations namespace (
com.fasterxml.jackson.annotation) is unchanged in Jackson 3 and can be retained.
Related
- #49538
- #49550
- Lingua principale
- Java
- Stelle
- 2.6k
- Fork
- 2.2k
- Merge medio
- 1g 22h
- PR unite (30g)
- 245
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Azure/azure-sdk-for-java
-
[Spring Cloud Azure] Improve Javadoc and startup guidance for allowed-group-names vs allowed-group-ids in AadAuthenticationPropertiesForse già presa @himanchalkaushale l’ha presa 7 giorni fa. Apertaazure-spring azure-spring-aad Client
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Azure/azure-sdk-for-java#51046 · 2 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
mgmt, in track 1 migration guide, call out that file-based authentication method is not recommendedForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. ApertaAzure.Identity
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
Azure/azure-sdk-for-java#48894 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] DataLakeFileSystemAsyncClient.createIfNotExists returns true when the file system already existsForse già presa @browndav-msft l’ha presa 1 giorno fa. ApertaClient customer-reported needs-team-attention question Storage
Azure/azure-sdk-for-java#51145 · 2 commenti · 1 reazione · 2 assegnatari ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] RequestRetryOptions tryTimeout has no effect on synchronous Storage clientsForse già presa @browndav-msft l’ha presa 1 giorno fa. ApertaClient customer-reported needs-team-attention question Service Attention Storage
Azure/azure-sdk-for-java#51144 · 2 commenti · 1 reazione · 2 assegnatari ·
I maintainer di solito rispondono entro 1 giorno
-
Client Cosmos
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
Azure/azure-sdk-for-java#51134 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Azure/azure-sdk-for-java
Issue simili
-
Marketplace time-zone issueApertabug main ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
openhab/openhab-webui#4671 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
NearVanilla/IceCream#109 ·
I maintainer di solito rispondono entro 1 giorno
-
getRawTextContent() returns the lines of every page in reverse order (bottom to top) since 4.0.3Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 90/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
bancolombia/bin-stash#79 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno