Release 0.31.0¶
See GitHub Release.
Features¶
- Adds Tests for Rules in schema (f21e97d57) by @kristileka
- Adds a new schema validation rule
NoCrossModuleInputExtensionsRulethat prevents one tenant module from usingextend enumorextend inputto extend an input type defined in a different module partition. (6bbbe3d10) by @kristileka - Extend KSP registry extractor to emit field resolvers and type-safe assembly (79d2ff014) by @nmarsollier
- NodeResolver contract tests using file based bootstrapping - directly working off of KSP's output. (13c76f59b) by @gokhan-ozgozen
- Adds engine support for resolving root field references (d00e30dd2) by @gummybug
- Adds RootFieldReference, which represents a lazily-resolvable reference to a composite-typed root field. (4d2145cf3) by @gummybug
- Add a directive banlist (d8e747770) by @jbellenger
- Adds LazyAbstractData to support lazy resolution of interface and union typed fields (664bb47f4) by @gummybug
- Enrich ResolverParams.Node with ExecutionRegistry-compatible fields (a1ec4ac31) by @nmarsollier
- Attribute Java GRT accessor errors to framework (d505c6f98) by @catacraciun
- Add tenant codegen KSP pass for emitting intermediate resolver descriptor JSON files. (fe162daf8) by @nmarsollier
Bug Fixes¶
- Fix value generation for pathological oneof graphs (e96dd432b) by @jbellenger
- Handle introspection fields (e.g.
__typename) inSyncEngineObjectDataFactory(97aae5c3d) by @vickeyyeh
Documentation¶
- Update code examples from deprecated objectValue/queryValue to getObjectValue()/getQueryValue() (fe62e06de) by @vickeyyeh
Refactoring¶
- Replace deprecated ctx.objectValue/queryValue with getObjectValue()/getQueryValue() (de799f8d2) by @vickeyyeh
- Change @Variables annotation from CSV string to vararg string array (87ac42d96) by @geovannefduarte
- Removes ResolverTesters from viaduct and makes ResolverTestBase Experimental. (674d6b40f) by @kristileka
- Switch ctx.query()/mutation() to resolveSelectionSetSync (308e88567) by @vickeyyeh
- Migrate ctx.objectValue/queryValue to ctx.getObjectValue()/getQueryValue() in resolvers and tests (7d772a4bb) by @vickeyyeh
Chores¶
- Recognize @namespaceType alongside @singleton in schema tooling (da957df2b) by @amity177
- Deprecate ctx.objectValue and ctx.queryValue in favor of getObjectValue() and getQueryValue() (d74b16826) by @vickeyyeh
Continuous Integration¶
- Add e2e-snapshot-test.yml orchestration workflow (5e025b624) by @rstata
Build System¶
- Speed up CI by compiling test classes in build job and extracting dokka (#330) by @rstata
- Extract coverage into parallel job and limit to single matrix cell (#329) by @rstata
- Add unbumpSnapshotVersion Gradle task (5728cda3a) by @rstata
- Add e2e snapshot test runbook and fix setup-gradle warning (#328) by @rstata
- Eliminate includeNamed via sub-group Maven coordinates (#327) by @rstata
- Fix release notes file upload and refactor versioning tasks (db27c48e5) by @rstata
- Create buildtime fat jar and eliminate build-shared publication (dbda5e876) by @rstata
- Copy Jacoco aggregation tasks into the core build (4d4a68640) by @rstata
- Make core and gradle-plugins runnable as standalone builds (3b454a017) by @rstata
- Replace StringTemplate with Kotlin string templates and remove dead deps (b16429589) by @rstata
- Add CI watchdog to alert on workflow startup failures (#325) by @geovannefduarte
- Add detektCleanup task for targeted warning enforcement (710d65930) by @geovannefduarte
- Narrow Viaduct static analysis to handwritten Kotlin sources (962abbc16) by @rstata
- Remove scaffold task from application Gradle plugin (42ef4ffed) by @rstata
- Remove redundant demoapp dependencies (0db1b9d16) by @rstata
- Fix detekt cleanup warnings across Viaduct OSS modules (0f7e5182a) by @geovannefduarte