Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: release version 2.3.0 #681

Merged
merged 9 commits into from
Jan 31, 2022
4 changes: 2 additions & 2 deletions .releaserc
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
branches:
- master
- name: 2021-09-release
- name: 2022-01-release
prerelease: true
plugins:
- - "@semantic-release/commit-analyzer"
- preset: conventionalcommits
- preset: conventionalcommits
- - "@semantic-release/release-notes-generator"
- preset: conventionalcommits
- - "@semantic-release/github"
2 changes: 1 addition & 1 deletion examples/anyof.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
info:
title: AnyOf example
version: '1.0.0'
Expand Down
2 changes: 1 addition & 1 deletion examples/application-headers.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
info:
title: Application Headers example
version: '1.0.0'
Expand Down
2 changes: 1 addition & 1 deletion examples/correlation-id.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
info:
title: Correlation ID Example
version: '1.0.0'
Expand Down
2 changes: 1 addition & 1 deletion examples/gitter-streaming.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
id: 'urn:com:gitter:streaming:api'
info:
title: Gitter Streaming API
Expand Down
2 changes: 1 addition & 1 deletion examples/mercure.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
info:
title: Mercure Hub Example
version: '1.0.0'
Expand Down
2 changes: 1 addition & 1 deletion examples/not.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
info:
title: Not example
version: '1.0.0'
Expand Down
2 changes: 1 addition & 1 deletion examples/oneof.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
info:
title: OneOf example
version: '1.0.0'
Expand Down
2 changes: 1 addition & 1 deletion examples/rpc-client.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
id: 'urn:rpc:example:client'
defaultContentType: application/json

Expand Down
2 changes: 1 addition & 1 deletion examples/rpc-server.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
id: 'urn:rpc:example:server'
defaultContentType: application/json

Expand Down
2 changes: 1 addition & 1 deletion examples/simple.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
info:
title: Account Service
version: 1.0.0
Expand Down
2 changes: 1 addition & 1 deletion examples/slack-rtm.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
id: 'urn:com:slack:rtm:api'
info:
title: Slack Real Time Messaging API
Expand Down
3 changes: 1 addition & 2 deletions examples/social-media/backend/asyncapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ info:

servers:
websiteWebSocketServer:
url: ws://mycompany.com/ws
protocol: ws
$ref: '../common/servers.yaml#/websiteWebSocketServer'
mosquitto:
url: mqtt://test.mosquitto.org
protocol: mqtt
Expand Down
3 changes: 3 additions & 0 deletions examples/social-media/common/servers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
websiteWebSocketServer:
url: ws://mycompany.com/ws
protocol: ws
3 changes: 1 addition & 2 deletions examples/social-media/frontend/asyncapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ info:

servers:
websiteWebSocketServer:
url: ws://mycompany.com/ws
protocol: ws
$ref: '../common/servers.yaml#/websiteWebSocketServer'

channels:
like/comment:
Expand Down
2 changes: 1 addition & 1 deletion examples/streetlights-kafka.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
info:
title: Streetlights Kafka API
version: '1.0.0'
Expand Down
2 changes: 1 addition & 1 deletion examples/streetlights-mqtt.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
asyncapi: '2.2.0'
asyncapi: '2.3.0'
info:
title: Streetlights MQTT API
version: '1.0.0'
Expand Down
2 changes: 1 addition & 1 deletion examples/websocket-gemini.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# - Live stream about topics mentioned in part 1 and 2 articles: https://www.youtube.com/watch?v=8tFBcf31e_c
#

asyncapi: '2.2.0'
asyncapi: '2.3.0'

