Skip to content
Closed
Changes from 10 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
607e5d7
Start with a list of changes
lornajane May 16, 2025
ad61ff8
Add notes for 3.1, sort out formatting, add updated references
lornajane May 16, 2025
74c7289
Update structure and improve wording
lornajane May 24, 2025
4b8e237
Update draft-release-notes.md
lornajane May 28, 2025
6c82362
Update draft-release-notes.md
lornajane Jun 1, 2025
55b604a
Sort out some formatting and suggested improvements
lornajane Jun 1, 2025
5b29057
Add some more recent spec additions, use section headings
lornajane Jun 1, 2025
a0323b8
Apply suggestions from code review
lornajane Jul 8, 2025
02ad980
Bring up to date, improve titles and formatting
lornajane Jul 8, 2025
248cfc9
Reformat and remove aside
lornajane Jul 8, 2025
2e9fcc2
Apply suggestions from code review
lornajane Aug 3, 2025
3b1d2eb
Catch up on the added features
lornajane Aug 3, 2025
ffb4bbb
Refactor into sections
lornajane Aug 3, 2025
dcace33
Add some examples for the smaller features, fix markdown
lornajane Aug 12, 2025
947723e
Better opening section for security schemes
lornajane Aug 12, 2025
b69d9df
Update draft-release-notes.md
lornajane Aug 17, 2025
5f2ccbb
Update draft-release-notes.md
lornajane Aug 17, 2025
a829744
Add multipart media types section, tidy up from other feedback, add r…
lornajane Aug 17, 2025
e4ca9a6
Correct indentation of sub-bullets
lornajane Aug 17, 2025
9a9c498
Add some more examples
lornajane Aug 17, 2025
403a010
Update draft-release-notes.md
lornajane Aug 23, 2025
e8cc875
Add style: cookie and other recent changes
lornajane Aug 25, 2025
ca5f9f2
Add a much slimmer list of changes for the release notes
lornajane Aug 31, 2025
a1e8818
Apply suggestions from code review
lornajane Sep 7, 2025
5564550
Apply suggestions from code review
lornajane Sep 9, 2025
4c02500
Apply suggestions from code review
lornajane Sep 14, 2025
de6cf5f
More updates from feedback, thanks everyone
lornajane Sep 14, 2025
540c9bf
Fix formatting
lornajane Sep 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 108 additions & 0 deletions draft-release-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# [DRAFT]: Release Notes

What's coming up? Look at `src/oas.md` on the relevant development branch for full details.

## 3.2 Updates

### Support additional HTTP methods

- Support the new `query` method alongside the existing `get`/`post`/`put`/`delete`/`options`/`head`/`patch`/`trace`.
- Under an `additionalOperations` entry in a Path, use any other methods not listed as keys using the correct capitalization. e.g. do NOT add HEAD under this, use the existing sibling `head`.

### Nested, multipurpose tags

- New `summary` field to allow short descriptions, used when displaying lists of tags. If you use the `x-displayName` extension, you can now use `summary` instead.
- `parent` field to point to the tag that this tag is nested under. If you use `x-tagGroups`, adjust to use a tags hierarchy.
- `kind` to allow multiple categories of tag. The `kind` field is free-form text, however there are some expected/conventional values such as `nav` (in line with the most common current usage as grouping for documentation output).
- A [registry](https://spec.openapis.org/registry/tag-kind/index.html) to establish conventions for values used in `kind`.
Copy link
Member

Choose a reason for hiding this comment

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

Pulled this out of the bullets as the registry isn't a new field.

Suggested change
- A [registry](https://spec.openapis.org/registry/tag-kind/index.html) to establish conventions for values used in `kind`.
And we've added a [registry](https://spec.openapis.org/registry/tag-kind/index.html) to establish conventions for values used in `kind`.


### Updated security schemes

- Support for OAuth2 Device Authorization flow with additional `deviceAuthorization` field in the `flows` object and for the individual flow, a new field `deviceAuthorizationUrl` alongside `tokenUrl`.
- Additional security scheme field: `oauth2MetadataUrl` URL for auth server metadata.
- Additional `deprecated` field for security schemes (indicating that the scheme may still be supported, but that it should not be used).
- Ability to reference a security scheme by URI rather than needing it declared in components.

### Servers

- Clarify that server URLs should not include fragment or query.
- Support new `name` field alongside `description`, `url` and `variables`.
- Formal path templating support for variable substitution in server urls.

### Better polymorphic support

- The discriminator `propertyName` can now be an optional field.
- Additional `defaultMapping` field to indicate which schema to use if the `propertyName` is not set, or if the value is unrecognized.
- No change from previous versions: use `discriminator` to hint which entry in `anyOf` or `oneOf` is expected.
- No change from previous versions: use `mapping` to link the discriminator property value to the Schema name if they aren't an exact match.
- Implementations now SHOULD (rather than MAY) support templates/generics using `$dynamicRef`.

### Reference resolution

Additional top-level `$self` to be used as a base URI for resolving references in the OpenAPI description. If not present, the existing/earlier behaviour of using the retrieval URL as a base applies.

### Path templating

**ABNF** (Augmented Backus–Naur Form) formalised for path templating, server variables, and runtime expressions in the Links object.

### Improvements for APIs using XML as a content format

- New `nodeType` field allows mapping schemas to common XML node types: `element`, `attribute`, `text`, `cdata`, or `none`.
- `attribute: true` deprecated in favor of `nodeType: attribute`.
- `wrapped: true` deprecated in favor of `nodeType: element` (as `nodeType` defaults to `none` for arrays to preserve compatibility).
- The `xml` keyword can be used in any Schema Object.
- XML namespaces can be IRIs (rather than URIs).
- Explanation and example on how to handle `null` in XML.
- Clarify that the root schema of an XML object should use the component name.

### Support for sequential media types

- Support for sequential media types such as `text/event-stream` for server-sent events (SSE) and `application/jsonl`, `application/json-seq` and others for sequential data.
- Responses can be a repeating data structure, and are treated as if they are an array of schema objects.
- Use `itemSchema` in a mediatype entry to describe each item.
- Related: a new media types registry is published to give more context for each of the media types.
- Also a "Complete vs Streaming Content" section for guidance on streaming binary payloads.

### Parameter and header changes

- Additional parameter location `querystring`, to allow parsing the entire query string as a single field similar to the way a request body is handled, using the `content` field. Useful for complex or unconventional query data. Mutually exclusive with the `query` field.
- Parameters can therefore be `in` the `querystring` as an alternative to the existing `header`, `cookie`, `query` and `path` values.
- `allowReserved` field is now permitted on headers and on parameters with any value of `in`.
- Remove incorrect mention of Reference Object in the header `schema` field. The JSONSchema ref would be the correct thing to use in this context.

### Flexible response metadata fields

- `description` field for responses are now optional (they used to be required but they could be empty).
- Additional `summary` field for responses, useful when displaying responses in a list context.

### Minor edits that are worth a mention

- Streamlined to YAML examples (unless something specific to another format) to try to make it easier to follow.

### In-place updates to existing specifications and standards that we reference

- Update to <https://www.ietf.org/archive/id/draft-bhutton-json-schema-01.html> of JSON Schema Specification.
- Update to <https://www.ietf.org/archive/id/draft-bhutton-json-schema-validation-01.html> of JSON Schema Validation Specification.
- Use [RFC8529](https://tools.ietf.org/html/rfc8259) for JSON.
- Use [RFC9110](https://tools.ietf.org/html/rfc9110) for HTTP.

### Editorial changes

- Extensive additions around media types, encoding, sequential media types, SSE examples, working with binary data.
- Clarification that Example Objects can be used in Header Objects.
- Better explanation and examples for using Encoding.
- Clarify that Request Body Objects need to specify at least one media type to be meaningful.
- How to more clearly indicate that responses will not have a body.

## 3.1 Updates

Version 3.1.2 has no material changes but does contain editorial fixes.

- Clarification that Example Objects can be used in Header Objects.
- Better explanation and examples for using Encoding.
- Clarify that Request Body Objects need to specify at least one media type to be meaningful
- How to more clearly indicate that no response will have a body
- How to handle `null` in XML as an advisory note; since the functionality cannot be changed it is implementation-defined for 3.1 tooling.
- Clarify that the root schema of an XML object should use the component name.

<!-- vim: set ft=markdown tw=2 foldmethod=indent: -->