Download Latest Version Goa v3.34.0 source code.zip (4.3 MB) Google Add to Preferred Sources
Home / v3.32.0
Name Modified Size InfoDownloads / Week
Parent folder
Goa v3.32.0 source code.tar.gz 2026-09-21 2.5 MB
Goa v3.32.0 source code.zip 2026-09-21 4.0 MB
README.md 2026-09-21 3.3 kB
Totals: 3 Items   6.5 MB 0

Goa v3.32.0 fixes generation for client interceptors declared on an API or an individual method. Previously, these valid designs could panic while generating a CLI or example because the required package import was missing. gRPC, HTTP, and JSON-RPC generation now uses the same interceptor information as the generated client interface.

Interceptor inheritance, ordering, and method selection remain unchanged. An interceptor attached to one method still applies only where the design specifies it. The correction also preserves imports needed by output streams and services exposed through multiple transports.

Generator extensions can use the new service.Plan.ServiceHasClientInterceptors query before linking to determine whether a service has applicable client interceptors. It reads the plan's retained facts and rejects a service that does not belong to that plan. This compiler API addition is the reason for the minor version increment.

The README also has a refreshed design-first workflow, examples, documentation links, and banner.

Custom field defaults are validated by their schema value rather than the Go package and type name of the default. This keeps json.RawMessage defaults working when Go represents that type as an alias and permits compatible values with another Go name. Byte values use an explicit target conversion, preserving their bytes for both string and byte-slice targets. The original authored value and its serialization methods are retained.

Numeric defaults are checked before narrowing. A named int64 value of 4294967296 used as a custom Int32 default now fails instead of being validated as zero. Negative unsigned values, float-to-integer defaults, overflow and non-finite numbers also fail. Direct calls to codegen.RenderGoValue check the supplied value's literal shape without assuming it is the stored default; schema validation and checking an external Go target remain separate responsibilities.

Goa’s dependencies have been updated, including gRPC v1.84.0. Goa now requires Go 1.26 or later; release checks cover Go 1.26.8 and Go 1.27.1 on Linux and Windows. Upgrade the Go toolchain before updating the Goa module and CLI. The CI matrix declares the minimum and latest versions explicitly.

To adopt these corrections, update the Goa module and CLI together, regenerate the complete generated tree, then compile and test the application. Correct any newly rejected lossy custom defaults in the design. From v3.31.1, the compiler corrections change no runtime protocol or stored-data format and require no coordinated service rollout or data migration. If upgrading from v3.30.x or earlier, follow UPGRADING.md for the separate source and transport changes introduced in v3.31.

Thanks to @raphael for the changes. Related pull requests: [#3991], [#3992], [#3993], [#3995], and [#3996].

Dependency advisory note: GitHub’s current range for GHSA-2v4p-qf9q-27wj includes gRPC v1.84.0, although the tagged source contains the backported fix. The source and commit ancestry were verified; the advisory-range correction is tracked in github/advisory-database#9608. The warning remains visible, and no dependency-check exemption was added.

Source: README.md, updated 2026-09-21