Skip to content

Releases: grpc-ecosystem/grpc-gateway

v2.9.0

18 Mar 01:29
c5b969a
Compare
Choose a tag to compare

This release adds the ability to filter properties (Services, RPCs, Fields, Enum values) from being rendered in the OpenAPI v2 spec generated by protoc-gen-openapiv2. See https://grpc-ecosystem.github.io/grpc-gateway/docs/mapping/customizing_openapi_output/#hiding-fields-methods-services-and-enum-values for more information about this new exciting capability!

Other new features:

  • A new option to generate the OpenAPI v2 spec in YAML format
  • Allow serving a health endpoint at an arbitrary path with the new WithHealthEndpointAt ServeMux option

What's Changed

  • Annotate incoming and outgoing context by @rogchap in #2574
  • protoc-gen-openapiv2: support YAML OpenAPI/Swagger v2 definition generation by @hedhyw in #2579
  • Add support for google.api.VisibilityRules annotations to hide APIs and fields by @BCook98 in #2578
  • feature/custom HTTP health check endpoint by @antonioiubatti93 in #2587

New Contributors

Full Changelog: v2.8.0...v2.9.0

v2.8.0

02 Mar 17:58
bd0d991
Compare
Choose a tag to compare

Overview

This release introduces the new WithHealthzEndpoint which makes it easy to forward your gRPC health check endpoint to your gRPC-gateway server, and fixes a long standing bug in protoc-gen-openapiv2 where path parameters were included in both the path and the body of the generated spec (#1670 and #1015).

What's Changed

  • Include Package in Service Tags when Option is Enabled by @dkiswanto in #2519
  • Add WithHealthzEndpoint as ServeMuxOption to register a /healthzendpoint by @brumhard in #2319
  • protoc-gen-openapiv2: remove path parameters from body parameters by @oyvindwe in #2553

New Contributors

Full Changelog: v2.7.3...v2.8.0

v2.7.3

20 Jan 02:27
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.7.2...v2.7.3

v2.7.2

16 Dec 01:09
Compare
Choose a tag to compare

What's Changed

  • Log warning if HeaderMatcherFunc passes malformed HTTP headers to grpc server by @MakDon in #2455
  • Fixes #407 and #1700 - google.api.http path parameter constraints and multiple HTTP path/method endpoint support by @betmix-matt in #2461
    This fixes a long standing issue with OpenAPI spec generation in the face of complex path parameter use

New Contributors

Full Changelog: v2.7.1...v2.7.2

v2.7.1

02 Dec 03:30
432b7f7
Compare
Choose a tag to compare

What's Changed

  • Replace "github.com/ghodss/yaml" with "sigs.k8s.io/yaml" by @slntopp in #2436
  • build: upgrade go directive in go.mod to 1.17 by @Juneezee in #2443
  • Revert "support grpc.ClientConnInterface in RegisterXXXHandler (#2398)" by @shane-kerr in #2444

New Contributors

Full Changelog: v2.7.0...v2.7.1

v2.7.0

20 Nov 15:15
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.6.0...v2.7.0

v2.6.0

08 Sep 00:55
f60dfa5
Compare
Choose a tag to compare

Changes in this release

Major features in this release include:

  • The ability to auto-generate the x-nullable field from proto3 optional in openapiv2 contributed by Ken Brownfield (@irridia) in #2215
  • More comprehensive openapiv2 name generation options contributed by @alperengozeten and Malte Isberner (@misberner) in #2310

As well as various bug fixes, including the auto generation of the Www-Authenticate header when returning an 401 Unauthorized error (#2314), better google.protobuf.Any representation in openapiv2 files (#2292) and much more.

This is also the first release to automatically publish the Protobuf plugins to the Buf Schema Registry. See https://buf.build/grpc-ecosystem/plugins. These can be used together with the new buf generate remote plugins feature: https://docs.buf.build/configuration/v1/buf-gen-yaml#name-or-remote. An example buf.gen.yaml using these new plugins looks like this:

version: v1
plugins:
  - remote: buf.build/library/plugins/go:v1.27.1-1
    out: gen/go
    opt: paths=source_relative
  - remote: buf.build/library/plugins/go-grpc:v1.1.0-2
    out: gen/go
    opt: paths=source_relative
  - remote: buf.build/grpc-ecosystem/plugins/grpc-gateway:v2.6.0-1
    out: gen/go
    opt: paths=source_relative
  - remote: buf.build/grpc-ecosystem/plugins/openapiv2:v2.6.0-1
    out: gen/openapiv2

v2.5.0

22 Jun 01:53
f238f78
Compare
Choose a tag to compare

Changes in this release

This release adds support for extracting the HTTP path for an incoming request through the request context. Thanks to @0daryo for the contribution!

Note that this release slightly changes the behavior of the generator, so you must ensure that you are using the new version of the runtime library after updating the generator to this new version.

v2.4.0

28 Apr 00:08
74ecd1d
Compare
Choose a tag to compare

This release adds support for customizing routing error HTTP status codes. Thanks to @electrofelix for the contribution!

Other changes

New Contributors

Full Changelog: v2.3.0...v2.4.0

v2.3.0

25 Feb 18:33
Compare
Choose a tag to compare

This release migrates our internal generation strategy to using buf, and also updates the installation instructions to instruct users how to use buf to manage the googleapis dependencies in their own projects. If you are used to copying the third_party folder for your dependencies, you are now encouraged to check out the usage instructions again to see how to use buf to manage your dependencies instead.

The boilerplate repo contains an example.

v2.3.0 (2021-02-25)

Full Changelog

Implemented enhancements:

  • Support optional annotation in proto3 files in generators #1278

Fixed bugs:

  • grpc-gateway v2 misreads grpc protobuf field_mask behavior, breaks existing valid behavior #1766

Closed issues:

  • grpc-gateway service run error #1996
  • ../proto/api/proto/service.pb.gw.go:129:95: cannot use *StringMessage value as type protoreflect.ProtoMessage in return argument: *StringMessage does not implement protoreflect.ProtoMessage (missing ProtoReflect method) #1989
  • Grpc healthcheck docs are unclear #1977
  • Gateway protoc does not generate protoreflect.ProtoMessage messages #1959
  • [bazel] Got "missing strict dependencies" when use protoc-gen-grpc-gateway as bazel-gazelle grpc compiler #1941
  • Non official implementation #1940
  • Empty fields included in response. #1871

Merged pull requests:

  • fix(deps): update module google.golang.org/grpc to v1.36.0 (master) #1999 (renovate[bot])
  • fix(deps): update google.golang.org/genproto commit hash to 063164c (master) #1998 (renovate[bot])
  • chore(deps): update dependency com_google_protobuf to v3.15.2 (master) #1995 (renovate[bot])
  • chore(deps): update bufbuild/buf docker tag to v0.37.1 (master) #1994 (renovate[bot])
  • fix(deps): update google.golang.org/genproto commit hash to 22b48be (master) #1993 (renovate[bot])
  • fix(deps): update google.golang.org/genproto commit hash to 3e1e516 (master) #1991 (renovate[bot])
  • fix(deps): update google.golang.org/genproto commit hash to aa3ee6e (master) #1990 (renovate[bot])
  • chore(deps): update dependency com_google_protobuf to v3.15.1 (master) #1987 (renovate[bot])
  • fix(deps): update golang.org/x/oauth2 commit hash to 9bb9049 (master) #1986 (renovate[bot])
  • fix(deps): update google.golang.org/genproto commit hash to d891e3c (master) #1985 (renovate[bot])
  • chore(deps): update dependency com_google_protobuf to v3.15.0 (master) #1984 (renovate[bot])
  • fix(deps): update golang.org/x/oauth2 commit hash to ba52d33 (master) #1983 (renovate[bot])
  • fix(deps): update google.golang.org/genproto commit hash to fe80b38 (master) #1982 (renovate[bot])
  • chore(deps): update google.golang.org/genproto commit hash to c185827 (master) #1979 (renovate[bot])
  • Use base64.URLEncoding for []byte parameters in query #1978 (tvoll)
  • chore(deps): update golang docker tag to v1.16.0 (master) #1976 (renovate[bot])
  • chore(deps): update golang.org/x/oauth2 commit hash to 16ff188 (master) #1974 (renovate[bot])
  • adding UnimplementedGreeterServer to server struct #1973 (nwandabridges)
  • [Bazel] Update protobuf, rules_go and gazelle #1972 (aaliddell)
  • Migrate generation, linting to buf #1971 (johanbrandhorst)
  • chore(deps): update google.golang.org/genproto commit hash to e7f2df4 (master) #1970 (renovate[bot])
  • chore(deps): update google.golang.org/genproto commit hash to 4ccc9a5 (master) #1969 (renovate[bot])
  • Bump nokogiri from 1.10.10 to 1.11.1 in /docs #1967 (dependabot[bot])
  • docs/Gemfile.lock: Fix dependabot security warning #1966 (ivucica)
  • chore(deps): update google.golang.org/genproto commit hash to 3a9a48d (master) #1965 (renovate[bot])
  • chore(deps): update golang.org/x/oauth2 commit hash to 6667018 (master) #1964 (renovate[bot])
  • Update CONTRIBUTING.md on release description #1960 (adambabik)
  • gen-grpc-gateway, gen-openapiv2: add support for proto3 optional #1951 (adambabik)
  • FAQ Adding related projects to the documentation #1946 (rodoufu)