#
# Overal information for users of the application
Expand Down
46 changes: 40 additions & 6 deletions spec/asyncapi.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ A message is the mechanism by which information is exchanged via a channel betwe
A channel is an addressable component, made available by the server, for the organization of [messages](#definitionsMessage). [Producer](#definitionsProducer) applications send messages to channels and [consumer](#definitionsConsumer) applications consume messages from channels. Servers MAY support many channel instances, allowing messages with different content to be addressed to different channels. Depending on the server implementation, the channel MAY be included in the message via protocol-defined headers.

#### <a name="definitionsProtocol"></a>Protocol
A protocol is the mechanism (wireline protocol or API) by which [messages](#definitionsMessage) are exchanged between the application and the [channel](#definitionsChannel). Example protocols include, but are not limited to, AMQP, HTTP, JMS, Kafka, Anypoint MQ, MQTT, STOMP, Mercure, WebSocket.
A protocol is the mechanism (wireline protocol or API) by which [messages](#definitionsMessage) are exchanged between the application and the [channel](#definitionsChannel). Example protocols include, but are not limited to, AMQP, HTTP, JMS, Kafka, Anypoint MQ, MQTT, Solace, STOMP, Mercure, WebSocket.

#### <a name="definitionsBindings"></a>Bindings
A "binding" (or "protocol binding") is a mechanism to define protocol-specific information. Therefore, a protocol binding MUST define protocol-specific information only.
Expand Down Expand Up @@ -351,8 +351,8 @@ An object representing a message broker, a server or any other kind of computer

Field Name | Type | Description
---|:---:|---
<a name="serverObjectUrl"></a>url | `string` | **REQUIRED**. A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the AsyncAPI document is being served. Variable substitutions will be made when a variable is named in `{`brackets`}`.
<a name="serverObjectProtocol"></a>protocol | `string` | **REQUIRED**. The protocol this URL supports for connection. Supported protocol include, but are not limited to: `amqp`, `amqps`, `http`, `https`, `ibmmq`, `jms`, `kafka`, `kafka-secure`, `anypointmq`, `mqtt`, `secure-mqtt`, `stomp`, `stomps`, `ws`, `wss`, `mercure`.
<a name="serverObjectUrl"></a>url | `string` | **REQUIRED**. A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the AsyncAPI document is being served. Variable substitutions will be made when a variable is named in `{`braces`}`.
<a name="serverObjectProtocol"></a>protocol | `string` | **REQUIRED**. The protocol this URL supports for connection. Supported protocol include, but are not limited to: `amqp`, `amqps`, `http`, `https`, `ibmmq`, `jms`, `kafka`, `kafka-secure`, `anypointmq`, `mqtt`, `secure-mqtt`, `solace`, `stomp`, `stomps`, `ws`, `wss`, `mercure`.
<a name="serverObjectProtocolVersion"></a>protocolVersion | `string` | The version of the protocol used for connection. For instance: AMQP `0.9.1`, HTTP `2.0`, Kafka `1.0.0`, etc.
<a name="serverObjectDescription"></a>description | `string` | An optional string describing the host designated by the URL. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.
<a name="serverObjectVariables"></a>variables | Map[`string`, [Server Variable Object](#serverVariableObject)] | A map between a variable name and its value. The value is used for substitution in the server's URL template.
Expand Down Expand Up @@ -565,7 +565,7 @@ Describes the operations available on a single channel.

Field Name | Type | Description
---|:---:|---
<a name="channelItemObjectRef"></a>$ref | `string` | Allows for an external definition of this channel item. The referenced structure MUST be in the format of a [Channel Item Object](#channelItemObject). If there are conflicts between the referenced definition and this Channel Item's definition, the behavior is *undefined*.
<a name="channelItemObjectRef"></a>$ref | `string` | Allows for an external definition of this channel item. The referenced structure MUST be in the format of a [Channel Item Object](#channelItemObject). If there are conflicts between the referenced definition and this Channel Item's definition, the behavior is *undefined*. <br/><br/>**Deprecated:** Usage of the `$ref` property has been deprecated.
<a name="channelItemObjectDescription"></a>description | `string` | An optional description of this channel item. [CommonMark syntax](https://spec.commonmark.org/) can be used for rich text representation.
<a name="channelItemObjectServers"></a>servers | [`string`] | The servers on which this channel is available, specified as an optional unordered list of names (string keys) of [Server Objects](#serverObject) defined in the [Servers Object](#serversObject) (a map). If `servers` is absent or empty then this channel must be available on all servers defined in the [Servers Object](#serversObject).
<a name="channelItemObjectSubscribe"></a>subscribe | [Operation Object](#operationObject) | A definition of the SUBSCRIBE operation, which defines the messages produced by the application and sent to the channel.
Expand Down Expand Up @@ -707,7 +707,7 @@ Field Name | Type | Description
<a name="operationObjectExternalDocs"></a>externalDocs | [External Documentation Object](#externalDocumentationObject) | Additional external documentation for this operation.
<a name="operationObjectBindings"></a>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.
<a name="operationObjectTraits"></a>traits | [[Operation Trait Object](#operationTraitObject) &#124; [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.
<a name="operationObjectMessage"></a>message | [[Message Object](#messageObject) &#124; [Reference Object](#referenceObject)] | A definition of the message that will be published or received on this channel. `oneOf` is allowed here to specify multiple messages, however, **a message MUST be valid only against one of the referenced message objects.**
<a name="operationObjectMessage"></a>message | [Message Object](#messageObject) &#124; [Reference Object](#referenceObject) &#124; Map["oneOf", [[Message Object](#messageObject) &#124; [Reference Object](#referenceObject)]] | A definition of the message that will be published or received by this operation. Map containing a single `oneOf` key is allowed here to specify multiple messages. However, **a message MUST be valid only against one of the message objects.**

This object can be extended with [Specification Extensions](#specificationExtensions).

Expand Down Expand Up @@ -950,6 +950,7 @@ Field Name | Type | Description
<a name="serverBindingsObjectNATS"></a>`nats` | [NATS Server Binding](https://github.com/asyncapi/bindings/blob/master/nats#server) | Protocol-specific information for a NATS server.
<a name="serverBindingsObjectJMS"></a>`jms` | [JMS Server Binding](https://github.com/asyncapi/bindings/blob/master/jms#server) | Protocol-specific information for a JMS server.
<a name="serverBindingsObjectSNS"></a>`sns` | [SNS Server Binding](https://github.com/asyncapi/bindings/blob/master/sns#server) | Protocol-specific information for an SNS server.
<a name="serverBindingsObjectSolace"></a>`solace` | [Solace Server Binding](https://github.com/asyncapi/bindings/blob/master/solace#server) | Protocol-specific information for a Solace server.
<a name="serverBindingsObjectSQS"></a>`sqs` | [SQS Server Binding](https://github.com/asyncapi/bindings/blob/master/sqs#server) | Protocol-specific information for an SQS server.
<a name="serverBindingsObjectSTOMP"></a>`stomp` | [STOMP Server Binding](https://github.com/asyncapi/bindings/blob/master/stomp#server) | Protocol-specific information for a STOMP server.
<a name="serverBindingsObjectRedis"></a>`redis` | [Redis Server Binding](https://github.com/asyncapi/bindings/blob/master/redis#server) | Protocol-specific information for a Redis server.
Expand Down Expand Up @@ -979,6 +980,7 @@ Field Name | Type | Description
<a name="channelBindingsObjectNATS"></a>`nats` | [NATS Channel Binding](https://github.com/asyncapi/bindings/blob/master/nats/README.md#channel) | Protocol-specific information for a NATS channel.
<a name="channelBindingsObjectJMS"></a>`jms` | [JMS Channel Binding](https://github.com/asyncapi/bindings/blob/master/jms/README.md#channel) | Protocol-specific information for a JMS channel.
<a name="channelBindingsObjectSNS"></a>`sns` | [SNS Channel Binding](https://github.com/asyncapi/bindings/blob/master/sns/README.md#channel) | Protocol-specific information for an SNS channel.
<a name="channelBindingsObjectSolace"></a>`solace` | [Solace Channel Binding](https://github.com/asyncapi/bindings/blob/master/solace#channel) | Protocol-specific information for a Solace channel.
<a name="channelBindingsObjectSQS"></a>`sqs` | [SQS Channel Binding](https://github.com/asyncapi/bindings/blob/master/sqs/README.md#channel) | Protocol-specific information for an SQS channel.
<a name="channelBindingsObjectSTOMP"></a>`stomp` | [STOMP Channel Binding](https://github.com/asyncapi/bindings/blob/master/stomp/README.md#channel) | Protocol-specific information for a STOMP channel.
<a name="channelBindingsObjectRedis"></a>`redis` | [Redis Channel Binding](https://github.com/asyncapi/bindings/blob/master/redis#channel) | Protocol-specific information for a Redis channel.
Expand Down Expand Up @@ -1008,6 +1010,7 @@ Field Name | Type | Description
<a name="operationBindingsObjectNATS"></a>`nats` | [NATS Operation Binding](https://github.com/asyncapi/bindings/blob/master/nats/README.md#operation) | Protocol-specific information for a NATS operation.
<a name="operationBindingsObjectJMS"></a>`jms` | [JMS Operation Binding](https://github.com/asyncapi/bindings/blob/master/jms/README.md#operation) | Protocol-specific information for a JMS operation.
<a name="operationBindingsObjectSNS"></a>`sns` | [SNS Operation Binding](https://github.com/asyncapi/bindings/blob/master/sns/README.md#operation) | Protocol-specific information for an SNS operation.
<a name="operationBindingsObjectSolace"></a>`solace` | [Solace Operation Binding](https://github.com/asyncapi/bindings/blob/master/solace#operation) | Protocol-specific information for a Solace operation.
<a name="operationBindingsObjectSQS"></a>`sqs` | [SQS Operation Binding](https://github.com/asyncapi/bindings/blob/master/sqs/README.md#operation) | Protocol-specific information for an SQS operation.
<a name="operationBindingsObjectSTOMP"></a>`stomp` | [STOMP Operation Binding](https://github.com/asyncapi/bindings/blob/master/stomp/README.md#operation) | Protocol-specific information for a STOMP operation.
<a name="operationBindingsObjectRedis"></a>`redis` | [Redis Operation Binding](https://github.com/asyncapi/bindings/blob/master/redis#operation) | Protocol-specific information for a Redis operation.
Expand Down Expand Up @@ -1037,6 +1040,7 @@ Field Name | Type | Description
<a name="messageBindingsObjectNATS"></a>`nats` | [NATS Message Binding](https://github.com/asyncapi/bindings/blob/master/nats/README.md#message) | Protocol-specific information for a NATS message.
<a name="messageBindingsObjectJMS"></a>`jms` | [JMS Message Binding](https://github.com/asyncapi/bindings/blob/master/jms/README.md#message) | Protocol-specific information for a JMS message.
<a name="messageBindingsObjectSNS"></a>`sns` | [SNS Message Binding](https://github.com/asyncapi/bindings/blob/master/sns/README.md#message) | Protocol-specific information for an SNS message.
<a name="messageBindingsObjectSolace"></a>`solace` | [Solace Server Binding](https://github.com/asyncapi/bindings/blob/master/solace#message) | Protocol-specific information for a Solace message.
<a name="messageBindingsObjectSQS"></a>`sqs` | [SQS Message Binding](https://github.com/asyncapi/bindings/blob/master/sqs/README.md#message) | Protocol-specific information for an SQS message.
<a name="messageBindingsObjectSTOMP"></a>`stomp` | [STOMP Message Binding](https://github.com/asyncapi/bindings/blob/master/stomp/README.md#message) | Protocol-specific information for a STOMP message.
<a name="messageBindingsObjectRedis"></a>`redis` | [Redis Message Binding](https://github.com/asyncapi/bindings/blob/master/redis#message) | Protocol-specific information for a Redis message.
Expand Down Expand Up @@ -1431,8 +1435,10 @@ All objects defined within the components object will have no effect on the API
##### Fixed Fields

Field Name | Type | Description
---|:---|---
---|:---|---
<a name="componentsSchemas"></a> schemas | Map[`string`, [Schema Object](#schemaObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Schema Objects](#schemaObject).
<a name="componentsServers"></a> servers | Map[`string`, [Server Object](#serverObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Server Objects](#serverObject).
<a name="componentsChannels"></a> channels | Map[`string`, [Channel Item Object](#channelItemObject)] | An object to hold reusable [Channel Item Objects](#channelItemObject).
<a name="componentsMessages"></a> messages | Map[`string`, [Message Object](#messageObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Message Objects](#messageObject).
<a name="componentsSecuritySchemes"></a> securitySchemes| Map[`string`, [Security Scheme Object](#securitySchemeObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Security Scheme Objects](#securitySchemeObject).
<a name="componentsParameters"></a> parameters | Map[`string`, [Parameter Object](#parameterObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Parameter Objects](#parameterObject).
Expand Down Expand Up @@ -1489,6 +1495,23 @@ my.org.User
}
}
},
"servers": {
"development": {
"url": "development.gigantic-server.com",
"description": "Development server",
"protocol": "amqp",
"protocolVersion": "0.9.1"
}
},
"channels": {
"user/signedup": {
"subscribe": {
"message": {
"$ref": "#/components/messages/userSignUp"
}
}
}
},
"messages": {
"userSignUp": {
"summary": "Action to sign a user up.",
Expand Down Expand Up @@ -1574,6 +1597,17 @@ components:
format: int64
name:
type: string
servers:
development:
url: development.gigantic-server.com
description: Development server
protocol: amqp
protocolVersion: 0.9.1
channels:
user/signedup:
subscribe:
message:
$ref: "#/components/messages/userSignUp"
messages:
userSignUp:
summary: Action to sign a user up.
Expand Down