Goa v3.29.2
Goa v3.29.2 is a patch release that makes generated unions, HTTP Server-Sent Events clients, and named streaming payloads compile and behave consistently. Upgrade to this release and regenerate to pick up the fixes.
Fixes
- Union generation and validation: Extended unions are emitted in the package that owns them, optional union presence survives service-to-transport conversion,
TypeNameis honored inOneOf, and validation no longer dereferences absent optional values. Constructor documentation now reflects these contracts. (#3956, #3957, #3958, #3959, #3960, #3961, #3962) - HTTP SSE clients: Generated SSE streams now satisfy their service stream interfaces directly. They provide both
Recvand context-aware receiving, discard truncated final frames, and returnio.EOFwhen the stream ends. (#3963, #3964) - Streaming payloads: Required fields declared on named streaming payload types retain their validation in generated HTTP client and server code. This fixes invalid pointer assignments in client-streaming and bidirectional-streaming transports. (#3966, #3965)
Examples and plugins have been regenerated for v3.29.2. The plugins testing client now consumes the generated HTTP SSE service stream interface directly.
Upgrade notes
Update Goa to v3.29.2 and regenerate your service code. No DSL or runtime migration is required.
Contributors
Thank you to Raphael Simon (@raphael) for the fixes in this release.