Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add WithForwardResponseRewriter to allow easier/more useful response control #4622

Merged
merged 1 commit into from
Aug 16, 2024

Conversation

nkcmr
Copy link
Contributor

@nkcmr nkcmr commented Aug 12, 2024

Context/Background

I am working with grpc-gateway to mimick an older REST API while
implementing the core as a gRPC server. This REST API, by convention,
emits a response envelope.

After extensively researching grpc-gateway's code and options, I think
that there is not a good enough way to address my use-case; for a few
more nuanced reasons.

The sum of my requirements are as follows:

    1. Allow a particular field of a response message to be used as the main
      response. ✅ This is handled with response_body annotation.
    1. Be able to run interface checks on the response to extract useful
      information, like next_page_token 0 and surface it in the final
      response envelope. (npt, ok := resp.(interface { GetNextPageToken() string })).
    1. Take the true result and place it into a response envelope along with
      other parts of the response by convention and let that be encoded and
      sent as the response instead.

Implementing a response envelope with Marshaler

My first attempt at getting my gRPC server's responses in an envelope
led me to implement my own Marshaler, I have seen this approach
discussed in #4483.

This does satisfy requirements 1 and 3 just fine, since the HTTP
annotations helpfully allow the code to only receive the true result,
and the Marshal interface has enough capabilities to take that and wrap
it in a response envelope.

However, requirements 1 and 2 are not both satisfiable with the
current grpc-gateway code because of how the XXX_ResponseBody() is
called before passing to the Marshal(v) function. This strips out
the other fields that I would normally be able to detect and place in
the response envelope.

I even tried creating my own protobuf message extension that would let
me define another way of defining the "true result" field. But the
options for implementing that are either a ton of protoreflect at
runtime to detect and extract that, or I am writing another protobuf
generator plugin (which I have done before 1), but both of those
options seem quite complex.

Other non-starter options

Just to get ahead of the discussion, WithForwardResponseOption clearly
was not meant for this use-case. At best, it seems to only be a way to
take information that might be in the response and add it as a header.

In practice

This change fulfills my requirements by allowing logic to be inserted
right before the Marshal is called:

gatewayMux := runtime.NewServeMux(
  runtime.WithForwardResponseRewriter(func(ctx context.Context, response proto.Message) (interface{}, error) {
    if s, ok := response.(*statuspb.Status); ok {
      return rewriteStatusToErrorEnvelope(ctx, s)
    }
    return rewriteResultToEnvelope(ctx, response)
  }),
)

In this PR

This PR introduces a new ServeMuxOption called
WithForwardResponseRewriter that allows for a user-provided function
to be supplied that can take a response proto.Message and return any
during unary response forwarding, stream response forwarding, and error
response forwarding.

The implementation ensures that checks for XXX_ResponseBody() are
always done, even on the results returned from user-provided forward
response rewriters.

Also added GetResponseBody() to allow any users that use the
WithForwardResponseRewriter option to still rely on the runtime to
know how to extract the configured response_body.

The code generation was also updated to make the XXX_ResponseBody()
response wrappers embed the concrete type instead of just
proto.Message. This allows any code in response rewriter functions to
be able to have access to the original type, so that interface checks
against it should pass as if it was the original message.

Testing

Added some basic unit tests to ensure Unary/Stream and error handlers
invoke ForwardResponseRewriter correctly.

Looking for feedback on

  • The function signature of ForwardResponseRewriter is very light at
    the moment. Input about what else might be needed here to serve
    potential future uses of this are appreciated.

@nkcmr nkcmr marked this pull request as ready for review August 12, 2024 19:11
Copy link
Collaborator

@johanbrandhorst johanbrandhorst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just having a brief look at this before diving deeper, but you'll need to regenerate the files in the repo using the new template.go logic. See CONTRIBUTING.md in the root of the repo for the steps.

@johanbrandhorst
Copy link
Collaborator

Thanks for your thoughtful and detailed description. I'm hoping to exhaust all options before going for new functionality, as I'm sure you understand. I had some crazy ideas to throw out there:

  1. With your custom marshaler, can't you just not use the response_body option? You could make the marshaler switch on the type and pick the field you want to be in the envelope. Even the custom extension doesn't sound all that bad (protoreflect is good, actually).
  2. It seems like you want to add a static type wrapper around all messages? Have you considered using a gRPC client-side interceptor on the gateway side? I don't even know if it's possible to change the type returned from an interceptor, but thought it'd be worth suggesting.

@nkcmr
Copy link
Contributor Author

nkcmr commented Aug 14, 2024

Hi @johanbrandhorst!

Thanks for the feedback. I have run the code-generators and pushed those changes up (sorry for missing that step and just breezing by the contributing docs).


Let me address your other feedback:

Have you considered using a gRPC client-side interceptor on the gateway side?

So, I might be misunderstanding what exactly you're recommending here, but I think you're recommending grpc.UnaryClientInterceptor be configred on the Gateway → gRPC-Server end. However, I am confused by how exactly I would be able to go from Response A (the original response of the method) to Response B (My response envelope) while using this:

grpc.NewClient(
	"localhost:8334",
	grpc.WithUnaryInterceptor(func(ctx context.Context, method string, req, reply any, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error {
		err := invoker(ctx, method, req, reply, cc, opts...)
		if err != nil {
			// uh..., how do I return my error response envelope?
		}
		// uh..., how do return my normal response envelope?
	}),
)

The interceptor does not allow for a different response to be returned. Again, I could be misunderstanding or missing something obvious, apologies if so.

Moreover though, my current approach to using grpc-gateway makes use of the registration functions that let you pass in the server implementation directly without using a gRPC connection; thus there is no way to add an interceptor there.


With your custom marshaler, can't you just not use the response_body option? You could make the marshaler switch on the type and pick the field you want to be in the envelope.

This would technically work, but I think it runs contrary to my goals with this change. I'll elaborate: I am actually trying to find a way to make this pattern repeatable across a number of teams inside my company. A lot of teams implement microservices that are upstream of a Load Balancer, and all of those services implement the response envelope convention.

My "vision" is to broaden adoption of gRPC but also remain accessible in the REST/JSON world. grpc-gateway is quite perfect to automate this backwards compatibility. The only missing piece is some company-internal library that can configure the *runtime.ServeMux just right to make everything else work "out-of-the-box." And thus I am here with this proposed change. It would fit perfectly into an off-the-shelf library that would allow teams to quickly/effortlessly adopt gRPC.

Exec Summary: That approach does work, but it does not "scale" well when the aim is to get large groups of separate people to adopt it; to have a manual tedium of needing to hand-implement this sort of neutralizes a lot of the benefits.

I fully understand that my "starry-eyed dreams" of some internal company experiment are not the concern of this project 😅. That being said, I think the proposal made here is a net-benefit for the usefulness/value of this project. Having skimmed the past issues, I do get a sense that it is a missing piece (just my perspective).

Lastly, protoreflect isn't bad, but the scale of some internal services would disallow so much unnecessary runtime CPU cycles to be spent doing that. I would more than likely end up opting for a new protoc plugin to stave off those concerns; but I still believe that would be much more complexity than desired.

@johanbrandhorst
Copy link
Collaborator

Thanks for elaborating. I expected that this would come down to wanting to make this scalable, which I agree that manual marshaler logic probably isn't.

I want to try to narrow down exactly what the proposal here is though, because it's also not a "give me a way to do anything with the response", which is essentially what the custom marshaler does. This seems to me to be almost an interceptor/middleware/decorator in the middle of the gateway logic, and I don't know how applicable it is to the general user. It seems like it solve this very particular problem of introducing a message envelope, dynamically (rather than statically in your protos), but I'm not yet convinced that it's generally useful. Do you think you could find issues in our backlog that could be resolve by this functionality?

I want this feature to be both generally useful and orthogonal to other functionality of the gateway. I'm worried that this option will be confusing when we have WithForwardResponseOption. How would you see them interacting? When would a user want to use both?

@nkcmr
Copy link
Contributor Author

nkcmr commented Aug 15, 2024

In my mental model of grpc-gateway's configuration surface, there are a few elements that allow control over what the response looks like:

  • WithForwardResponseOption: This lets the user control headers and status if need be (maybe add X-Request-ID or switch the response code to be 201 Created)
  • WithMarshalerOption: This lets the user control the byte-for-byte representation of the response; its encoding.
    • Note: Given what I was trying to do and what previous issue discussions were recommending, the requirement of configuring my custom marshaler with a MIME type was a source of confusion/friction. I was not in a mindset where I was needing to think about the actual encoding, just the shape/type.
  • WithStreamErrorHandler / WithProtoErrorHandler: This lets the user control nearly every aspect of an HTTP response when an error occurs.
    • Note: This contrasts with the aforementioned things, in that it does give the user full control over the response. Other options are simply small escape-hatches tucked into immutable implementations.

My proposal of WithForwardResponseRewriter fills the need/gap in between WithForwardResponseOption and WithMarshalerOption.

ForwardResponseOption allows control over the headers and status, but not the response body. Marshaler is intended to let the gateway understand different Accept headers and adapt the response's encoding to meet that requirement. The missing piece is allowing for the response's shape/type to be configured at a server level.

So, with that, I do believe it is "orthogonal" to other functionality and fills a missing piece.


The other extreme alternative to all this (which I actually do not think is a good idea) is to allow full control over the response. A bad direction (IMO) would be to allow configuration over what gets assigned/used in the generated code here:

// myservice.pb.gw.go
var (
	// Let this be configured to be something else?
	forward_MyService_ListStuff_0 = runtime.ForwardResponseMessage
)

I don't think this is a good approach though. Letting grpc-gateway encapsulate most of the implementation details of handling trailing headers and picking the right marshaler is actually good. Then simply have escape-hatches to control high-level things like Supplemental Headers, Status Code, Response Shape/Type, and Encoding/Decoding.


Some past issues that I think this helps:
#1610: This person was trying to do pretty much the exact same thing as me. This proposal would have suited their ask perfectly.
#4483: I do think this person would have been helped by this as well, their use case did happen to fit into the Marshaler though, still awkwardly though IMO because of the difference between "encoding concerns" and "type/shape concerns."
#517: I think this person could use this proposal to take a special error *status.Status to make the response empty (switch it to *httpbody.HttpBody) and use ForwardResponseOption to set the right status code.


Sorry for the meandering response, but to summarize: There is (IMO) a missing piece to response control. I think this is the right direction to go in (Just one more escape-hatch, not necessarily allowing full response control), and this approach does not overlap with anything currently available. This proposal also I believe just lets you control the shape/type of the response, not "give me a way to do anything with the response." 🙂

Side-note: I see "change requested" still, did I address that? Also the CI / lint (pull_request) job is failing on things I did not seem to touch, is there a way to fix that?

@johanbrandhorst
Copy link
Collaborator

The lint failure is not your fault. I will take time to review this when I have a chance. Thanks for your reply.

Copy link
Collaborator

@johanbrandhorst johanbrandhorst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, I buy it. BUT, I'm going to make you work for it. This is probably one of the biggest feature additions in a year or more. Could you please add a section on this new functionality to our docs page on customizing the gateway: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/docs/docs/mapping/customizing_your_gateway.md? Thanks!

runtime/handler.go Outdated Show resolved Hide resolved
runtime/mux.go Outdated Show resolved Hide resolved
runtime/mux.go Show resolved Hide resolved
Copy link
Collaborator

@johanbrandhorst johanbrandhorst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great, just a few minor changes

runtime/mux.go Outdated Show resolved Hide resolved
runtime/mux.go Outdated Show resolved Hide resolved
…ponse control

 ## Context/Background
I am working with grpc-gateway to mimick an older REST API while
implementing the core as a gRPC server. This REST API, by convention,
emits a response envelope.

After extensively researching grpc-gateway's code and options, I think
that there is not a good enough way to address my use-case; for a few
more nuanced reasons.

The sum of my requirements are as follows:
- 1) Allow a particular field of a response message to be used as the main
response. ✅ This is handled with `response_body` annotation.
- 2) Be able to run interface checks on the response to extract useful
information, like `next_page_token` [0] and surface it in the final
response envelope. (`npt, ok := resp.(interface { GetNextPageToken() string })`).
- 3) Take the true result and place it into a response envelope along with
other parts of the response by convention and let that be encoded and
sent as the response instead.

 ### Implementing a response envelope with `Marshaler`
