Skip to content

Conversation

oai-spec-publisher[bot]
Copy link
Contributor

Merge relevant changes from main into dev.

handrews and others added 30 commits July 19, 2025 11:11
Co-authored-by: Ralf Handl <[email protected]>
Add the Media Type Object to the Components Object,
and allow a Reference Object anywhere it is allowed.

To ensure that re-usable Objects can be documented clearly, add
a `description` field.
Co-authored-by: Ralf Handl <[email protected]>
Co-authored-by: Ralf Handl <[email protected]>
Co-authored-by: Ralf Handl <[email protected]>
This adds support for all `multipart` media types that do not
have named parts, including support for streaming such media types.
Note that `multipart/mixed` defines the basic processing rules
for all `multipart` types, and implementations that encounter
unrecognized `multipart` subtypes are required to process them
as `multipart/mixed`.  Therefore support for `multipart/mixed`
addresses all other subtypes to some degree.

This builds on the recent support for sequential media types:

* `multipart/mixed` and similar meet the definition for
  a sequential media type, requiring it to be modeled as
  an array.  This does use an expansive definition of
  "repeating the same structure", where the structure is
  literally any content with a media type.
* As a sequential media type, it also supports `itemSchema`
* Adding a parallel `itemEncoding` is the obvious solution to
  `multipart/mixed` streams requiring an Encoding Object
* We have regularly received requests to support truly mixed
  `multipart/mixed` payloads, and previously claimed such support
  from 3.0.0 onwards, without actually supporting it.
  Adding `prefixEncoding` along with `itemEncoding` supports this
  use case with a clear parallel to `prefixItems`, which is the
  schema construct needed to support this case.
* There is no need for a `prefixSchema` field because the streaming
  use case requires a repetition of the same schema for each item.
  Therefore all mixed use cases can use `schema` and `prefixItems`
It's not an error if you have more encoding objects than instances.
Co-authored-by: Lorna Jane Mitchell <[email protected]>
Wow, I must have been having A Day™ when I wrote this before...
v3.2: Move a paragraph, unchanged, to make more sense in multipart encoding
Co-authored-by: Ralf Handl <[email protected]>
v3.2 Add data vs serialized example fields (3rd try)
v3.2: Explain Param and Header example serialization
v3.2: (Split and smaller!) Support ordered multipart including streaming
ralfhandl and others added 22 commits September 20, 2025 19:48
main: Fix broken links in 3.2.0.md
main: adjust reviewers in respec workflow
Steps:
- create sync branch from base branch
- merge head branch into sync branch
- restore src/* and tests/* from base branch
- commit & push
- create PR for merging sync branch into base branch
Add package dependency
Add config file for linkspector
Include in validate-markdown npm script
Include in validate-markdown.yaml workflow
Check other markdown files, fix link in README.md
copy lander of preceding version and adjust version in lander
main: use Linkspector action in validate-markdown workflow
…kyll-lander

main: create jekyll lander if necessary
docs: Add 3.3.x spec and schemas reference to PR template
Copy link
Contributor

@ralfhandl ralfhandl left a comment

Choose a reason for hiding this comment

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

Works as promised:

  • syncs new spec versions and other changes
  • does not touch src and tests folders

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants