Skip to content

Release 0.32.0

See GitHub Release.

Breaking Changes

  • Rename TenantModuleBootstrapper to LegacyTenantModuleBootstrapper; add new TenantModuleBootstrapper and CodeInjector SPIs (4a1ca34c) by @njlynch
  • Remove deprecated objectValue/queryValue properties from FieldExecutionContext (20cb4687) by @vickeyyeh

Features

  • Make ViaductException implement TenantException (be1ee91e) by @fireboy1919
  • Strict missing-resolver validation at startup (3b4c18b7) by @geovannefduarte
  • File-driven bootstrapping for demoapps. (309a3a6c) by @gokhan-ozgozen
  • Add executionPath to InstrumentExecuteResolverParameters (8e30b745) by @vickeyyeh
  • Validate object types in GRT builder list elements (fcaedccf) by @fireboy1919
  • Removes setter from objects if field is defined on an extend (f5a9e496) by @kristileka
  • Add KSP-based module config file generation (55ee6216) by @rstata
  • File based bootstrapping API surface changes. (f2a933f0) by @gokhan-ozgozen
  • Add getXxxOrNull generated accessors on modern GRTs that return null instead of throwing on policy-check failures or unset fields. CancellationException is still rethrown. (68fc7ead) by @alexanderuv
  • Add Java API spring-starter demo app and fix Java GRT/resolver-bases codegen (bbf96ad3) by @catacraciun

  • Support root field references resolving to null (0c8747b6) by @gummybug

  • Adds two new OSS schema validation rules to DefaultSchemaValidator and the CI-time ViaductServiceValidation: (ff567078) by @kristileka
  • ExecutorFactory and its implementation. Additional KSP fields to support schema-less bootstrapping. (0982b51e) by @gokhan-ozgozen
  • Require @Resolver annotation on node resolvers (602bd569) by @geovannefduarte
  • Populate providedVariables from @Variables nested class annotation (c6d65ea9) by @nmarsollier

Bug Fixes

  • Exclude org/junit from runtime shadow jar (6e246cbb) by @fireboy1919
  • Fix VariablesProvider and @Variables detection in file-based bootstrap (6cae886d) by @nmarsollier
  • Fix alert delivery condition in post-alerts.yml (#335) by @geovannefduarte

Documentation

  • Fix filename in README directory tree (#342) by @rstata
  • Add object-lifecycles.md to impldocs (cfcd582d) by @rstata
  • Re-organizae website nav bar (d0108947) by @ryantanner
  • Fix @backingData directive example to use Film.castData (#332) by @geovannefduarte

Refactoring

  • Clean up unused variables, parameters and lint violations (8157cabf) by @geovannefduarte
  • Apply error boundary pattern to ObjectBase.get/fetch (481d0f05) by @fireboy1919
  • Move FragmentResolutionError types from OSS to common/viaduct (e83accbf) by @fireboy1919
  • Migrate OverlayEngineObjectData and Builder to EngineObjectData.Sync (192c1a1d) by @vickeyyeh
  • Normalize attribution annotations to unified @Attribution model (ae53fc4a) by @rstata
  • Remove support for abstract-typed root field references in the engine (8acc56c4) by @gummybug
  • Remove deprecated objectValue/queryValue test assertions (06d377b0) by @vickeyyeh
  • Remove snipped/errors from ViaductDataFetcherExceptionHandler (1ce749a9) by @fireboy1919
  • Normalize executor error boundaries and convert tenant API validation errors (df40fb2d) by @fireboy1919
  • Replace snipped exception types with IllegalStateException in Fragment.kt (9145d4b6) by @fireboy1919

Chores

  • Remove NoCustomDirectivesRule (7f05ad53) by @gummybug
  • Revert "[viaduct] [oss] Strict missing-resolver validation... (665ae1c0) by @amity177
  • Upgrade graphql-java 25.0 -> 26.0 (take 2) (629cb93a) by @jbellenger
  • Adopt FastSchemaGenerator in several locations to enhance performance (c0497671) by @njlynch
  • Add Java Gradle plugins mirroring Kotl... (e6c2d733) by @catacraciun

Build System

  • Remove includeNamed and restore publication group (#344) by @rstata
  • Restructure Java API publications and add spring-starter to CI (#338) by @rstata
  • Make dokka job non-blocking for overall CI status (#337) by @geovannefduarte