github grpc-ecosystem/grpc-gateway v2.33.0

4 hours ago

Notice to all users

This release contains a security fix that changes the behavior of header parsing in the gateway. As part of fixing #7281, the decision was made to stop automatically adding client headers with the Grpc-Metadata- prefix into the grpc metadata by default. This behavior can be restored using the new mux option WithLegacyHeaderMatching. See https://grpc-ecosystem.github.io/grpc-gateway/docs/operations/security_considerations/#request-headers-become-grpc-metadata-under-a-prefix for more information.

Changes

  • reject non-decimal float spellings in query and path params by @itecz26 in #7512
  • docs: link example repositories in README by @wangyusheng1985 in #7517
  • docs: update outdated local proxy documentation (#912) by @Asthenia0412 in #7521
  • reject field[key] syntax for non-map fields in query params by @itecz26 in #7522
  • keep remote address in x-forwarded-for when a client value is invalid by @itecz26 in #7531
  • let WithMetadata annotators override client-forwarded metadata by @itecz26 in #7532
  • try GET first for path length fallback so it isn't lost to map order by @cvas22 in #7535
  • runtime: make strict deep wildcard matching a ServeMux option by @movsb in #7533
  • apply middlewares to health endpoint regardless of option order by @cvas22 in #7537
  • keep the Authorization header first in authorization metadata by @itecz26 in #7540
  • accept form content types with parameters in the path length fallback by @spicysharkco in #7538
  • keep matching other patterns when the last segment is a bare verb by @cvas22 in #7539
  • fix(openapiv3): skip bindings with methods OpenAPI 3.1 can't describe by @LuisFigueroaG in #7505
  • feat(openapiv3): add allow_delete_body option by @LuisFigueroaG in #7506
  • openapiv2: allow any item type in google.protobuf.ListValue schema by @cvas22 in #7551
  • don't add an empty path to the field mask for an empty request body by @cvas22 in #7552
  • Use the httprule parser for openapiv2 path templates by @anyingiit in #7562
  • Update dependency node to v24 by @renovate[bot] in #7543
  • fix(gengateway): quote custom HTTP methods without a net/http constant by @LuisFigueroaG in #7575
  • fix(openapiv3): emit google.protobuf.NullValue fields as null by @ybai08 in #7541
  • fix(openapiv3): describe server-streaming responses as stream chunks by @ybai08 in #7577
  • avoid quadratic path building for nested structs in field masks by @itecz26 in #7544
  • protoc-gen-openapiv2: keep custom ref targets in the naming cache by @pujitha24 in #7560
  • fix(gengateway): use the embedded field name for response_body types by @LuisFigueroaG in #7578
  • reject duplicate map keys in jsonpb non-proto decoder by @itecz26 in #7561
  • return io.EOF from drained ProtoMarshaller decoder by @itecz26 in #7567
  • fix(openapiv3): omit oneof siblings of path and body fields from query parameters by @ybai08 in #7579
  • ignore query keys naming the parent of a path-bound field by @itecz26 in #7582
  • fix(openapiv2): don't put the schema type in format for json_schema types by @LuisFigueroaG in #7585
  • fix(runtime): parse an empty FieldMask query parameter as an empty mask by @LuisFigueroaG in #7586
  • fix(descriptor): skip additional_bindings without an HTTP pattern by @LuisFigueroaG in #7588
  • fix(openapiv2): apply file-level responses to HEAD and OPTIONS operations by @LuisFigueroaG in #7592
  • drop Grpc-Metadata forwarding from DefaultHeaderMatcher by @itecz26 in #7590

New Contributors

Full Changelog: v2.32.0...v2.33.0

Don't miss a new grpc-gateway release

NewReleases is sending notifications on new releases.