v0.9.3
What's Changed
This release fixes several bugs, including some edge cases involving IGNORE_ALWAYS
and the memory usage increase that was introduced in protovalidate-go v0.9.1. In addition, it introduces GlobalValidator
(#216) and Filter
(#185).
Using the Filter
API, it is possible to entirely ignore rules on a specific message, field or oneof, or only consider rules on specific messages, fields and oneofs. Using the GlobalValidator
API, it is easier for libraries to both accept a user-provided Validator
instance while defaulting to the global Validator
instance, reducing memory usage.
Note
While we strive to not break the API unnecessarily, protovalidate-go is still considered unstable and APIs may still potentially change in backwards incompatible ways in the future until v1.0, hopefully very infrequently. In particular, the Filter
API is still under active consideration.
Several dependencies are updated.
- Bump buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go from 1.36.5-20250130201111-63bb56e20495.1 to 1.36.5-20250219170025-d39267d9df8f.1 in the go group by @dependabot in #192
- Implement Filter interface by @jchadwick-buf in #185
- Ignore all rules with IGNORE_ALWAYS by @timostamm in #197
- Bump github.com/google/cel-go from 0.23.2 to 0.24.1 in the go group by @dependabot in #196
- Bump CI Go version to include 1.24.x + golangci-lint to 1.64.5 by @rodaine in #198
- Handle compilation error by @doriable in #205
- Update go deps + codegen by @rodaine in #210
- Allow overriding now variable in CEL expressions by @rodaine in #212
- Avoid per-field cel environments when possible by @jchadwick-buf in #195
- Prepare GitHub docs for shift to buf.build/docs by @jrinehart-buf in #194
- Expose a
GlobalValidator
instance by @jchadwick-buf in #216
New Contributors
- @doriable made their first contribution in #205
- @jrinehart-buf made their first contribution in #194
Full Changelog: v0.9.2...v0.9.3