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
+10-8Lines changed: 10 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -126,11 +126,11 @@ paths:
126
126
#### Document identity and URL resolution
127
127
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
-
If no `$self` field is defined, then the retrieval URI is used - just as it was in previous versions of OpenAPI.
129
+
If no `$self` field is defined, then the base URI behaves as it did in previous versions of OpenAPI - in most cases the retrieval URL.
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
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
-
- API endpoints are resolved against the URL in the Server Object, which itself might be relative and resolved against the base URI.
133
+
- API paths are appended to the URL in the Server Object, which itself might be relative and resolved against the retrieval URI of the document.
134
134
135
135
The following example shows the new `$self` field in use:
136
136
@@ -153,7 +153,7 @@ There is also a new Media Types Registry, to provide further resources for worki
153
153
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
-
- Use `itemSchema` in a mediatype entry to describe each item.
156
+
- Use `itemSchema` in a media type entry to describe each item.
157
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
158
- Also a "Complete vs Streaming Content" section for guidance on streaming payloads.
159
159
@@ -196,11 +196,11 @@ Multipart media types are much better supported in OpenAPI 3.2.
196
196
#### Describe examples in both structured and serialized forms
197
197
198
198
- The Example Object (used in `examples` fields) gets two new fields: `dataValue`and `serializedValue`.
199
-
- `dataValue`describes the example in structured format.
200
-
- `serializedValue`shows how the example will be formatted when it is sent/received by the API.
199
+
- `dataValue`describes the example in structured format, suitable for evaluating with a schema.
200
+
- `serializedValue`shows how a UTF-8 compatible serialization of the example will be formatted when it is sent/received by the API.
201
+
- The existing `externalValue` field can still be used to give a reference to an example; this is the best way to include examples where the serialization is not UTF-8 compatible.
201
202
- The existing `value` field can still be used, which means that you can safely upgrade to 3.2 and then revisit these fields and update them to use either `dataValue` or `serializedValue` as appropriate.
202
203
Use the new fields for examples you add after upgrading to 3.2.
203
-
- The existing `externalValue` field can still be used to give a reference to an example, but this is now clearly documented as being a serialized value.
204
204
- There are lots of examples of the examples (ha!) and clear documentation of how the fields can be combined.
205
205
- Summary of what to do: use `examples` over `example`, and use `dataValue` to show a clear, structured example of the data.
206
206
If your use case could benefit from an example of how the data will look when it's transmitted, use `serializedValue` as well.
@@ -264,7 +264,6 @@ Discriminator is a great way to match the correct schema to a payload. This rele
264
264
- New field `defaultMapping` to indicate which schema to use if the `propertyName` is not set, or if the value is unrecognized.
265
265
- No change from previous versions: use `discriminator` to hint which entry in `anyOf` or `oneOf` is expected.
266
266
- No change from previous versions: use `mapping` to link the discriminator property value to the Schema name if they aren't an exact match.
267
-
- Implementations now SHOULD (rather than MAY) support templates/generics using `$dynamicRef`.
268
267
269
268
Define the `mapping` and `discriminator` as before. The new field `defaultMapping` will be used if either the discriminator doesn't have a `propertyName` or when there is an object that doesn't match a `mapping` entry.
270
269
@@ -317,8 +316,8 @@ Next time you're wondering if you can do `/api/v{version}/users/{user-id}` in a
317
316
318
317
#### Minor updates that are worth a mention
319
318
320
-
- Non-Schema examples no longer "override" Schema examples; tools are free to use the most appropriate example for any given use case.
321
319
- A new key `mediaTypes` is supported under `components` to support re-use of Media Type Objects.
320
+
- Implementations now SHOULD (rather than MAY) support templates/generics using `$dynamicRef`.
322
321
323
322
#### In-place updates to existing specifications and standards that we reference
324
323
@@ -327,8 +326,11 @@ Next time you're wondering if you can do `/api/v{version}/users/{user-id}` in a
327
326
- Use [RFC8529](https://tools.ietf.org/html/rfc8259) for JSON.
328
327
- Use [RFC9512](https://www.rfc-editor.org/rfc/rfc9512.html) for YAML, particularly for defining JSON-compatible YAML.
329
328
- Use [RFC9110](https://tools.ietf.org/html/rfc9110) for HTTP.
329
+
330
330
#### Editorial changes
331
331
332
+
- Re-organization of the top-level sections to group more content with the most relevant Objects and bring the start of the Objects and Fields (formerly Schema) section close to the top of the specification.
333
+
- Substantial streamlining and simplification of document parsing, relative URI-reference resolution, and implicit connection resolution, including examples of base URI determination
332
334
- Extensive additions around media types, encoding, sequential media types, SSE examples, working with binary data.
333
335
- Streamlined to YAML examples (unless something specific to another format) to try to make it easier to follow.
334
336
- Better explanation and examples for using Encoding and Serialization, and a note not to apply percent-encoding to headers.
0 commit comments