Skip to content

Commit 02ad980

Browse files
committed
Bring up to date, improve titles and formatting
1 parent a0323b8 commit 02ad980

File tree

1 file changed

+55
-53
lines changed

1 file changed

+55
-53
lines changed

draft-release-notes.md

Lines changed: 55 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -4,93 +4,95 @@ 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+
### Support additional HTTP methods
88

9-
- support the new `query` operation alongside get/post/put/delete/options/head/patch/trace
10-
- 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`
9+
- Support the new `query` method alongside the existing `get`/`post`/`put`/`delete`/`options`/`head`/`patch`/`trace`.
10+
- Under an `additionalOperations` entry in a Path, 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`.
1111

12-
### Tags
12+
### Nested, multipurpose tags
1313

14-
- 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.
14+
- 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.
1515
- `parent` field to point to the tag that this tag is nested under. If you use `x-tagGroups`, adjust to use a tags hierarchy.
1616
- `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).
17-
- a [registry](https://spec.openapis.org/registry/tag-kind/index.html) to establish conventions for values used in `kind`.
17+
- A [registry](https://spec.openapis.org/registry/tag-kind/index.html) to establish conventions for values used in `kind`.
1818

19-
### Security
19+
### Updated security schemes
2020

21-
- 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`
22-
- additional security scheme field: `oauth2MetadataUrl` URL for auth server metadata
23-
- additional `deprecated` field for security schemes (indicating that the scheme may still be supported, but that it should not be used)
24-
- ability to reference a security scheme by URI rather than needing it declared in components.
21+
- 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`.
22+
- Additional security scheme field: `oauth2MetadataUrl` URL for auth server metadata.
23+
- Additional `deprecated` field for security schemes (indicating that the scheme may still be supported, but that it should not be used).
24+
- Ability to reference a security scheme by URI rather than needing it declared in components.
2525

2626
### Servers
2727

28-
- clarify that server URLs should not include fragment or query.
29-
- support new `name` field alongside `description`, `url` and `variables`.
30-
- formal path templating support for variable substitution in server urls.
28+
- Clarify that server URLs should not include fragment or query.
29+
- Support new `name` field alongside `description`, `url` and `variables`.
30+
- Formal path templating support for variable substitution in server urls.
3131

32-
### Code Generation
32+
### Better polymorphic support
3333

34-
- the discriminator `propertyName` can now be an optional field.
35-
- additional `defaultMapping` field to indicate which schema to use if the `propertyName` is not set, or if the value is unrecognized.
36-
- no change from previous versions: use `discriminator` to hint which entry in `anyOf` or `oneOf` is expected.
37-
- no change from previous versions: use `mapping` to link the discriminator property value to the Schema name if they aren't an exact match.
38-
- Implementations now SHOULD (rather than MAY) support templates/generics using `$dynamicRef`
34+
- The discriminator `propertyName` can now be an optional field.
35+
- Additional `defaultMapping` field to indicate which schema to use if the `propertyName` is not set, or if the value is unrecognized.
36+
- No change from previous versions: use `discriminator` to hint which entry in `anyOf` or `oneOf` is expected.
37+
- No change from previous versions: use `mapping` to link the discriminator property value to the Schema name if they aren't an exact match.
38+
- Implementations now SHOULD (rather than MAY) support templates/generics using `$dynamicRef`.
3939

4040
### Reference resolution
4141

42-
- 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+
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.
4343

44-
### **ABNF** (Augmented Backus–Naur Form) formalised for path templating, server variables, and runtime expressions in the Links object.
44+
### Path templating
45+
46+
**ABNF** (Augmented Backus–Naur Form) formalised for path templating, server variables, and runtime expressions in the Links object.
4547

4648
### Improvements for APIs using XML as a content format
4749

48-
- New `nodeType` field allows maping schemas to all common XML node types (elements, attributes, text, or cdata) or to nothing
49-
- `attribute: true` deprecated in favor of `nodeType: attribute`
50-
- `wrapped: true` deprecated in favor of `nodeType: element` (as `nodeType` defaults to `none` for arrays to preserve compatibility)
51-
- The `xml` keyword can be used in any Schema Object
52-
- XML namespaces can be IRIs (rather than URIs)
53-
- Explanation and example on how to handle `null` in XML
54-
Clarify that the root schema of an XML object should use the component name.
50+
- New `nodeType` field allows mapping schemas to common XML node types: `element`, `attribute`, `text`, `cdata`, or `none`.
51+
- `attribute: true` deprecated in favor of `nodeType: attribute`.
52+
- `wrapped: true` deprecated in favor of `nodeType: element` (as `nodeType` defaults to `none` for arrays to preserve compatibility).
53+
- The `xml` keyword can be used in any Schema Object.
54+
- XML namespaces can be IRIs (rather than URIs).
55+
- Explanation and example on how to handle `null` in XML.
56+
- Clarify that the root schema of an XML object should use the component name.
5557

56-
### Sequential media type
58+
### Support for sequential media types
5759

58-
- 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.
60+
- Support for sequential media types such as `text/event-stream` for server-sent events (SSE) and `application/jsonl`, `application/json-seq` and others for sequential data.
5961
- Responses can be a repeating data structure, and are treated as if they are an array of schema objects.
60-
- Use `itemSchema` in a mediatype entry to describe each item
61-
- Related: a new media types registry is published to give more context for each of the media types
62-
- Also a "Complete vs Streaming Content" section for guidance on streaming binary payloads
62+
- Use `itemSchema` in a mediatype entry to describe each item.
63+
- Related: a new media types registry is published to give more context for each of the media types.
64+
- Also a "Complete vs Streaming Content" section for guidance on streaming binary payloads.
6365

64-
### Parameters and Headers
66+
### Parameter and header changes
6567

66-
- 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.
67-
- parameters can therefore be `in` the `querystring` as an alternative to the existing `header`, `cookie`, `query` and `path` values.
68-
- `allowReserved` field is now permitted on parameters and headers with any value of `in` (however this many not be a Good Idea (TM) in some scenarios)
68+
- 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.
69+
- Parameters can therefore be `in` the `querystring` as an alternative to the existing `header`, `cookie`, `query` and `path` values.
70+
- `allowReserved` field is now permitted on headers and on parameters with any value of `in` (however this many not be a Good Idea (TM) in some scenarios).
71+
- Remove incorrect mention of Reference Object in the header `schema` field. The JSONSchema ref would be the correct thing to use in this context.
6972

70-
### Responses
73+
### Flexible response metadata fields
7174

72-
- `description` field for responses are now optional (they used to be required but they could be empty)
73-
- additional `summary` field for responses, useful when displaying responses in a list context
75+
- `description` field for responses are now optional (they used to be required but they could be empty).
76+
- Additional `summary` field for responses, useful when displaying responses in a list context.
7477

75-
### Minor edits that are worth a mention:
78+
### Minor edits that are worth a mention
7679

77-
- Streamlined to YAML examples (unless something specific to another format) to try to make it easier to follow
78-
- `allowReserved` is now supported for any parameter or header, regardless of `in` location
80+
- Streamlined to YAML examples (unless something specific to another format) to try to make it easier to follow.
7981

80-
### In-place updates to existing specifications and standards that we reference:
82+
### In-place updates to existing specifications and standards that we reference
8183

82-
- Update to https://www.ietf.org/archive/id/draft-bhutton-json-schema-01.html of JSON Schema Specification
83-
- Update to https://www.ietf.org/archive/id/draft-bhutton-json-schema-validation-01.html of JSON Schema Validation Specification
84-
- Use [RFC8529](https://tools.ietf.org/html/rfc8259) for JSON
85-
- Use [RFC9110](https://tools.ietf.org/html/rfc9110) for HTTP
84+
- Update to https://www.ietf.org/archive/id/draft-bhutton-json-schema-01.html of JSON Schema Specification.
85+
- Update to https://www.ietf.org/archive/id/draft-bhutton-json-schema-validation-01.html of JSON Schema Validation Specification.
86+
- Use [RFC8529](https://tools.ietf.org/html/rfc8259) for JSON.
87+
- Use [RFC9110](https://tools.ietf.org/html/rfc9110) for HTTP.
8688

87-
### Editorial changes:
89+
### Editorial changes
8890

89-
- Extensive additions around media types, encoding, sequential media types, SSE examples, working with binary data,
91+
- Extensive additions around media types, encoding, sequential media types, SSE examples, working with binary data.
9092
- Clarification that Example Objects can be used in Header Objects.
9193
- Better explanation and examples for using Encoding.
92-
- Clarify that Request Body Objects need to specify at least one media type to be meaningful
93-
- How to more clearly indicate that responses will not have a body
94+
- Clarify that Request Body Objects need to specify at least one media type to be meaningful.
95+
- How to more clearly indicate that responses will not have a body.
9496

9597
## 3.1 Updates
9698

0 commit comments

Comments
 (0)