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

Implement predefined field constraints #144

Merged
merged 16 commits into from
Sep 23, 2024

Conversation

jchadwick-buf
Copy link
Member

@jchadwick-buf jchadwick-buf commented Sep 4, 2024

This fails in CI for now, it depends on bufbuild/protovalidate#246.

Assuming you have protovalidate cloned in the parent folder of protovalidate-go, and that you've ran make conformance after checking out bufbuild/protovalidate#246, the following command can be used to test against the local protovalidate. This will not currently pass all the way; it will have two failures that are fixed by bufbuild/protovalidate#245.

(rm -fr .tmp/protovalidate; buf generate ../protovalidate/proto/protovalidate -o .tmp/protovalidate; mv .tmp/protovalidate/internal/gen/buf .tmp/protovalidate; rm -fr .tmp/protovalidate/internal; cd .tmp/protovalidate; go mod init buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go; go mod tidy; cd ..; go mod edit -replace=buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go=./.tmp/protovalidate && go mod tidy) && go build -o protovalidate-conformance-go ./internal/cmd/protovalidate-conformance-go && ../protovalidate/.tmp/bin/protovalidate-conformance --strict --strict_message --strict_error ./protovalidate-conformance-go

@jchadwick-buf jchadwick-buf changed the title Implement shared field rules Implement shared field constraints Sep 4, 2024
@jchadwick-buf jchadwick-buf changed the title Implement shared field constraints Implement predefined field constraints Sep 11, 2024
Removes some old reliance on protobuf implementation details while cleaning up some messy code. We're using map with interface keys since protoreflect.ExtensionType is intended to be used as an identity type, even though it would normally be avoided.
This covers all lines except for panic-at-init ones that are just meant to signal programmer error.
@jchadwick-buf
Copy link
Member Author

FYI: Some changes are being worked on with regards to compatibility. For posterity sake I want to write an explanation. In particular, I noticed some rather serious problems with how our approach to resolving unknown extensions would interplay with users that need to use dynamic descriptor sets; we were relying on the GlobalTypes registry to resolve extensions, but this would not work for users that many have multiple sets of file descriptor sets that are distinct, as the user will not be able to register them. To rectify this I unified the code that resolves extensions for all constraint options.

Now there are tests that should ensure any proto.Message with field constraints will always resolve, no matter if they're using the concrete gencode types, somehow an incompatible gencode type (e.g. if the protovalidate package path changes), a dynamicpb.Message, or if the field constraints are hidden away in unknown fields. In addition, to ensure predefined field constraints are resolved correctly, the user can pass in an extension resolver when creating a validator. Otherwise, GlobalTypes will be used, which works in all of the obvious cases. Similar adaptations will probably be needed for other versions (I already added it to the Java runtime.)

There's actually quite a few bits of nuance I ran into that made this tricky. For example, we cannot mutate the return value of Options() - it is illegal to do so according to protoreflect and would not be goroutine safe anyway, which would probably surprise people since it would only ever come up in edge cases.

Despite this, we do have at least one win: it is possible to avoid RangeExtensions while still not panicing, because we can use ProtoReflect().Get() instead, which is exactly what proto.GetExtension does internally anyways. Then later on, we can use the same logic we normally would to determine if a reparse is necessary.

The code winds up having to do up to four field presence checks:

  • On the concrete fields, using the normal extension tag number
  • On the concrete fields, using the legacy extension tag number
  • On the reparsed unknown fields, using the normal extension tag number
  • On the reparsed unknown fields, using the legacy extension tag number

The reparsed checks have to be done separately because again, we can't actually mutate the field options, so we have to reparse into a new message and check that. However this should not be a major concern, since this step is cached.

A net effect of this is that the conformance test suite runner is even more agnostic to the input data, and previous versions of the conformance test suite should work correctly with the new runner.

That said, at the moment this is only backward compatibility and not forward compatibility. If you use a standard constraint that is too new, it will not work, just as it currently does not work. I am going forward with the assumption that this is OK but it may warrant some thought so I'll ask a couple folks their thoughts anyways.

@jchadwick-buf
Copy link
Member Author

Update: Added a WithAllowUnknownFields option which defaults to false. That way, the default behavior doesn't allow missing definitions to result in silently-broken validation. This is another breaking change, although in theory there is no way it can break anyone, because the version that adds it will also be the version that adds custom predefined rules, and by definition has a superset of all standard constraints ever defined prior.

I have also been investigating to ensure that our changes do not tank performance. Performance is mostly within margin of error although the switch to proto2 has increased the number of allocations in the invalid path (because the violation structure with proto2 explicit field presence is full of pointer-chasing.) I think it isn't worth investing any time into. Not sure what you could really do to improve that; string interning would probably help but I think it would be extremely unlikely to matter in real world use cases.

@jchadwick-buf
Copy link
Member Author

Unfortunately I am currently blocked on getting the upstream protovalidate changes released for the moment so I have made some temporary adaptations in 040b31c that will make the diff as close to possible as the actual final diff. I'm hoping that we can get the protovalidate changes released before end-of-week but getting some eyes on the changes here would be great either way.

@jchadwick-buf
Copy link
Member Author

Protovalidate 0.8.1 is out now so I've reverted the temporary changes and updated to it. We should be good to go.

@oliversun9
Copy link
Contributor

For example, we cannot mutate the return value of Options() - it is illegal to do so according to protoreflect and would not be goroutine safe anyway, which would probably surprise people since it would only ever come up in edge cases.

