Skip to content

Commit 003deb9

Browse files
update bundled schemas to latest versions
..and fix all outdated references
1 parent d3a5464 commit 003deb9

File tree

14 files changed

+52
-51
lines changed

14 files changed

+52
-51
lines changed

Changes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
Revision history for OpenAPI-Modern
22

33
{{$NEXT}}
4+
- update bundled schemas to their latest versions
45

56
0.089 2025-07-31 21:03:29Z
67
- internal changes to JSON::Schema::Modern::Document::OpenAPI with

dist.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ license = Perl_5
66

77
; note: no "latest" links available yet, so we hardcode the filenames
88
[Run::BeforeRelease]
9-
eval = do './update-schemas'; die $@ || $! if $@ || $!
9+
eval = unshift @INC, '%d/lib'; do './update-schemas'; die $@ || $! if $@ || $!
1010

1111
[@Author::ETHER]
1212
:version = 0.162

lib/JSON/Schema/Modern/Document/OpenAPI.pm

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ use constant DEFAULT_SCHEMAS => [
4646
];
4747

4848
# these are all pre-loaded, and also made available as s/<date>/latest/
49-
use constant DEFAULT_DIALECT => 'https://spec.openapis.org/oas/3.1/dialect/2024-10-25';
50-
use constant DEFAULT_BASE_METASCHEMA => 'https://spec.openapis.org/oas/3.1/schema-base/2024-11-14';
51-
use constant DEFAULT_METASCHEMA => 'https://spec.openapis.org/oas/3.1/schema/2024-11-14';
52-
use constant OAS_VOCABULARY => 'https://spec.openapis.org/oas/3.1/meta/2024-10-25';
49+
use constant DEFAULT_DIALECT => 'https://spec.openapis.org/oas/3.1/dialect/2024-11-10';
50+
use constant DEFAULT_BASE_METASCHEMA => 'https://spec.openapis.org/oas/3.1/schema-base/2025-02-13';
51+
use constant DEFAULT_METASCHEMA => 'https://spec.openapis.org/oas/3.1/schema/2025-02-13';
52+
use constant OAS_VOCABULARY => 'https://spec.openapis.org/oas/3.1/meta/2024-11-10';
5353
use constant OAS_VERSION => '3.1.1';
5454

