You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: draft-release-notes.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,10 +53,10 @@ tags:
53
53
#### Support additional HTTP methods
54
54
55
55
- Support the new `query` method alongside the existing `get`/`post`/`put`/`delete`/`options`/`head`/`patch`/`trace`.
56
-
Query is a new method in the HTTP standard, designed to allow complex filtering query data to be sent in the body of a request when it doesn't fit in the query string.
56
+
QUERY is a [draft standard](https://www.ietf.org/archive/id/draft-ietf-httpbis-safe-method-w-body-11.html) new HTTP method nearing final publication, which is designed to allow complex filtering query data to be sent in the body of a request when it doesn't fit in the query string.
57
57
- Under an `additionalOperations` entry in a Path, use any other methods not listed as keys using the correct capitalization, e.g. `LINK`. Do NOT add `HEAD` under this, use the existing sibling `head`.
58
58
59
-
The following example describes both `query` and `link` methods for the `cakes/` endpoint:
59
+
The following example describes both QUERY and LINK methods for the `cakes/` endpoint:
60
60
61
61
```yaml
62
62
paths:
@@ -128,7 +128,7 @@ paths:
128
128
- Additional top-level field `$self` is added to allow users to define the base URI of the document, used to resolve relative references.
129
129
If no `$self` field is defined, then the retrieval URI is used - just as it was in previous versions of OpenAPI.
130
130
- Other URL/URI handling does not change between 3.1 and 3.2 (but bears a recap in case you're wondering how it all goes together):
131
-
- Other URLs, such as to external documentation or a license, are resolved against the base URI.
131
+
- Other URIs, such as to external documentation or a license, are resolved against the base URI.
132
132
- Relative links inside `description` fields are resolved relative to their rendered context, such as your published API documentation page.
133
133
- API endpoints are resolved against the URL in the Server Object, which itself might be relative and resolved against the base URI.
134
134
@@ -154,26 +154,27 @@ There is also a new Media Types Registry, to provide further resources for worki
154
154
- Support for sequential media types such as `text/event-stream` for server-sent events (SSE) and `multipart/mixed`, `application/jsonl`, `application/json-seq` and others for sequential data.
155
155
- Responses can be a repeating data structure, and are treated as if they are an array of schema objects.
156
156
- Use `itemSchema` in a mediatype entry to describe each item.
157
-
- Related: a new media types registry is published to give more context for each of the media types.
158
-
- Also a "Complete vs Streaming Content" section for guidance on streaming binary payloads.
157
+
- Related: a new media types registry is published to give more context for each of the media types and allow registration of future media type support outside of the OAS publication schedule.
158
+
- Also a "Complete vs Streaming Content" section for guidance on streaming payloads.
159
159
160
160
#### Parameter and header changes
161
161
162
-
- 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.
162
+
- 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` location.
163
163
- Parameters can therefore be `in` the `querystring` as an alternative to the existing `header`, `cookie`, `query` and `path` values.
164
-
- `allowReserved`field is now permitted on headers and on parameters with any value of `in`, and applies where the combination of `in` and `style` automatically percent-encode the value.
165
-
- Remove incorrect mention of Reference Object in the header `schema` field. The JSON Schema `$ref` would be the correct thing to use in this context.
164
+
- `allowReserved`now applies anywhere the combination of `in` and `style` automatically percent-encode the value.
165
+
- Remove incorrect mention of Reference Object in the header `schema` field, which is redundant with the `$ref` coming from JSON Schema itself.
166
166
- The `examples` (and older `example`) field is now supported with `content`.
167
167
168
168
#### Specific `style` option for cookies
169
169
170
170
- Additional `style` option `cookie` for content in a cookie, which uses semicolon as a separator and does not encode data values.
171
-
The `form` style is a close fit, but you may wish to switch to `cookie` for more correct description.
171
+
The `form` style is a close fit, but you may wish to switch to `cookie` for a more correct description.
172
172
173
173
#### Multipart media types
174
174
175
175
Multipart media types are much better supported in OpenAPI 3.2.
176
176
177
+
- `multipart/mixed`, on which most other `multipart` formats are based, is now supported
177
178
- New `itemSchema` field, for the schema that describes each of the items in a sequential media type.
178
179
These sequential types may not be received or parsed in one go, so the `itemSchema` field supports ongoing parsing.
179
180
- New fields `prefixEncoding` and `itemEncoding` can be used instead of `encoding` for multipart media types.
@@ -184,9 +185,9 @@ Multipart media types are much better supported in OpenAPI 3.2.
184
185
185
186
#### Improvements for APIs using XML as a content format
186
187
187
-
- New `nodeType` field allows mapping schemas to common XML node types: `element`, `attribute`, `text`, `cdata`, or `none`.
188
+
- New `nodeType` field allows mapping schemas to common XML node types: `element`, `attribute`, `text`, `cdata`, or `none`, defaulting to `element` for most data types, or `none` for arrays.
188
189
- `attribute: true` is now deprecated in favor of `nodeType: attribute`.
189
-
- `wrapped: true` deprecated in favor of `nodeType: element` (as `nodeType` defaults to `none` for arrays to preserve compatibility).
190
+
- `wrapped: true` for arrays deprecated in favor of `nodeType: element` (set explicitly to override the default `nodeType: none` for arrays)
190
191
- The `xml` keyword can be used in any Schema Object.
191
192
- XML namespaces can be IRIs (rather than URIs).
192
193
- Explanation and examples for many use cases including handling `null`, handling arrays, replacing the name, and handling ordered elements.
@@ -324,8 +325,8 @@ Next time you're wondering if you can do `/api/v{version}/users/{user-id}` in a
324
325
- Update to <https://www.ietf.org/archive/id/draft-bhutton-json-schema-01.html> of JSON Schema Specification.
325
326
- Update to <https://www.ietf.org/archive/id/draft-bhutton-json-schema-validation-01.html> of JSON Schema Validation Specification.
326
327
- Use [RFC8529](https://tools.ietf.org/html/rfc8259) for JSON.
328
+
- Use [RFC9512](https://www.rfc-editor.org/rfc/rfc9512.html) for YAML, particularly for defining JSON-compatible YAML.
327
329
- Use [RFC9110](https://tools.ietf.org/html/rfc9110) for HTTP.
328
-
329
330
#### Editorial changes
330
331
331
332
- Extensive additions around media types, encoding, sequential media types, SSE examples, working with binary data.
0 commit comments