OpenAPI - publish v3.2-dev schema iterations#63
Conversation
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
Weird that the new date here is 2025-11-23, not 2026-02-something? |
|
So this did actually publish new schema versions, but the date is wrong. |
|
@karenetheridge were you able to confirm it has everything we expect at least? |
|
It's hard to tell if the schemas are correct because they are published as JSON whereas the originals were in YAML, and the property order is different so one cannot do a side-by-side visual comparison. I do recognize some of my recent changes, though. The exact date is insignificant as long as it is unique and greater than the previous date, but it is confusing that it differs so greatly from the actual published date. |
|
ok I whipped up a quick perl one-liner that slurps the released json file and the yaml file in v3.2-dev and removes the two expected differences ( perl -MData::Dumper -MYAML::PP=LoadFile -MCpanel::JSON::XS=decode_json -MPath::Tiny -MJSON::Schema::Modern::Utilities=is_equal -wlE'my $json = decode_json(path("share/oas/3.2/schema.json")->slurp_utf8); my $yaml = LoadFile("../OpenAPI-Specification/src/schemas/validation/schema.yaml"); do { delete $_->{"\$id"}; delete $_->{properties}{jsonSchemaDialect}{default} } foreach $json, $yaml; my $ok = is_equal($json, $yaml, my $s = {}); say $ok ? "identical" : Dumper($s);' |
|
Thanks for confirming that. When I get similar issues and I want a cross platform way to compare things, here is what I usually do: So now the only remaining question is: do we care about the date? (other than the fact that it's a unique identifier) |
2025-11-23 is the author date of the last commit changing $ git log -1 --date=short --format=fuller -- src/schemas/validation/schema.yaml
commit 7281c4a6cbc1b37f794b02f44fe36f3096ebf4fb
Author: Karen Etheridge <ether@cpan.org>
AuthorDate: 2025-11-23
Commit: Karen Etheridge <ether@cpan.org>
CommitDate: 2026-02-06
fix style, explode, allowReserved defaults for parameter and encoding objects
- explode defaults were wrong for in: cookie, style: cookie, and for encoding object
- allowReserved defaults were wrong for encoding object
in parameter objects:
- explode: always false for "in: path", "in: header"
- explode: always true for "in: cookie" (both "style: form" and "style: cookie"
default to "explode: true")
- explode: only true for "in: query" when "style: form" (the default style for
this location)
in encoding objects:
- style: default is "form", but only when "explode" or "allowReserved" are present
- explode: default is true when "style: form" (the default style) and otherwise
false, and not included at all unless "style" or "allowReserved" are present
- allowReserved: default is false, but only when "style" or "explode" are present
that is: when none of style, explode or allowReserved are present, "contentType"
is used (or a default is calculated), so none of style, explode or allowReserved
shall have default values |
We should change that then. What matters is not when the commit was written, or even when it was merged, but when the schemas are actually published. Otherwise, it could have even been the case that the revision date went backwards! |
This pull request is automatically generated by GitHub action
schema-publishin the OAI/OpenAPI-Specification repo.The
src/schemas/validation/*.yamlfiles have changed and JSON files are automatically generated.