This release mostly contains performance improvements. It also includes an addition that makes it possible to implement a descriptor resolver on top of linker.Files much more efficiently, using a *linker.Symbols as an index.
What's Changed
Enhancements
Add lookup methods to *linker.Symbols by @jhump in #286
Various performance improvements (mostly reducing allocations) in the linker by @jhump in #286, #287, #290, and #291
Other changes
Disallow options that use message-set-wire-format if Protobuf runtime can't support them by @jhump in #284
Changes ast.NoSourceNode so that its methods now require a pointer receiver by @jhump in #291
This is a backwards-incompatible change. The impact should be low (likely even zero) since most users of this module will not be directly constructing ast.NoSourceNode values or type-asserting ast.Node values to ast.NoSourceNode. The change was made because of non-trivial performance gains, by greatly reducing the number of NoSourceNode values that need to be allocated on the heap when working with a parser.Result that has no AST.
Added opt-in ability to validate private fields in PR, thanks @nikolaianohyn via the new WithPrivateFieldValidation option when initializing validator.
Release 10.18.0
What Changed?
Updated all dependencies to address dependant alerts, #1205 and #1220
Release 10.17.0
What's new
Add translation of requiredXXX and excludedXXX in English/Chinese/Chinese Taiwan.
What's fixed
Fix errors translation to work properly for aliases.
Add fmt.Stringer interface support to uuid validations allowing most UUID validation libraries which implement it to work transparently now. TY @JoshGlazebrook for the PR
Added new omitnil similar to omitempty but for pointers. this is mainly for code generation ease. TY @tarampampam for the PR
Corrected a regression of skipping required for time.Time accidentally introduced in v10.15.2
Release 10.15.3
What was fixed?
Fix regression for invalid type check before calling reflect values type. Thank you @MysteriousPotato for the PR
Release 10.15.2
What was fixed?
Refactored #1122 to support or's in tags + updated to required behaving the same as before v10.50.0 to support the community as there was a lot of code relying on the before behaviour, correct or not.
Added a way to opt-in to the new functionality, which is recommended, using WithRequiredStructEnabled
This fixes an issue where the MediaType.Example field was being populated when it shouldn't.
It was basically searching down into the schema and other places as well to find an example where it should have only been searching the top level node
Introduces improved error handling for the JSON schema compilation process in the request validation logic. Previously, the code did not handle potential errors from the compiler, which caused the code to panic when attempting to validate the request body.
The change will improve reliability by ensuring that schema compilation errors are gracefully handled, thus improving the stability of the request body schema validation process. Additionally, this will facilitate quicker debugging and resolution of issues related to invalid schemas.
as we can see above, if an operation has a request body, we will require to have a content type set, however that request body could be not required which means that a content type should not be required.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the dependencies group with 6 updates:
0.11.0
0.13.0
10.4.1
10.19.0
0.17.4
0.18.0
0.15.1
0.16.0
0.16.1
0.16.2
0.0.50
0.0.51
Updates
github.com/bufbuild/protocompile
from 0.11.0 to 0.13.0Release notes
Sourced from github.com/bufbuild/protocompile's releases.
Commits
9eb0fbf
Provide ability for caller to seed/re-use symbol table across compile jobs (#...016b009
Use a profiler to improve linker performance (#291)93923d2
Use fewer allocations when building descriptors in the linker package (#290)63736ac
Slight improvement to walk package (#287)292379e
Fix more CI flakiness issues due to test duration (#289)792268a
Add lookup methods to linker.Symbols; improve performance/reduce allocations ...c75210c
Fix flaky failures in CI, hitting 10s time limit (#288)5fa4f14
Disallow options that use message-set-wire-format if Protobuf runtime can't s...286a97e
Bump golang.org/x/net from 0.17.0 to 0.23.0 in /internal/benchmarks (#285)Updates
github.com/go-playground/validator/v10
from 10.4.1 to 10.19.0Release notes
Sourced from github.com/go-playground/validator/v10's releases.
... (truncated)
Commits
a0f74b0
update ci actions versionsad59377
add go 1.22 to ci build tests364672b
update private field opt-in commentcec504f
Resolving "Validating unexported fields #417" (#1234)b328f72
Update README.md01120ee
Update all library dependencies (#1222)55313db
Update README.md37a1071
Add translation of requiredXXX and excludedXXX in English/Chinese/Chinese Tai...add493f
Update errors.go (#975)84254ae
update READMEUpdates
github.com/k1LoW/grpcstub
from 0.17.4 to 0.18.0Release notes
Sourced from github.com/k1LoW/grpcstub's releases.
Changelog
Sourced from github.com/k1LoW/grpcstub's changelog.
Commits
353e984
Merge pull request #78 from k1LoW/tagpr-from-v0.17.4bff73fe
[tagpr] update CHANGELOG.md64f5389
[tagpr] prepare for the next releasecce434a
Add testcc5fb34
Merge pull request #77 from k1LoW/bsrddd4c5b
Support Buf Schema RegistryUpdates
github.com/k1LoW/httpstub
from 0.15.1 to 0.16.0Release notes
Sourced from github.com/k1LoW/httpstub's releases.
Changelog
Sourced from github.com/k1LoW/httpstub's changelog.
Commits
d557cca
Merge pull request #46 from k1LoW/tagpr-from-v0.15.28af82b3
[tagpr] update CHANGELOG.md5ab8768
[tagpr] prepare for the next release0ca6da5
Merge pull request #48 from k1LoW/update-pkgs5d6b851
Update pkgsfad2074
Merge pull request #47 from k1LoW/re-new-validator5a08be3
Fix lint warnf8f3c94
Add workaround for invalid validator instance after validation error79ff03e
Merge pull request #45 from k1LoW/nullable9d5fffb
Support nullable fields in OpenAPI 3Updates
github.com/pb33f/libopenapi
from 0.16.1 to 0.16.2Release notes
Sourced from github.com/pb33f/libopenapi's releases.
Commits
6f277db
fix: fixed MediaType example being populated from wrong source18a817b
Added test in resolver for #4817e87545
Added test for #4811e22e02
Fixes daveshanley/vacuum#447ac4b6ec
Rresolved issue daveshanley/vacuum#481Updates
github.com/pb33f/libopenapi-validator
from 0.0.50 to 0.0.51Release notes
Sourced from github.com/pb33f/libopenapi-validator's releases.
Commits
5e5b19b
request body is not required by default5b5766b
Update testsfcb62d5
Check and handle compiler err on compile req body261b77d
Add test case causing panic on request body validationDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show