Goa v3.13.0, v3.13.1 更新情報
概要
Goa の更新情報メモです。
Goa v3.13.0, v3.13.1
v3.13.0, v3.13.1 の更新情報です。
主な変更内容
今回は mux rooter の変更という大きめの変更が入っています。
#3330
meta openapi:example work at APIExpr level too by @antipopp inドキュメントで使えるとなっていた OpenAPI ドキュメントへの example 生成の指定が使えてなかったのが直りました。
// - "swagger:example" DEPRECATED, use "openapi:example" instead
//
// - "openapi:example" specifies whether to generate random example. Defaults to
// true. Applicable to API (applies to all attributes) or individual attributes.
//
// var _ = API("MyAPI", func() {
// Meta("openapi:example", "false")
// })
#3346
Switch to chi as default Goa mux by @raphael inルーターが dlmfeld/treemux から go-chi/chi のルーターに切り替わりました。
変更の理由は、コミュニティが活発なのとルートマッチに使われたパターンを取得する機能が便利そうだから、といったところのようです。gorilla/mux、julienschmidt/httprouter 、BunRouterなども検討されたらしい。
この変更によって trailling slash の扱いが変更されているので、treemux の trailling slash の挙動に依存している場合には注意が必要そう。treemux のルーターは trailling slash を適当に調整するという機能がありましたが、chi のルーターは書いてあるとおりのパスにしかマッチしないです。ご注意ください。
Make generated proto filename unique. by @raphael in #3351
protobuf v1.26.0 から複数の同名の protobuf名がリンクされた Go のプログラムを起動するとエラーになるようになった模様:https://protobuf.dev/reference/go/faq/#namespace-conflict
Goa で異なるサービスで同じパッケージ名を利用していると生成される proto のファイル名に同じものが出来てしまっていたのでそれが修正されました。
#3359
Consider service and API level requirements by @raphael inSkipRequestBodyEncodeDecode と認証を一緒に使えないという挙動が修正されました。
#3363
Resolve route patterns with default mux by @raphael inルーターを chi に変更したときに発生したワイルドカード(*
)を含むパターンのエラーの修正。
大きめの変更が入ったのでしばらくバタバタするかもですね。なにか不具合を見つけたれ issue あげていきましょう ╭( ・ㅂ・)و ̑̑ グッ !
Happy hacking!
Discussion
Trailling slash の挙動を v3.12.4 以前と同じにするプラグインを作りました。
すばらしい!です!