Announcing goa v1.2.0
Today I am very pleased to announce the release of goa
v1.2.0! This release
contains all the changes made in the
v1 branch of goa for the past 4 months -
since the release of
New Team Members!
Taichi was one of the first contributors to goa, his contributions are always of the highest quality. Apart from fixing many bugs and contributing actively to goa v2, Taichi also helped translate the entire https://goa.design/ja website into Japanese.
Michael is a long time user of goa and has already contributed some of the most intricate code generation algorithms to goa v2 including the server-side HTTP transport.
Both Taichi and Michael have already made a big impact on the development of v2 and I’m looking forward to collaborating with them on the next set of features!
The main new features that come with
The use of the stdlib
contextpackage instead of
golang.org/x/net/context. While technically a breaking change not a single user voted against that change in the poll issue (actually most people really wanted it). [#1177]
The generic tracer middleware makes it possible to load tracing headers in the request context. The xray package takes advantage of that to report traces to AWS X-Ray. Checkout the blog post for more details. Dominic Metzger fixed a number of issues in the initial implementation and added the ability to trace at the transport level. [#1004] [#1005] [#1026] [#1028] [#1129] [#1175] [#1185]
There were a few niceties added to goa
v1.2 as well:
The generated code include headers that match the Go standard for generated code as described in the corresponding Go issue.
It is now possible to use DSL when defining
Hashattributes. The function takes two DSLs, the first applies to the hash keys and the second to the values. This makes it possible to attach validations and metadata to the hash keys and values. [#1172]
As always this release also comes with a number of bug fixes, in particular:
Peter also fixed the rendering of parameters in client requests paths. [#977].
Bryce also made sure that the generated client includes a proper header comment. [#980]
Bryce also found a missing error handling in the controller code generation algorithm which would cause confusing errors. [#1118]
The generated client commands now properly handle missing required flags. [#1008]
Tony also fixed the error handler so that it would not report any
5xxresponse status code as an internal error. [#1071]
Taichi also fixed the generated test helper code so that the names of local variable would not clash with the names of parameters. [#1084]
As you can see a lot of work went into this release, many thanks to all the contributors!!
Looking forward I’m hoping the next release will be v2! v1 will stay around for
a while though so I expect a
v1.3.0 release 4 months from now.