It doesn't sound like this PR mutates any return value of Options() but I am curious for my own knowledge why protovalidate go needs to mutates this value ever 👀

@jchadwick-buf
Copy link
Member Author

jchadwick-buf commented Sep 23, 2024

For example, we cannot mutate the return value of Options() - it is illegal to do so according to protoreflect and would not be goroutine safe anyway, which would probably surprise people since it would only ever come up in edge cases.

It doesn't sound like this PR mutates any return value of Options() but I am curious for my own knowledge why protovalidate go needs to mutates this value ever 👀

The reason why it might need to mutate the Options() data is because we need to reparse the options. The normal reparse logic we'd use in Go just does a merge-parse directly into the protoreflect.Message, but doing so here would be illegal, so we do it into an empty FieldOptions instead and then loop over those fields separately.

edit: Also, just to make it clear, this PR actually removes all mutation of Options() values, rather than adding more. Before this PR, the resolution of the old protovalidate extension (pre 0.2) was both 1. Mutating Options() in an illegal and goroutine unsafe way and 2. relying on protobuf internals to register the synthetic legacy extension. This PR works a bit of overtime to avoid both caveats without degrading performance (especially in the happy path.)

(As mentioned previously, this PR does degrade performance slightly in the violation case, but AFAICT it is because of the migration to proto2/explicit field presence requiring more allocs.)

@jchadwick-buf jchadwick-buf mentioned this pull request Sep 23, 2024
// library. In some cases, particularly when using a dynamic descriptor set, the
// underlying extension value's type will be a dynamicpb.Message. In some cases,
// the extension may not be resolved at all. This function handles reparsing the
// fields as needed to get it into the right concrete message as needed. Resolve
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
// fields as needed to get it into the right concrete message as needed. Resolve
// fields as needed to get it into the right concrete message. Resolve

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed in 9d5c469


// resolve handles the majority of extension resolution logic. This will return
// a proto.Message for the given extension if the message has the tag number of
// the provided extension (or an equivalent legacy extension.) If there was no
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
// the provided extension (or an equivalent legacy extension.) If there was no
// the provided extension (or an equivalent legacy extension). If there was no

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed in 9d5c469