My first attempt at getting my gRPC server's responses in an envelope
led me to implement my own Marshaler, I have seen this approach
discussed in #4483.

This does satisfy requirements 1 and 3 just fine, since the HTTP
annotations helpfully allow the code to only receive the true result,
and the Marshal interface has enough capabilities to take that and wrap
it in a response envelope.

However, requirements 1 and 2 are not _both_ satisfiable with the
current grpc-gateway code because of how the `XXX_ResponseBody()` is
called _before_ passing to the `Marshal(v)` function. This strips out
the other fields that I would normally be able to detect and place in
the response envelope.

I even tried creating my _own_ protobuf message extension that would let
me define another way of defining the "true result" field. But the
options for implementing that are either a _ton_ of protoreflect at
runtime to detect and extract that, or I am writing another protobuf
generator plugin (which I have done before [1]), but both of those
options seem quite complex.

 ### Other non-starter options
Just to get ahead of the discussion, `WithForwardResponseOption` clearly
was not meant for this use-case. At best, it seems to only be a way to
take information that might be in the response and add it as a header.

[0]: https://google.aip.dev/158#:~:text=Response%20messages%20for%20collections%20should%20define%20a%20string%20next_page_token%20field
[1]: https://github.com/nkcmr/protoc-gen-twirp_js

 ### In practice
This change fulfills my requirements by allowing logic to be inserted
right before the Marshal is called:

```go
gatewayMux := runtime.NewServeMux(
  runtime.WithForwardResponseRewriter(func(ctx context.Context, response proto.Message) (interface{}, error) {
    if s, ok := response.(*statuspb.Status); ok {
      return rewriteStatusToErrorEnvelope(ctx, s)
    }
    return rewriteResultToEnvelope(ctx, response)
  }),
)
```

 ## In this PR
This PR introduces a new `ServeMuxOption` called
`WithForwardResponseRewriter` that allows for a user-provided function
to be supplied that can take a response `proto.Message` and return `any`
during unary response forwarding, stream response forwarding, and error
response forwarding.

The code generation was also updated to make the `XXX_ResponseBody()`
response wrappers embed the concrete type instead of just
`proto.Message`. This allows any code in response rewriter functions to
be able to have access to the original type, so that interface checks
against it should pass as if it was the original message.

Updated the "Customizing Your Gateway" documentation to use
`WithForwardResponseRewriter` in the `Fully Overriding Custom HTTP
Responses` sections.

 ## Testing
Added some basic unit tests to ensure Unary/Stream and error handlers
invoke `ForwardResponseRewriter` correctly.
@johanbrandhorst johanbrandhorst enabled auto-merge (squash) August 16, 2024 21:01
@johanbrandhorst johanbrandhorst merged commit a1b0988 into grpc-ecosystem:main Aug 16, 2024
17 checks passed
@nkcmr nkcmr deleted the nkcmr/fwd-resp-rewrite branch August 16, 2024 21:28
@nkcmr
Copy link
Contributor Author

nkcmr commented Aug 16, 2024

Thank you so much, @johanbrandhorst! Especially for putting up with my short novel comments. 😆

@johanbrandhorst
Copy link
Collaborator

Thank you for your contribution!

@johanbrandhorst
Copy link
Collaborator

I just cut v2.22.0 with this new feature. Thanks again :).

