Skip to content
Merged
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
8f1d2f1
feat: add OpenAPI 3.1 support
reuvenharrison Feb 9, 2026
c78c494
fix: resolve $ref in OpenAPI 3.1 schema fields (prefixItems, contains…
reuvenharrison Feb 7, 2026
219e544
fix: recurse into OpenAPI 3.1 fields in transformOpenAPIToJSONSchema
reuvenharrison Feb 7, 2026
fe6fb07
fix: validate sub-schemas in OpenAPI 3.1 schema fields
reuvenharrison Feb 7, 2026
96c3af9
feat: add const keyword validation to built-in validator
reuvenharrison Feb 9, 2026
e0bf83d
fix: improve OpenAPI 3.1 spec compliance
reuvenharrison Feb 9, 2026
74e884b
feat: add remaining JSON Schema 2020-12 keywords and improvements
reuvenharrison Feb 9, 2026
2345e97
style: fix go fmt formatting
reuvenharrison Feb 9, 2026
af306ee
fix: resolve 8 correctness issues in OpenAPI 3.1 support
reuvenharrison Feb 10, 2026
a0258b9
fix: avoid CI lint match in OPEN_ISSUES.md
reuvenharrison Feb 10, 2026
228d056
chore: remove OPEN_ISSUES.md from repo
reuvenharrison Feb 10, 2026
80bf5ba
fix: resolve 8 additional OpenAPI 3.1 issues
reuvenharrison Feb 10, 2026
543927f
feat: add $schema, $defs keywords and fix remaining issues
reuvenharrison Feb 10, 2026
ee89396
fix: strip __origin__ from Const and Examples in Schema.UnmarshalJSON
reuvenharrison Mar 15, 2026
7ae20e3
fix: strip __origin__ from Encoding, Variables, and Webhooks maps
reuvenharrison Mar 16, 2026
e1021c6
feat: implement OpenAPI 3.1 validation enhancements
Mar 26, 2026
5d2e5c3
chore: update generated docs for ConstIsSet field
Mar 26, 2026
c3bbe47
feat: add PathItems field to Components for OpenAPI 3.1
Mar 26, 2026
ba653da
fix: use named PathItems type with JSONLookup in Components
Mar 26, 2026
1eb90ec
feat: resolve components.pathItems refs in loader
Mar 26, 2026
a08ac68
test: add components.pathItems loader, router, and request validation…
Mar 26, 2026
f3b181d
chore: regenerate docs for components.PathItems field
Mar 26, 2026
995a8c0
add test
Mar 27, 2026
6470a96
fix: address CodeRabbit review comments
Mar 29, 2026
2a6ad4f
fix: address CodeRabbit review comments (round 2)
Mar 30, 2026
f5bb9db
fix: remove capitalized fmt.Printf that triggered CI error-string lin…
Mar 31, 2026
0610b4a
ci
Apr 1, 2026
72f3982
feat: gate mutualTLS security scheme type to OpenAPI 3.1+
Apr 1, 2026
f56b22c
fix: address CodeRabbit review comments (round 3)
Apr 1, 2026
ce1a9ca
openapi3: populate SchemaError.Value/Schema/customizeMessageError fro…
Apr 1, 2026
d4828ce
openapi3: avoid anchor index pollution from sibling-merged refs
Apr 1, 2026
c1a81fd
chore: remove obsolete components.pathItems plan doc
Apr 1, 2026
6853b59
openapi3: allow const null in built-in null validation path
Apr 1, 2026
526b895
openapi3: constrain const:null null short-circuit to unconstrained sc…
Apr 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
261 changes: 255 additions & 6 deletions .github/docs/openapi3.txt

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,9 @@ for _, path := range doc.Paths.InMatchingOrder() {
* `openapi3.Location` gained `File` and `Name` fields (`string` type, replacing previous `int`-only struct layout)
* `openapi3.Origin` gained `Sequences` field (`map[string][]Location`, extending previous `map[string]Location`-only struct)

### v0.132.0
* `openapi3.Schema.ExclusiveMin` and `openapi3.Schema.ExclusiveMax` fields changed from `bool` to `ExclusiveBound` (a union type holding `*bool` for OpenAPI 3.0 or `*float64` for OpenAPI 3.1).
* `openapi3.Schema.PrefixItems` field changed from `[]*SchemaRef` to `SchemaRefs`.
### v0.131.0
* No longer `openapi3filter.RegisterBodyDecoder` the `openapi3filter.ZipFileBodyDecoder` by default.

Expand Down
4 changes: 4 additions & 0 deletions cmd/validate/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ func main() {
}

var opts []openapi3.ValidationOption
if doc.IsOpenAPI3_1() {
log.Println("Detected OpenAPI 3.1 document, enabling JSON Schema 2020-12 validation")
opts = append(opts, openapi3.EnableJSONSchema2020Validation())
}
if !*defaults {
opts = append(opts, openapi3.DisableSchemaDefaultsValidation())
}
Expand Down
Loading
Loading