5555
has '+schema' => (
@@ -552,7 +552,7 @@ Provides structured parsing of an OpenAPI document, suitable as the base for mor
552552
request and response validation, code generation or form generation.
553553
554554
The provided document must be a valid OpenAPI document, as specified by the schema identified by
555-
L<https://spec.openapis.org/oas/3.1/schema-base/2024-10-25>
555+
L<https://spec.openapis.org/oas/3.1/schema-base/2025-02-13>
556556
and the L<OpenAPI v3.1.x specification|https://spec.openapis.org/oas/v3.1>.
557557
558558
=head1 CONSTRUCTOR ARGUMENTS
@@ -592,7 +592,7 @@ The URI of the metaschema to use for all embedded L<JSON Schemas|https://json-sc
592592
document.
593593
594594
Overrides the value of C<jsonSchemaDialect> in the document, or the specification default
595-
(C<https://spec.openapis.org/oas/3.1/dialect/2024-10-25>).
595+
(C<https://spec.openapis.org/oas/3.1/dialect/2024-11-10>).
596596
597597
If you specify your own dialect here or in C<jsonSchemaDialect>, then you need to add the
598598
vocabularies and schemas to the implementation yourself (see C<JSON::Schema::Modern/add_vocabulary>
@@ -606,7 +606,7 @@ entire document is not a JSON Schema).
606606
=head2 metaschema_uri
607607
608608
The URI of the schema that describes the OpenAPI document itself. Defaults to
609-
L<https://spec.openapis.org/oas/3.1/schema-base/2024-10-25> when the json schema dialect is not
609+
L<https://spec.openapis.org/oas/3.1/schema-base/2025-02-13> when the json schema dialect is not
610610
changed; otherwise defaults to a dynamically generated metaschema that uses the correct
611611
value of C<jsonSchemaDialect>, so you don't need to write one yourself.
612612

lib/JSON/Schema/Modern/Vocabulary/OpenAPI.pm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ with the URI C<https://spec.openapis.org/oas/3.1/vocab/base> and formally specif
124124
L<https://spec.openapis.org/oas/v3.1#schema-object>.
125125
126126
This vocabulary is normally made available by using the default OpenAPI metaschema
127-
(currently L<https://spec.openapis.org/oas/3.1/schema/2024-11-14>).
127+
(currently L<https://spec.openapis.org/oas/3.1/schema/2025-02-13>).
128128
129129
=head1 SEE ALSO
130130

lib/OpenAPI/Modern.pm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1494,7 +1494,7 @@ See also L<JSON::Schema::Modern/CACHING>.
14941494
Embedded JSON Schemas, through the use of the C<schema> keyword, are fully draft2020-12-compliant,
14951495
as per the spec, and implemented with L<JSON::Schema::Modern>. Unless overridden with the use of the
14961496
L<jsonSchemaDialect|https://spec.openapis.org/oas/v3.1#specifying-schema-dialects> keyword, their
1497-
metaschema is L<https://spec.openapis.org/oas/3.1/dialect/2024-10-25>, which allows for use of the
1497+
metaschema is L<https://spec.openapis.org/oas/3.1/dialect/2024-11-10>, which allows for use of the
14981498
OpenAPI-specific keywords (C<discriminator>, C<xml>, C<externalDocs>, and C<example>), as defined in
14991499
L<the specification/https://spec.openapis.org/oas/v3.1#schema-object>. Format validation is turned
15001500
B<on>, and the use of content* keywords is off (see

share/oas/dialect/base.schema.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$id": "https://spec.openapis.org/oas/3.1/dialect/2024-10-25",
2+
"$id": "https://spec.openapis.org/oas/3.1/dialect/2024-11-10",
33
"$schema": "https://json-schema.org/draft/2020-12/schema",
44
"title": "OpenAPI 3.1 Schema Object Dialect",
55
"description": "A JSON Schema dialect describing schemas found in OpenAPI v3.1 Descriptions",
@@ -19,7 +19,7 @@
1919
"$ref": "https://json-schema.org/draft/2020-12/schema"
2020
},
2121
{
22-
"$ref": "https://spec.openapis.org/oas/3.1/meta/2024-10-25"
22+
"$ref": "https://spec.openapis.org/oas/3.1/meta/2024-11-10"
2323
}
2424
]
25-
}
25+
}

share/oas/meta/base.schema.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$id": "https://spec.openapis.org/oas/3.1/meta/2024-10-25",
2+
"$id": "https://spec.openapis.org/oas/3.1/meta/2024-11-10",
33
"$schema": "https://json-schema.org/draft/2020-12/schema",
44
"title": "OAS Base Vocabulary",
55
"description": "A JSON Schema Vocabulary used in the OpenAPI Schema Dialect",
@@ -89,4 +89,4 @@
8989
"unevaluatedProperties": false
9090
}
9191
}
92-
}
92+
}

share/oas/schema-base.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
{
2-
"$id": "https://spec.openapis.org/oas/3.1/schema-base/2024-11-14",
2+
"$id": "https://spec.openapis.org/oas/3.1/schema-base/2025-02-13",
33
"$schema": "https://json-schema.org/draft/2020-12/schema",
44
"description": "The description of OpenAPI v3.1.x Documents using the OpenAPI JSON Schema dialect",
5-
"$ref": "https://spec.openapis.org/oas/3.1/schema/2024-11-14",
5+
"$ref": "https://spec.openapis.org/oas/3.1/schema/2025-02-13",
66
"properties": {
77
"jsonSchemaDialect": {
88
"$ref": "#/$defs/dialect"
99
}
1010
},
1111
"$defs": {
1212
"dialect": {
13-
"const": "https://spec.openapis.org/oas/3.1/dialect/2024-10-25"
13+
"const": "https://spec.openapis.org/oas/3.1/dialect/2024-11-10"
1414
},
1515
"schema": {
1616
"$dynamicAnchor": "meta",
17-
"$ref": "https://spec.openapis.org/oas/3.1/dialect/2024-10-25",
17+
"$ref": "https://spec.openapis.org/oas/3.1/dialect/2024-11-10",
1818
"properties": {
1919
"$schema": {
2020
"$ref": "#/$defs/dialect"
2121
}
2222
}
2323
}
2424
}
25-
}
25+
}

