Releases: Netflix/dgs-codegen
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
v5.6.9
What’s Changed
- Generate getters with lists of interface types with wildcard (#519) @srinivasankavitha
v5.6.8
What’s Changed
- Generate getters with lists of interface types with wildcard (#519) @srinivasankavitha
v5.6.7
What’s Changed
- Increase the whitespace token limit for parsing the schema. (#516) @srinivasankavitha
v5.6.6
What’s Changed
- Fix generation of no-arg constructor, update gradle. (#514) @srinivasankavitha
v5.6.5
What’s Changed
- Update examples to 2.7. (#509) @srinivasankavitha
v5.6.4
What’s Changed
- Initialize
GraphQLQuery#name
from generated subclasses (#497) @jdmcmahan - Fix keyword sanitization in Java query class constructor generation (#495) @ajkerr
v5.6.3
What’s Changed
- fix: check Type/Enum does not exist in document before casting to scalar (#492) @idiazvalenzuela
- Revert "fix: remove currency as commonScalar" (#491) @srinivasankavitha
- fix: remove currency as commonScalar (#488) @idiazvalenzuela
- fix: custom annotations use curly braces for java list (#489) @lillianlouie
v5.6.2
What’s Changed
- IIEA-10827 Add support for class objects as inputs (#483) @lillianlouie
- Upgrade to Gradle 7.5.1 and migrate to modern nebula plugin ids (#484) @rpalcolea
v5.6.0
What’s Changed
- Support type mapping when implementing an interface (#479) @jbaxleyiii