From 843f1c211807b567aa3ca96006f8c192c6124ce1 Mon Sep 17 00:00:00 2001 From: Jonas Lagoni Date: Thu, 21 Apr 2022 13:53:12 +0200 Subject: [PATCH 1/6] chore: update release branch to 3.0 (#753) --- examples/social-media/backend/asyncapi.yaml | 2 +- examples/social-media/comments-service/asyncapi.yaml | 2 +- examples/social-media/frontend/asyncapi.yaml | 2 +- examples/social-media/notification-service/asyncapi.yaml | 2 +- examples/social-media/public-api/asyncapi.yaml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/social-media/backend/asyncapi.yaml b/examples/social-media/backend/asyncapi.yaml index 5f7cb94e5..a25f93214 100644 --- a/examples/social-media/backend/asyncapi.yaml +++ b/examples/social-media/backend/asyncapi.yaml @@ -1,4 +1,4 @@ -asyncapi: 2.2.0 +asyncapi: 3.0.0 info: title: Website Backend diff --git a/examples/social-media/comments-service/asyncapi.yaml b/examples/social-media/comments-service/asyncapi.yaml index ce8f93a9e..f7450edda 100644 --- a/examples/social-media/comments-service/asyncapi.yaml +++ b/examples/social-media/comments-service/asyncapi.yaml @@ -1,4 +1,4 @@ -asyncapi: 2.2.0 +asyncapi: 3.0.0 info: title: Comments Service diff --git a/examples/social-media/frontend/asyncapi.yaml b/examples/social-media/frontend/asyncapi.yaml index 2837fb6ff..15d4fcd75 100644 --- a/examples/social-media/frontend/asyncapi.yaml +++ b/examples/social-media/frontend/asyncapi.yaml @@ -1,4 +1,4 @@ -asyncapi: 2.2.0 +asyncapi: 3.0.0 info: title: Website WebSocket Client diff --git a/examples/social-media/notification-service/asyncapi.yaml b/examples/social-media/notification-service/asyncapi.yaml index be78362c9..8a67e4acc 100644 --- a/examples/social-media/notification-service/asyncapi.yaml +++ b/examples/social-media/notification-service/asyncapi.yaml @@ -1,4 +1,4 @@ -asyncapi: 2.2.0 +asyncapi: 3.0.0 info: title: Notifications Service diff --git a/examples/social-media/public-api/asyncapi.yaml b/examples/social-media/public-api/asyncapi.yaml index 0a7cdde79..5c41dbd94 100644 --- a/examples/social-media/public-api/asyncapi.yaml +++ b/examples/social-media/public-api/asyncapi.yaml @@ -1,4 +1,4 @@ -asyncapi: 2.2.0 +asyncapi: 3.0.0 info: title: Public API From d8ea20f8a02e5338d527940ac26146a64b8354ae Mon Sep 17 00:00:00 2001 From: Matatjahu Date: Tue, 10 May 2022 16:17:26 +0200 Subject: [PATCH 2/6] chore: add more reusable objects to the components object --- spec/asyncapi.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/spec/asyncapi.md b/spec/asyncapi.md index 04c57edd2..fe619662f 100644 --- a/spec/asyncapi.md +++ b/spec/asyncapi.md @@ -175,8 +175,8 @@ Field Name | Type | Description channels | [Channels Object](#channelsObject) | The channels used by this [application](#definitionsApplication). operations | [Operations Object](#operationsObject) | The operations this [application](#definitionsApplication) MUST implement. components | [Components Object](#componentsObject) | An element to hold various reusable objects for the specification. Everything that is defined inside this object represents a resource that MAY or MAY NOT be used in the rest of the document and MAY or MAY NOT be used by the implemented [Application](#definitionsApplication). -tags | [Tags Object](#tagsObject) | A list of tags used by the specification with additional metadata. Each tag name in the list MUST be unique. -externalDocs | [External Documentation Object](#externalDocumentationObject) | Additional external documentation. +tags | [[Tags Object](#tagsObject) \| [Reference Object](#referenceObject)] | A list of tags used by the specification with additional metadata. Each tag name in the list MUST be unique. +externalDocs | [[External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject)] | Additional external documentation. This object MAY be extended with [Specification Extensions](#specificationExtensions). @@ -1450,7 +1450,7 @@ Field Name | Type | Description ---|:---:|--- name | `string` | **REQUIRED.** The name of the tag. description | `string` | A short description for the tag. [CommonMark syntax](https://spec.commonmark.org/) can be used for rich text representation. -externalDocs | [External Documentation Object](#externalDocumentationObject) | Additional external documentation for this tag. +externalDocs | [[External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject)] | Additional external documentation for this tag. This object MAY be extended with [Specification Extensions](#specificationExtensions). @@ -1544,8 +1544,11 @@ Field Name | Type | Description operations | Map[`string`, [Operation Item Object](#operationObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Operation Item Objects](#operationObject). messages | Map[`string`, [Message Object](#messageObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Message Objects](#messageObject). securitySchemes| Map[`string`, [Security Scheme Object](#securitySchemeObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Security Scheme Objects](#securitySchemeObject). + serverVariables | Map[`string`, [Server Variable Object](#serverVariableObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Server Variable Objects](#serverVariableObject). parameters | Map[`string`, [Parameter Object](#parameterObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Parameter Objects](#parameterObject). correlationIds | Map[`string`, [Correlation ID Object](#correlationIdObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Correlation ID Objects](#correlationIdObject). + externalDocs | Map[`string`, [External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [External Documentation Objects](#externalDocumentationObject). + tags | Map[`string`, [Tag Object](#tagObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Tag Objects](#tagObject). operationTraits | Map[`string`, [Operation Trait Object](#operationTraitObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Operation Trait Objects](#operationTraitObject). messageTraits | Map[`string`, [Message Trait Object](#messageTraitObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Message Trait Objects](#messageTraitObject). serverBindings | Map[`string`, [Server Bindings Object](#serverBindingsObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Server Bindings Objects](#serverBindingsObject). @@ -1843,7 +1846,7 @@ In addition to the JSON Schema fields, the following AsyncAPI vocabulary fields Field Name | Type | Description ---|:---:|--- discriminator | `string` | Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between other schema that inherit this schema. The property name used MUST be defined at this schema and it MUST be in the `required` property list. When used, the value MUST be the name of this schema or any schema that inherits it. See [Composition and Inheritance](#schemaComposition) for more details. -externalDocs | [External Documentation Object](#externalDocumentationObject) | Additional external documentation for this schema. +externalDocs | [[External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject)] | Additional external documentation for this schema. deprecated | `boolean` | Specifies that a schema is deprecated and SHOULD be transitioned out of usage. Default value is `false`. This object MAY be extended with [Specification Extensions](#specificationExtensions). From 6c1d792b82bd817f8a229292bedc394461654c7b Mon Sep 17 00:00:00 2001 From: Matatjahu Date: Tue, 10 May 2022 16:23:22 +0200 Subject: [PATCH 3/6] fix external docs types --- spec/asyncapi.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/asyncapi.md b/spec/asyncapi.md index fe619662f..d11cef4c8 100644 --- a/spec/asyncapi.md +++ b/spec/asyncapi.md @@ -176,7 +176,7 @@ Field Name | Type | Description operations | [Operations Object](#operationsObject) | The operations this [application](#definitionsApplication) MUST implement. components | [Components Object](#componentsObject) | An element to hold various reusable objects for the specification. Everything that is defined inside this object represents a resource that MAY or MAY NOT be used in the rest of the document and MAY or MAY NOT be used by the implemented [Application](#definitionsApplication). tags | [[Tags Object](#tagsObject) \| [Reference Object](#referenceObject)] | A list of tags used by the specification with additional metadata. Each tag name in the list MUST be unique. -externalDocs | [[External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject)] | Additional external documentation. +externalDocs | [External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject) | Additional external documentation. This object MAY be extended with [Specification Extensions](#specificationExtensions). @@ -1450,7 +1450,7 @@ Field Name | Type | Description ---|:---:|--- name | `string` | **REQUIRED.** The name of the tag. description | `string` | A short description for the tag. [CommonMark syntax](https://spec.commonmark.org/) can be used for rich text representation. -externalDocs | [[External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject)] | Additional external documentation for this tag. +externalDocs | [External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject) | Additional external documentation for this tag. This object MAY be extended with [Specification Extensions](#specificationExtensions). @@ -1846,7 +1846,7 @@ In addition to the JSON Schema fields, the following AsyncAPI vocabulary fields Field Name | Type | Description ---|:---:|--- discriminator | `string` | Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between other schema that inherit this schema. The property name used MUST be defined at this schema and it MUST be in the `required` property list. When used, the value MUST be the name of this schema or any schema that inherits it. See [Composition and Inheritance](#schemaComposition) for more details. -externalDocs | [[External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject)] | Additional external documentation for this schema. +externalDocs | [External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject) | Additional external documentation for this schema. deprecated | `boolean` | Specifies that a schema is deprecated and SHOULD be transitioned out of usage. Default value is `false`. This object MAY be extended with [Specification Extensions](#specificationExtensions). From 2935e5aa3327a9ec758e733cb161a0fbb85c17b1 Mon Sep 17 00:00:00 2001 From: Matatjahu Date: Mon, 3 Oct 2022 11:52:49 +0200 Subject: [PATCH 4/6] after rebase --- spec/asyncapi.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/spec/asyncapi.md b/spec/asyncapi.md index d11cef4c8..379af4758 100644 --- a/spec/asyncapi.md +++ b/spec/asyncapi.md @@ -175,7 +175,7 @@ Field Name | Type | Description channels | [Channels Object](#channelsObject) | The channels used by this [application](#definitionsApplication). operations | [Operations Object](#operationsObject) | The operations this [application](#definitionsApplication) MUST implement. components | [Components Object](#componentsObject) | An element to hold various reusable objects for the specification. Everything that is defined inside this object represents a resource that MAY or MAY NOT be used in the rest of the document and MAY or MAY NOT be used by the implemented [Application](#definitionsApplication). -tags | [[Tags Object](#tagsObject) \| [Reference Object](#referenceObject)] | A list of tags used by the specification with additional metadata. Each tag name in the list MUST be unique. +tags | [Tags Object](#tagsObject) | A list of tags used by the specification with additional metadata. Each tag name in the list MUST be unique. externalDocs | [External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject) | Additional external documentation. @@ -617,7 +617,7 @@ Field Name | Type | Description parameters | [Parameters Object](#parametersObject) | A map of the parameters included in the channel address. It MUST be present only when the address contains [Channel Address Expressions](#channelAddressExpressions). bindings | [Channel Bindings Object](#channelBindingsObject) \| [Reference Object](#referenceObject) | A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the channel. tags | [Tags Object](#tagsObject) | A list of tags for logical grouping of channels. -externalDocs | [External Documentation Object](#externalDocumentationObject) | Additional external documentation for this channel. +externalDocs | [External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject) | Additional external documentation for this channel. This object MAY be extended with [Specification Extensions](#specificationExtensions). @@ -812,7 +812,7 @@ Field Name | Type | Description description | `string` | A verbose explanation of the operation. [CommonMark syntax](http://spec.commonmark.org/) can be used for rich text representation. security | [[Security Requirement Object](#securityRequirementObject)]| A declaration of which security mechanisms are associated with this operation. Only one of the security requirement objects MUST be satisfied to authorize an operation. In cases where Server Security also applies, it MUST also be satisfied. tags | [Tags Object](#tagsObject) | A list of tags for logical grouping and categorization of operations. -externalDocs | [External Documentation Object](#externalDocumentationObject) | Additional external documentation for this operation. +externalDocs | [External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject) | Additional external documentation for this operation. bindings | [Operation Bindings Object](#operationBindingsObject) \| [Reference Object](#referenceObject) | A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the operation. traits | [[Operation Trait Object](#operationTraitObject) | [Reference Object](#referenceObject) ] | A list of traits to apply to the operation object. Traits MUST be merged into the operation object using the [JSON Merge Patch](https://tools.ietf.org/html/rfc7386) algorithm in the same order they are defined here. @@ -892,7 +892,7 @@ Field Name | Type | Description description | `string` | A verbose explanation of the operation. [CommonMark syntax](https://spec.commonmark.org/) can be used for rich text representation. security | [[Security Requirement Object](#securityRequirementObject)]| A declaration of which security mechanisms are associated with this operation. Only one of the security requirement objects MUST be satisfied to authorize an operation. In cases where Server Security also applies, it MUST also be satisfied. tags | [Tags Object](#tagsObject) | A list of tags for logical grouping and categorization of operations. -externalDocs | [External Documentation Object](#externalDocumentationObject) | Additional external documentation for this operation. +externalDocs | [External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject) | Additional external documentation for this operation. bindings | [Operation Bindings Object](#operationBindingsObject) \| [Reference Object](#referenceObject) | A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the operation. This object MAY be extended with [Specification Extensions](#specificationExtensions). @@ -1169,7 +1169,7 @@ Field Name | Type | Description summary | `string` | A short summary of what the message is about. description | `string` | A verbose explanation of the message. [CommonMark syntax](https://spec.commonmark.org/) can be used for rich text representation. tags | [Tags Object](#tagsObject) | A list of tags for logical grouping and categorization of messages. -externalDocs | [External Documentation Object](#externalDocumentationObject) | Additional external documentation for this message. +externalDocs | [External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject) | Additional external documentation for this message. bindings | [Message Bindings Object](#messageBindingsObject) \| [Reference Object](#referenceObject) | A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the message. examples | [[Message Example Object](#messageExampleObject)] | List of examples. traits | [[Message Trait Object](#messageTraitObject) | [Reference Object](#referenceObject)] | A list of traits to apply to the message object. Traits MUST be merged into the message object using the [JSON Merge Patch](https://tools.ietf.org/html/rfc7386) algorithm in the same order they are defined here. The resulting object MUST be a valid [Message Object](#messageObject). @@ -1368,7 +1368,7 @@ Field Name | Type | Description summary | `string` | A short summary of what the message is about. description | `string` | A verbose explanation of the message. [CommonMark syntax](https://spec.commonmark.org/) can be used for rich text representation. tags | [Tags Object](#tagsObject) | A list of tags for logical grouping and categorization of messages. -externalDocs | [External Documentation Object](#externalDocumentationObject) | Additional external documentation for this message. +externalDocs | [External Documentation Object](#externalDocumentationObject) \| [Reference Object](#referenceObject) | Additional external documentation for this message. bindings | [Message Bindings Object](#messageBindingsObject) \| [Reference Object](#referenceObject) | A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the message. examples | [[Message Example Object](#messageExampleObject)] | List of examples. @@ -1439,7 +1439,7 @@ payload: #### Tags Object -A Tags object is a list of Tag Objects. +A Tags object is a list of [Tag Objects](#tagObject). An [Tag Object](#tagObject) in a list can be referenced by [Reference Object](#referenceObject). #### Tag Object From 0c8943a4189ccd17418e24488f87d0a8bd6448be Mon Sep 17 00:00:00 2001 From: Matatjahu Date: Mon, 3 Oct 2022 11:54:04 +0200 Subject: [PATCH 5/6] fix md link --- spec/asyncapi.md | 1 - 1 file changed, 1 deletion(-) diff --git a/spec/asyncapi.md b/spec/asyncapi.md index 379af4758..231570e6a 100644 --- a/spec/asyncapi.md +++ b/spec/asyncapi.md @@ -1539,7 +1539,6 @@ Field Name | Type | Description ---|:---|--- schemas | Map[`string`, [Schema Object](#schemaObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Schema Objects](#schemaObject). servers | Map[`string`, [Server Object](#serverObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Server Objects](#serverObject). - serverVariables | Map[`string`, [Server Variable Object](#serverVariableObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Server Variable Objects](#serverVariableObject). channels | Map[`string`, [Channel Object](#channelObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Channel Objects](#channelObject). operations | Map[`string`, [Operation Item Object](#operationObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Operation Item Objects](#operationObject). messages | Map[`string`, [Message Object](#messageObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Message Objects](#messageObject). From 0c0f390b85cdb021dc4ea3610486778aed9247b9 Mon Sep 17 00:00:00 2001 From: Matatjahu Date: Mon, 3 Oct 2022 11:56:28 +0200 Subject: [PATCH 6/6] fix examples version --- examples/social-media/backend/asyncapi.yaml | 2 +- examples/social-media/comments-service/asyncapi.yaml | 2 +- examples/social-media/frontend/asyncapi.yaml | 2 +- examples/social-media/notification-service/asyncapi.yaml | 2 +- examples/social-media/public-api/asyncapi.yaml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/social-media/backend/asyncapi.yaml b/examples/social-media/backend/asyncapi.yaml index a25f93214..5f7cb94e5 100644 --- a/examples/social-media/backend/asyncapi.yaml +++ b/examples/social-media/backend/asyncapi.yaml @@ -1,4 +1,4 @@ -asyncapi: 3.0.0 +asyncapi: 2.2.0 info: title: Website Backend diff --git a/examples/social-media/comments-service/asyncapi.yaml b/examples/social-media/comments-service/asyncapi.yaml index f7450edda..ce8f93a9e 100644 --- a/examples/social-media/comments-service/asyncapi.yaml +++ b/examples/social-media/comments-service/asyncapi.yaml @@ -1,4 +1,4 @@ -asyncapi: 3.0.0 +asyncapi: 2.2.0 info: title: Comments Service diff --git a/examples/social-media/frontend/asyncapi.yaml b/examples/social-media/frontend/asyncapi.yaml index 15d4fcd75..2837fb6ff 100644 --- a/examples/social-media/frontend/asyncapi.yaml +++ b/examples/social-media/frontend/asyncapi.yaml @@ -1,4 +1,4 @@ -asyncapi: 3.0.0 +asyncapi: 2.2.0 info: title: Website WebSocket Client diff --git a/examples/social-media/notification-service/asyncapi.yaml b/examples/social-media/notification-service/asyncapi.yaml index 8a67e4acc..be78362c9 100644 --- a/examples/social-media/notification-service/asyncapi.yaml +++ b/examples/social-media/notification-service/asyncapi.yaml @@ -1,4 +1,4 @@ -asyncapi: 3.0.0 +asyncapi: 2.2.0 info: title: Notifications Service diff --git a/examples/social-media/public-api/asyncapi.yaml b/examples/social-media/public-api/asyncapi.yaml index 5c41dbd94..0a7cdde79 100644 --- a/examples/social-media/public-api/asyncapi.yaml +++ b/examples/social-media/public-api/asyncapi.yaml @@ -1,4 +1,4 @@ -asyncapi: 3.0.0 +asyncapi: 2.2.0 info: title: Public API