Skip to content

OpenAPI - publish v3.2-dev schema iterations#63

Merged
miqui merged 1 commit intomainfrom
openapi-v3.2-dev-schema-iterations
Feb 19, 2026
Merged

OpenAPI - publish v3.2-dev schema iterations#63
miqui merged 1 commit intomainfrom
openapi-v3.2-dev-schema-iterations

Conversation

@oai-spec-publisher
Copy link
Copy Markdown

This pull request is automatically generated by GitHub action schema-publish in the OAI/OpenAPI-Specification repo.
The src/schemas/validation/*.yaml files have changed and JSON files are automatically generated.

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Member

@karenetheridge karenetheridge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes please!

@karenetheridge
Copy link
Copy Markdown
Member

Weird that the new date here is 2025-11-23, not 2026-02-something?

@miqui miqui merged commit a95507e into main Feb 19, 2026
1 check passed
@miqui miqui deleted the openapi-v3.2-dev-schema-iterations branch February 19, 2026 17:25
@karenetheridge
Copy link
Copy Markdown
Member

So this did actually publish new schema versions, but the date is wrong.

@baywet
Copy link
Copy Markdown
Member

baywet commented Feb 22, 2026

@karenetheridge were you able to confirm it has everything we expect at least?
Also, does the date matter beyond creating a unique identifier?

@karenetheridge
Copy link
Copy Markdown
Member

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.

@karenetheridge
Copy link
Copy Markdown
Member

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 (/$id and /jsonSchemaDialect/default) and the contents are identical.

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);'

@baywet
Copy link
Copy Markdown
Member

baywet commented Feb 23, 2026

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:

  1. https://jsonformatter.org/yaml-to-json
  2. https://jsondiff.com/

So now the only remaining question is: do we care about the date? (other than the fact that it's a unique identifier)

@ralfhandl
Copy link
Copy Markdown
Contributor

Weird that the new date here is 2025-11-23, not 2026-02-something?

2025-11-23 is the author date of the last commit changing schema.yaml:

$ 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

@karenetheridge
Copy link
Copy Markdown
Member

karenetheridge commented Feb 28, 2026

2025-11-23 is the author date of the last commit changing schema.yaml

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OpenAPI Schema Publish schema iterations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants