Skip to content

Commit 5b29057

Browse files
committed
Add some more recent spec additions, use section headings
1 parent 55b604a commit 5b29057

File tree

1 file changed

+39
-13
lines changed

1 file changed

+39
-13
lines changed

draft-release-notes.md

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

55
## 3.2 Updates
66

7-
- Methods:
7+
### Methods
8+
89
- support the new `query` operation alongside get/post/put/delete/options/head/patch/trace
910
- 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`
1011

11-
- Tags
12+
### Tags
13+
1214
- new `summary` field to allow short descriptions, used when displaying lists of tags. If you use the `x-displayName` extension, you can now use `summary` instead.
1315
- `parent` field to point to the tag that this tag is nested under. If you use `x-tagGroups`, adjust to use a tags hierarchy.
1416
- `kind` to allow multiple categories of tag. The `kind` field is free-form text, however there are some expected/conventional values such as `nav` (in line with the most common current usage as grouping for documentation output).
1517
- a [registry](https://spec.openapis.org/registry/tag-kind/index.html) to establish conventions for values used in `kind`.
1618

17-
- Security:
19+
### Security
20+
1821
- 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`
1922
- additional security scheme field: `oauth2MetadataUrl` URL for auth server metadata
2023
- additional `deprecated` field for security schemes (indicating that the scheme may still be supported, but that it should not be used)
2124
- ability to reference a security scheme by URI rather than needing it declared in components.
2225

23-
- Servers:
26+
### Servers
27+
2428
- clarify that server URLs should not include fragment or query.
2529
- support new `name` field alongside `description`, `url` and `variables`.
2630
- formal path templating support for variable substitution in server urls.
2731

28-
- Discriminator
32+
### Discriminator
33+
2934
- no change from previous versions: use `discriminator` to hint which entry in `anyOf` or `oneOf` is expected.
3035
- no change from previous versions: use `mapping` to link the discriminator property value to the Schema name if they aren't an exact match.
3136
- the discriminator `propertyName` can now be an optional field.
3237
- additional `defaultMapping` field to indicate which schema to use if the `propertyName` is not set, or if the value is unrecognized.
3338

34-
- **ABNF** (Augmented Backus–Naur Form) formalised for path templating, server variables, and runtime expressions in the Links object.
39+
### Reference resolution
40+
41+
- additional top-level `$self` to be used as a base URI for resolving references in the OpenAPI description. If not present, the existing/earlier behaviour of using the retrieval URL as a base applies.
42+
43+
### **ABNF** (Augmented Backus–Naur Form) formalised for path templating, server variables, and runtime expressions in the Links object.
44+
45+
### Improvements for APIs using XML as a content format
3546

36-
- Improvements for APIs using XML as a content format:
3747
- XML namespaces can be IRIs (rather than URIs)
3848
- Explanation and example on how to handle `null` in XML
49+
Clarify that the root schema of an XML object should use the component name.
50+
51+
### Sequential media type
3952

40-
- Sequential media types:
4153
- 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.
4254
- Responses can be a repeating data structure, and are treated as if they are an array of schema objects.
4355
- Use `itemSchema` in a mediatype entry to describe each item
4456
- Related: a new media types registry is published to give more context for each of the media types
4557
- Also a "Complete vs Streaming Content" section for guidance on streaming binary payloads
4658

47-
Minor edits that are worth a mention:
48-
- The `description` field for responses are now optional (they used to be required but they could be empty)
59+
### Parameters
60+
61+
- 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.
62+
- parameters can therefore be `in` the `querystring` as an alternative to the existing `header`, `cookie`, `query` and `path` values.
63+
- `allowReserved` field is now permitted on parameters with any value of `in` (however this many not be a Good Idea (TM) in some scenarios)
64+
65+
### Responses
66+
67+
- `description` field for responses are now optional (they used to be required but they could be empty)
68+
- additional `summary` field for responses, useful when displaying responses in a list context
69+
70+
### Minor edits that are worth a mention:
71+
4972
- Streamlined to YAML examples (unless something specific to another format) to try to make it easier to follow
5073
- `allowReserved` is now supported for any parameter or header, regardless of `in` location
5174

52-
- In-place updates to existing specifications and standards that we reference:
75+
### In-place updates to existing specifications and standards that we reference:
76+
5377
- Update to https://www.ietf.org/archive/id/draft-bhutton-json-schema-01.html of JSON Schema Specification
5478
- Update to https://www.ietf.org/archive/id/draft-bhutton-json-schema-validation-01.html of JSON Schema Validation Specification
5579
- Use [RFC8529](https://tools.ietf.org/html/rfc8259) for JSON
5680
- Use [RFC9110](https://tools.ietf.org/html/rfc9110) for HTTP
5781

58-
- Editorial changes:
82+
### Editorial changes:
83+
5984
- Extensive additions around media types, encoding, sequential media types, SSE examples, working with binary data,
6085
- Clarification that Example Objects can be used in Header Objects.
6186
- Better explanation and examples for using Encoding.
@@ -70,6 +95,7 @@ Version 3.1.2 has no material changes but does contain editorial fixes.
7095
- Better explanation and examples for using Encoding.
7196
- Clarify that Request Body Objects need to specify at least one media type to be meaningful
7297
- How to more clearly indicate that no response will have a body
73-
- How to handle `null` in XML
98+
- How to handle `null` in XML as an advisory note; since the functionality cannot be changed it is implementation-defined for 3.1 tooling.
99+
- Clarify that the root schema of an XML object should use the component name.
74100

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

0 commit comments

Comments
 (0)