@jchadwick-buf jchadwick-buf merged commit ca39053 into bufbuild:main Sep 23, 2024
8 checks passed
@jchadwick-buf jchadwick-buf deleted the shared-field-rules branch September 23, 2024 17:25
@rodaine rodaine linked an issue Sep 24, 2024 that may be closed by this pull request
charithe referenced this pull request in cerbos/cerbos Sep 25, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
| buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go |
`v1.34.2-20240717164558-a6c49f84cc0f.2` ->
`v1.34.2-20240920164238-5a7b106cbb87.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/buf.build%2fgen%2fgo%2fbufbuild%2fprotovalidate%2fprotocolbuffers%2fgo/v1.34.2-20240920164238-5a7b106cbb87.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/buf.build%2fgen%2fgo%2fbufbuild%2fprotovalidate%2fprotocolbuffers%2fgo/v1.34.2-20240920164238-5a7b106cbb87.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/buf.build%2fgen%2fgo%2fbufbuild%2fprotovalidate%2fprotocolbuffers%2fgo/v1.34.2-20240717164558-a6c49f84cc0f.2/v1.34.2-20240920164238-5a7b106cbb87.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/buf.build%2fgen%2fgo%2fbufbuild%2fprotovalidate%2fprotocolbuffers%2fgo/v1.34.2-20240717164558-a6c49f84cc0f.2/v1.34.2-20240920164238-5a7b106cbb87.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
|
[connectrpc.com/connect](https://redirect.github.com/connectrpc/connect-go)
| `v1.16.2` -> `v1.17.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/connectrpc.com%2fconnect/v1.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/connectrpc.com%2fconnect/v1.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/connectrpc.com%2fconnect/v1.16.2/v1.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/connectrpc.com%2fconnect/v1.16.2/v1.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[github.com/aws/aws-sdk-go-v2/config](https://redirect.github.com/aws/aws-sdk-go-v2)
| `v1.27.33` -> `v1.27.37` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.27.37?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.37?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.33/v1.27.37?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.33/v1.27.37?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
|
[github.com/aws/aws-sdk-go-v2/service/marketplacemetering](https://redirect.github.com/aws/aws-sdk-go-v2)
| `v1.23.6` -> `v1.24.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fmarketplacemetering/v1.24.1?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.24.1?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.6/v1.24.1?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.6/v1.24.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [github.com/aws/smithy-go](https://redirect.github.com/aws/smithy-go)
| `v1.20.4` -> `v1.21.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2fsmithy-go/v1.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2fsmithy-go/v1.21.0?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.4/v1.21.0?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.4/v1.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [github.com/bufbuild/buf](https://redirect.github.com/bufbuild/buf) |
`v1.40.1` -> `v1.42.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fbufbuild%2fbuf/v1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fbufbuild%2fbuf/v1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fbufbuild%2fbuf/v1.40.1/v1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fbufbuild%2fbuf/v1.40.1/v1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[github.com/bufbuild/protovalidate-go](https://redirect.github.com/bufbuild/protovalidate-go)
| `v0.6.5` -> `v0.7.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fbufbuild%2fprotovalidate-go/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fbufbuild%2fprotovalidate-go/v0.7.0?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.5/v0.7.0?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.5/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[github.com/cerbos/protoc-gen-jsonschema](https://redirect.github.com/cerbos/protoc-gen-jsonschema)
| `v0.1.2` -> `v0.1.3` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcerbos%2fprotoc-gen-jsonschema/v0.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcerbos%2fprotoc-gen-jsonschema/v0.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcerbos%2fprotoc-gen-jsonschema/v0.1.2/v0.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcerbos%2fprotoc-gen-jsonschema/v0.1.2/v0.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
|
[github.com/dadav/helm-schema](https://redirect.github.com/dadav/helm-schema)
| `7592f05` -> `1368290` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fdadav%2fhelm-schema/v0.0.0-20240923180621-13682905ed27?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-20240923180621-13682905ed27?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-20240909051202-7592f053e40b/v0.0.0-20240923180621-13682905ed27?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-20240909051202-7592f053e40b/v0.0.0-20240923180621-13682905ed27?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | digest |
|
[github.com/goreleaser/goreleaser/v2](https://redirect.github.com/goreleaser/goreleaser)
| `v2.2.0` -> `v2.3.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoreleaser%2fgoreleaser%2fv2/v2.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgoreleaser%2fgoreleaser%2fv2/v2.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgoreleaser%2fgoreleaser%2fv2/v2.2.0/v2.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoreleaser%2fgoreleaser%2fv2/v2.2.0/v2.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [github.com/jackc/pgx/v5](https://redirect.github.com/jackc/pgx) |
`v5.7.0` -> `v5.7.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fjackc%2fpgx%2fv5/v5.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fjackc%2fpgx%2fv5/v5.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fjackc%2fpgx%2fv5/v5.7.0/v5.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fjackc%2fpgx%2fv5/v5.7.0/v5.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
|
[github.com/planetscale/vtprotobuf](https://redirect.github.com/planetscale/vtprotobuf)
| `0393e58` -> `6f2963f` | | | | | require | digest |
|
[github.com/planetscale/vtprotobuf](https://redirect.github.com/planetscale/vtprotobuf)
| `615f978` -> `6f2963f` | | | | | require | digest |
|
[github.com/prometheus/client_golang](https://redirect.github.com/prometheus/client_golang)
| `v1.20.3` -> `v1.20.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fprometheus%2fclient_golang/v1.20.4?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.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fprometheus%2fclient_golang/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%2fprometheus%2fclient_golang/v1.20.3/v1.20.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [github.com/rivo/tview](https://redirect.github.com/rivo/tview) |
`fd649db` -> `a64fc48` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2frivo%2ftview/v0.0.0-20240921122403-a64fc48d7654?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-20240921122403-a64fc48d7654?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-20240818110301-fd649dbf1223/v0.0.0-20240921122403-a64fc48d7654?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-20240818110301-fd649dbf1223/v0.0.0-20240921122403-a64fc48d7654?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | digest |
|
[github.com/rogpeppe/go-internal](https://redirect.github.com/rogpeppe/go-internal)
| `v1.12.0` -> `v1.13.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2frogpeppe%2fgo-internal/v1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2frogpeppe%2fgo-internal/v1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2frogpeppe%2fgo-internal/v1.12.0/v1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2frogpeppe%2fgo-internal/v1.12.0/v1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[github.com/vektra/mockery/v2](https://redirect.github.com/vektra/mockery)
| `v2.45.1` -> `v2.46.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fvektra%2fmockery%2fv2/v2.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fvektra%2fmockery%2fv2/v2.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fvektra%2fmockery%2fv2/v2.45.1/v2.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fvektra%2fmockery%2fv2/v2.45.1/v2.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib)
| `v0.54.0` -> `v0.55.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fgoogle.golang.org%2fgrpc%2fotelgrpc/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fgoogle.golang.org%2fgrpc%2fotelgrpc/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fgoogle.golang.org%2fgrpc%2fotelgrpc/v0.54.0/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fgoogle.golang.org%2fgrpc%2fotelgrpc/v0.54.0/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib)
| `v0.54.0` -> `v0.55.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fnet%2fhttp%2fotelhttp/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fnet%2fhttp%2fotelhttp/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fnet%2fhttp%2fotelhttp/v0.54.0/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fnet%2fhttp%2fotelhttp/v0.54.0/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/contrib/instrumentation/runtime](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib)
| `v0.54.0` -> `v0.55.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fruntime/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fruntime/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fruntime/v0.54.0/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fruntime/v0.54.0/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/contrib/propagators/autoprop](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib)
| `v0.54.0` -> `v0.55.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fautoprop/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fautoprop/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fautoprop/v0.54.0/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fautoprop/v0.54.0/v0.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/contrib/propagators/b3](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib)
| `v1.29.0` -> `v1.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fb3/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fb3/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fb3/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fb3/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.29.0` -> `v1.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.29.0` -> `v1.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetricgrpc/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetricgrpc/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetricgrpc/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetricgrpc/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.29.0` -> `v1.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.29.0` -> `v1.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.29.0` -> `v1.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracegrpc/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracegrpc/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracegrpc/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracegrpc/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.29.0` -> `v1.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/exporters/prometheus](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v0.51.0` -> `v0.52.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fprometheus/v0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fprometheus/v0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fprometheus/v0.51.0/v0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fprometheus/v0.51.0/v0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/metric](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.29.0` -> `v1.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fmetric/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fmetric/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fmetric/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fmetric/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/sdk](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.29.0` -> `v1.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fsdk/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fsdk/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fsdk/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fsdk/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/sdk/metric](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.29.0` -> `v1.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/trace](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.29.0` -> `v1.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2ftrace/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2ftrace/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2ftrace/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2ftrace/v1.29.0/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.uber.org/automaxprocs](https://redirect.github.com/uber-go/automaxprocs)
| `v1.5.3` -> `v1.6.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.uber.org%2fautomaxprocs/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.uber.org%2fautomaxprocs/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.uber.org%2fautomaxprocs/v1.5.3/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.uber.org%2fautomaxprocs/v1.5.3/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [gocloud.dev](https://redirect.github.com/google/go-cloud) | `v0.37.0`
-> `v0.39.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/gocloud.dev/v0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/gocloud.dev/v0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/gocloud.dev/v0.37.0/v0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/gocloud.dev/v0.37.0/v0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [google.golang.org/grpc](https://redirect.github.com/grpc/grpc-go) |
`v1.66.1` -> `v1.67.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgrpc/v1.67.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fgrpc/v1.67.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fgrpc/v1.66.1/v1.67.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgrpc/v1.66.1/v1.67.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[google.golang.org/protobuf](https://redirect.github.com/protocolbuffers/protobuf-go)
| `94ecbc2` -> `03df6c1` | | | | | require | digest |
| [helm.sh/helm/v3](https://redirect.github.com/helm/helm) | `v3.15.4`
-> `v3.16.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/helm.sh%2fhelm%2fv3/v3.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/helm.sh%2fhelm%2fv3/v3.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/helm.sh%2fhelm%2fv3/v3.15.4/v3.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/helm.sh%2fhelm%2fv3/v3.15.4/v3.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | `v1.33.0` ->
`v1.33.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/modernc.org%2fsqlite/v1.33.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/modernc.org%2fsqlite/v1.33.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/modernc.org%2fsqlite/v1.33.0/v1.33.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/modernc.org%2fsqlite/v1.33.0/v1.33.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |

---

### Release Notes

<details>
<summary>connectrpc/connect-go (connectrpc.com/connect)</summary>

###
[`v1.17.0`](https://redirect.github.com/connectrpc/connect-go/releases/tag/v1.17.0)

[Compare
Source](https://redirect.github.com/connectrpc/connect-go/compare/v1.16.2...v1.17.0)

#### What's Changed

##### Enhancements

- Enable `protoc-gen-connect-go` usage with Protobuf source files that
use Editions by
[@&#8203;jchadwick-buf](https://redirect.github.com/jchadwick-buf) in
[#&#8203;754](https://redirect.github.com/connectrpc/connect-go/issues/754)

##### Bugfixes

- Prevent incorrect propagation of protocol-specific metadata by
[@&#8203;emcfarlane](https://redirect.github.com/emcfarlane) in
[#&#8203;748](https://redirect.github.com/connectrpc/connect-go/issues/748)
- Fix error message about unexpected content-type by
[@&#8203;jhump](https://redirect.github.com/jhump) in
[#&#8203;775](https://redirect.github.com/connectrpc/connect-go/issues/775)
- Calls should return "unavailable" instead of "unimplemented" or
"unknown" when the transport fails to produce an HTTP response and
returns `io.EOF` errors by
[@&#8203;jhump](https://redirect.github.com/jhump) in
[#&#8203;776](https://redirect.github.com/connectrpc/connect-go/issues/776)

##### Other changes

- Now requires Go 1.21 by
[@&#8203;jhump](https://redirect.github.com/jhump) in
[#&#8203;770](https://redirect.github.com/connectrpc/connect-go/issues/770)

#### New Contributors

- [@&#8203;perezd](https://redirect.github.com/perezd) made their first
contribution in
[#&#8203;739](https://redirect.github.com/connectrpc/connect-go/issues/739)

**Full Changelog**:
https://github.com/connectrpc/connect-go/compare/v1.16.2...v1.17.0

</details>

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

###
[`v1.24.1`](https://redirect.github.com/aws/aws-sdk-go-v2/compare/v1.24.0...v1.24.1)

###
[`v1.24.0`](https://redirect.github.com/aws/aws-sdk-go-v2/compare/v1.23.5...v1.24.0)

</details>

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

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

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

</details>

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

###
[`v1.42.0`](https://redirect.github.com/bufbuild/buf/blob/HEAD/CHANGELOG.md#v1420---2024-09-18)

[Compare
Source](https://redirect.github.com/bufbuild/buf/compare/v1.41.0...v1.42.0)

-   Add support for custom lint and breaking change plugins. See
[our launch blog
post](https://buf.build/blog/buf-custom-lint-breaking-change-plugins)
    for more details!
- Add `buf dep graph --format` flag that defaults to `dot`, and adds the
option `json`, to print
    the dependency graph in JSON format.
- Fix bugs in `buf format` where trailing comments on commas in message
literals were not properly
propagated to the formatted proto, empty message literals were not
properly indented, and
compound strings in options added an extra newline before trailing
commas.

###
[`v1.41.0`](https://redirect.github.com/bufbuild/buf/blob/HEAD/CHANGELOG.md#v1410---2024-09-11)

[Compare
Source](https://redirect.github.com/bufbuild/buf/compare/v1.40.1...v1.41.0)

-   Add HTTP/3 support for gRPC with `buf curl`.
- Fix issue where errors from protoc plugins may be overwritten when
executing plugins in parallel.

</details>

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

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

[Compare
Source](https://redirect.github.com/bufbuild/protovalidate-go/compare/v0.6.5...v0.7.0)

#### What's Changed

- Implement predefined field constraints by
[@&#8203;jchadwick-buf](https://redirect.github.com/jchadwick-buf) in
[https://github.com/bufbuild/protovalidate-go/pull/144](https://redirect.github.com/bufbuild/protovalidate-go/pull/144)

**NOTE:** This is a breaking change. You will need to update code using
the `validate.Violation` structure, as the fields now use explicit field
presence.

**Full Changelog**:
https://github.com/bufbuild/protovalidate-go/compare/v0.6.5...v0.7.0

</details>

<details>
<summary>cerbos/protoc-gen-jsonschema
(github.com/cerbos/protoc-gen-jsonschema)</summary>

###
[`v0.1.3`](https://redirect.github.com/cerbos/protoc-gen-jsonschema/compare/v0.1.2...v0.1.3)

[Compare
Source](https://redirect.github.com/cerbos/protoc-gen-jsonschema/compare/v0.1.2...v0.1.3)

</details>

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

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

[Compare
Source](https://redirect.github.com/goreleaser/goreleaser/compare/v2.3.1...v2.3.2)

#### Changelog

##### Bug fixes

-
[`e8c2ef7`](https://redirect.github.com/goreleaser/goreleaser/commit/e8c2ef77358b4b1e59b904322824ccbfa3487ab2):
fix: upx UnknownExecutableFormatException
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))

##### Dependency updates

-
[`7d1063f`](https://redirect.github.com/goreleaser/goreleaser/commit/7d1063f07d80b1fe0aaa287d480c08fa17339c66):
chore(deps): bump github/codeql-action from 3.26.6 to 3.26.7
([#&#8203;5140](https://redirect.github.com/goreleaser/goreleaser/issues/5140))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`527485c`](https://redirect.github.com/goreleaser/goreleaser/commit/527485c58f8e2c8620030db861eb84194e7a55a6):
chore(deps): update go-github to v65
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))

##### Other work

-
[`ff84a3d`](https://redirect.github.com/goreleaser/goreleaser/commit/ff84a3d703f3075da6c017cda5d6122da2bcd1bb):
chore: auto-update generated files
([@&#8203;actions-user](https://redirect.github.com/actions-user))

**Full Changelog**:
https://github.com/goreleaser/goreleaser/compare/v2.3.1...v2.3.2

#### 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>

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

[Compare
Source](https://redirect.github.com/goreleaser/goreleaser/compare/v2.3.0...v2.3.1)

#### Changelog

##### Bug fixes

-
[`c7e5038`](https://redirect.github.com/goreleaser/goreleaser/commit/c7e50380776d042cf5affdb9e673bd9b3e7862d0):
fix: jsonschema
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))

##### Dependency updates

-
[`c16bd53`](https://redirect.github.com/goreleaser/goreleaser/commit/c16bd531422325846d4c4f546d68dff4374e963a):
chore(deps): bump cachix/install-nix-action from V27 to 28
([#&#8203;5135](https://redirect.github.com/goreleaser/goreleaser/issues/5135))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])

##### Documentation updates

-
[`46b3d88`](https://redirect.github.com/goreleaser/goreleaser/commit/46b3d88ae5c148d8f48896f4dd88a473b52e6cfa):
docs: Add GH Actions OIDC permission docs
([#&#8203;5137](https://redirect.github.com/goreleaser/goreleaser/issues/5137))
([@&#8203;caffeine-addictt](https://redirect.github.com/caffeine-addictt))
-
[`586ce73`](https://redirect.github.com/goreleaser/goreleaser/commit/586ce73ddbdd9cbd25f81fe0b2da5f30f04356df):
docs: announce v2.3
([#&#8203;5134](https://redirect.github.com/goreleaser/goreleaser/issues/5134))
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`3149a36`](https://redirect.github.com/goreleaser/goreleaser/commit/3149a36750b18630ecd5d27e486bd23ddd91136c):
docs: update schema
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))

##### Other work

-
[`34974df`](https://redirect.github.com/goreleaser/goreleaser/commit/34974df0c6627a57f2f8fd37aaed75d87a7186cc):
chore: auto-update generated files
([@&#8203;actions-user](https://redirect.github.com/actions-user))

**Full Changelog**:
https://github.com/goreleaser/goreleaser/compare/v2.3.0...v2.3.1

#### 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>

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

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

#### Changelog

##### New Features

-
[`11aa7cf`](https://redirect.github.com/goreleaser/goreleaser/commit/11aa7cfceba248503623af0419cb0dc1c72f0605):
feat(build): template skip
([#&#8203;5089](https://redirect.github.com/goreleaser/goreleaser/issues/5089))
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`301b193`](https://redirect.github.com/goreleaser/goreleaser/commit/301b193e6e9b80f69a2bf0fe8b49357f3091521c):
feat(build): templateable no_unique_dist_dir
([#&#8203;5115](https://redirect.github.com/goreleaser/goreleaser/issues/5115))
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`708cd89`](https://redirect.github.com/goreleaser/goreleaser/commit/708cd8904dae4970aacfe1d387bac4fede024c97):
feat(ko): snapshot builds
([#&#8203;5116](https://redirect.github.com/goreleaser/goreleaser/issues/5116))
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`5b87a85`](https://redirect.github.com/goreleaser/goreleaser/commit/5b87a85ee04c5bf61bacf4d6928da5d1caf9ff12):
feat(nfpm): better support aix
([#&#8203;5075](https://redirect.github.com/goreleaser/goreleaser/issues/5075))
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`e8da87c`](https://redirect.github.com/goreleaser/goreleaser/commit/e8da87cecb79db537755b2541d16cfa7091c2ca6):
feat(tmpl): IsSingleTarget
([#&#8203;5122](https://redirect.github.com/goreleaser/goreleaser/issues/5122))
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`377ced6`](https://redirect.github.com/goreleaser/goreleaser/commit/377ced6577fd53aad9e46234e75c5bb534eee851):
feat: add upx to our docker images
([#&#8203;5131](https://redirect.github.com/goreleaser/goreleaser/issues/5131))
([@&#8203;giesan](https://redirect.github.com/giesan))

##### Bug fixes

-
[`04dfb72`](https://redirect.github.com/goreleaser/goreleaser/commit/04dfb72d579ca0cacee186456aa130e4bf8ea836):
fix(brew): version and os not being considered
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`40668d4`](https://redirect.github.com/goreleaser/goreleaser/commit/40668d438247d5535b180dc89f59c53d5582b4fa):
fix(build): c-shared build and release when target is wasm
([#&#8203;5128](https://redirect.github.com/goreleaser/goreleaser/issues/5128))
([@&#8203;juliens](https://redirect.github.com/juliens))
-
[`a9e0a8f`](https://redirect.github.com/goreleaser/goreleaser/commit/a9e0a8f11209b992b62e126274fb958e4527d65f):
fix(build): ignore empty flags after templating
([#&#8203;5103](https://redirect.github.com/goreleaser/goreleaser/issues/5103))
([@&#8203;nicolasparada](https://redirect.github.com/nicolasparada))
-
[`6272ce0`](https://redirect.github.com/goreleaser/goreleaser/commit/6272ce0e6d848b2d321edf99b07ff90ad6efbba4):
fix: Handle error on failed release (github)
([#&#8203;5106](https://redirect.github.com/goreleaser/goreleaser/issues/5106))
([@&#8203;mrueg](https://redirect.github.com/mrueg))
-
[`96c87ff`](https://redirect.github.com/goreleaser/goreleaser/commit/96c87fff72b4e9bb259a656c294892b2e935aa41):
fix: build --single-target filters
([#&#8203;5114](https://redirect.github.com/goreleaser/goreleaser/issues/5114))
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))

##### Dependency updates

-
[`23cd335`](https://redirect.github.com/goreleaser/goreleaser/commit/23cd3352f7bc9033fd22367f2483c5acfea3f5bd):
chore(deps): bump anchore/sbom-action from 0.17.1 to 0.17.2
([#&#8203;5098](https://redirect.github.com/goreleaser/goreleaser/issues/5098))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`0e971dc`](https://redirect.github.com/goreleaser/goreleaser/commit/0e971dcbf153bbef8735d90ce66d9ae7355a4078):
chore(deps): bump dario.cat/mergo from 1.0.0 to 1.0.1
([#&#8203;5093](https://redirect.github.com/goreleaser/goreleaser/issues/5093))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`5928b4f`](https://redirect.github.com/goreleaser/goreleaser/commit/5928b4fb5a425df5b50e3855c61829b894b4af7e):
chore(deps): bump github.com/Masterminds/semver/v3 from 3.2.1 to 3.3.0
([#&#8203;5105](https://redirect.github.com/goreleaser/goreleaser/issues/5105))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`16af0ba`](https://redirect.github.com/goreleaser/goreleaser/commit/16af0bae82e4764bc4a53cfa1cd9fd582d9ef72c):
chore(deps): bump github.com/atc0005/go-teams-notify/v2 from 2.11.0 to
2.12.0
([#&#8203;5092](https://redirect.github.com/goreleaser/goreleaser/issues/5092))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`4200454`](https://redirect.github.com/goreleaser/goreleaser/commit/4200454d4efb609722960630c3f621a35d18f881):
chore(deps): bump github.com/atc0005/go-teams-notify/v2 from 2.12.0 to
2.13.0
([#&#8203;5124](https://redirect.github.com/goreleaser/goreleaser/issues/5124))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`17a9554`](https://redirect.github.com/goreleaser/goreleaser/commit/17a955458ca085b010a75127d2a0572ea89d22eb):
chore(deps): bump github.com/charmbracelet/keygen from 0.5.0 to 0.5.1
([#&#8203;5084](https://redirect.github.com/goreleaser/goreleaser/issues/5084))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`498b55b`](https://redirect.github.com/goreleaser/goreleaser/commit/498b55bcc4246cfd29f12db33f29818a6407c1d4):
chore(deps): bump github.com/charmbracelet/lipgloss from 0.12.1 to
0.13.0
([#&#8203;5095](https://redirect.github.com/goreleaser/goreleaser/issues/5095))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`1f5b7ee`](https://redirect.github.com/goreleaser/goreleaser/commit/1f5b7ee814a5c287c94c4f7f4693575481243bf6):
chore(deps): bump github.com/slack-go/slack from 0.13.1 to 0.14.0
([#&#8203;5085](https://redirect.github.com/goreleaser/goreleaser/issues/5085))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`69e2d8f`](https://redirect.github.com/goreleaser/goreleaser/commit/69e2d8f45a3631c9f73a51e9c4c4582255d7f29d):
chore(deps): bump github.com/xanzy/go-gitlab from 0.107.0 to 0.108.0
([#&#8203;5101](https://redirect.github.com/goreleaser/goreleaser/issues/5101))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`87d1695`](https://redirect.github.com/goreleaser/goreleaser/commit/87d16953f7b5d77c0ca30b30da163b3e5b455bd5):
chore(deps): bump github.com/xanzy/go-gitlab from 0.108.0 to 0.109.0
([#&#8203;5125](https://redirect.github.com/goreleaser/goreleaser/issues/5125))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`a1b8875`](https://redirect.github.com/goreleaser/goreleaser/commit/a1b88757b3db7c7fd14151321497fe0e4b0d8c00):
chore(deps): bump github/codeql-action from 3.26.1 to 3.26.2
([#&#8203;5081](https://redirect.github.com/goreleaser/goreleaser/issues/5081))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`3e6d825`](https://redirect.github.com/goreleaser/goreleaser/commit/3e6d825c80268b1b795971e3bdc0bc7b5a769062):
chore(deps): bump github/codeql-action from 3.26.2 to 3.26.3
([#&#8203;5094](https://redirect.github.com/goreleaser/goreleaser/issues/5094))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`9ac2794`](https://redirect.github.com/goreleaser/goreleaser/commit/9ac2794aa32aa6df6e27e56b9106ebcd9150fe3f):
chore(deps): bump github/codeql-action from 3.26.3 to 3.26.4
([#&#8203;5097](https://redirect.github.com/goreleaser/goreleaser/issues/5097))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`35c9bdb`](https://redirect.github.com/goreleaser/goreleaser/commit/35c9bdb5870d228541ee0116148b6babe4b76853):
chore(deps): bump github/codeql-action from 3.26.4 to 3.26.5
([#&#8203;5100](https://redirect.github.com/goreleaser/goreleaser/issues/5100))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`00f237a`](https://redirect.github.com/goreleaser/goreleaser/commit/00f237aa6ec0e87f8c51ea1553befa8841946774):
chore(deps): bump github/codeql-action from 3.26.5 to 3.26.6
([#&#8203;5108](https://redirect.github.com/goreleaser/goreleaser/issues/5108))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`826a150`](https://redirect.github.com/goreleaser/goreleaser/commit/826a15059727a0c5ea46134c49e070a57db2f64b):
chore(deps): bump golang from 1.23.0-alpine to 1.23.1-alpine
([#&#8203;5126](https://redirect.github.com/goreleaser/goreleaser/issues/5126))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`ae5ca2c`](https://redirect.github.com/goreleaser/goreleaser/commit/ae5ca2c0226a56402cda7ba2272e9ae3a51242b1):
chore(deps): bump golang.org/x/crypto from 0.26.0 to 0.27.0
([#&#8203;5121](https://redirect.github.com/goreleaser/goreleaser/issues/5121))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`2d3b737`](https://redirect.github.com/goreleaser/goreleaser/commit/2d3b737d03351db62ffd3fbaad4803684dfdf1c6):
chore(deps): bump golang.org/x/oauth2 from 0.22.0 to 0.23.0
([#&#8203;5117](https://redirect.github.com/goreleaser/goreleaser/issues/5117))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`0c5e4fd`](https://redirect.github.com/goreleaser/goreleaser/commit/0c5e4fd33655d99a11ea7747c409a906bf4d7e75):
chore(deps): bump golang.org/x/tools from 0.24.0 to 0.25.0
([#&#8203;5129](https://redirect.github.com/goreleaser/goreleaser/issues/5129))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`28b30e2`](https://redirect.github.com/goreleaser/goreleaser/commit/28b30e29472074922d5f000549ef663a90652332):
chore(deps): update bluesky/indigo
([#&#8203;5073](https://redirect.github.com/goreleaser/goreleaser/issues/5073))
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`5a10792`](https://redirect.github.com/goreleaser/goreleaser/commit/5a10792f7e0e59dac5cf462e020b41011ca927d6):
chore(deps): update go-github
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`c95bcdc`](https://redirect.github.com/goreleaser/goreleaser/commit/c95bcdc1c6db4eb7d4c70ed24d28631f97e6e491):
chore(deps): update gocloud to v0.39.0
([#&#8203;5091](https://redirect.github.com/goreleaser/goreleaser/issues/5091))
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`5495b67`](https://redirect.github.com/goreleaser/goreleaser/commit/5495b670aea5361716e5eb5e3f031d16b958d274):
chore(deps): update nfpm
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`e4b9152`](https://redirect.github.com/goreleaser/goreleaser/commit/e4b91521d0ace54cce7f8d0b42852bf87313fd09):
chore(deps): upgrade cosign to 2.4.0
([#&#8203;5099](https://redirect.github.com/goreleaser/goreleaser/issues/5099))
([@&#8203;suprememoocow](https://redirect.github.com/suprememoocow))
-
[`f203105`](https://redirect.github.com/goreleaser/goreleaser/commit/f203105bb98477de8151cc8db1d6ee7e9bbd48e3):
fix(deps): not sure why we were using a rc version of runc
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))

##### Documentation updates

-
[`06e37ac`](https://redirect.github.com/goreleaser/goreleaser/commit/06e37acae7800b8870ebd6f25e4262d0deafd678):
docs: announce v2.2
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`a9f07ef`](https://redirect.github.com/goreleaser/goreleaser/commit/a9f07ef2eaff1d9172d616cd675af30e702b7a3a):
docs: fix wrong links
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`edaf931`](https://redirect.github.com/goreleaser/goreleaser/commit/edaf931ad14f34423e6651909a19120f592e3ead):
docs: improve git semver sorting pro warning
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`ed866f0`](https://redirect.github.com/goreleaser/goreleaser/commit/ed866f0531b1ce1d87939f743c544218a0567a9f):
docs: since ([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`1014db4`](https://redirect.github.com/goreleaser/goreleaser/commit/1014db44ffaf144b594e8da6b1f40bdd87089806):
docs: update ([@&#8203;caarlos0](https://redirect.github.com/caarlos0))

##### Build process updates

-
[`d8c1793`](https://redirect.github.com/goreleaser/goreleaser/commit/d8c179352d3466d61291e5fe38a6bb1368c0c138):
build(nix): improve flake.nix
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`84f1362`](https://redirect.github.com/goreleaser/goreleaser/commit/84f136202f5df4166ca1c9ac019afc832279889b):
build: constant archive files owner, group, and mtime
([#&#8203;5088](https://redirect.github.com/goreleaser/goreleaser/issues/5088))
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`4e699a4`](https://redirect.github.com/goreleaser/goreleaser/commit/4e699a4caf07dab6139cca7156fdc9691d971561):
build: fix port error with dockertest on blob_minio_test.go
([#&#8203;5090](https://redirect.github.com/goreleaser/goreleaser/issues/5090))
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`d3be3b0`](https://redirect.github.com/goreleaser/goreleaser/commit/d3be3b085db0f1b7fc6fcf77d90924bdfc45672d):
build: update golangci-lint
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`94a8de5`](https://redirect.github.com/goreleaser/goreleaser/commit/94a8de5347851c3200749215b817fe7c1a6a8726):
build: use go 1.23
([#&#8203;5082](https://redirect.github.com/goreleaser/goreleaser/issues/5082))
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))

##### Other work

-
[`c2c0403`](https://redirect.github.com/goreleaser/goreleaser/commit/c2c0403ddc2f86e934a92537b21398ff1967a38d):
chore(docs): schema update
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`e50b72b`](https://redirect.github.com/goreleaser/goreleaser/commit/e50b72b4a853164a9502bf8fa64b99e12bf28a2b):
chore: auto-update generated files
([@&#8203;actions-user](https://redirect.github.com/actions-user))
-
[`3a36a49`](https://redirect.github.com/goreleaser/goreleaser/commit/3a36a49984de9349eee5110f898a890abe68b954):
chore: fix linter errors
([#&#8203;5111](https://redirect.github.com/goreleaser/goreleaser/issues/5111))
([@&#8203;twpayne](https://redirect.github.com/twpayne))
-
[`64e8ff1`](https://redirect.github.com/goreleaser/goreleaser/commit/64e8ff1716c03b350feece1a9f132fba4420d637):
chore: issue template config
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`83ce502`](https://redirect.github.com/goreleaser/goreleaser/commit/83ce50237c4b6739c5a9d5851a12580b8e10528a):
chore: update nix
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`7572db1`](https://redirect.github.com/goreleaser/goreleaser/commit/7572db1d9a60f064a2665c66e49c4280178d9658):
chore: use nightly.version_template
([@&#8203;caarlos0](https://redirect.github.com/caarlos0))
-
[`5e63058`](https://redirect.github.com/goreleaser/goreleaser/commit/5e6305804eb54d5ec51398cc2825a1f980e73925):
chore: use snapshot.version_template in own config
([#&#8203;5087](https://redirect.github.com/goreleaser/goreleaser/issues/5087))
([@&#8203;twpayne](https://redirect.github.com/twpayne))

**Full Changelog**:
https://github.com/goreleaser/goreleaser/compare/v2.2.0...v2.3.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>jackc/pgx (github.com/jackc/pgx/v5)</summary>

###
[`v5.7.1`](https://redirect.github.com/jackc/pgx/compare/v5.7.0...v5.7.1)

[Compare
Source](https://redirect.github.com/jackc/pgx/compare/v5.7.0...v5.7.1)

</details>

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

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

[Compare
Source](https://redirect.github.com/prometheus/client_golang/compare/v1.20.3...v1.20.4)

- \[BUGFIX] histograms: Fix a possible data race when appending
exemplars vs metrics gather.
[#&#8203;1623](https://redirect.github.com/prometheus/client_golang/issues/1623)

</details>

<details>
<summary>rogpeppe/go-internal
(github.com/rogpeppe/go-internal)</summary>

###
[`v1.13.1`](https://redirect.github.com/rogpeppe/go-internal/releases/tag/v1.13.1)

[Compare
Source](https://redirect.github.com/rogpeppe/go-internal/compare/v1.13.0...v1.13.1)

#### What's Changed

- testscript: fix ptyName() returning /dev/pts/4294967296 on s390x by
[@&#8203;anthonyfok](https://redirect.github.com/anthonyfok) in
[https://github.com/rogpeppe/go-internal/pull/246](https://redirect.github.com/rogpeppe/go-internal/pull/246)
-   all: Move away from ioutil by [@&#8203;ab

</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://redirect.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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cerbos/cerbos).

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

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Charith Ellawala <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Charith Ellawala <[email protected]>
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.

[BUG] priv error
3 participants