v3.3: edits to parameter sections#5122
Merged
miqui merged 10 commits intoOAI:v3.3-devfrom Feb 5, 2026
Merged
Conversation
490500a to
2eed149
Compare
handrews
reviewed
Nov 17, 2025
Member
handrews
left a comment
There was a problem hiding this comment.
@karenetheridge thanks for continuing to work through all of these details! Some good catches here. I hope you don't mind me commenting on the draft as it sounds like you are adding more rather than likely to change what you have already posted. Let me know if you would prefer me to wait in the future.
I have a few questions and possible suggestions, and one very reluctant "it's not what I would do but it's what was decided" objection.
1 task
this was added in commit 9739dfe, but now that the leading "?" has been removed, this is no longer needed
Member
Author
|
Force-pushing a new version after checking all commits; more test cases have been added for the schema changes. |
6050bd6 to
423d8d3
Compare
423d8d3 to
1372357
Compare
Member
Author
|
As this PR contains some fixes to things that are incorrect, IMO those commits at least should be backported to 3.2 and 3.1. |
185f7d4 to
6603f70
Compare
miqui
previously approved these changes
Jan 27, 2026
ralfhandl
requested changes
Jan 29, 2026
ralfhandl
reviewed
Jan 30, 2026
..such as an empty array or object
namely: in=path, in=query, in=cookie+style=form, but not in=header, in=querystring or in=cookie+style=cookie and not in encoding objects where contentType is used (none of style, explode, allowReserved are present) this brings in some work that didn't get merged in OAI#4904 ..and also fixes a bad $ref URI
fc13271 to
5d3944f
Compare
… 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
…ll defaults omitted
tested with:
$ openapi-validate --with-defaults tests/schema/pass/style-defaults.yaml
{
"defaults" : {
"/components/mediaTypes/encoding_object_defaults/encoding/allowReserved/explode" : true,
"/components/mediaTypes/encoding_object_defaults/encoding/allowReserved/style" : "form",
"/components/mediaTypes/encoding_object_defaults/encoding/explode/allowReserved" : false,
"/components/mediaTypes/encoding_object_defaults/encoding/explode/style" : "form",
"/components/mediaTypes/encoding_object_defaults/encoding/style_form/allowReserved" : false,
"/components/mediaTypes/encoding_object_defaults/encoding/style_form/explode" : true,
"/components/mediaTypes/encoding_object_defaults/encoding/style_spaceDelimited/allowReserved" : false,
"/components/mediaTypes/encoding_object_defaults/encoding/style_spaceDelimited/explode" : false,
"/components/parameters/cookie_cookie/deprecated" : false,
"/components/parameters/cookie_cookie/explode" : true,
"/components/parameters/cookie_cookie/required" : false,
"/components/parameters/cookie_form/allowReserved" : false,
"/components/parameters/cookie_form/deprecated" : false,
"/components/parameters/cookie_form/explode" : true,
"/components/parameters/cookie_form/required" : false,
"/components/parameters/cookie_form/style" : "form",
"/components/parameters/cookie_media_type/deprecated" : false,
"/components/parameters/cookie_media_type/required" : false,
"/components/parameters/header/allowReserved" : false,
"/components/parameters/header/deprecated" : false,
"/components/parameters/header/explode" : false,
"/components/parameters/header/style" : "simple",
"/components/parameters/path_label/allowReserved" : false,
"/components/parameters/path_label/deprecated" : false,
"/components/parameters/path_label/explode" : false,
"/components/parameters/path_matrix/allowReserved" : false,
"/components/parameters/path_matrix/deprecated" : false,
"/components/parameters/path_matrix/explode" : false,
"/components/parameters/path_media_type/deprecated" : false,
"/components/parameters/path_simple/allowReserved" : false,
"/components/parameters/path_simple/deprecated" : false,
"/components/parameters/path_simple/explode" : false,
"/components/parameters/path_simple/style" : "simple",
"/components/parameters/query_deepObject/allowEmptyValue" : false,
"/components/parameters/query_deepObject/allowReserved" : false,
"/components/parameters/query_deepObject/deprecated" : false,
"/components/parameters/query_deepObject/explode" : false,
"/components/parameters/query_deepObject/required" : false,
"/components/parameters/query_form/allowEmptyValue" : false,
"/components/parameters/query_form/allowReserved" : false,
"/components/parameters/query_form/deprecated" : false,
"/components/parameters/query_form/explode" : true,
"/components/parameters/query_form/required" : false,
"/components/parameters/query_form/style" : "form",
"/components/parameters/query_media_type/allowEmptyValue" : false,
"/components/parameters/query_media_type/deprecated" : false,
"/components/parameters/query_media_type/required" : false,
"/components/parameters/query_pipeDelimited/allowEmptyValue" : false,
"/components/parameters/query_pipeDelimited/allowReserved" : false,
"/components/parameters/query_pipeDelimited/deprecated" : false,
"/components/parameters/query_pipeDelimited/explode" : false,
"/components/parameters/query_pipeDelimited/required" : false,
"/components/parameters/query_spaceDelimited/allowEmptyValue" : false,
"/components/parameters/query_spaceDelimited/allowReserved" : false,
"/components/parameters/query_spaceDelimited/deprecated" : false,
"/components/parameters/query_spaceDelimited/explode" : false,
"/components/parameters/query_spaceDelimited/required" : false,
"/jsonSchemaDialect" : "https://spec.openapis.org/oas/3.2/dialect/WORK-IN-PROGRESS",
"/servers" : [
{
"url" : "/"
}
]
},
"valid" : true
}
(executable is part of https://github.com/karenetheridge/OpenAPI-Modern)
5d3944f to
e332c52
Compare
ralfhandl
requested changes
Feb 2, 2026
For the Appendix C.4 example, "words" is said to not explode its values.
..and remove example that is specific to a particular style, explode and schema type configuration
e332c52 to
233c246
Compare
ralfhandl
approved these changes
Feb 3, 2026
handrews
approved these changes
Feb 3, 2026
This was referenced Feb 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Various fixes and wording clarifications to the sections discussing parameters.