Download Latest Version v12.0.1 source code.zip (1.3 MB)
Email in envelope

Get an email when there's a new version of dgs-framework

Home / v12.0.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-04-27 5.8 kB
v12.0.0 source code.tar.gz 2026-04-27 780.1 kB
v12.0.0 source code.zip 2026-04-27 1.3 MB
Totals: 3 Items   2.1 MB 0

Jackson 3 support

DGS now supports Jackson 3 (tools.jackson.*) alongside the existing Jackson 2 (com.fasterxml.jackson.*) integration. Jackson 3 is the auto-configured default while Jackson 2 remains supported as an opt-in.

### Core Changes (autoconfigured)

  • New DgsJsonMapper (com.netflix.graphql.dgs.json.DgsJsonMapper) — a Jackson-agnostic abstraction the framework uses internally for serialization, deserialization, and JSON-Path configuration.
  • DgsSpringGraphQLAutoConfiguration registers a Jackson3DgsJsonMapper bean by default when tools.jackson.databind.json.JsonMapper is on the classpath.
  • New property dgs.graphql.preferred-json-mapper (jackson3 | jackson2) lets you force a mapper when both versions are available on the classpath.
  • New graphql-dgs-jackson2 opt-in module — pull this in to restore Jackson-2-based auto-configuration on apps not ready to move.
  • Obvious failure mode when no mapper is on the classpath: DgsJsonMapperMissingException + DgsMapperFailureAnalyzer

### graphql-dgs-client (new client classes)

A parallel set of Dgs* client classes/interfaces that program against DgsJsonMapper instead of a Jackson 2 ObjectMapper.

The existing GraphQLClient / MonoGraphQLClient / ReactiveGraphQLClient and CustomGraphQLClient / WebClientGraphQLClient / RestClientGraphQLClient types are deprecated but kept for binary compatibility — they now extend the new interfaces via bridge defaults so libraries compiled against older versions continue to link.

New surface:

  • Interfaces: DgsGraphQLClient, DgsMonoGraphQLClient, DgsReactiveGraphQLClient — single-method contract centered on DgsGraphQLRequest, with default string overloads for ergonomics.
  • Response: DgsGraphQLResponse DefaultDgsGraphQLResponse.
  • Concrete clients: DgsCustomGraphQLClient, DgsCustomMonoGraphQLClient, DgsWebClientGraphQLClient, DgsRestClientGraphQLClient,DgsGraphqlSSESubscriptionGraphQLClient.
  • Options: DgsGraphQLRequestOptions (Jackson-agnostic; replaces GraphQLRequestOptions.createCustomObjectMapper).
  • Adapters: Jackson3DgsJsonMapperAdapter (default) and Jackson2DgsJsonMapperAdapter for callers still on Jackson 2.

### Migration

  • No action required for existing apps — Jackson 2 client classes continue to work and the bridge keeps old library bytecode linkable.
  • New code should target the Dgs* interfaces and pass a DgsJsonMapper instead of an ObjectMapper.
  • Apps that want to stay having Jackson 2 autoconfigured can add graphql-dgs-jackson2 to their classpath.
  • Following the precedent set by Spring Boot 4, apps wishing to use jackson2 and not to have jackson3 on the classpath at all should exclude jackson3 dependencies from their classpath.

What's Changed

Full Changelog: https://github.com/Netflix/dgs-framework/compare/v11.1.0...v12.0.0

Source: README.md, updated 2026-04-27