Releases: Netflix/dgs-codegen
v5.11.1
What's Changed
- Revert "feat(GraphQLQueryRequest): support alias in projections" by @coleturner in #569
Full Changelog: v5.11.0...v5.11.1
v5.10.0
What's Changed
- feat: add NullableInputVariableSerializer by @coleturner in #557
Full Changelog: v5.9.1...v5.10.0
v5.9.1
What's Changed
- fix(DocGenerator): entities syntax and idempotent mock values by @coleturner in #562
Full Changelog: v5.9.0...v5.9.1
v5.9.0
What’s Changed
- Support to use SelectionSet in GraphqlQueryRequest to serialize (#560) @lakshmisunid
- (chore) Gradle 8.2 compatibility work (#559) @rpalcolea
v5.8.1
What's Changed
- fix(InputerValueSerializer): allow scalars to be assignable from class by @coleturner in #555
Full Changelog: v5.8.0...v5.8.1
v5.8.0
What's Changed
- feat: add documentation code generation by @coleturner in #553
Full Changelog: v5.7.3...v5.8.0
v5.7.3
What's Changed
- fix(DataTypeGenerator): support typeMapping for union parent type by @coleturner in #552
Full Changelog: v5.7.2...v5.7.3
v5.7.2
What's Changed
- fix(ClientApiGenFragmentTestv2.kt): fragment name projection by @coleturner in #549
Full Changelog: v5.7.1...v5.7.2
v5.7.1
What’s Changed
- Do not apply maxProjectionDepth for client V2 API, not required to limit the generation. (#541) @srinivasankavitha
- Added typeMapping from Upload to MultipartFile. This ensures that the Upload scalar can be used with no additional setup when added to a schema, as is detailed in the documentation. (#529) @gracecding
v5.7.0
What’s Changed
This release introduces a new experimental API for generating client API. It can be turned on using generateClientv2
config option and is opt-in. The original generateClient
v2 implementation is still the default.
The v2 implementation solves 1) Not being able to handle cycles in the schema, and 2) Not being able to generate on larger schemas due to too many classes getting generated, and out of memory errors We only generate one class per type in the new implementation.
Finally, the projection root needs to be instantiated differently, and hence this is a v2 API. Eventually, this will be the default implementation and a breaking release in the future.
Older API:
String query = new GraphQLQueryRequest(
new MoviesGraphQLQuery(),
new MoviesProjectionRoot().movieId()).serialize();
New API:
String query = new GraphQLQueryRequest(
new MoviesGraphQLQuery(),
new MoviesProjectionRoot<>().movieId()).serialize();
Note the difference in the use of generics in the MoviesProjectionRoot
Other changes and PRs:
- Rename config for v2 client. (#528) @srinivasankavitha
- Refactor generation of client projections (#522) @srinivasankavitha
- Make Kotlin2CodeGen respect implementSerializable config (#518) @pgrosslicht
- Ignore non-GraphQL files in the schema path (#525) @gracecding
- Handle the empty schema case (#523) @gracecding