Skip to content

Commit 74c7289

Browse files
committed
Update structure and improve wording
1 parent ad61ff8 commit 74c7289

File tree

1 file changed

+45
-21
lines changed

1 file changed

+45
-21
lines changed

draft-release-notes.md

Lines changed: 45 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,49 +4,73 @@ What's coming up? Look at `src/oas.md` on the relevant development branch for fu
44

55
## 3.2 Updates
66

7-
- **ABNF** (Augmented Backus–Naur Form) for path templating, server variables, and runtime expressions in links object
8-
- Sequential media types:
9-
- Support for sequential mediatypes such as text/event-stream for server-sent events (SSE) and application/jsonl, application/json-seq and others for sequential data.
10-
- Responses can be a repeating data structure, and are treated as if they are an array of schema objects.
11-
- Use itemSchema in a mediatype entry to describe each item
12-
- Related: a new media types registry is published to give more context for each of the media types
13-
- Also a "Complete vs Streaming Content" section for guidance on streaming binary payloads
14-
- Streamlined to YAML examples (unless something specific to another format) to try to make it easier to follow
15-
- Servers:
16-
- clarify that server URLs should not include fragment or query.
17-
- support new`name` field alongside description, url and variables
18-
- formal path templating support for variable substitution in server urls
197
- Methods:
208
- support the new `query` operation alongside get/post/put/delete/options/head/patch/trace
219
- under an additionalOperations entry, 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`
22-
- Extensive additions around media types, encoding, sequential media types, SSE examples, working with binary data,
23-
- Description field for responses are now optional (they used to be required but they could be empty)
10+
2411
- Tags
2512
- new summary field to match other things
2613
- parent field to allow hierarchy
2714
- kind to allow multiple categories of tag
2815
- a registry for some common categories (but any value can be used)
29-
- Discriminator - helps with API evolution (?)
30-
- use discriminator to hint which anyOf or oneOf is expected
31-
- discriminator propertyName MUST be defined but the field it points to MAY be optional - in which case a defaultMapping MUST be defined
32-
- the mapping should be defined if the discriminator property value doesn't match the Schema name
33-
- new field: `defaultMapping` means that if the discriminator field doesn't have a value, which mapping value to use
34-
- XML namespaces can be IRIs (rather than URIs)
16+
3517
- Security:
3618
- 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`
37-
- additional security scheme field: oauth2MetadataUrl URL for auth server metadata
19+
- additional security scheme field: `oauth2MetadataUrl` URL for auth server metadata
3820
- additional field to mark security schemes as deprecated (so don't use it for new stuff, but maybe still supported/valid)
3921
- can reference a security scheme by URI rather than needing it declared in components.
22+
23+
- Servers:
24+
- clarify that server URLs should not include fragment or query.
25+
- support new`name` field alongside description, url and variables
26+
- formal path templating support for variable substitution in server urls
27+
28+
- Discriminator
29+
- use discriminator to hint which anyOf or oneOf is expected (existing functionality)
30+
- discriminator `propertyName` MUST be defined but the named field can be optional (previously was required)
31+
- use `mapping` to link the discriminator property value to the Schema name if they aren't an exact match (existing functionality)
32+
- new field: `defaultMapping` says which schema to use if the `propertyName` is not set, or if the value is unrecognized
33+
34+
- **ABNF** (Augmented Backus–Naur Form) formalised for path templating, server variables, and runtime expressions in the Links object.
35+
36+
Improvements for APIs using XML as a content format:
37+
- XML namespaces can be IRIs (rather than URIs)
38+
- Explanation and example on how to handle `null` in XML
39+
40+
- Sequential media types:
41+
- Support for sequential mediatypes such as text/event-stream for server-sent events (SSE) and application/jsonl, application/json-seq and others for sequential data.
42+
- Responses can be a repeating data structure, and are treated as if they are an array of schema objects.
43+
- Use itemSchema in a mediatype entry to describe each item
44+
- Related: a new media types registry is published to give more context for each of the media types
45+
- Also a "Complete vs Streaming Content" section for guidance on streaming binary payloads
46+
47+
Minor edits that are worth a mention:
48+
- Description field for responses are now optional (they used to be required but they could be empty)
49+
- Streamlined to YAML examples (unless something specific to another format) to try to make it easier to follow
50+
- `allowReserved` is now supported for any parameter or header, regardless of `in` location
51+
4052
- In-place updates to existing specifications and standards that we reference:
4153
- Update to https://www.ietf.org/archive/id/draft-bhutton-json-schema-01.html of JSON Schema Specification
4254
- Update to https://www.ietf.org/archive/id/draft-bhutton-json-schema-validation-01.html of JSON Schema Validation Specification
4355
- Use [RFC8529]((https://tools.ietf.org/html/rfc8259) for JSON
4456
- Use [RFC9110]((https://tools.ietf.org/html/rfc9110) for HTTP
4557

58+
- Editorial changes:
59+
- Extensive additions around media types, encoding, sequential media types, SSE examples, working with binary data,
60+
- Clarification that Example Objects can be used in Header Objects.
61+
- Better explanation and examples for using Encoding.
62+
- Clarify that Request Body Objects need to specify at least one media type to be meaningful
63+
- How to more clearly indicate that responses will not have a body
64+
65+
4666
## 3.1 Updates
4767

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

5070
- Clarification that Example Objects can be used in Header Objects.
5171
- Better explanation and examples for using Encoding.
72+
- Clarify that Request Body Objects need to specify at least one media type to be meaningful
73+
- How to more clearly indicate that no response will have a body
74+
- How to handle `null` in XML
5275

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

0 commit comments

Comments
 (0)