Releases: goadesign/goa
Releases · goadesign/goa
v3.21.0
New Features
This release adds native support for Server-Sent Events to Goa.
- Read the initial proposal
- Run the monitor example
Additionally this release changes how Goa generated OpenAPI specification examples for aliased primitive types.
Previously each attribute using such types would have to redefine examples. Goa now uses the type example
by default for all attributes of that type.
Minor Improvements
- Goa generated code now satisfies the latest
staticcheck
rules - Better design error message in case of invalid use of the
Payload
DSL function
Bug Fixes
- Fixes in how newlines are generated (added missing newlines and removed extra newlines)
- The HTTP code generated for
SkipResponseBodyEncodeDecode
does not explicitly write a HTTP status
code anymore. The behavior should be backwards compatible (the Go stdlib package will generate
a 200 OK status if none was written) but makes it possible for user code to write any appropriate
status code.
What's Changed
- Fix warning QF1004 of staticcheck by @mamo3gr in #3684
- Properly propagate alias types user examples by @raphael in #3685
- Use eval.InvalidArgError() to dsl.Payload() by @tchssk in #3689
- Always end template files in a newline by @MichaelUrman in #3687
- Update linter configuration and fix linting issues by @raphael in #3694
- Do not write HTTP headers with SkipResponseBodyEncodeDecode by @raphael in #3695
- SSE Support by @raphael in #3697
New Contributors
Full Changelog: v3.20.1...v3.21.0
v3.20.1
What's Changed
- Make tests independent of Goa version by @raphael in #3657
- Use eval.InvalidArgError() to dsl.Body() more by @tchssk in #3658
- Refresh README by @raphael in #3659
- Properly consider bases when validating interceptors by @raphael in #3666
- Properly handle interceptor types in custom packages by @raphael in #3667
- Properly handle root files rename by @raphael in #3674
- Add missing codegen tool import by @raphael in #3682
- Validate example compatibility after DSL evaluation by @raphael in #3683
Full Changelog: v3.20.0...v3.20.1
v3.20.0
What's Changed
- Use doc.IsPredeclared() and token.IsKeyword() for codegen.fixReservedGo() by @tchssk in #3599
- Fix conversion methods to use correct external type by @tchssk in #3607
- Remove bases from attributes once they are finalized. by @raphael in #3608
- Introducing Goa Guru on Gurubase.io by @kursataktas in #3612
- chore: update speakeasy sponsor graphic by @chailandau in #3628
- Use eval.InvalidArgError() to dsl.OneOf() by @tchssk in #3624
- Use eval.InvalidArgError() to dsl.MapParams() by @tchssk in #3634
- Initial interceptors implementation by @raphael in #3616
- Use InvalidArgError() to dsl.Type() more by @tchssk in #3635
- Allow setting protoc command via Meta by @duckbrain in #3633
- OpenAPIv3: Generate different schemas for types with different validation rules by @raphael in #3642
- Add openapi:additionalProperties Meta by @tchssk in #3644
- Fix issues reported by DeepSource by @raphael in #3646
- Address lint issues reported by DeepSource by @raphael in #3647
- Streaming Interceptors by @douglaswth in #3641
- Fix generation of unused validation functions by @raphael in #3652
- Fix a few streaming interceptor bugs by @douglaswth in #3655
- Fix client gRPC endpoint generation to appease Go 1.24 test by @douglaswth in #3656
New Contributors
- @kursataktas made their first contribution in #3612
- @chailandau made their first contribution in #3628
Full Changelog: v3.19.1...v3.20.0
v3.19.1
v3.19.0
What's Changed
- Add typed nil validation to dsl.Security by @tchssk in #3574
- Write response headers with SkipEncodeDecodeResponseBody using a custom writer by @raphael in #3578
- Add "openapi:typename" meta to user types by @raphael in #3572
- Add TooFewArgError to dsl.OneOf by @tchssk in #3577
- Add nil validation of reference type to dsl.Body by @tchssk in #3579
- Generate validation code for required attributes in inline struct http bodies by @tchssk in #3580
- Exit after usage() is shown. Fixes #3583 by @loafoe in #3584
- Refactor file server implementation by @raphael in #3588
New Contributors
Full Changelog: v3.18.2...v3.19.0
v3.18.2
v3.18.1
v3.18.0
What's Changed
- Fix handling of result types used in bodies by @raphael in #3559
- Remove unnecesary imports of exampleServiceFile() in codegen/service by @tchssk in #3558
- Add eval.TooFewArgError() by @tchssk in #3557
- Update Speakeasy URL in Goa Readme by @ndimares in #3563
- Handle Any type as a typeless schema in OpenAPI by @tchssk in #3561
- Refactor how generated result types are handled by @raphael in #3564
- Fix embedded explicit view by @raphael in #3567
New Contributors
Full Changelog: v3.17.2...v3.18.0
v3.17.2
What's Changed
- Fix example generation by @raphael in #3547
- Use errorlint from golangci-lint by @tchssk in #3548
- Fix grpc example by @raphael in #3549
- Mount clue HTTP request log middleware by @raphael in #3550
- Properly handle custom package result types by @raphael in #3551
- Correctly handle specifying views on collections by @raphael in #3552
- Properly handle custom type package result types by @raphael in #3553
- Address linter issue by @raphael in #3555
Full Changelog: v3.17.1...v3.17.2
v3.17.1
What's Changed
- Support nested DSLs by eval.caller() by @tchssk in #3523
- Properly handle SkipRequestBodyEncodeDecode when generating CLI by @raphael in #3532
- Use eval.TooManyArgError() more by @tchssk in #3526
- Add test for eval.InvalidArgError() by @tchssk in #3536
- SkipResponseWriter by @duckbrain in #3537
- Move gRPC codegen templates to separate files by @raphael in #3538
- Use errors.Is() by @tchssk in #3541
- Upgrade generated examples by @raphael in #3539
- Use errors.As() by @tchssk in #3542
- Use fmt.Errorf("%w") for error wrapping by @tchssk in #3544
- Fix misc issues with server example generation by @raphael in #3545
Full Changelog: v3.16.2...v3.17.1