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
+45-21Lines changed: 45 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -4,49 +4,73 @@ What's coming up? Look at `src/oas.md` on the relevant development branch for fu
4
4
5
5
## 3.2 Updates
6
6
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
19
7
- Methods:
20
8
- support the new `query` operation alongside get/post/put/delete/options/head/patch/trace
21
9
- 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
+
24
11
- Tags
25
12
- new summary field to match other things
26
13
- parent field to allow hierarchy
27
14
- kind to allow multiple categories of tag
28
15
- 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
+
35
17
- Security:
36
18
- 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
38
20
- additional field to mark security schemes as deprecated (so don't use it for new stuff, but maybe still supported/valid)
39
21
- 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
+
40
52
- In-place updates to existing specifications and standards that we reference:
41
53
- Update to https://www.ietf.org/archive/id/draft-bhutton-json-schema-01.html of JSON Schema Specification
42
54
- Update to https://www.ietf.org/archive/id/draft-bhutton-json-schema-validation-01.html of JSON Schema Validation Specification
43
55
- Use [RFC8529]((https://tools.ietf.org/html/rfc8259) for JSON
44
56
- Use [RFC9110]((https://tools.ietf.org/html/rfc9110) for HTTP
45
57
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
+
46
66
## 3.1 Updates
47
67
48
68
Version 3.1.2 has no material changes but does contain editorial fixes.
49
69
50
70
- Clarification that Example Objects can be used in Header Objects.
51
71
- 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
52
75
76
+
<!-- vim: set ft=markdown tw=2 foldmethod=indent: -->
0 commit comments