share/oas/schema.json

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$id": "https://spec.openapis.org/oas/3.1/schema/2024-11-14",
2+
"$id": "https://spec.openapis.org/oas/3.1/schema/2025-02-13",
33
"$schema": "https://json-schema.org/draft/2020-12/schema",
44
"description": "The description of OpenAPI v3.1.x Documents without Schema Object validation",
55
"type": "object",
@@ -13,8 +13,8 @@
1313
},
1414
"jsonSchemaDialect": {
1515
"type": "string",
16-
"format": "uri",
17-
"default": "https://spec.openapis.org/oas/3.1/dialect/2024-10-25"
16+
"format": "uri-reference",
17+
"default": "https://spec.openapis.org/oas/3.1/dialect/2024-11-10"
1818
},
1919
"servers": {
2020
"type": "array",
@@ -94,7 +94,7 @@
9494
},
9595
"termsOfService": {
9696
"type": "string",
97-
"format": "uri"
97+
"format": "uri-reference"
9898
},
9999
"contact": {
100100
"$ref": "#/$defs/contact"
@@ -122,7 +122,7 @@
122122
},
123123
"url": {
124124
"type": "string",
125-
"format": "uri"
125+
"format": "uri-reference"
126126
},
127127
"email": {
128128
"type": "string",
@@ -144,7 +144,7 @@
144144
},
145145
"url": {
146146
"type": "string",
147-
"format": "uri"
147+
"format": "uri-reference"
148148
}
149149
},
150150
"required": [
@@ -419,7 +419,7 @@
419419
},
420420
"url": {
421421
"type": "string",
422-
"format": "uri"
422+
"format": "uri-reference"
423423
}
424424
},
425425
"required": [
@@ -863,7 +863,7 @@
863863
"value": true,
864864
"externalValue": {
865865
"type": "string",
866-
"format": "uri"
866+
"format": "uri-reference"
867867
}
868868
},
869869
"not": {
@@ -1207,7 +1207,7 @@
12071207
"properties": {
12081208
"openIdConnectUrl": {
12091209
"type": "string",
1210-
"format": "uri"
1210+
"format": "uri-reference"
12111211
}
12121212
},
12131213
"required": [
@@ -1255,11 +1255,11 @@
12551255
"properties": {
12561256
"authorizationUrl": {
12571257
"type": "string",
1258-
"format": "uri"
1258+
"format": "uri-reference"
12591259
},
12601260
"refreshUrl": {
12611261
"type": "string",
1262-
"format": "uri"
1262+
"format": "uri-reference"
12631263
},
12641264
"scopes": {
12651265
"$ref": "#/$defs/map-of-strings"
@@ -1277,11 +1277,11 @@
12771277
"properties": {
12781278
"tokenUrl": {
12791279
"type": "string",
1280-
"format": "uri"
1280+
"format": "uri-reference"
12811281
},
12821282
"refreshUrl": {
12831283
"type": "string",
1284-
"format": "uri"
1284+
"format": "uri-reference"
12851285
},
12861286
"scopes": {
12871287
"$ref": "#/$defs/map-of-strings"
@@ -1299,11 +1299,11 @@
12991299
"properties": {
13001300
"tokenUrl": {
13011301
"type": "string",
1302-
"format": "uri"
1302+
"format": "uri-reference"
13031303
},
13041304
"refreshUrl": {
13051305
"type": "string",
1306-
"format": "uri"
1306+
"format": "uri-reference"
13071307
},
13081308
"scopes": {
13091309
"$ref": "#/$defs/map-of-strings"
@@ -1321,15 +1321,15 @@
13211321
"properties": {
13221322
"authorizationUrl": {
13231323
"type": "string",
1324-
"format": "uri"
1324+
"format": "uri-reference"
13251325
},
13261326
"tokenUrl": {
13271327
"type": "string",
1328-
"format": "uri"
1328+
"format": "uri-reference"
13291329
},
13301330
"refreshUrl": {
13311331
"type": "string",
1332-
"format": "uri"
1332+
"format": "uri-reference"
13331333
},
13341334
"scopes": {
13351335
"$ref": "#/$defs/map-of-strings"
@@ -1405,4 +1405,4 @@
14051405
}
14061406
}
14071407
}
1408-
}
1408+
}

share/strict-dialect.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
"allOf": [
1919
{ "$ref": "https://json-schema.org/draft/2020-12/schema" },
20-
{ "$ref": "https://spec.openapis.org/oas/3.1/meta/2024-10-25" }
20+
{ "$ref": "https://spec.openapis.org/oas/3.1/meta/2024-11-10" }
2121
],
2222
"patternProperties": {
2323
"^x-": true

0 commit comments

Comments
 (0)