dmathieu pushed a commit to open-telemetry/opentelemetry-go-contrib that referenced this pull request Aug 19, 2024
…to v2.22.0 (#6016)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway)
| `v2.21.0` -> `v2.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.21.0/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.21.0/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>grpc-ecosystem/grpc-gateway
(github.com/grpc-ecosystem/grpc-gateway/v2)</summary>

###
[`v2.22.0`](https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.22.0)

[Compare
Source](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.21.0...v2.22.0)

#### What's Changed

- docs: add example to fully override http responses by
[@&#8203;nguyentranbao-ct](https://github.com/nguyentranbao-ct) in
[grpc-ecosystem/grpc-gateway#4564
- stop printing error logs in handleForwardResponseOptions by
[@&#8203;taichimaeda](https://github.com/taichimaeda) in
[grpc-ecosystem/grpc-gateway#4594
- Add some documenation for CustomQueryParser with examples by
[@&#8203;texzone](https://github.com/texzone) in
[grpc-ecosystem/grpc-gateway#4602
- Fix
[#&#8203;4614](https://github.com/grpc-ecosystem/grpc-gateway/issues/4614)
Unique Items placement by
[@&#8203;sebaraj](https://github.com/sebaraj) in
[grpc-ecosystem/grpc-gateway#4619
- all: fix test lint warnings by
[@&#8203;johanbrandhorst](https://github.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#4632
- ci: update go versions supported by
[@&#8203;johanbrandhorst](https://github.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#4634
- feat: Add WithForwardResponseRewriter to allow easier/more useful
response control by [@&#8203;nkcmr](https://github.com/nkcmr) in
[grpc-ecosystem/grpc-gateway#4622

#### New Contributors

- [@&#8203;nguyentranbao-ct](https://github.com/nguyentranbao-ct) made
their first contribution in
[grpc-ecosystem/grpc-gateway#4564
- [@&#8203;taichimaeda](https://github.com/taichimaeda) made their
first contribution in
[grpc-ecosystem/grpc-gateway#4594
- [@&#8203;texzone](https://github.com/texzone) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4602
- [@&#8203;sebaraj](https://github.com/sebaraj) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4619
- [@&#8203;nkcmr](https://github.com/nkcmr) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4622

**Full Changelog**:
grpc-ecosystem/grpc-gateway@v2.21.0...v2.22.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-go-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
charithe added a commit to cerbos/cerbos that referenced this pull request Aug 19, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
|
[github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2)
| `v1.27.27` -> `v1.27.28` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.27.28?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.27.28?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.27.27/v1.27.28?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.27.27/v1.27.28?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
|
[github.com/aws/aws-sdk-go-v2/service/marketplacemetering](https://github.com/aws/aws-sdk-go-v2)
| `v1.23.3` -> `v1.23.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fmarketplacemetering/v1.23.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fmarketplacemetering/v1.23.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fmarketplacemetering/v1.23.3/v1.23.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fmarketplacemetering/v1.23.3/v1.23.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [github.com/aws/smithy-go](https://github.com/aws/smithy-go) |
`v1.20.3` -> `v1.20.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2fsmithy-go/v1.20.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2fsmithy-go/v1.20.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2fsmithy-go/v1.20.3/v1.20.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2fsmithy-go/v1.20.3/v1.20.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [github.com/bufbuild/buf](https://github.com/bufbuild/buf) |
`v1.36.0` -> `v1.37.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fbufbuild%2fbuf/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fbufbuild%2fbuf/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fbufbuild%2fbuf/v1.36.0/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fbufbuild%2fbuf/v1.36.0/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[github.com/bufbuild/protovalidate-go](https://github.com/bufbuild/protovalidate-go)
| `v0.6.3` -> `v0.6.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fbufbuild%2fprotovalidate-go/v0.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fbufbuild%2fprotovalidate-go/v0.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fbufbuild%2fprotovalidate-go/v0.6.3/v0.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fbufbuild%2fprotovalidate-go/v0.6.3/v0.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [github.com/dadav/helm-schema](https://github.com/dadav/helm-schema)
| `82590e8` -> `4e067df` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fdadav%2fhelm-schema/v0.0.0-20240817173722-4e067df209ea?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fdadav%2fhelm-schema/v0.0.0-20240817173722-4e067df209ea?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fdadav%2fhelm-schema/v0.0.0-20240808173306-82590e886026/v0.0.0-20240817173722-4e067df209ea?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fdadav%2fhelm-schema/v0.0.0-20240808173306-82590e886026/v0.0.0-20240817173722-4e067df209ea?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | digest |
|
[github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint)
| `v1.59.1` -> `v1.60.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgolangci%2fgolangci-lint/v1.60.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgolangci%2fgolangci-lint/v1.60.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgolangci%2fgolangci-lint/v1.59.1/v1.60.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgolangci%2fgolangci-lint/v1.59.1/v1.60.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[github.com/goreleaser/goreleaser/v2](https://github.com/goreleaser/goreleaser)
| `v2.1.0` -> `v2.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoreleaser%2fgoreleaser%2fv2/v2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgoreleaser%2fgoreleaser%2fv2/v2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgoreleaser%2fgoreleaser%2fv2/v2.1.0/v2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoreleaser%2fgoreleaser%2fv2/v2.1.0/v2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway)
| `v2.21.0` -> `v2.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.21.0/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.21.0/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) |
`v7.0.74` -> `v7.0.75` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fminio%2fminio-go%2fv7/v7.0.75?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fminio%2fminio-go%2fv7/v7.0.75?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fminio%2fminio-go%2fv7/v7.0.74/v7.0.75?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fminio%2fminio-go%2fv7/v7.0.74/v7.0.75?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [github.com/ory/dockertest/v3](https://github.com/ory/dockertest) |
`v3.10.0` -> `v3.11.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fory%2fdockertest%2fv3/v3.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fory%2fdockertest%2fv3/v3.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fory%2fdockertest%2fv3/v3.10.0/v3.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fory%2fdockertest%2fv3/v3.10.0/v3.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[github.com/prometheus/client_golang](https://github.com/prometheus/client_golang)
| `v1.19.1` -> `v1.20.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fprometheus%2fclient_golang/v1.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fprometheus%2fclient_golang/v1.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fprometheus%2fclient_golang/v1.19.1/v1.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fprometheus%2fclient_golang/v1.19.1/v1.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [github.com/rivo/tview](https://github.com/rivo/tview) | `e4c497c`
-> `fd649db` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2frivo%2ftview/v0.0.0-20240818110301-fd649dbf1223?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2frivo%2ftview/v0.0.0-20240818110301-fd649dbf1223?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2frivo%2ftview/v0.0.0-20240807205129-e4c497cc59ed/v0.0.0-20240818110301-fd649dbf1223?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2frivo%2ftview/v0.0.0-20240807205129-e4c497cc59ed/v0.0.0-20240818110301-fd649dbf1223?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | digest |
| [github.com/vektra/mockery/v2](https://github.com/vektra/mockery) |
`v2.44.1` -> `v2.44.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fvektra%2fmockery%2fv2/v2.44.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fvektra%2fmockery%2fv2/v2.44.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fvektra%2fmockery%2fv2/v2.44.1/v2.44.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fvektra%2fmockery%2fv2/v2.44.1/v2.44.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [go](https://go.dev/) ([source](https://github.com/golang/go)) |
`1.22.6` -> `1.23.0` |
[![age](https://developer.mend.io/api/mc/badges/age/golang-version/go/1.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/golang-version/go/1.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/golang-version/go/1.22.6/1.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/golang-version/go/1.22.6/1.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| toolchain | minor |
| gonum.org/v1/gonum | `v0.15.0` -> `v0.15.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/gonum.org%2fv1%2fgonum/v0.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/gonum.org%2fv1%2fgonum/v0.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/gonum.org%2fv1%2fgonum/v0.15.0/v0.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/gonum.org%2fv1%2fgonum/v0.15.0/v0.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
|
[google.golang.org/genproto/googleapis/api](https://github.com/googleapis/go-genproto)
| `573a115` -> `ddb44da` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/v0.0.0-20240814211410-ddb44dafa142?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/v0.0.0-20240814211410-ddb44dafa142?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/v0.0.0-20240808171019-573a1156607a/v0.0.0-20240814211410-ddb44dafa142?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/v0.0.0-20240808171019-573a1156607a/v0.0.0-20240814211410-ddb44dafa142?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | digest |
| [helm.sh/helm/v3](https://github.com/helm/helm) | `v3.15.3` ->
`v3.15.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/helm.sh%2fhelm%2fv3/v3.15.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/helm.sh%2fhelm%2fv3/v3.15.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/helm.sh%2fhelm%2fv3/v3.15.3/v3.15.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/helm.sh%2fhelm%2fv3/v3.15.3/v3.15.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |

---

### Release Notes

<details>
<summary>aws/aws-sdk-go-v2
(github.com/aws/aws-sdk-go-v2/service/marketplacemetering)</summary>

###
[`v1.23.4`](https://github.com/aws/aws-sdk-go-v2/compare/v1.23.3...v1.23.4)

</details>

<details>
<summary>aws/smithy-go (github.com/aws/smithy-go)</summary>

###
[`v1.20.4`](https://github.com/aws/smithy-go/compare/v1.20.3...v1.20.4)

[Compare
Source](https://github.com/aws/smithy-go/compare/v1.20.3...v1.20.4)

</details>

<details>
<summary>bufbuild/buf (github.com/bufbuild/buf)</summary>

###
[`v1.37.0`](https://github.com/bufbuild/buf/blob/HEAD/CHANGELOG.md#v1370---2024-08-16)

[Compare
Source](https://github.com/bufbuild/buf/compare/v1.36.0...v1.37.0)

- Add `STABLE_PACKAGE_NO_IMPORT_UNSTABLE` lint rule which disallows
files from stable packages
    to import files from unstable packages.
- Fix plugin push failures when pushing an image built with containerd
image store.

</details>

<details>
<summary>bufbuild/protovalidate-go
(github.com/bufbuild/protovalidate-go)</summary>

###
[`v0.6.4`](https://github.com/bufbuild/protovalidate-go/releases/tag/v0.6.4)

[Compare
Source](https://github.com/bufbuild/protovalidate-go/compare/v0.6.3...v0.6.4)

This release adds support for Protobuf Editions features.

#### What's Changed

- Always treat groups as message fields by
[@&#8203;jchadwick-buf](https://github.com/jchadwick-buf) in
[https://github.com/bufbuild/protovalidate-go/pull/132](https://github.com/bufbuild/protovalidate-go/pull/132)

**Full Changelog**:
https://github.com/bufbuild/protovalidate-go/compare/v0.6.3...v0.6.4

</details>

<details>
<summary>golangci/golangci-lint
(github.com/golangci/golangci-lint)</summary>

###
[`v1.60.1`](https://github.com/golangci/golangci-lint/compare/v1.60.0...v1.60.1)

[Compare
Source](https://github.com/golangci/golangci-lint/compare/v1.60.0...v1.60.1)

###
[`v1.60.0`](https://github.com/golangci/golangci-lint/compare/v1.59.1...v1.60.0)

[Compare
Source](https://github.com/golangci/golangci-lint/compare/v1.59.1...v1.60.0)

</details>

<details>
<summary>goreleaser/goreleaser
(github.com/goreleaser/goreleaser/v2)</summary>

###
[`v2.2.0`](https://github.com/goreleaser/goreleaser/releases/tag/v2.2.0)

[Compare
Source](https://github.com/goreleaser/goreleaser/compare/v2.1.0...v2.2.0)

#### Changelog

##### New Features

-
[`a8916c0`](https://github.com/goreleaser/goreleaser/commit/a8916c080ea52afbb8bdd31404ae8de637fc247a):
feat: binary signs
([#&#8203;5018](https://github.com/goreleaser/goreleaser/issues/5018))
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`2de792c`](https://github.com/goreleaser/goreleaser/commit/2de792c31da0823d88e049bd83b450f3d878326b):
feat: rename snapshot.name_template -> snapshot.version_template
([#&#8203;5019](https://github.com/goreleaser/goreleaser/issues/5019))
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`b6f9c8b`](https://github.com/goreleaser/goreleaser/commit/b6f9c8b9ca520d7fa6f01a087a1534e01f0bb032):
feat: when --clean, remove dist before checking git state
([#&#8203;5057](https://github.com/goreleaser/goreleaser/issues/5057))
([@&#8203;caarlos0](https://github.com/caarlos0))

##### Bug fixes

-
[`893562c`](https://github.com/goreleaser/goreleaser/commit/893562ca734d81db781c638cce4dfe5bcd985754):
fix(gitlab): release file URL broken
([#&#8203;5035](https://github.com/goreleaser/goreleaser/issues/5035))
([@&#8203;abemedia](https://github.com/abemedia))
-
[`569295d`](https://github.com/goreleaser/goreleaser/commit/569295d43f6b91d01a8464e98574c6910cd694db):
fix(jsonschema): missing ipk in nfpm.formats
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`ce4f2ed`](https://github.com/goreleaser/goreleaser/commit/ce4f2ed4316eb0441d7aae9afd71a23ba2dcd32f):
fix(ko): rework error message for relative path for .go suffix
([#&#8203;5005](https://github.com/goreleaser/goreleaser/issues/5005))
([@&#8203;Dentrax](https://github.com/Dentrax))
-
[`bab28eb`](https://github.com/goreleaser/goreleaser/commit/bab28ebf88fa7f76c9dd68ebd570b1f54f7e4edd):
fix(nix): do not install go on macos
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`c9398ee`](https://github.com/goreleaser/goreleaser/commit/c9398ee88cd493ea7c6b074fac0d44ca12512d40):
fix: consistent logging of source archive path
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`3ae3a09`](https://github.com/goreleaser/goreleaser/commit/3ae3a098e7bd127aef36125116ec88b9411b57cc):
fix: isEnvSet and envOrDefault not working sometimes
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`1e5a240`](https://github.com/goreleaser/goreleaser/commit/1e5a2402f91b210d636257ec660ee60a24ba455c):
fix: snapcraft nix package not available on darwin
([@&#8203;caarlos0](https://github.com/caarlos0))

##### Dependency updates

-
[`b167098`](https://github.com/goreleaser/goreleaser/commit/b16709859fdefd5413cbf9759530579945fdda4f):
Revert "chore(deps): bump gocloud.dev from 0.37.0 to 0.38.0
([#&#8203;5028](https://github.com/goreleaser/goreleaser/issues/5028))"
([#&#8203;5034](https://github.com/goreleaser/goreleaser/issues/5034))
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`9012e8f`](https://github.com/goreleaser/goreleaser/commit/9012e8fe3ce4b5dd6b55b783ce29733092eddf6c):
Revert "chore(deps): bump gocloud.dev from 0.37.0 to 0.38.0
([#&#8203;5028](https://github.com/goreleaser/goreleaser/issues/5028))"
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`1c3f3a1`](https://github.com/goreleaser/goreleaser/commit/1c3f3a1aa226cbf29b7dd97ebdf36454bbbc215e):
chore(deps): bump anchore/sbom-action from 0.16.1 to 0.17.0
([#&#8203;4999](https://github.com/goreleaser/goreleaser/issues/4999))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`1fc1a45`](https://github.com/goreleaser/goreleaser/commit/1fc1a45e9efc2516819353691d80ee4741fa162e):
chore(deps): bump anchore/sbom-action from 0.17.0 to 0.17.1
([#&#8203;5078](https://github.com/goreleaser/goreleaser/issues/5078))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`15f1f42`](https://github.com/goreleaser/goreleaser/commit/15f1f42db29eef871a0d0270c86754e75128787a):
chore(deps): bump benc-uk/workflow-dispatch from 1.2.3 to 1.2.4
([#&#8203;5047](https://github.com/goreleaser/goreleaser/issues/5047))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`9cbf1b3`](https://github.com/goreleaser/goreleaser/commit/9cbf1b3af20c84595dcacea5537f41317895b929):
chore(deps): bump code.gitea.io/sdk/gitea from 0.18.0 to 0.19.0
([#&#8203;5033](https://github.com/goreleaser/goreleaser/issues/5033))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`76d3047`](https://github.com/goreleaser/goreleaser/commit/76d3047763cbfddb93507151a2ef587ad2fdded0):
chore(deps): bump dependabot/fetch-metadata from 1.6.0 to 2.2.0
([#&#8203;5072](https://github.com/goreleaser/goreleaser/issues/5072))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`f6bee6f`](https://github.com/goreleaser/goreleaser/commit/f6bee6f61460d08c29ab4235883399a897b47506):
chore(deps): bump docker/login-action from 3.2.0 to 3.3.0
([#&#8203;5013](https://github.com/goreleaser/goreleaser/issues/5013))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`e79d262`](https://github.com/goreleaser/goreleaser/commit/e79d262e72f8cca60e8d201e3deaf9cf136aeb75):
chore(deps): bump docker/setup-buildx-action from 3.4.0 to 3.5.0
([#&#8203;5012](https://github.com/goreleaser/goreleaser/issues/5012))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`9c27aab`](https://github.com/goreleaser/goreleaser/commit/9c27aabaffe2950718fad90b172325061f264c4f):
chore(deps): bump docker/setup-buildx-action from 3.5.0 to 3.6.1
([#&#8203;5037](https://github.com/goreleaser/goreleaser/issues/5037))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`3d3817c`](https://github.com/goreleaser/goreleaser/commit/3d3817c57ee87c49cd591fd53b931f0c5df48969):
chore(deps): bump docker/setup-qemu-action from 3.1.0 to 3.2.0
([#&#8203;5011](https://github.com/goreleaser/goreleaser/issues/5011))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`b89d872`](https://github.com/goreleaser/goreleaser/commit/b89d872ef64b04f6f8279b663bb1493099174e5f):
chore(deps): bump github.com/atc0005/go-teams-notify/v2 from 2.10.0 to
2.11.0
([#&#8203;5049](https://github.com/goreleaser/goreleaser/issues/5049))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`e909803`](https://github.com/goreleaser/goreleaser/commit/e909803a6102e186d016b1d75200daa77b245d41):
chore(deps): bump github.com/aws/aws-sdk-go from 1.54.18 to 1.55.0
([#&#8203;5014](https://github.com/goreleaser/goreleaser/issues/5014))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`9b239bc`](https://github.com/goreleaser/goreleaser/commit/9b239bcffebaafa257b93f42222784a8c2b71190):
chore(deps): bump github.com/aws/aws-sdk-go from 1.55.0 to 1.55.1
([#&#8203;5021](https://github.com/goreleaser/goreleaser/issues/5021))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`608bce4`](https://github.com/goreleaser/goreleaser/commit/608bce4147c9e3d1675805a27b4fcd7643c42290):
chore(deps): bump github.com/aws/aws-sdk-go from 1.55.1 to 1.55.2
([#&#8203;5025](https://github.com/goreleaser/goreleaser/issues/5025))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`4a7c2ca`](https://github.com/goreleaser/goreleaser/commit/4a7c2ca1ad406ec46ecd8795b465b9770c184fb0):
chore(deps): bump github.com/aws/aws-sdk-go from 1.55.2 to 1.55.3
([#&#8203;5027](https://github.com/goreleaser/goreleaser/issues/5027))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`d96001c`](https://github.com/goreleaser/goreleaser/commit/d96001c8d05f6d8d337197acec4372308d4476da):
chore(deps): bump github.com/caarlos0/env/v11 from 11.1.0 to 11.2.0
([#&#8203;5050](https://github.com/goreleaser/goreleaser/issues/5050))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`530b251`](https://github.com/goreleaser/goreleaser/commit/530b251b5d3f03cf04ec91b9a14f6c254e023b1c):
chore(deps): bump github.com/caarlos0/log from 0.4.5 to 0.4.6
([#&#8203;4995](https://github.com/goreleaser/goreleaser/issues/4995))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`8089685`](https://github.com/goreleaser/goreleaser/commit/80896859842147b747c62084e2ce74ef7dead3ae):
chore(deps): bump github.com/charmbracelet/lipgloss from 0.12.0 to
0.12.1
([#&#8203;4994](https://github.com/goreleaser/goreleaser/issues/4994))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`68dac47`](https://github.com/goreleaser/goreleaser/commit/68dac47f92e6ab4e82749ea5e2f46b6cf841781a):
chore(deps): bump github.com/docker/docker from 26.1.3+incompatible to
26.1.4+incompatible
([#&#8203;5040](https://github.com/goreleaser/goreleaser/issues/5040))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`0a6405b`](https://github.com/goreleaser/goreleaser/commit/0a6405b34d3ac0a91d1a6833011a01cedc3cceda):
chore(deps): bump github.com/docker/docker from 26.1.4+incompatible to
26.1.5+incompatible
([#&#8203;5064](https://github.com/goreleaser/goreleaser/issues/5064))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`1378559`](https://github.com/goreleaser/goreleaser/commit/137855902e33dfcf6f1fa470833b0028ab5440b9):
chore(deps): bump github.com/google/go-containerregistry from 0.20.0 to
0.20.1
([#&#8203;5002](https://github.com/goreleaser/goreleaser/issues/5002))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`32e676f`](https://github.com/goreleaser/goreleaser/commit/32e676fbe84b58fdc6d26f5f4b6649c3cb76fbf2):
chore(deps): bump github.com/ory/dockertest/v3 from 3.10.0 to 3.11.0
([#&#8203;5070](https://github.com/goreleaser/goreleaser/issues/5070))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`f5af23d`](https://github.com/goreleaser/goreleaser/commit/f5af23df6e56bb0c8f2bd7016831ebc73e1f3749):
chore(deps): bump github.com/slack-go/slack from 0.13.0 to 0.13.1
([#&#8203;5003](https://github.com/goreleaser/goreleaser/issues/5003))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`3f90247`](https://github.com/goreleaser/goreleaser/commit/3f902476fb06b0760991302be876626f82f20be3):
chore(deps): bump github.com/xanzy/go-gitlab from 0.106.0 to 0.107.0
([#&#8203;5000](https://github.com/goreleaser/goreleaser/issues/5000))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`ca061c2`](https://github.com/goreleaser/goreleaser/commit/ca061c20c3cae6e6e2e739e69377dbbdb6e1dc35):
chore(deps): bump github/codeql-action from 3.25.11 to 3.25.12
([#&#8203;4996](https://github.com/goreleaser/goreleaser/issues/4996))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`be9747b`](https://github.com/goreleaser/goreleaser/commit/be9747be913da29c4205b5d2dc82bb03c5bf4aa0):
chore(deps): bump github/codeql-action from 3.25.12 to 3.25.13
([#&#8203;5009](https://github.com/goreleaser/goreleaser/issues/5009))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`4a0659c`](https://github.com/goreleaser/goreleaser/commit/4a0659c958cd463139110f99b9a9dacdec5b2e37):
chore(deps): bump github/codeql-action from 3.25.13 to 3.25.14
([#&#8203;5026](https://github.com/goreleaser/goreleaser/issues/5026))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`482a489`](https://github.com/goreleaser/goreleaser/commit/482a48958f66fbb21e6131c574a02e38c8ad0d6a):
chore(deps): bump github/codeql-action from 3.25.14 to 3.25.15
([#&#8203;5032](https://github.com/goreleaser/goreleaser/issues/5032))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`ff2daa4`](https://github.com/goreleaser/goreleaser/commit/ff2daa45d33cdd38516245aa763c5886f9f51b33):
chore(deps): bump github/codeql-action from 3.25.15 to 3.26.0
([#&#8203;5053](https://github.com/goreleaser/goreleaser/issues/5053))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`58838fd`](https://github.com/goreleaser/goreleaser/commit/58838fd1d36a160a53d7bf6a1cbaa5f761e85b66):
chore(deps): bump github/codeql-action from 3.26.0 to 3.26.1
([#&#8203;5077](https://github.com/goreleaser/goreleaser/issues/5077))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`de17e5e`](https://github.com/goreleaser/goreleaser/commit/de17e5e0f4d4a42282d56a3e0c751b545ce9f0f5):
chore(deps): bump gocloud.dev from 0.37.0 to 0.38.0
([#&#8203;5028](https://github.com/goreleaser/goreleaser/issues/5028))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`79ad2af`](https://github.com/goreleaser/goreleaser/commit/79ad2afb2d43391ef12003eb99548fa49f497492):
chore(deps): bump golang from 1.22.5-alpine to 1.22.6-alpine
([#&#8203;5054](https://github.com/goreleaser/goreleaser/issues/5054))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`242021e`](https://github.com/goreleaser/goreleaser/commit/242021e912b61ba3336405287dd46e3757226592):
chore(deps): bump golang from 1.22.6-alpine to 1.23.0-alpine
([#&#8203;5076](https://github.com/goreleaser/goreleaser/issues/5076))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`5f016a3`](https://github.com/goreleaser/goreleaser/commit/5f016a366c9bbd175f20708a062a648b7cc520cc):
chore(deps): bump golang from `8c9183f` to `ff45d87`
([#&#8203;5010](https://github.com/goreleaser/goreleaser/issues/5010))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`c087a4c`](https://github.com/goreleaser/goreleaser/commit/c087a4c191aac47c1110720df3631381c83fad50):
chore(deps): bump golang from `ff45d87` to `0d3653d`
([#&#8203;5022](https://github.com/goreleaser/goreleaser/issues/5022))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`e1f1843`](https://github.com/goreleaser/goreleaser/commit/e1f1843c010bcf6014c5ce83aaae7289f89bb15b):
chore(deps): bump golang.org/x/oauth2 from 0.21.0 to 0.22.0
([#&#8203;5052](https://github.com/goreleaser/goreleaser/issues/5052))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`3aee244`](https://github.com/goreleaser/goreleaser/commit/3aee244efe762ca7ce4ba0198cd227f08182edd4):
chore(deps): bump golang.org/x/sync from 0.7.0 to 0.8.0
([#&#8203;5048](https://github.com/goreleaser/goreleaser/issues/5048))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`282ae59`](https://github.com/goreleaser/goreleaser/commit/282ae599d898f282a15ef1eafd9314bf3be8dc3e):
chore(deps): bump golang.org/x/text from 0.16.0 to 0.17.0
([#&#8203;5055](https://github.com/goreleaser/goreleaser/issues/5055))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`35f75ce`](https://github.com/goreleaser/goreleaser/commit/35f75cefab5f492c1d358eb3d121818b64cd1955):
chore(deps): bump golang.org/x/tools from 0.23.0 to 0.24.0
([#&#8203;5060](https://github.com/goreleaser/goreleaser/issues/5060))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`f301a10`](https://github.com/goreleaser/goreleaser/commit/f301a10d9625885a2d8c87890c40d1bd70058939):
chore(deps): bump golangci/golangci-lint-action from 6.0.1 to 6.1.0
([#&#8203;5036](https://github.com/goreleaser/goreleaser/issues/5036))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`c1d2d61`](https://github.com/goreleaser/goreleaser/commit/c1d2d61f4a5bda85645290840af264a753eaabf7):
chore(deps): bump sigstore/cosign-installer from 3.5.0 to 3.6.0
([#&#8203;5058](https://github.com/goreleaser/goreleaser/issues/5058))
([@&#8203;dependabot](https://github.com/dependabot)\[bot])
-
[`f65ff02`](https://github.com/goreleaser/goreleaser/commit/f65ff027aec73eae25c398d5f504f99081356e37):
chore(deps): update env and lipgloss
([#&#8203;5066](https://github.com/goreleaser/goreleaser/issues/5066))
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`111121b`](https://github.com/goreleaser/goreleaser/commit/111121bbd98df17cc5d81888aa94a8d3694bc157):
chore(deps): update nfpm
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`47ff67b`](https://github.com/goreleaser/goreleaser/commit/47ff67b2521f9f7716e2a0b48bf069b2df5ac654):
feat(deps): update ko and gocloud.dev
([#&#8203;5063](https://github.com/goreleaser/goreleaser/issues/5063))
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`65195c0`](https://github.com/goreleaser/goreleaser/commit/65195c06ecd225856316cc7927565c23bb8b83b8):
sec(deps): update docker/docker and google/go-containerregistry
([#&#8203;5065](https://github.com/goreleaser/goreleaser/issues/5065))
([@&#8203;caarlos0](https://github.com/caarlos0))

##### Documentation updates

-
[`e9453ac`](https://github.com/goreleaser/goreleaser/commit/e9453ac3c06ef77fa63b59f521c03dab362deab8):
docs: clean ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`2e88163`](https://github.com/goreleaser/goreleaser/commit/2e88163095c4c9acfc8ef3ee90ca527cf38280ff):
docs: fix ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`8c451c2`](https://github.com/goreleaser/goreleaser/commit/8c451c256940147918bc9881e9851fdc79ff3a8d):
docs: improve dirty.md
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`6b64592`](https://github.com/goreleaser/goreleaser/commit/6b645926a82f208ca83ba780aeda23e9187c886f):
docs: improve docs
([#&#8203;5006](https://github.com/goreleaser/goreleaser/issues/5006))
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`f9fc0b8`](https://github.com/goreleaser/goreleaser/commit/f9fc0b8e9cb841805b38ae8692309102bfb9c4ab):
docs: improve menus ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`9bddf2b`](https://github.com/goreleaser/goreleaser/commit/9bddf2bb50a6505ab3f45fcd32995aa3785f619a):
docs: improvements ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`519ce53`](https://github.com/goreleaser/goreleaser/commit/519ce53ecb3f3e5aa77f9b7b135daddf3d009cf7):
docs: update ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`d38e793`](https://github.com/goreleaser/goreleaser/commit/d38e7939d8b82d9277ed72c800fc434abace602a):
docs: update ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`5ac0498`](https://github.com/goreleaser/goreleaser/commit/5ac049812542fcd43acc84f3f4facd1713868fad):
docs: update ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`033f1d3`](https://github.com/goreleaser/goreleaser/commit/033f1d36169e8d6fc60fd49f42c180dcf4d5a917):
docs: update ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`50ee54a`](https://github.com/goreleaser/goreleaser/commit/50ee54ac6ea8d924adf6eafffda6e85535cb59ef):
docs: update ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`f291f55`](https://github.com/goreleaser/goreleaser/commit/f291f55785a0945689ebea921e4cc0317cadae0a):
docs: update sponsors page
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`b06a33a`](https://github.com/goreleaser/goreleaser/commit/b06a33a3928e5b8c5df789eb8572c627c1c8951b):
docs: updates ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`f924466`](https://github.com/goreleaser/goreleaser/commit/f924466a81c74e2047966335b38d176e921fe214):
docs: use "~> v2" in GitHub actions docs
([#&#8203;5067](https://github.com/goreleaser/goreleaser/issues/5067))
([@&#8203;idebeijer](https://github.com/idebeijer))
-
[`e059beb`](https://github.com/goreleaser/goreleaser/commit/e059beb7770da7c1265e2704000707210eefe458):
docs: users update ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`379edd4`](https://github.com/goreleaser/goreleaser/commit/379edd4532287d7d71221c5c5ad8148ef12555dc):
docs: v2.1 announcement
([#&#8203;4987](https://github.com/goreleaser/goreleaser/issues/4987))
([@&#8203;caarlos0](https://github.com/caarlos0))

##### Build process updates

-
[`e728c9d`](https://github.com/goreleaser/goreleaser/commit/e728c9df78db7e98b3202ca73b3a1914ae15c0e0):
build: name template ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`a624fd3`](https://github.com/goreleaser/goreleaser/commit/a624fd3e738a3acbc1f3c131f302e7d0990bfedf):
ci: auto approve dependency prs
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`6407d40`](https://github.com/goreleaser/goreleaser/commit/6407d405e02c7ac4f3b5e6fd1dbd5e89b50c71a2):
ci: git pull before auto commit
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`e4cfcf5`](https://github.com/goreleaser/goreleaser/commit/e4cfcf54461b6f3699194640847d81f28a678e7d):
ci: htmltest config update
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`3baffa7`](https://github.com/goreleaser/goreleaser/commit/3baffa7296dcb1d9146b6a7f8ff5e514ee9f11b2):
ci: notify nightly builds on discord
([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`9e169e4`](https://github.com/goreleaser/goreleaser/commit/9e169e47a591165fcb9b87ab52407805c2351fab):
ci: split test and check jobs
([#&#8203;5062](https://github.com/goreleaser/goreleaser/issues/5062))
([@&#8203;caarlos0](https://github.com/caarlos0))

##### Other work

-
[`c3ea906`](https://github.com/goreleaser/goreleaser/commit/c3ea906db834a7c9fc3f189537f9cbe741243bd6):
chore: auto-update generated files
([@&#8203;actions-user](https://github.com/actions-user))
-
[`2c5188d`](https://github.com/goreleaser/goreleaser/commit/2c5188d4923dd3b217d7d6bd9b6b125ab42f8c60):
chore: auto-update generated files
([@&#8203;actions-user](https://github.com/actions-user))
-
[`42d614d`](https://github.com/goreleaser/goreleaser/commit/42d614dd62ef67b812b2eb57920f534c84da919f):
chore: crlf ([@&#8203;caarlos0](https://github.com/caarlos0))
-
[`607ccc4`](https://github.com/goreleaser/goreleaser/commit/607ccc4b8496c652c63553bc64be6b6d597626c9):
chore: improv msg ([@&#8203;caarlos0](https://github.com/caarlos0))

**Full Changelog**:
https://github.com/goreleaser/goreleaser/compare/v2.1.0...v2.2.0

#### Helping out

This release is only possible thanks to **all** the support of some
**awesome people**!

Want to be one of them?
You can [sponsor](https://goreleaser.com/sponsors/), get a [Pro
License](https://goreleaser.com/pro) or [contribute with
code](https://goreleaser.com/contributing).

#### Where to go next?

- Find examples and commented usage of all options in our
[website](https://goreleaser.com/intro/).
- Reach out on [Discord](https://discord.gg/RGEBtg8vQ6) and
[Twitter](https://twitter.com/goreleaser)!

<a href="https://goreleaser.com"><img
src="https://raw.githubusercontent.com/goreleaser/artwork/master/opencollective-header.png"
with="100%" alt="GoReleaser logo"></a>

</details>

<details>
<summary>grpc-ecosystem/grpc-gateway
(github.com/grpc-ecosystem/grpc-gateway/v2)</summary>

###
[`v2.22.0`](https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.22.0)

[Compare
Source](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.21.0...v2.22.0)

#### What's Changed

- docs: add example to fully override http responses by
[@&#8203;nguyentranbao-ct](https://github.com/nguyentranbao-ct) in
[https://github.com/grpc-ecosystem/grpc-gateway/pull/4564](https://github.com/grpc-ecosystem/grpc-gateway/pull/4564)
- stop printing error logs in handleForwardResponseOptions by
[@&#8203;taichimaeda](https://github.com/taichimaeda) in
[https://github.com/grpc-ecosystem/grpc-gateway/pull/4594](https://github.com/grpc-ecosystem/grpc-gateway/pull/4594)
- Add some documenation for CustomQueryParser with examples by
[@&#8203;texzone](https://github.com/texzone) in
[https://github.com/grpc-ecosystem/grpc-gateway/pull/4602](https://github.com/grpc-ecosystem/grpc-gateway/pull/4602)
- Fix
[#&#8203;4614](https://github.com/grpc-ecosystem/grpc-gateway/issues/4614)
Unique Items placement by
[@&#8203;sebaraj](https://github.com/sebaraj) in
[https://github.com/grpc-ecosystem/grpc-gateway/pull/4619](https://github.com/grpc-ecosystem/grpc-gateway/pull/4619)
- all: fix test lint warnings by
[@&#8203;johanbrandhorst](https://github.com/johanbrandhorst) in
[https://github.com/grpc-ecosystem/grpc-gateway/pull/4632](https://github.com/grpc-ecosystem/grpc-gateway/pull/4632)
- ci: update go versions supported by
[@&#8203;johanbrandhorst](https://github.com/johanbrandhorst) in
[https://github.com/grpc-ecosystem/grpc-gateway/pull/4634](https://github.com/grpc-ecosystem/grpc-gateway/pull/4634)
- feat: Add WithForwardResponseRewriter to allow easier/more useful
response control by [@&#8203;nkcmr](https://github.com/nkcmr) in
[https://github.com/grpc-ecosystem/grpc-gateway/pull/4622](https://github.com/grpc-ecosystem/grpc-gateway/pull/4622)

#### New Contributors

- [@&#8203;nguyentranbao-ct](https://github.com/nguyentranbao-ct) made
their first contribution in
[https://github.com/grpc-ecosystem/grpc-gateway/pull/4564](https://github.com/grpc-ecosystem/grpc-gateway/pull/4564)
- [@&#8203;taichimaeda](https://github.com/taichimaeda) made their
first contribution in
[https://github.com/grpc-ecosystem/grpc-gateway/pull/4594](https://github.com/grpc-ecosystem/grpc-gateway/pull/4594)
- [@&#8203;texzone](https://github.com/texzone) made their first
contribution in
[https://github.com/grpc-ecosystem/grpc-gateway/pull/4602](https://github.com/grpc-ecosystem/grpc-gateway/pull/4602)
- [@&#8203;sebaraj](https://github.com/sebaraj) made their first
contribution in
[https://github.com/grpc-ecosystem/grpc-gateway/pull/4619](https://github.com/grpc-ecosystem/grpc-gateway/pull/4619)
- [@&#8203;nkcmr](https://github.com/nkcmr) made their first
contribution in
[https://github.com/grpc-ecosystem/grpc-gateway/pull/4622](https://github.com/grpc-ecosystem/grpc-gateway/pull/4622)

**Full Changelog**:
https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.21.0...v2.22.0

</details>

<details>
<summary>minio/minio-go (github.com/minio/minio-go/v7)</summary>

###
[`v7.0.75`](https://github.com/minio/minio-go/releases/tag/v7.0.75):
Bugfix Release

[Compare
Source](https://github.com/minio/minio-go/compare/v7.0.74...v7.0.75)

#### What's Changed

- [#&#8203;1552](https://github.com/minio/minio-go/issues/1552) add
functional tests for bucket tagging by
[@&#8203;romanchechyotkin](https://github.com/romanchechyotkin) in
[https://github.com/minio/minio-go/pull/1986](https://github.com/minio/minio-go/pull/1986)
- API methods and functional tests for bucket-level CORS configuration
settings by
[@&#8203;marktheunissen](https://github.com/marktheunissen) in
[https://github.com/minio/minio-go/pull/1987](https://github.com/minio/minio-go/pull/1987)
- Add DisableContentSha256 to PutObjectPartOptions by
[@&#8203;klauspost](https://github.com/klauspost) in
[https://github.com/minio/minio-go/pull/1988](https://github.com/minio/minio-go/pull/1988)

#### New Contributors

- [@&#8203;romanchechyotkin](https://github.com/romanchechyotkin) made
their first contribution in
[https://github.com/minio/minio-go/pull/1986](https://github.com/minio/minio-go/pull/1986)

**Full Changelog**:
https://github.com/minio/minio-go/compare/v7.0.74...v7.0.75

</details>

<details>
<summary>ory/dockertest (github.com/ory/dockertest/v3)</summary>

###
[`v3.11.0`](https://github.com/ory/dockertest/releases/tag/v3.11.0)

[Compare
Source](https://github.com/ory/dockertest/compare/v3.10.0...v3.11.0)

#### What's Changed

- chore(deps): bump github.com/opencontainers/runc from 1.1.5 to 1.1.6
by [@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/435](https://github.com/ory/dockertest/pull/435)
- chore(deps): bump github.com/Microsoft/go-winio from 0.6.0 to 0.6.1 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/437](https://github.com/ory/dockertest/pull/437)
- chore(deps): bump github.com/lib/pq from
0.0.0-20180327071824-d34b9ff171c2 to 1.10.8 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/438](https://github.com/ory/dockertest/pull/438)
- chore(deps): bump github.com/docker/docker from 20.10.7+incompatible
to 20.10.24+incompatible by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/426](https://github.com/ory/dockertest/pull/426)
- chore(deps): bump actions/checkout from 2 to 3 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/427](https://github.com/ory/dockertest/pull/427)
- chore(deps): bump github.com/sirupsen/logrus from 1.9.0 to 1.9.2 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/450](https://github.com/ory/dockertest/pull/450)
- chore(deps): bump github.com/containerd/continuity from 0.3.0 to 0.4.1
by [@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/451](https://github.com/ory/dockertest/pull/451)
- chore(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.3 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/449](https://github.com/ory/dockertest/pull/449)
- chore(deps): bump github.com/opencontainers/runc from 1.1.6 to 1.1.7
by [@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/442](https://github.com/ory/dockertest/pull/442)
- chore(deps): bump golang.org/x/sys from 0.7.0 to 0.8.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/445](https://github.com/ory/dockertest/pull/445)
- chore(deps): bump github.com/moby/term from
0.0.0-20201216013528-df9cb8a40635 to 0.5.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/446](https://github.com/ory/dockertest/pull/446)
- chore(deps): bump github.com/docker/cli from 20.10.17+incompatible to
24.0.1+incompatible by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/448](https://github.com/ory/dockertest/pull/448)
- chore: bump dependencies and fix some lint by
[@&#8203;alnr](https://github.com/alnr) in
[https://github.com/ory/dockertest/pull/499](https://github.com/ory/dockertest/pull/499)
- chore(deps): bump golang.org/x/sys from 0.19.0 to 0.21.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/501](https://github.com/ory/dockertest/pull/501)
- chore(deps): bump actions/checkout from 2 to 4 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/475](https://github.com/ory/dockertest/pull/475)
- feat: fall back to podman if available by
[@&#8203;SoMuchForSubtlety](https://github.com/SoMuchForSubtlety) in
[https://github.com/ory/dockertest/pull/452](https://github.com/ory/dockertest/pull/452)
- test: refactor asserts by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/ory/dockertest/pull/497](https://github.com/ory/dockertest/pull/497)
- use defer instead of os.Exit(m.Run()) by
[@&#8203;pmenglund](https://github.com/pmenglund) in
[https://github.com/ory/dockertest/pull/493](https://github.com/ory/dockertest/pull/493)
- docs: remove outdated dep install instruction by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/ory/dockertest/pull/505](https://github.com/ory/dockertest/pull/505)
- chore: remove direct dependency on gotest.tools/v3 by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/ory/dockertest/pull/504](https://github.com/ory/dockertest/pull/504)
- chore: replace deprecated ioutil.TempDir with os.MkdirTemp by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/ory/dockertest/pull/506](https://github.com/ory/dockertest/pull/506)
- chore(deps): bump github.com/opencontainers/runc from 1.1.12 to 1.1.13
by [@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/509](https://github.com/ory/dockertest/pull/509)
- move tests to dockertest_test package by
[@&#8203;siraj-mx51](https://github.com/siraj-mx51) in
[https://github.com/ory/dockertest/pull/490](https://github.com/ory/dockertest/pull/490)
- chore(deps): bump github.com/opencontainers/image-spec from 1.0.2 to
1.1.0 by [@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/510](https://github.com/ory/dockertest/pull/510)
- chore(deps): bump actions/setup-node from 2.pre.beta to 4.0.2 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/503](https://github.com/ory/dockertest/pull/503)
- chore(deps): bump actions/setup-go from 4 to 5 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/508](https://github.com/ory/dockertest/pull/508)
- chore(deps): bump actions/stale from 4 to 9 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ory/dockertest/pull/507](https://github.com/ory/dockertest/pull/507)
- feat: introduce cve scanners by
[@&#8203;Demonsthere](https://github.com/Demonsthere) in
[https://github.com/ory/dockertest/pull/500](https://github.com/ory/dockertest/pull/500)
- chore: update docker to v27.1.1 by
[@&#8203;adamwalach](https://github.com/adamwalach) in
[https://github.com/ory/dockertest/pull/522](https://github.com/ory/dockertest/pull/522)

#### New Contributors

- [@&#8203;alnr](https://github.com/alnr) made their first
contribution in
[https://github.com/ory/dockertest/pull/499](https://github.com/ory/dockertest/pull/499)
- [@&#8203;SoMuchForSubtlety](https://github.com/SoMuchForSubtlety)
made their first contribution in
[https://github.com/ory/dockertest/pull/452](https://github.com/ory/dockertest/pull/452)
- [@&#8203;siraj-mx51](https://github.com/siraj-mx51) made their first
contribution in
[https://github.com/ory/dockertest/pull/490](https://github.com/ory/dockertest/pull/490)
- [@&#8203;Demonsthere](https://github.com/Demonsthere) made their
first contribution in
[https://github.com/ory/dockertest/pull/500](https://github.com/ory/dockertest/pull/500)
- [@&#8203;adamwalach](https://github.com/adamwalach) made their first
contribution in
[https://github.com/ory/dockertest/pull/522](https://github.com/ory/dockertest/pull/522)

**Full Changelog**:
https://github.com/ory/dockertest/compare/v3.10.0...v3.11.0

</details>

<details>
<summary>prometheus/client_golang
(github.com/prometheus/client_golang)</summary>

###
[`v1.20.0`](https://github.com/prometheus/client_golang/releases/tag/v1.20.0)

[Compare
Source](https://github.com/prometheus/client_golang/compare/v1.19.1...v1.20.0)

Thanks everyone for contributions!

:warning: In this release we remove one (broken anyway, given Go runtime
changes) metric and add three new (representing GOGC, GOMEMLIMIT and
GOMAXPROCS flags) to the default `collectors.NewGoCollector()`
collector. Given its popular usage, expect your binary to expose two
additional metric.

#### Changes

- \[CHANGE] :warning: go-collector: Remove `go_memstat_lookups_total`
metric which was always 0; Go runtime stopped sharing pointer lookup
statistics.
[#&#8203;1577](https://github.com/prometheus/client_golang/issues/1577)
- \[FEATURE] :warning: go-collector: Add 3 default metrics:
`go_gc_gogc_percent`, `go_gc_gomemlimit_bytes` and
`go_sched_gomaxprocs_threads` as those are recommended by the Go team.
[#&#8203;1559](https://github.com/prometheus/client_golang/issues/1559)
- \[FEATURE] go-collector: Add more information to all metrics' HELP
e.g. the exact `runtime/metrics` sourcing each metric (if relevant).
[#&#8203;1568](https://github.com/prometheus/client_golang/issues/1568)
[#&#8203;1578](https://github.com/prometheus/client_golang/issues/1578)
- \[FEATURE] testutil: Add CollectAndFormat method.
[#&#8203;1503](https://github.com/prometheus/client_golang/issues/1503)
- \[FEATURE] histograms: Add support for exemplars in native histograms.
[#&#8203;1471](https://github.com/prometheus/client_golang/issues/1471)
- \[FEATURE] promhttp: Add experimental support for `zstd` on scrape,
controlled by the request `Accept-Encoding` header.
[#&#8203;1496](https://github.com/prometheus/client_golang/issues/1496)
- \[FEATURE] api/v1: Add `WithLimit` parameter to all API methods that
supports it.
[#&#8203;1544](https://github.com/prometheus/client_golang/issues/1544)
- \[FEATURE] prometheus: Add support for created timestamps in constant
histograms and constant summaries.
[#&#8203;1537](https://github.com/prometheus/client_golang/issues/1537)
- \[FEATURE] process-collectors: Add network usage metrics:
`process_network_receive_bytes_total` and
`process_network_transmit_bytes_total`.
[#&#8203;1555](https://github.com/prometheus/client_golang/issues/1555)
- \[FEATURE] promlint: Add duplicated metric lint rule.
[#&#8203;1472](https://github.com/prometheus/client_golang/issues/1472)
- \[BUGFIX] promlint: Relax metric type in name linter rule.
[#&#8203;1455](https://github.com/prometheus/client_golang/issues/1455)
-   \[BUGFIX] promhttp: Make sure server
instrumentation wrapping supports new and future extra responseWriter
methods.
[#&#8203;1480](https://github.com/prometheus/client_golang/issues/1480)
- \[BUGFIX] testutil: Functions using compareMetricFamilies are now
failing if filtered metricNames are not in the input.
[#&#8203;1424](https://github.com/prometheus/client_golang/issues/1424)

<details>
  <summary>All commits</summary>

- feat(prometheus/testutil/promlint/validations): refine lintMetricType…
by [@&#8203;foehammer127](https://github.com/foehammer127) in
[https://github.com/prometheus/client_golang/pull/1455](https://github.com/prometheus/client_golang/pull/1455)
- Bump github.com/prometheus/client_golang from 1.18.0 to 1.19.0 in
/examples/middleware by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/prometheus/client_golang/pull/1457](https://github.com/prometheus/client_golang/pull/1457)
- Bump github.com/prometheus/client_model from 0.5.0 to 0.6.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/prometheus/client_golang/pull/1458](https://github.com/prometheus/client_golang/pull/1458)
- Bump golang.org/x/sys from 0.16.0 to 0.17.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/prometheus/client_golang/pull/1459](https://github.com/prometheus/client_golang/pull/1459)
- Bump github.com/prometheus/client_golang from 1.18.0 to 1.19.0 in
/tutorial/whatsup by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/prometheus/client_golang/pull/1461](https://github.com/prometheus/client_golang/pull/1461)
- Merge Release 1.19 back to main by
[@&#8203;ArthurSens](https://github.com/ArthurSens) in
[https://github.com/prometheus/client_golang/pull/1462](https://github.com/prometheus/client_golang/pull/1462)
- Bump the github-actions group with 2 updates by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/prometheus/client_golang/pull/1456](https://github.com/prometheus/client_golang/pull/1456)
- Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/prometheus/client_golang/pull/1466](https://github.com/prometheus/client_golang/pull/1466)
- Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in
/examples/middleware by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/prometheus/client_golang/pull/1467](https://github.com/prometheus/client_golang/pull/1467)
- Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in
/tutorial/whatsup by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/prometheus/client_golang/pull/1469](https://github.com/prometheus/client_golang/pull/1469)
- Add LintDuplicateMetric to promlint by
[@&#8203;bboreham](https://github.com/bboreham) in
[https://github.com/prometheus/client_golang/pull/1472](https://github.com/prometheus/client_golang/pull/1472)
- Auto-update Go Collector Metrics for new Go versions by
[@&#8203;SachinSahu431](https://github.com/SachinSahu431) in
[https://github.com/prometheus/client_golang/pull/1476](https://github.com/prometheus/client_golang/pull/1476)
- Implement Unwrap() for responseWriterDelegator by
[@&#8203;igor-drozdov](https://github.com/igor-drozdov) in
[https://github.com/prometheus/client_golang/pull/1480](https://github.com/prometheus/client_golang/pull/1480)
- Bump golang.org/x/sys from 0.17.0 to 0.18.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/prometheus/client_golang/pull/1485](https://github.com/prometheus/client_golang/pull/1485)
- Bump github.com/prometheus/procfs from 0.12.0 to 0.13.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/prometheus/client_golang/pull/1486](https://github.com/prometheus/client_golang/pull/1486)
- ci: Remove hardcoded supported Go versions from go.yml by
[@&#8203;SachinSahu431](https://github.com/SachinSahu431) in
[https://github.com/prometheus/client_golang/pull/1489](https://github.com/promethe

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/cerbos/cerbos).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXJlYS9kZXBlbmRlbmNpZXMiLCJib3RzIiwia2luZC9jaG9yZSJdfQ==-->

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Charith Ellawala <charith@cerbos.dev>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Charith Ellawala <charith@cerbos.dev>
dmathieu pushed a commit to open-telemetry/opentelemetry-go that referenced this pull request Aug 19, 2024
…to v2.22.0 (#5718)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway)
| `v2.21.0` -> `v2.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.21.0/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.21.0/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>grpc-ecosystem/grpc-gateway
(github.com/grpc-ecosystem/grpc-gateway/v2)</summary>

###
[`v2.22.0`](https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.22.0)

[Compare
Source](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.21.0...v2.22.0)

#### What's Changed

- docs: add example to fully override http responses by
[@&#8203;nguyentranbao-ct](https://github.com/nguyentranbao-ct) in
[grpc-ecosystem/grpc-gateway#4564
- stop printing error logs in handleForwardResponseOptions by
[@&#8203;taichimaeda](https://github.com/taichimaeda) in
[grpc-ecosystem/grpc-gateway#4594
- Add some documenation for CustomQueryParser with examples by
[@&#8203;texzone](https://github.com/texzone) in
[grpc-ecosystem/grpc-gateway#4602
- Fix
[#&#8203;4614](https://github.com/grpc-ecosystem/grpc-gateway/issues/4614)
Unique Items placement by
[@&#8203;sebaraj](https://github.com/sebaraj) in
[grpc-ecosystem/grpc-gateway#4619
- all: fix test lint warnings by
[@&#8203;johanbrandhorst](https://github.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#4632
- ci: update go versions supported by
[@&#8203;johanbrandhorst](https://github.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#4634
- feat: Add WithForwardResponseRewriter to allow easier/more useful
response control by [@&#8203;nkcmr](https://github.com/nkcmr) in
[grpc-ecosystem/grpc-gateway#4622

#### New Contributors

- [@&#8203;nguyentranbao-ct](https://github.com/nguyentranbao-ct) made
their first contribution in
[grpc-ecosystem/grpc-gateway#4564
- [@&#8203;taichimaeda](https://github.com/taichimaeda) made their
first contribution in
[grpc-ecosystem/grpc-gateway#4594
- [@&#8203;texzone](https://github.com/texzone) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4602
- [@&#8203;sebaraj](https://github.com/sebaraj) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4619
- [@&#8203;nkcmr](https://github.com/nkcmr) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4622

**Full Changelog**:
grpc-ecosystem/grpc-gateway@v2.21.0...v2.22.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
codeboten pushed a commit to open-telemetry/opentelemetry-collector-contrib that referenced this pull request Aug 21, 2024
… v2.22.0 (#34769)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway)
| `v2.21.0` -> `v2.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.21.0/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.21.0/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>grpc-ecosystem/grpc-gateway
(github.com/grpc-ecosystem/grpc-gateway/v2)</summary>

###
[`v2.22.0`](https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.22.0)

[Compare
Source](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.21.0...v2.22.0)

#### What's Changed

- docs: add example to fully override http responses by
[@&#8203;nguyentranbao-ct](https://github.com/nguyentranbao-ct) in
[grpc-ecosystem/grpc-gateway#4564
- stop printing error logs in handleForwardResponseOptions by
[@&#8203;taichimaeda](https://github.com/taichimaeda) in
[grpc-ecosystem/grpc-gateway#4594
- Add some documenation for CustomQueryParser with examples by
[@&#8203;texzone](https://github.com/texzone) in
[grpc-ecosystem/grpc-gateway#4602
- Fix
[#&#8203;4614](https://github.com/grpc-ecosystem/grpc-gateway/issues/4614)
Unique Items placement by
[@&#8203;sebaraj](https://github.com/sebaraj) in
[grpc-ecosystem/grpc-gateway#4619
- all: fix test lint warnings by
[@&#8203;johanbrandhorst](https://github.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#4632
- ci: update go versions supported by
[@&#8203;johanbrandhorst](https://github.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#4634
- feat: Add WithForwardResponseRewriter to allow easier/more useful
response control by [@&#8203;nkcmr](https://github.com/nkcmr) in
[grpc-ecosystem/grpc-gateway#4622

#### New Contributors

- [@&#8203;nguyentranbao-ct](https://github.com/nguyentranbao-ct) made
their first contribution in
[grpc-ecosystem/grpc-gateway#4564
- [@&#8203;taichimaeda](https://github.com/taichimaeda) made their
first contribution in
[grpc-ecosystem/grpc-gateway#4594
- [@&#8203;texzone](https://github.com/texzone) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4602
- [@&#8203;sebaraj](https://github.com/sebaraj) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4619
- [@&#8203;nkcmr](https://github.com/nkcmr) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4622

**Full Changelog**:
grpc-ecosystem/grpc-gateway@v2.21.0...v2.22.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
Co-authored-by: Yang Song <songy23@users.noreply.github.com>
andrewpollock pushed a commit to google/osv.dev that referenced this pull request Aug 23, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
|
[github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway)
| `v2.21.0` -> `v2.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.21.0/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.21.0/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|  | All locks refreshed |  |  |  |  |  | lockFileMaintenance |

---

### Release Notes

<details>
<summary>grpc-ecosystem/grpc-gateway
(github.com/grpc-ecosystem/grpc-gateway/v2)</summary>

###
[`v2.22.0`](https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.22.0)

[Compare
Source](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.21.0...v2.22.0)

#### What's Changed

- docs: add example to fully override http responses by
[@&#8203;nguyentranbao-ct](https://github.com/nguyentranbao-ct) in
[grpc-ecosystem/grpc-gateway#4564
- stop printing error logs in handleForwardResponseOptions by
[@&#8203;taichimaeda](https://github.com/taichimaeda) in
[grpc-ecosystem/grpc-gateway#4594
- Add some documenation for CustomQueryParser with examples by
[@&#8203;texzone](https://github.com/texzone) in
[grpc-ecosystem/grpc-gateway#4602
- Fix
[#&#8203;4614](https://github.com/grpc-ecosystem/grpc-gateway/issues/4614)
Unique Items placement by
[@&#8203;sebaraj](https://github.com/sebaraj) in
[grpc-ecosystem/grpc-gateway#4619
- all: fix test lint warnings by
[@&#8203;johanbrandhorst](https://github.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#4632
- ci: update go versions supported by
[@&#8203;johanbrandhorst](https://github.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#4634
- feat: Add WithForwardResponseRewriter to allow easier/more useful
response control by [@&#8203;nkcmr](https://github.com/nkcmr) in
[grpc-ecosystem/grpc-gateway#4622

#### New Contributors

- [@&#8203;nguyentranbao-ct](https://github.com/nguyentranbao-ct) made
their first contribution in
[grpc-ecosystem/grpc-gateway#4564
- [@&#8203;taichimaeda](https://github.com/taichimaeda) made their
first contribution in
[grpc-ecosystem/grpc-gateway#4594
- [@&#8203;texzone](https://github.com/texzone) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4602
- [@&#8203;sebaraj](https://github.com/sebaraj) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4619
- [@&#8203;nkcmr](https://github.com/nkcmr) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4622

**Full Changelog**:
grpc-ecosystem/grpc-gateway@v2.21.0...v2.22.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 6am on wednesday" in timezone
Australia/Sydney, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/google/osv.dev).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
f7o pushed a commit to f7o/opentelemetry-collector-contrib that referenced this pull request Sep 12, 2024
… v2.22.0 (open-telemetry#34769)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway)
| `v2.21.0` -> `v2.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.21.0/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.21.0/v2.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>grpc-ecosystem/grpc-gateway
(github.com/grpc-ecosystem/grpc-gateway/v2)</summary>

###
[`v2.22.0`](https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.22.0)

[Compare
Source](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.21.0...v2.22.0)

#### What's Changed

- docs: add example to fully override http responses by
[@&open-telemetry#8203;nguyentranbao-ct](https://github.com/nguyentranbao-ct) in
[grpc-ecosystem/grpc-gateway#4564
- stop printing error logs in handleForwardResponseOptions by
[@&open-telemetry#8203;taichimaeda](https://github.com/taichimaeda) in
[grpc-ecosystem/grpc-gateway#4594
- Add some documenation for CustomQueryParser with examples by
[@&open-telemetry#8203;texzone](https://github.com/texzone) in
[grpc-ecosystem/grpc-gateway#4602
- Fix
[#&open-telemetry#8203;4614](https://github.com/grpc-ecosystem/grpc-gateway/issues/4614)
Unique Items placement by
[@&open-telemetry#8203;sebaraj](https://github.com/sebaraj) in
[grpc-ecosystem/grpc-gateway#4619
- all: fix test lint warnings by
[@&open-telemetry#8203;johanbrandhorst](https://github.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#4632
- ci: update go versions supported by
[@&open-telemetry#8203;johanbrandhorst](https://github.com/johanbrandhorst) in
[grpc-ecosystem/grpc-gateway#4634
- feat: Add WithForwardResponseRewriter to allow easier/more useful
response control by [@&open-telemetry#8203;nkcmr](https://github.com/nkcmr) in
[grpc-ecosystem/grpc-gateway#4622

#### New Contributors

- [@&open-telemetry#8203;nguyentranbao-ct](https://github.com/nguyentranbao-ct) made
their first contribution in
[grpc-ecosystem/grpc-gateway#4564
- [@&open-telemetry#8203;taichimaeda](https://github.com/taichimaeda) made their
first contribution in
[grpc-ecosystem/grpc-gateway#4594
- [@&open-telemetry#8203;texzone](https://github.com/texzone) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4602
- [@&open-telemetry#8203;sebaraj](https://github.com/sebaraj) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4619
- [@&open-telemetry#8203;nkcmr](https://github.com/nkcmr) made their first
contribution in
[grpc-ecosystem/grpc-gateway#4622

**Full Changelog**:
grpc-ecosystem/grpc-gateway@v2.21.0...v2.22.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
Co-authored-by: Yang Song <songy23@users.noreply.github.com>
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants