Release 0.25.0¶
See GitHub Release.
Breaking Changes¶
- Create errors library and rename exception classes (e4777814) by @fireboy1919
- Updated kotlin coroutines to version 1.8.1 (3449bae7) by @viaduct-maintainers
Features¶
- Add syncValueComputation field to InstrumentExecuteResolverParameters (0a026966) by @vickeyyeh
- Add
WithBeginNodeFetchingopt-in instrumentation hook to observe node resolver dispatch. NewInstrumentNodeFetchingParametersprovides theDataFetchingEnvironmentandResolverMetadatafor the node resolver. Existing implementations are unaffected via a default no-op onViaductModernGJInstrumentation. (57348924) by @vickeyyeh - Add copy-as-markdown dropdown with AI integration (#288) by @ryantanner
- Expose Attribution in FieldExecutionScope (a64e5c6e) by @jbellenger
- Add
fieldCoordinate: Coordinate?toInstrumentExecuteResolverParameters, allowing instrumentation implementations to observe which GraphQL field coordinate is being resolved. (db3a3042) by @vickeyyeh - Add resolverType to ResolverMetadata (1d7d9a75) by @vickeyyeh
- Adds
ConnectionBuilderfeature app tests and Tutorial 11 (Connections) to Viaduct OSS tenant. (554cb193) by @kristileka - Adds
BackingDataFieldsRuleOSS schema validation and a real@backingDataexample to the StarWars demo. (df40e5ef) by @kristileka - Add ctx.query / ctx.mutation subqueries tutorial (7e474140) by @fireboy1919
- Improved mechanism for release managers to validate release branches (#301) by @rstata
- Improved scripting for demoapp publishing (#300) by @rstata
- Add
tenantMetadatafield toResolverMetadataand introduceTenantModuleMetadatadata class;TenantPackageFindernow returnsSet<TenantPackageInfo>(previouslySet<String>) carrying per-module metadata;TenantResolverClassFindergains atenantModuleMetadata()method; all executor impls accept an optionaltenantMetadata: TenantModuleMetadata?parameter (f8a1b712) by @vickeyyeh - Add a test-java-feature-app Gradle plugin and use it to replicate the Kotlin ObjectFeatureAppTest in the Java runtime module. This validates that the Java codegen (JavaGRTsCodegen + JavaResolversCodegen) can auto-generate all GRT and resolver base classes from inline SDL, matching the same patterns tested in the Kotlin tenant runtime. (db3845f9) by @catacraciun
- Add ViaductTenantNameContext to instrumentation API (b75291e3) by @ryantanner
Bug Fixes¶
- Deflake Arb.flatten test (369890c5) by @jbellenger
- Earlier @idOf directive validation (69df39b1) by @jbellenger
- Fix deprecated buildDir and untyped outputs in ViaductFeatureAppPluginBase (3b5812a5) by @rstata
- Declare default schema as @InputFile and add @CacheableTask to test-support codegen tasks (7f64c192) by @rstata
- Use @Classpath annotation for codegen task classpaths (e3c85257) by @rstata
- Disallow reserved literals in GraphQL enum value generation (d83890fc) by @jbellenger
- Aligns CLI flag name with Bazel rule by renaming the option from --binary_compilation_schema to --compilation_schema_binary, so the generator now receives the intended per-tenant compilation schema binary instead of silently falling back to the full schema. (5f390c44) by @junjinp
- Use resolverName instead of resolverId in wrapResolveException (dfd5d15c) by @fireboy1919
- Preserve author mappings, PR references, and dedup authors (c2c70b34) by @gokhan-ozgozen
- Fixes
ConnectionBuildercodegen failures when a@connectiontype and its@edgetype are assigned to different build shards during schema codegen. (5f158a3b) by @kristileka - Replace deprecated URL(String) constructor with URI.toURL() (1c235133) by @fireboy1919
- Fix warnings in test and testFixtures: (de73b5d9) by @nmarsollier
Documentation¶
- Surface implementation docs in OSS
AGENTS.mdfiles (9e7748fd) by @amity177 - Update required java version in docs (#302) by @jtuchscherer
- Fix link to sonatype in release runbook (#304) by @ryantanner
- Updated documentation for Selective Node Resolvers. (2ad7d926) by @pclowes
Refactoring¶
- Move runtime infrastructure to viaduct.engine.runtime (12985491) by @geovannefduarte
- Move engine SPI interfaces to
viaduct.engine.api.spi(87a99a19) by @geovannefduarte - Mv ID helpers out of WrapUtils to viaduct.shared (030a0263) by @jbellenger
- Removes redundant access check execution code in
ResolverDataFetcher, since access checks are executed by the execution strategy outside of data fetchers. (cd56be64) by @gummybug
Chores¶
- Remove empty shared/logging module (7aeebce1) by @rstata
- Add some helper methods, and fix Arb.flatten (54abd085) by @jbellenger
- Mv result IR generator to its own file (0b2c944e) by @jbellenger
- Filter NullLiteral values in ViaductSchema toDirectiveForTypeDefinition (66244e66) by @njlynch
Build System¶
- Clean up root build configuration and make publishing explicit (7e8db944) by @rstata