Releases: grpc-ecosystem/grpc-gateway
v2.7.2
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
- @MakDon made their first contribution in #2455
- @betmix-matt made their first contribution in #2461
Full Changelog: v2.7.1...v2.7.2
v2.7.1
What's Changed
- Replace "github.com/ghodss/yaml" with "sigs.k8s.io/yaml" by @slntopp in #2436
- build: upgrade
go
directive ingo.mod
to 1.17 by @Juneezee in #2443 - Revert "support grpc.ClientConnInterface in RegisterXXXHandler (#2398)" by @shane-kerr in #2444
New Contributors
- @slntopp made their first contribution in #2436
- @Juneezee made their first contribution in #2443
- @shane-kerr made their first contribution in #2444
Full Changelog: v2.7.0...v2.7.1
v2.7.0
What's Changed
- Decode path-encoded URL components by @v3n in #2332
- Add docs for merging OpenAPI into a single file by @alee792 in #2354
- Fix timestamp string conversion by @momom-i in #2367
- Upgrade bazel toolchain by @johanbrandhorst in #2390
- Log zero property as warning instead of error by @jungwinter in #2387
- support grpc.ClientConnInterface in RegisterXXXHandler by @defool in #2398
- Allow OpenAPI query parameters to be generated for all HTTP methods, regardless of body by @alee792 in #2402
New Contributors
- @v3n made their first contribution in #2332
- @alee792 made their first contribution in #2354
- @0rax made their first contribution in #2386
- @jungwinter made their first contribution in #2387
- @defool made their first contribution in #2398
- @AdamKorcz made their first contribution in #2405
- @jzelinskie made their first contribution in #2413
- @aronrichter made their first contribution in #2412
Full Changelog: v2.6.0...v2.7.0
v2.6.0
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
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
This release adds support for customizing routing error HTTP status codes. Thanks to @electrofelix for the contribution!
Other changes
- implements a max recursive depth check by @drewwells in #2022
- Fix typo in README.md by @cxmcc in #2047
- Add doc with info about binary upload a custom route, for #500 by @jonathanbp in #2063
- Fix path params being in the body by @stijndehaes in #2078
- Update CI to use 1.16 and latest release by @johanbrandhorst in #2099
- Patcher for fields of type google.protobuf.Any by @veith in #2103
New Contributors
- @drewwells made their first contribution in #2022
- @cxmcc made their first contribution in #2047
- @jonathanbp made their first contribution in #2063
- @stijndehaes made their first contribution in #2078
- @veith made their first contribution in #2103
- @electrofelix made their first contribution in #2101
Full Changelog: v2.3.0...v2.4.0
v2.3.0
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)
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)
v2.2.0
v2.2.0 (2021-02-09)
Fixed bugs:
- [protoc-gen-openapiv2] [BUG] Incorrect handling of non-wildcard google.api.http.body when using field_behaviour annotation #1937
- Duplicate tags seen in Swagger Specification #1913
- Poor error message when using message in path parameter #1863
Closed issues:
- can we add HTTPStatusFromCode to mux? #1954
- Missing types in generated gw.go file for C++ server #1942
- What is the recommend way to bind 3rd party APIs (e.g. Health/Check to /healthzf #1931
- Patch request with field_masks #1930
- Working from the helloworld example but getting an error on HTTP requests: grpc: the client connection is closing. Would like to improve the docs. #1924
- Action Required: Fix Renovate Configuration #1918
- F #1917
- Is any method to access the raw request body in metadata? #1908
- Custom incoming header matcher isn't working as expected #1902
- README.md links to https://pkg.go.dev/github.com/golang/protobuf/jsonpb which does not exist #1901
- Is it possible to setup CORS? #1889
Merged pull requests:
- Add documenation for standalone gateway generation #1955 (dgparker)
- Update google.golang.org/genproto commit hash to bba0dbe (master) #1953 (renovate[bot])
- Make fieldmask parser output deterministic #1950 (johanbrandhorst)
- Update golang Docker tag to v1.15.8 (master) #1949 (renovate[bot])
- Fix verb parsing #1947 (jefferai)
- Update google.golang.org/genproto commit hash to deb8283 (master) #1945 (renovate[bot])
- Fix malformed Schema Reference during field_behavior generation #1944 (gganley)
- Update dependency com_github_bazelbuild_buildtools to v4 (master) #1939 (renovate[bot])
- Update google.golang.org/genproto commit hash to 3206188 (master) #1936 (renovate[bot])
- Update google.golang.org/genproto commit hash to 646a494 (master) #1934 (renovate[bot])
- Update golang.org/x/oauth2 commit hash to 0101308 (master) #1933 (renovate[bot])
- Update google.golang.org/genproto commit hash to 94839c0 (master) #1932 (renovate[bot])
- Update golang.org/x/oauth2 commit hash to f9ce19e (master) #1928 (renovate[bot])
- Update rules_proto commit hash to a0761ed (master) #1927 (renovate[bot])
- Update google.golang.org/genproto commit hash to 44e461b (master) #1926 (renovate[bot])
- Update google.golang.org/genproto commit hash to f46fe6c (master) #1923 (renovate[bot])
- Update golang.org/x/oauth2 commit hash to af13f52 (master) #1922 (renovate[bot])
- Multiple repeated fields are allowed #1921 (topherCantrell)
- Update google.golang.org/genproto commit hash to 8081c04 (master) #1920 (renovate[bot])
- Update google.golang.org/genproto commit hash to fc48d45 (master) #1919 (renovate[bot])
- Update google.golang.org/genproto commit hash to f5e8c5e (master) #1915 (renovate[bot])
- Update golang Docker tag to v1.15.7 (master) #1912 (renovate[bot])
- Update google.golang.org/genproto commit hash to e258113 (master) #1910 (renovate[bot])
- Update docs for bug fix and expanding HTTP status codes in Customizing your gateway #1907 (bconway)
- Update rules_proto commit hash to cfdc2fa (master) #1906 (renovate[bot])
- Remove jsonpb reference #1904 (johanbrandhorst)
- Update google.golang.org/genproto commit hash to 6edceaf (master) #1903 (renovate[bot])
- Update module google.golang.org/grpc to v1.35.0 (master) #1899 (renovate[bot])
- Update golang.org/x/oauth2 commit hash to d3ed898 (master) #1898 (renovate[bot])
- Update google.golang.org/genproto commit hash to ae06605 (master) #1897 (renovate[bot])
- Update golang.org/x/oauth2 commit hash to 8b1d76f (master) #1896 (renovate[bot])
- Update golang.org/x/oauth2 commit hash to 01de73c (master) #1895 (renovate[bot])
- Reworked Error message in newParam() in services.go #1894 (gunadhya)
- Update google.golang.org/genproto commit hash to 22ae2b1 (master) #1893 (renovate[bot])
- Update module google.golang.org/grpc to v1.34.1 (master) #1891 (renovate[bot])
- Update google.golang.org/genproto commit hash to c7d5778 (master) #1890 (renovate[bot])
- Update google.golang.org/genproto commit hash to ffc7fda (master) #1888 (renovate[bot])
v2.1.0
v2.1.0 (2021-01-07)
Implemented enhancements:
- protoc-gen-grpc-gateway: can't generate gateway stubs for multiple packages in one go #1612
- Addition of Prettier GitHub action to prettified the markdown files #1575
- add support for field_behavior options on swagger plugin #1806 (ewhauser)
Fixed bugs:
- The "Use go templates" page is missing its actual go templates #1773
- FieldMask Generation causes a 400 when a google.protobuf.Struct field has populated values #1570
- Support openapiv2_tag option in swagger generator #690
Closed issues:
- Ignore some fields in HTTP Response and OpenAPI #1886
- Using runtime.WithMarshalerOption() breaks swagger docs #1882
- Data is Getting Encoded while returning response as HTML #1880
- jsonPB is not supporting in grpc gateway v2 migration #1878
- Move generator and descriptor packages into the public API #1877
- Add -module flag to protoc-gen-openapiv2 plugin #1876
- Load Balancing with multiple instances of a grpc-server. #1875
- Building with Bazel not compatible when using Gazelle and disable_global #1847
- Unexpected response on /v2/example/errorwithdetails #1842
- openapi_configuration option in protoc_gen_openapiv2 Bazel rule fails. #1838
- Link to v2 migration guide broken #1836
- add header in http.Handler,but not take effect #1835
protoc-gen-openapiv2
rule should expose all of the relevant flags available #1831- if there a flag set the metadata first letter not change to uppower #1830
- Clarification about return Access-Control-Allow-Origin header #1827
generate\_unbound\_methods
option and FieldMask fields don't work together. #1816- openapiv2: panic when SecurityRequirement is missing a value #1811
- Cannot resolve import 'google/api/http.proto' #1809
- add version information at compile-time #1803
- 🚀
protoc\_gen\_openapiv2
should allow to passgenerate\_unbound\_methods
option #1792 - Can't generate python client #1785
- Issue with converting to the bytes data type #1781
- Possible way to access request header key,value #1780
- Run demo failed! #1777
- protoc-gen-swagger: Implement Response Header(s) object, Implement Field Enum,Example&Format attributes #1729
Merged pull requests:
- Update google.golang.org/genproto commit hash to 07624b5 (master) #1885 (renovate[bot])
- Add a ## Docs section to highlight the docs URL #1884 (VinGarcia)
- Fix broken 'Field Mask' documentation link #1883 (adolfo)
- Update google.golang.org/genproto commit hash to 8c77b98 (master) #1874 (renovate[bot])
- Fix link to "gRPC API configuration" in README #1873 (alpire)
- Update google.golang.org/genproto commit hash to 40ec1c2 (master) #1872 (renovate[bot])
- Update google.golang.org/genproto commit hash to e3217be (master) #1870 (renovate[bot])
- Update google.golang.org/genproto commit hash to f927205 (master) #1869 (renovate[bot])
- Update golang.org/x/oauth2 commit hash to 08078c5 (master) #1867 (renovate[bot])
- protoc-gen-openapiv2: Add openapiv2_tag support #1866 (rcgoodfellow)
- Update golang.org/x/oauth2 commit hash to 9317641 (master) #1864 (renovate[bot])
- Update google.golang.org/genproto commit hash to 9ee31aa (master) #1862 (renovate[bot])
- Update Season of Docs page #1861 (johanbrandhorst)
- Refactored the documentation files of gRPC-Gateway #1860 (iamrajiv)
- Update google.golang.org/genproto commit hash to 06b3db8 (master) #1858 (renovate[bot])
- Update golang Docker tag to v1.15.6 (master) #1857 (renovate[bot])
- Update google.golang.org/genproto commit hash to 6486ece (master) #1854 (renovate[bot])
- Update golang.org/x/oauth2 commit hash to 0b49973 (master) #1853 (renovate[bot])
- Update module google.golang.org/grpc to v1.34.0 (master) #1852 (renovate[bot])
- [GSoD] Refactored the documentation files of gRPC-Gateway #1851 (iamrajiv)
- Update google.golang.org/genproto commit hash to 55d61f9 (master) #1850 (renovate[bot])
- Update rules_proto commit hash to 84ba6ec (master) #1849 (renovate[bot])
- Update google.golang.org/genproto commit hash to b05cb90 (master) #1846 (renovate[bot])
- [GSoD] Added new architecture introduction diagram for gRPC-Gateway #1845 (iamrajiv)
- [GSoD] Added more faq for gRPC-Gateway #1844 (iamrajiv)
- Fix broken example #1843 (isbang)
- Feature/implement response headers v2 #1841 (elijah-roberts)
- Update module google/go-cmp to v0.5.4 (master) #1840 (renovate[bot])
- Fix some broken docs links #1839 (johanbrandhorst)
- Sets proper context property for openapi_configuration option #1837 (zoido)
- Adjust protoc-gen-openapiv2/main.go flags docs as suggested during #1832 review #1833 (zoido)
- Rest protoc-gen-openapiv2 flags as rule attrs #1832 (zoido)
- [GSoD] Added tutorials directo...
v1.16.0
The grpc-gateway v1 is in maintenance mode, you are encouraged to migrate to v2. Check out our v2 migration guide.
v1.16.0 (2020-10-28)
Merged pull requests:
- feat: protoc-gen-swagger: Implement Response Header(s) object, Implem… #1730 (elijah-roberts)