Skip to content

Commit de6cf5f

Browse files
committed
More updates from feedback, thanks everyone
1 parent 4c02500 commit de6cf5f

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

draft-release-notes.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,11 @@ paths:
126126
#### Document identity and URL resolution
127127

128128
- 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.
130130
- 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):
131131
- Other URIs, such as to external documentation or a license, are resolved against the base URI.
132132
- 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.
134134

135135
The following example shows the new `$self` field in use:
136136

@@ -153,7 +153,7 @@ There is also a new Media Types Registry, to provide further resources for worki
153153

154154
- 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.
155155
- 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.
157157
- 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.
158158
- Also a "Complete vs Streaming Content" section for guidance on streaming payloads.
159159

@@ -196,11 +196,11 @@ Multipart media types are much better supported in OpenAPI 3.2.
196196
#### Describe examples in both structured and serialized forms
197197

198198
- 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.
201202
- 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.
202203
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.
204204
- There are lots of examples of the examples (ha!) and clear documentation of how the fields can be combined.
205205
- Summary of what to do: use `examples` over `example`, and use `dataValue` to show a clear, structured example of the data.
206206
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
264264
- New field `defaultMapping` to indicate which schema to use if the `propertyName` is not set, or if the value is unrecognized.
265265
- No change from previous versions: use `discriminator` to hint which entry in `anyOf` or `oneOf` is expected.
266266
- 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`.
268267

269268
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.
270269

@@ -317,8 +316,8 @@ Next time you're wondering if you can do `/api/v{version}/users/{user-id}` in a
317316

318317
#### Minor updates that are worth a mention
319318

320-
- Non-Schema examples no longer "override" Schema examples; tools are free to use the most appropriate example for any given use case.
321319
- 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`.
322321

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

@@ -327,8 +326,11 @@ Next time you're wondering if you can do `/api/v{version}/users/{user-id}` in a
327326
- Use [RFC8529](https://tools.ietf.org/html/rfc8259) for JSON.
328327
- Use [RFC9512](https://www.rfc-editor.org/rfc/rfc9512.html) for YAML, particularly for defining JSON-compatible YAML.
329328
- Use [RFC9110](https://tools.ietf.org/html/rfc9110) for HTTP.
329+
330330
#### Editorial changes
331331

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
332334
- Extensive additions around media types, encoding, sequential media types, SSE examples, working with binary data.
333335
- Streamlined to YAML examples (unless something specific to another format) to try to make it easier to follow.
334336
- Better explanation and examples for using Encoding and Serialization, and a note not to apply percent-encoding to headers.

summary-release-notes.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@ What's coming up? Look at `src/oas.md` on the relevant development branch for fu
9797

9898
- Additional updates
9999

100-
- Non-Schema examples no longer "override" Schema examples; tools are free to use the most appropriate example for any given use case.
101100
- A new key `mediaTypes` is supported under `components` to support re-use of Media Type Objects.
102101

103102
- Updates to referenced standards

0 commit comments

Comments
 (0)