From dbd9530f6604314a7c4bf20ae7efcc661faabd45 Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Tue, 20 Sep 2022 17:05:15 +0200 Subject: [PATCH 01/37] chore(blog): add release notes for 2.5.0 release --- pages/blog/release-notes-2.5.0.md | 94 ++++++++++++++++++ public/img/avatars/char0n.webp | Bin 0 -> 19052 bytes .../img/posts/release-notes-2.5.0/cover.webp | Bin 0 -> 161262 bytes 3 files changed, 94 insertions(+) create mode 100644 pages/blog/release-notes-2.5.0.md create mode 100644 public/img/avatars/char0n.webp create mode 100644 public/img/posts/release-notes-2.5.0/cover.webp diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md new file mode 100644 index 00000000000..46393d7d0cf --- /dev/null +++ b/pages/blog/release-notes-2.5.0.md @@ -0,0 +1,94 @@ +--- +title: AsyncAPI Spec 2.5.0 Release Notes +date: 2022-09-20T16:41:00+01:00 +type: Communication +tags: + - Specification + - Release Notes +cover: /img/posts/release-notes-2.5.0/cover.webp +authors: + - name: Vladimír Gorej + photo: /img/avatars/char0n.webp + link: https://twitter.com/vladimirgorej + byline: Open Source Software Engineer, OSS contributor, author and content creator. +excerpt: "AsyncAPI 2.5 is now released. This brings really helpful additions, such as extended Server Variables reusability, and many clarifications" +featured: true +--- + +The new version of the AsyncAPI specification - 2.5.0 - is now available. + +> This is a minor release, and it doesn't bring any breaking changes. You can switch to it by modifying the following value in your AsyncAPI file `asyncapi: '2.4.0'` into `asyncapi: '2.5.0'` + +## Server Variables can be now referenced from inside the Server Object + +Previous AsyncAPI 2.4.0 release came with support of [defining Server Variable Objects as reusable components](https://www.asyncapi.com/blog/release-notes-2.4.0#server-variables-can-be-now-referenced-from-components). +Unfortunately AsyncAPI 2.4.0 doesn't allow to reference reusable server variable objects from within the `Server Object`. +So we ended up in a situation that reusable server variable objects can be defined, but they actually cannot be reused. +AsyncAPI 2.5.0 remedies this deficiency by allowing to use `Reference Object` whenever `Server Variable Object` can be used inside `Server.variables` field. + +Following example is now fully compliant with the specification: + +```yaml +asyncapi: 2.4.0 +servers: + development: + $ref: '#/components/servers/myserver' + production: + $ref: '#/components/servers/myserver' +components: + servers: + myserver: + url: "{stage}.my-server.com:{port}" + protocol: ws + variables: + stage: + $ref: "#/components/serverVariables/stage" + port: + $ref: "#/components/serverVariables/port" + serverVariables: + stage: + default: dev + port: + enum: [5000, 6000] + default: 5000 +``` + +This new feature was contributed by [Vladimír Gorej](https://github.com/char0n). For more detail, see [Vladimír's `/spec #776` pull request](https://github.com/asyncapi/spec/pull/776) and the [GitHub issue where Vladimír's change to `serverVariables ` was discussed](https://github.com/asyncapi/spec/issues/775). + +## Decorating Server Object with tags + +placeholder for description + +## Clarifications + +Here are notable clarifications that got into AsyncAPI 2.5.0 release. Here is the list of notable clarifications that may have +impact on the tooling authors: + +**ChannelItem.$ref resolution rules** + +All references of `MUST be in the format of a URL` sentence have been substituted with `This MUST be in the form of an absolute URL`. +The meaning of `absolute URL` is now defined by [RFC3986, section 4.3](https://datatracker.ietf.org/doc/html/rfc3986#section-4.3). + +**Clarification around URL resolution rules** + +The resolution rules around `ChannelItem.$ref` field were not clearly defined. AsyncAPI 2.5.0 comes with explicit clarification +that the resolution is done as defined by the [JSON Reference](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03). + +## Tooling support + +The following official AsyncAPI tools are already updated to support 2.5.0 version of the specification: +- JSON Schema that supports validation of AsyncAPI documents is updated in [this](https://github.com/asyncapi/spec-json-schemas) repository. Also **@asyncapi/specs** package has been updated on NPM to version ``, and it contains the 2.4.0 JSON Schema. +- [JavaScript Parser](https://github.com/asyncapi/parser-js/) uses latest **@asyncapi/specs** package and can be used to parse and validate 2.5.0 documents. Upgrade to `` version. +- [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgrade to `` version. +- [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgrade to `` version. +- [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgrade to `` version. + +Last but not least is the AsyncAPI Studio. [Check out the Studio with this example](https://studio.asyncapi.com/?url=https://raw.githubusercontent.com/asyncapi/spec/v2.5.0/examples/websocket-gemini.yml). + +## Look ahead + +We aim to have a regular cadence of releases of the AsyncAPI specification, four times a year. For more information about when to expect future releases, you can see our [release process document](https://github.com/asyncapi/spec/blob/master/RELEASE_PROCESS.md#release-cadence). + +We're also working on the next major release of the AsyncAPI specification: 3.0.0. If you'd like to contribute, or just follow the discussions, you can see [Work on 3.0 release issue](https://github.com/asyncapi/spec/issues/691). + +> Photo by Jeremy Thomas on Unsplash diff --git a/public/img/avatars/char0n.webp b/public/img/avatars/char0n.webp new file mode 100644 index 0000000000000000000000000000000000000000..e8088da0a7f8948ea0eb9cf6974de17fead879e1 GIT binary patch literal 19052 zcmbTc1CS-%)-AfrW|!?Q+qSJP+tp>;wr$($s_L?BTV1yGs=ssod;WNF{}=Dxxnt!T zIp>%w=UBOSL}u)%C?P6pBnbfg5D}DDm1kFj1^@u$UxOD2paKMt5E7El1^zk(0O$TR zv~mEY2LP|h8001etzDP z0ss&R0Kj|f=jUtQ=jVGq006QM0CZdbC*LL)0ARoW^2h$iN0I{oAOr#c&HexJ8KeLJ zEg=8^#)_@Jz5YMf0r@%to0tFqHzfc7oH_vTZ5jZ8*8JDLeZ~I90R>9{fb!Q~NlyR( zY3Tp}nd#TsTK|J?$ghO|wQv8QoPY1%*Eg5IkrDuyh6c(4qT~Zo1>&Va3>GXQgrgJu z!wzJizWPC|CQQvJV(EooRm>KhA_?M3dimQjP`N!RY0r@#?QV-}$LD4f=Xqj&k=;3F zezrdg1WvdoeTePeSyg1O67D6|0*o{bC)R4^eXl#XO zvp2L=J-T2qM_R}KP7GxD4Kz4Eh1>zqE^#&&{fbG8-p7+%JGNlXSeg5Q*68d(XH zKezVYU)d!xc92ljH$BGhs2YKRe-qIH%`s_lrBky+^Jy4H3Kyy*Z0m zQ(Xw;JT%RIF^cqpB!WO(sw?IEnoO-itS_BM25uPlT4os)<}~Y$i|djxa~&I_uBPqt znO$qFUD6%H_G^v|#I8F{ZI&$jDFH%;wS#oj1Oj}CMY7z2;h`B&<&>qi0=-jbFi1uK zDZnb(^g+yR@>^1QMgyY`Y9VQcC#S$=^O#(@`0B%s$4}%FM}!P3HVW^Up>JvIXQ$?S zzz7G5c?km(KGRWhX%eCV^AY~#URn0;6S@>s*uVh8JcuLS_{YLI2Zic2=9W@!0AEO` z!KZvYQlfZD|6}2B*Y46*p0ti~AB3ofm+l3!#VvIAsO2uJQ=OCO1xfEzM2qbUuWD$a zh@u3dm)In-U4KjrjsX9G%5E;`N>9-4v!kV$phkXUohs0C7}4;7u3}e1>^(6tj4AhF z52QtkhyD-G`1C@AZ6Z5?K*3zK5NFcN&Z4dy>&aj9len-17p_iK?r0l#U>FY%{AP|I za-jMex8U&u!J*(8zIzX0>^{bj!iLSErf_YEpt2D-zG5f$!n69`>&PhRMM`c$0gS)gOKo+z;pgyY`}R0UlK0IEz-rD0JcvKdy3*^H%Gw-`0*FGq!jB=#lO z_U8%3RUGE&BX3vMe_15$>H1ysGgA(HG zczIrHyXy7c)TI!kDHm4RmQBm}ehTa3hBoomeh@jcv?qygbaO}4Jt*&n1LNm9IxUZt z#DxbLCUUMO8QRNKuo~P3&mhe=_f1d=$`&|C4*OmcQfaCB*N{HsOD_mY5QyhVcf2i( zd(g(uL{eVu9ps^{_r7Vis?CQ6$!84Wc$U+BCL$l(&=iwrY~<#dH^(Vyq|a1t6> zn5rqP;|f`PzkL7^@=JmJq@nN&V+#4P|P)=F> zD8ELy;~sexw=@cT$z{A$#0^%X3@-#xtM;OjHK2;^=NRDQglcLNny$1$7Z%@12B=}8 zSc7^Z0PKm`p;Gvr^h+5j!;4Vw=KzoCGd*TAde4U{JAn6P z?gJ7U&~CcWycK⪻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 literal 0 HcmV?d00001 From a4474e8b089f141f49c6c9c0ce15c734512a63a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Thu, 22 Sep 2022 15:47:44 +0200 Subject: [PATCH 02/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Sergio Moya <1083296+smoya@users.noreply.github.com> --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 46393d7d0cf..002851178e6 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -77,7 +77,7 @@ that the resolution is done as defined by the [JSON Reference](https://tools.iet ## Tooling support The following official AsyncAPI tools are already updated to support 2.5.0 version of the specification: -- JSON Schema that supports validation of AsyncAPI documents is updated in [this](https://github.com/asyncapi/spec-json-schemas) repository. Also **@asyncapi/specs** package has been updated on NPM to version ``, and it contains the 2.4.0 JSON Schema. +- JSON Schema that supports validation of AsyncAPI documents is updated in [this](https://github.com/asyncapi/spec-json-schemas) repository. Also **@asyncapi/specs** package has been updated on NPM to version ``, and it contains the JSON Schema document for AsyncAPI Spec 2.5.0. - [JavaScript Parser](https://github.com/asyncapi/parser-js/) uses latest **@asyncapi/specs** package and can be used to parse and validate 2.5.0 documents. Upgrade to `` version. - [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgrade to `` version. - [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgrade to `` version. From 921056d96ed199ce220121444de6e62183f575ea Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Fri, 23 Sep 2022 09:26:43 +0200 Subject: [PATCH 03/37] chore(blog): add section about tag server decoration --- pages/blog/release-notes-2.5.0.md | 43 +++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 002851178e6..25ed83e5b62 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -29,7 +29,7 @@ AsyncAPI 2.5.0 remedies this deficiency by allowing to use `Reference Object` wh Following example is now fully compliant with the specification: ```yaml -asyncapi: 2.4.0 +asyncapi: 2.5.0 servers: development: $ref: '#/components/servers/myserver' @@ -57,7 +57,46 @@ This new feature was contributed by [Vladimír Gorej](https://github.com/char0n) ## Decorating Server Object with tags -placeholder for description +Tags are used to categorize or group resources. 2.5.0 introduces support for defining tags at Server level, which can be used for many use cases like grouping servers by their features: environment name, cluster name, visibility, owner, etc. + +For example: + +```yaml +asyncapi: '2.5.0' +info: + title: Streetlights Kafka API + version: '1.0.0' +servers: + scram-connections: + url: test.mykafkacluster.org:18092 + protocol: kafka-secure + description: Test broker secured with scramSha256 + security: + - saslScram: [] + tags: + - name: "env:test-scram" + description: "This environment is meant for running internal tests through scramSha256" + - name: "kind:remote" + description: "This server is a remote server. Not exposed by the application" + - name: "visibility:private" + description: "This resource is private and only available to certain users" + mtls-connections: + url: test.mykafkacluster.org:28092 + protocol: kafka-secure + description: Test broker secured with X509 + security: + - certs: [] + tags: + - name: "env:test-mtls" + description: "This environment is meant for running internal tests through mtls" + - name: "kind:remote" + description: "This server is a remote server. Not exposed by the application" + - name: "visibility:private" + description: "This resource is private and only available to certain users" +channels: {} +``` + +This new feature was contributed by [Sergio Moya](https://github.com/smoya). For more detail, see [Sergio's `/spec #809` pull request](https://github.com/asyncapi/spec/pull/809) and the [GitHub issue where Sergio's change was discussed](https://github.com/asyncapi/spec/issues/654). ## Clarifications From 712cd5805fd3e3fe586d06d8150a07f690c6bce6 Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Sat, 24 Sep 2022 14:38:29 +0200 Subject: [PATCH 04/37] chore(blog): add section + placelhoder for IBMMQ binding --- pages/blog/release-notes-2.5.0.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 25ed83e5b62..ff82ab011d9 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -96,6 +96,10 @@ servers: channels: {} ``` +## Added missing IBMMQ Operation Binding + +content placeholder + This new feature was contributed by [Sergio Moya](https://github.com/smoya). For more detail, see [Sergio's `/spec #809` pull request](https://github.com/asyncapi/spec/pull/809) and the [GitHub issue where Sergio's change was discussed](https://github.com/asyncapi/spec/issues/654). ## Clarifications From e552d6359f741bffc20cad47f6733d00ece51a56 Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Sat, 24 Sep 2022 14:39:20 +0200 Subject: [PATCH 05/37] chore(blog): add section + placelhoder for IBMMQ binding --- pages/blog/release-notes-2.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index ff82ab011d9..889a92e091c 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -96,12 +96,12 @@ servers: channels: {} ``` +This new feature was contributed by [Sergio Moya](https://github.com/smoya). For more detail, see [Sergio's `/spec #809` pull request](https://github.com/asyncapi/spec/pull/809) and the [GitHub issue where Sergio's change was discussed](https://github.com/asyncapi/spec/issues/654). + ## Added missing IBMMQ Operation Binding content placeholder -This new feature was contributed by [Sergio Moya](https://github.com/smoya). For more detail, see [Sergio's `/spec #809` pull request](https://github.com/asyncapi/spec/pull/809) and the [GitHub issue where Sergio's change was discussed](https://github.com/asyncapi/spec/issues/654). - ## Clarifications Here are notable clarifications that got into AsyncAPI 2.5.0 release. Here is the list of notable clarifications that may have From 673b36dc18a00761afaafdb643e86fd57c89a9ec Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Tue, 27 Sep 2022 08:56:45 +0200 Subject: [PATCH 06/37] chore(blog): add section about missing IBM MQ --- pages/blog/release-notes-2.5.0.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 889a92e091c..512720767d8 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -98,9 +98,12 @@ channels: {} This new feature was contributed by [Sergio Moya](https://github.com/smoya). For more detail, see [Sergio's `/spec #809` pull request](https://github.com/asyncapi/spec/pull/809) and the [GitHub issue where Sergio's change was discussed](https://github.com/asyncapi/spec/issues/654). -## Added missing IBMMQ Operation Binding +## Added missing IBM MQ Operation Binding -content placeholder +We noticed that we overlooked and did not define Operation Bindings Object in the case of IBM MQ. +In AsyncAPI 2.5.0, the definition is empty, but its name is reserved for future use to be consistent with the rest of the bindings. + +This change was contributed by [Maciej Urbańczyk](https://github.com/magicmatatjahu). For more detail, see [Maciej's `/spec #840` pull request](https://github.com/asyncapi/spec/pull/840). ## Clarifications From 985cabdb8af6595bbe072ace3530776635857548 Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Tue, 27 Sep 2022 09:36:31 +0200 Subject: [PATCH 07/37] chore(blog): add content placeholder for Google Cloud pub/sub bindings --- pages/blog/release-notes-2.5.0.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 512720767d8..a5b8931286e 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -105,6 +105,12 @@ In AsyncAPI 2.5.0, the definition is empty, but its name is reserved for future This change was contributed by [Maciej Urbańczyk](https://github.com/magicmatatjahu). For more detail, see [Maciej's `/spec #840` pull request](https://github.com/asyncapi/spec/pull/840). +## Added new Google Cloud Pub/Sub Bindings + +`content placeholder` + +This new binding was contributed by [Jeremy Whitlock](https://github.com/whitlockjc). For more detail, see [Jeremy's `/spec #836` pull request](https://github.com/asyncapi/spec/pull/836). + ## Clarifications Here are notable clarifications that got into AsyncAPI 2.5.0 release. Here is the list of notable clarifications that may have From 493886f72a5584c44a58a57453bcac8bf133853f Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Wed, 28 Sep 2022 09:27:29 +0200 Subject: [PATCH 08/37] chore(blog): add content for Google Pub/Sub bindings --- pages/blog/release-notes-2.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index a5b8931286e..2519087a61e 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -107,9 +107,9 @@ This change was contributed by [Maciej Urbańczyk](https://github.com/magicmatat ## Added new Google Cloud Pub/Sub Bindings -`content placeholder` +The specification is now extended to support another custom protocol through the bindings feature: -This new binding was contributed by [Jeremy Whitlock](https://github.com/whitlockjc). For more detail, see [Jeremy's `/spec #836` pull request](https://github.com/asyncapi/spec/pull/836). +Google Cloud Pub/Sub, thanks to [Jeremy Whitlock](https://github.com/whitlockjc). For more details, check out this [pull request](https://github.com/asyncapi/spec/pull/836) and [binding definition](https://github.com/asyncapi/bindings/tree/master/googlepubsub). ## Clarifications From 8ff0271ff200561266c212ef713bc9db98b21701 Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Wed, 28 Sep 2022 14:56:38 +0200 Subject: [PATCH 09/37] chore: set release date for 29.9.2022 --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 2519087a61e..21d79bab2c5 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -1,6 +1,6 @@ --- title: AsyncAPI Spec 2.5.0 Release Notes -date: 2022-09-20T16:41:00+01:00 +date: 2022-09-29T16:41:00+01:00 type: Communication tags: - Specification From f3204012c63cfa63502b1089665741cec3eceacf Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Wed, 28 Sep 2022 15:03:48 +0200 Subject: [PATCH 10/37] chore: set versions to tooling --- pages/blog/release-notes-2.5.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 21d79bab2c5..1c344cc7a28 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -130,10 +130,10 @@ that the resolution is done as defined by the [JSON Reference](https://tools.iet The following official AsyncAPI tools are already updated to support 2.5.0 version of the specification: - JSON Schema that supports validation of AsyncAPI documents is updated in [this](https://github.com/asyncapi/spec-json-schemas) repository. Also **@asyncapi/specs** package has been updated on NPM to version ``, and it contains the JSON Schema document for AsyncAPI Spec 2.5.0. -- [JavaScript Parser](https://github.com/asyncapi/parser-js/) uses latest **@asyncapi/specs** package and can be used to parse and validate 2.5.0 documents. Upgrade to `` version. -- [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgrade to `` version. -- [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgrade to `` version. -- [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgrade to `` version. +- [JavaScript Parser](https://github.com/asyncapi/parser-js/) uses latest **@asyncapi/specs** package and can be used to parse and validate 2.5.0 documents. Upgrade to `1.17.0` version. +- [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgrade to `0.26.0` version. +- [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgrade to `1.1.0` version. +- [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgrade to `1.10.0` version. Last but not least is the AsyncAPI Studio. [Check out the Studio with this example](https://studio.asyncapi.com/?url=https://raw.githubusercontent.com/asyncapi/spec/v2.5.0/examples/websocket-gemini.yml). From e35e2a3aa0d6242f98b31bec0c13a1694b89a2b6 Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Wed, 28 Sep 2022 15:09:10 +0200 Subject: [PATCH 11/37] chore: add AsyncAPI React Component --- pages/blog/release-notes-2.5.0.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 1c344cc7a28..cffb2e30780 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -129,8 +129,9 @@ that the resolution is done as defined by the [JSON Reference](https://tools.iet ## Tooling support The following official AsyncAPI tools are already updated to support 2.5.0 version of the specification: -- JSON Schema that supports validation of AsyncAPI documents is updated in [this](https://github.com/asyncapi/spec-json-schemas) repository. Also **@asyncapi/specs** package has been updated on NPM to version ``, and it contains the JSON Schema document for AsyncAPI Spec 2.5.0. -- [JavaScript Parser](https://github.com/asyncapi/parser-js/) uses latest **@asyncapi/specs** package and can be used to parse and validate 2.5.0 documents. Upgrade to `1.17.0` version. +- JSON Schema that supports validation of AsyncAPI documents is updated in [this](https://github.com/asyncapi/spec-json-schemas) repository. Also **@asyncapi/specs** package has been updated on NPM to version `3.2.0`, and it contains the JSON Schema document for AsyncAPI Spec 2.5.0. +- [JavaScript Parser](https://github.com/asyncapi/parser-js/) can be used to parse and validate 2.5.0 documents. Upgrade to `1.17.0` version. +- [AsyncAPI React Component](https://github.com/asyncapi/asyncapi-react) allows you to render the documentation of your asynchronous API provided in the AsyncAPI specification format and validate this specification. Upgrade to `v1.0.0-next.43` version. - [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgrade to `0.26.0` version. - [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgrade to `1.1.0` version. - [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgrade to `1.10.0` version. From d09bab3b5d0ca0f3d707b6c9817bef5fdfcd4a3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:02:30 +0200 Subject: [PATCH 12/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index cffb2e30780..a619cef6f1c 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -11,7 +11,7 @@ authors: photo: /img/avatars/char0n.webp link: https://twitter.com/vladimirgorej byline: Open Source Software Engineer, OSS contributor, author and content creator. -excerpt: "AsyncAPI 2.5 is now released. This brings really helpful additions, such as extended Server Variables reusability, and many clarifications" +excerpt: "The release of AsyncAPI 2.5 brings helpful additions, such as extended Server Variables reusability and many clarifications." featured: true --- From d8e1142e59ba93f3ed437abb19ad35889e8eff4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:03:07 +0200 Subject: [PATCH 13/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index a619cef6f1c..a5864d94faa 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -21,7 +21,7 @@ The new version of the AsyncAPI specification - 2.5.0 - is now available. ## Server Variables can be now referenced from inside the Server Object -Previous AsyncAPI 2.4.0 release came with support of [defining Server Variable Objects as reusable components](https://www.asyncapi.com/blog/release-notes-2.4.0#server-variables-can-be-now-referenced-from-components). +Previous AsyncAPI 2.4.0 release came with the support of [defining Server Variable Objects as reusable components](https://www.asyncapi.com/blog/release-notes-2.4.0#server-variables-can-be-now-referenced-from-components). Unfortunately AsyncAPI 2.4.0 doesn't allow to reference reusable server variable objects from within the `Server Object`. So we ended up in a situation that reusable server variable objects can be defined, but they actually cannot be reused. AsyncAPI 2.5.0 remedies this deficiency by allowing to use `Reference Object` whenever `Server Variable Object` can be used inside `Server.variables` field. From bf3c2b94c8c36eb66bb46320f5d2daf2e163ef58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:03:17 +0200 Subject: [PATCH 14/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index a5864d94faa..813ba6d9135 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -22,7 +22,7 @@ The new version of the AsyncAPI specification - 2.5.0 - is now available. ## Server Variables can be now referenced from inside the Server Object Previous AsyncAPI 2.4.0 release came with the support of [defining Server Variable Objects as reusable components](https://www.asyncapi.com/blog/release-notes-2.4.0#server-variables-can-be-now-referenced-from-components). -Unfortunately AsyncAPI 2.4.0 doesn't allow to reference reusable server variable objects from within the `Server Object`. +Unfortunately, AsyncAPI 2.4.0 doesn't allow referencing reusable _server variable objects_ from within the `Server Object`. So we ended up in a situation that reusable server variable objects can be defined, but they actually cannot be reused. AsyncAPI 2.5.0 remedies this deficiency by allowing to use `Reference Object` whenever `Server Variable Object` can be used inside `Server.variables` field. From fa4eda1d1bc3277e91f4fc62a1b1fe021d40eeef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:03:26 +0200 Subject: [PATCH 15/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 813ba6d9135..d8a91a24c69 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -23,7 +23,7 @@ The new version of the AsyncAPI specification - 2.5.0 - is now available. Previous AsyncAPI 2.4.0 release came with the support of [defining Server Variable Objects as reusable components](https://www.asyncapi.com/blog/release-notes-2.4.0#server-variables-can-be-now-referenced-from-components). Unfortunately, AsyncAPI 2.4.0 doesn't allow referencing reusable _server variable objects_ from within the `Server Object`. -So we ended up in a situation that reusable server variable objects can be defined, but they actually cannot be reused. +So we ended up in a situation where reusable server variable objects can be defined but cannot be reused. AsyncAPI 2.5.0 remedies this deficiency by allowing to use `Reference Object` whenever `Server Variable Object` can be used inside `Server.variables` field. Following example is now fully compliant with the specification: From 581b853033157ccac6637cf8c9fb7c79d913a875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:03:47 +0200 Subject: [PATCH 16/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index d8a91a24c69..7828db13044 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -24,7 +24,7 @@ The new version of the AsyncAPI specification - 2.5.0 - is now available. Previous AsyncAPI 2.4.0 release came with the support of [defining Server Variable Objects as reusable components](https://www.asyncapi.com/blog/release-notes-2.4.0#server-variables-can-be-now-referenced-from-components). Unfortunately, AsyncAPI 2.4.0 doesn't allow referencing reusable _server variable objects_ from within the `Server Object`. So we ended up in a situation where reusable server variable objects can be defined but cannot be reused. -AsyncAPI 2.5.0 remedies this deficiency by allowing to use `Reference Object` whenever `Server Variable Object` can be used inside `Server.variables` field. +AsyncAPI 2.5.0 remedies this deficiency by allowing the use of `Reference Object`s whenever `Server Variable Object`s can be used inside the `Server.variables` field. Following example is now fully compliant with the specification: From c75c5d1b6d6c800ccc8b9f4b9d0fcf3efe9d0ce6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:03:57 +0200 Subject: [PATCH 17/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 7828db13044..130f7f757f0 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -26,7 +26,7 @@ Unfortunately, AsyncAPI 2.4.0 doesn't allow referencing reusable _server variabl So we ended up in a situation where reusable server variable objects can be defined but cannot be reused. AsyncAPI 2.5.0 remedies this deficiency by allowing the use of `Reference Object`s whenever `Server Variable Object`s can be used inside the `Server.variables` field. -Following example is now fully compliant with the specification: +The following example is now fully compliant with the updated specification: ```yaml asyncapi: 2.5.0 From f1a9306db8d43d1b21626ee2e9ce0f883c493488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:04:20 +0200 Subject: [PATCH 18/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 130f7f757f0..781d5749a74 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -57,7 +57,7 @@ This new feature was contributed by [Vladimír Gorej](https://github.com/char0n) ## Decorating Server Object with tags -Tags are used to categorize or group resources. 2.5.0 introduces support for defining tags at Server level, which can be used for many use cases like grouping servers by their features: environment name, cluster name, visibility, owner, etc. +Tags categorize or group resources. 2.5.0 introduces support for defining tags at the Server level, which can be used for many use cases such as grouping servers by their features: environment name, cluster name, visibility, owner, etc. For example: From 89eea09c276c8d37165d819221f99ddcd5aef66f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:04:44 +0200 Subject: [PATCH 19/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 781d5749a74..924ae175d54 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -88,7 +88,7 @@ servers: - certs: [] tags: - name: "env:test-mtls" - description: "This environment is meant for running internal tests through mtls" + description: "This environment is for running internal tests through mTLS" - name: "kind:remote" description: "This server is a remote server. Not exposed by the application" - name: "visibility:private" From a86fbf627f3331084f3725fde2c695186d6606d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:05:01 +0200 Subject: [PATCH 20/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 924ae175d54..af639630496 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -75,7 +75,7 @@ servers: - saslScram: [] tags: - name: "env:test-scram" - description: "This environment is meant for running internal tests through scramSha256" + description: "This environment is for running internal tests through scramSha256" - name: "kind:remote" description: "This server is a remote server. Not exposed by the application" - name: "visibility:private" From 56eb8330838e16cd3577e2e6057cac97f4fcde23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:05:09 +0200 Subject: [PATCH 21/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index af639630496..e138c90e7ab 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -100,7 +100,7 @@ This new feature was contributed by [Sergio Moya](https://github.com/smoya). For ## Added missing IBM MQ Operation Binding -We noticed that we overlooked and did not define Operation Bindings Object in the case of IBM MQ. +We noticed that we overlooked and did not define the Operation Bindings Object in the case of IBM MQ. In AsyncAPI 2.5.0, the definition is empty, but its name is reserved for future use to be consistent with the rest of the bindings. This change was contributed by [Maciej Urbańczyk](https://github.com/magicmatatjahu). For more detail, see [Maciej's `/spec #840` pull request](https://github.com/asyncapi/spec/pull/840). From 05aeb58da3f800205baa6fea0f2ede4ddeb8917d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:05:20 +0200 Subject: [PATCH 22/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index e138c90e7ab..64d2d5faa34 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -109,7 +109,7 @@ This change was contributed by [Maciej Urbańczyk](https://github.com/magicmatat The specification is now extended to support another custom protocol through the bindings feature: -Google Cloud Pub/Sub, thanks to [Jeremy Whitlock](https://github.com/whitlockjc). For more details, check out this [pull request](https://github.com/asyncapi/spec/pull/836) and [binding definition](https://github.com/asyncapi/bindings/tree/master/googlepubsub). +Google Cloud Pub/Sub, thanks to [Jeremy Whitlock](https://github.com/whitlockjc). For more details, check out this [pull request](https://github.com/asyncapi/spec/pull/836) and the [binding definition](https://github.com/asyncapi/bindings/tree/master/googlepubsub). ## Clarifications From d6f66fb9e0b9678608ceab7d6d7f75d654fa1870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:05:30 +0200 Subject: [PATCH 23/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 64d2d5faa34..1b45f783875 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -113,8 +113,7 @@ Google Cloud Pub/Sub, thanks to [Jeremy Whitlock](https://github.com/whitlockjc) ## Clarifications -Here are notable clarifications that got into AsyncAPI 2.5.0 release. Here is the list of notable clarifications that may have -impact on the tooling authors: +Here are notable clarifications that got into the AsyncAPI 2.5.0 release. Here is the list of notable clarifications that may have an impact on the tooling authors: **ChannelItem.$ref resolution rules** From f77f857bd74842725529b15190c059c9b2502198 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:05:56 +0200 Subject: [PATCH 24/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 1b45f783875..825324e8f87 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -122,8 +122,7 @@ The meaning of `absolute URL` is now defined by [RFC3986, section 4.3](https://d **Clarification around URL resolution rules** -The resolution rules around `ChannelItem.$ref` field were not clearly defined. AsyncAPI 2.5.0 comes with explicit clarification -that the resolution is done as defined by the [JSON Reference](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03). +The resolution rules around `ChannelItem.$ref` field were not clearly defined. AsyncAPI 2.5.0 comes with explicit clarification that the resolution is done as defined by the [JSON Reference](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03). ## Tooling support From f8fd0b67666366e3b25054a08572c7fec149fe0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:06:07 +0200 Subject: [PATCH 25/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 825324e8f87..53074881e48 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -126,7 +126,7 @@ The resolution rules around `ChannelItem.$ref` field were not clearly defined. A ## Tooling support -The following official AsyncAPI tools are already updated to support 2.5.0 version of the specification: +The following official AsyncAPI tools are already updated to support the 2.5.0 specification version: - JSON Schema that supports validation of AsyncAPI documents is updated in [this](https://github.com/asyncapi/spec-json-schemas) repository. Also **@asyncapi/specs** package has been updated on NPM to version `3.2.0`, and it contains the JSON Schema document for AsyncAPI Spec 2.5.0. - [JavaScript Parser](https://github.com/asyncapi/parser-js/) can be used to parse and validate 2.5.0 documents. Upgrade to `1.17.0` version. - [AsyncAPI React Component](https://github.com/asyncapi/asyncapi-react) allows you to render the documentation of your asynchronous API provided in the AsyncAPI specification format and validate this specification. Upgrade to `v1.0.0-next.43` version. From fcf0ea4d8bcdaed9ebc7d080782619d8cd2e21ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:07:57 +0200 Subject: [PATCH 26/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 53074881e48..b6c75f1d3da 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -128,7 +128,7 @@ The resolution rules around `ChannelItem.$ref` field were not clearly defined. A The following official AsyncAPI tools are already updated to support the 2.5.0 specification version: - JSON Schema that supports validation of AsyncAPI documents is updated in [this](https://github.com/asyncapi/spec-json-schemas) repository. Also **@asyncapi/specs** package has been updated on NPM to version `3.2.0`, and it contains the JSON Schema document for AsyncAPI Spec 2.5.0. -- [JavaScript Parser](https://github.com/asyncapi/parser-js/) can be used to parse and validate 2.5.0 documents. Upgrade to `1.17.0` version. +- [JavaScript Parser](https://github.com/asyncapi/parser-js/) can be used to parse and validate 2.5.0 documents. Upgraded to `the 1.17.0` version. - [AsyncAPI React Component](https://github.com/asyncapi/asyncapi-react) allows you to render the documentation of your asynchronous API provided in the AsyncAPI specification format and validate this specification. Upgrade to `v1.0.0-next.43` version. - [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgrade to `0.26.0` version. - [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgrade to `1.1.0` version. From 212c166b4db2bfbeaff1938109f6f4211661a702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:08:26 +0200 Subject: [PATCH 27/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index b6c75f1d3da..e3bd23c1161 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -129,7 +129,7 @@ The resolution rules around `ChannelItem.$ref` field were not clearly defined. A The following official AsyncAPI tools are already updated to support the 2.5.0 specification version: - JSON Schema that supports validation of AsyncAPI documents is updated in [this](https://github.com/asyncapi/spec-json-schemas) repository. Also **@asyncapi/specs** package has been updated on NPM to version `3.2.0`, and it contains the JSON Schema document for AsyncAPI Spec 2.5.0. - [JavaScript Parser](https://github.com/asyncapi/parser-js/) can be used to parse and validate 2.5.0 documents. Upgraded to `the 1.17.0` version. -- [AsyncAPI React Component](https://github.com/asyncapi/asyncapi-react) allows you to render the documentation of your asynchronous API provided in the AsyncAPI specification format and validate this specification. Upgrade to `v1.0.0-next.43` version. +- [AsyncAPI React Component](https://github.com/asyncapi/asyncapi-react) allows you to render and validate the documentation of your asynchronous API provided in the AsyncAPI specification format. Upgraded to the `v1.0.0-next.43` version. - [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgrade to `0.26.0` version. - [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgrade to `1.1.0` version. - [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgrade to `1.10.0` version. From 96620cf5b4fe5abd26541764b5f729506f064fe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:08:35 +0200 Subject: [PATCH 28/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index e3bd23c1161..4935dc43055 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -130,7 +130,7 @@ The following official AsyncAPI tools are already updated to support the 2.5.0 s - JSON Schema that supports validation of AsyncAPI documents is updated in [this](https://github.com/asyncapi/spec-json-schemas) repository. Also **@asyncapi/specs** package has been updated on NPM to version `3.2.0`, and it contains the JSON Schema document for AsyncAPI Spec 2.5.0. - [JavaScript Parser](https://github.com/asyncapi/parser-js/) can be used to parse and validate 2.5.0 documents. Upgraded to `the 1.17.0` version. - [AsyncAPI React Component](https://github.com/asyncapi/asyncapi-react) allows you to render and validate the documentation of your asynchronous API provided in the AsyncAPI specification format. Upgraded to the `v1.0.0-next.43` version. -- [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgrade to `0.26.0` version. +- [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgraded to the `0.26.0` version. - [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgrade to `1.1.0` version. - [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgrade to `1.10.0` version. From 3ed0872d96805359491c051b8af640eb211adc8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:08:43 +0200 Subject: [PATCH 29/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 4935dc43055..c1935cd7db1 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -131,7 +131,7 @@ The following official AsyncAPI tools are already updated to support the 2.5.0 s - [JavaScript Parser](https://github.com/asyncapi/parser-js/) can be used to parse and validate 2.5.0 documents. Upgraded to `the 1.17.0` version. - [AsyncAPI React Component](https://github.com/asyncapi/asyncapi-react) allows you to render and validate the documentation of your asynchronous API provided in the AsyncAPI specification format. Upgraded to the `v1.0.0-next.43` version. - [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgraded to the `0.26.0` version. -- [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgrade to `1.1.0` version. +- [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgraded to the `1.1.0` version. - [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgrade to `1.10.0` version. Last but not least is the AsyncAPI Studio. [Check out the Studio with this example](https://studio.asyncapi.com/?url=https://raw.githubusercontent.com/asyncapi/spec/v2.5.0/examples/websocket-gemini.yml). From ac84c2024fa5a1b718812913a94b87156cc2cd4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:08:51 +0200 Subject: [PATCH 30/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index c1935cd7db1..b52cb65cdfc 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -132,7 +132,7 @@ The following official AsyncAPI tools are already updated to support the 2.5.0 s - [AsyncAPI React Component](https://github.com/asyncapi/asyncapi-react) allows you to render and validate the documentation of your asynchronous API provided in the AsyncAPI specification format. Upgraded to the `v1.0.0-next.43` version. - [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgraded to the `0.26.0` version. - [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgraded to the `1.1.0` version. -- [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgrade to `1.10.0` version. +- [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgraded to the `1.10.0` version. Last but not least is the AsyncAPI Studio. [Check out the Studio with this example](https://studio.asyncapi.com/?url=https://raw.githubusercontent.com/asyncapi/spec/v2.5.0/examples/websocket-gemini.yml). From e434b419683cfefeab24a193b5b0b0a9b4b9b662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:09:04 +0200 Subject: [PATCH 31/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index b52cb65cdfc..5ac7dc6bb85 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -140,6 +140,6 @@ Last but not least is the AsyncAPI Studio. [Check out the Studio with this examp We aim to have a regular cadence of releases of the AsyncAPI specification, four times a year. For more information about when to expect future releases, you can see our [release process document](https://github.com/asyncapi/spec/blob/master/RELEASE_PROCESS.md#release-cadence). -We're also working on the next major release of the AsyncAPI specification: 3.0.0. If you'd like to contribute, or just follow the discussions, you can see [Work on 3.0 release issue](https://github.com/asyncapi/spec/issues/691). +We're also working on the next major release of the AsyncAPI specification: 3.0.0. If you'd like to contribute, or just follow the discussions, you can see [work on the 3.0 release issue](https://github.com/asyncapi/spec/issues/691). > Photo by Jeremy Thomas on Unsplash From 20769c04e0807704a0aa43726f0c0b2c7b618fd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:09:49 +0200 Subject: [PATCH 32/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 5ac7dc6bb85..717aad0f43d 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -134,7 +134,7 @@ The following official AsyncAPI tools are already updated to support the 2.5.0 s - [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgraded to the `1.1.0` version. - [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgraded to the `1.10.0` version. -Last but not least is the AsyncAPI Studio. [Check out the Studio with this example](https://studio.asyncapi.com/?url=https://raw.githubusercontent.com/asyncapi/spec/v2.5.0/examples/websocket-gemini.yml). +- Last but not least comes AsyncAPI Studio. [Check out AsyncAPI Studio with this YAML example](https://studio.asyncapi.com/?url=https://raw.githubusercontent.com/asyncapi/spec/v2.5.0/examples/websocket-gemini.yml). ## Look ahead From 2e812f1e2d6aec4a2329cfa89edff00e4f4797cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:10:04 +0200 Subject: [PATCH 33/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Alejandra Quetzalli --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 717aad0f43d..dc312abc6d3 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -138,7 +138,7 @@ The following official AsyncAPI tools are already updated to support the 2.5.0 s ## Look ahead -We aim to have a regular cadence of releases of the AsyncAPI specification, four times a year. For more information about when to expect future releases, you can see our [release process document](https://github.com/asyncapi/spec/blob/master/RELEASE_PROCESS.md#release-cadence). +We aim to have a quarterly cadence of releases of the AsyncAPI specification. For more information about when to expect future releases, you can see our [release process document](https://github.com/asyncapi/spec/blob/master/RELEASE_PROCESS.md#release-cadence). We're also working on the next major release of the AsyncAPI specification: 3.0.0. If you'd like to contribute, or just follow the discussions, you can see [work on the 3.0 release issue](https://github.com/asyncapi/spec/issues/691). From 3d1ea1249a44c492dc6f8968e30bae84726e0f4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Wed, 28 Sep 2022 21:22:40 +0200 Subject: [PATCH 34/37] Update pages/blog/release-notes-2.5.0.md --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index dc312abc6d3..d26147fd48f 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -127,7 +127,7 @@ The resolution rules around `ChannelItem.$ref` field were not clearly defined. A ## Tooling support The following official AsyncAPI tools are already updated to support the 2.5.0 specification version: -- JSON Schema that supports validation of AsyncAPI documents is updated in [this](https://github.com/asyncapi/spec-json-schemas) repository. Also **@asyncapi/specs** package has been updated on NPM to version `3.2.0`, and it contains the JSON Schema document for AsyncAPI Spec 2.5.0. +- JSON Schema that supports validation of AsyncAPI documents is updated in our [specification JSON schema repository](https://github.com/asyncapi/spec-json-schemas). We updated the **@asyncapi/specs** package on NPM to version `3.2`, containing the JSON Schema document for AsyncAPI Spec 2.5.0. - [JavaScript Parser](https://github.com/asyncapi/parser-js/) can be used to parse and validate 2.5.0 documents. Upgraded to `the 1.17.0` version. - [AsyncAPI React Component](https://github.com/asyncapi/asyncapi-react) allows you to render and validate the documentation of your asynchronous API provided in the AsyncAPI specification format. Upgraded to the `v1.0.0-next.43` version. - [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgraded to the `0.26.0` version. From 541162f7b6d3c42b2613a12f7b2c1b11e1e25f06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Thu, 29 Sep 2022 12:40:19 +0200 Subject: [PATCH 35/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Jonas Lagoni --- pages/blog/release-notes-2.5.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index d26147fd48f..6c91818a090 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -133,6 +133,7 @@ The following official AsyncAPI tools are already updated to support the 2.5.0 s - [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgraded to the `0.26.0` version. - [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgraded to the `1.1.0` version. - [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgraded to the `1.10.0` version. +- [Modelina](https://github.com/asyncapi/modelina/) can be used to generate typed models. Upgraded to the `1.0.0-next.11` version. - Last but not least comes AsyncAPI Studio. [Check out AsyncAPI Studio with this YAML example](https://studio.asyncapi.com/?url=https://raw.githubusercontent.com/asyncapi/spec/v2.5.0/examples/websocket-gemini.yml). From 035f484bd258903dc097609bf506d7beae195889 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Thu, 29 Sep 2022 12:41:07 +0200 Subject: [PATCH 36/37] Update pages/blog/release-notes-2.5.0.md --- pages/blog/release-notes-2.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 6c91818a090..72d2eed720f 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -132,7 +132,7 @@ The following official AsyncAPI tools are already updated to support the 2.5.0 s - [AsyncAPI React Component](https://github.com/asyncapi/asyncapi-react) allows you to render and validate the documentation of your asynchronous API provided in the AsyncAPI specification format. Upgraded to the `v1.0.0-next.43` version. - [HTML template](https://github.com/asyncapi/html-template) uses the latest **@asyncapi/react-component** package. Upgraded to the `0.26.0` version. - [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgraded to the `1.1.0` version. -- [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgraded to the `1.10.0` version. +- [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgraded to the `1.9.12` version. - [Modelina](https://github.com/asyncapi/modelina/) can be used to generate typed models. Upgraded to the `1.0.0-next.11` version. - Last but not least comes AsyncAPI Studio. [Check out AsyncAPI Studio with this YAML example](https://studio.asyncapi.com/?url=https://raw.githubusercontent.com/asyncapi/spec/v2.5.0/examples/websocket-gemini.yml). From 1a2a6c6725ebb0810090be107d66472f8f285432 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Thu, 29 Sep 2022 14:38:24 +0200 Subject: [PATCH 37/37] Update pages/blog/release-notes-2.5.0.md Co-authored-by: Lukasz Gornicki --- pages/blog/release-notes-2.5.0.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pages/blog/release-notes-2.5.0.md b/pages/blog/release-notes-2.5.0.md index 72d2eed720f..70c544671e1 100644 --- a/pages/blog/release-notes-2.5.0.md +++ b/pages/blog/release-notes-2.5.0.md @@ -134,7 +134,11 @@ The following official AsyncAPI tools are already updated to support the 2.5.0 s - [JavaScript Converter](https://github.com/asyncapi/converter-js/) enables conversion from any AsyncAPI version into the 2.5.0 version of the spec. Upgraded to the `1.1.0` version. - [Generator](https://github.com/asyncapi/generator/) uses the latest @asyncapi/parser package, so while generating output, it can validate 2.5.0 documents. Upgraded to the `1.9.12` version. - [Modelina](https://github.com/asyncapi/modelina/) can be used to generate typed models. Upgraded to the `1.0.0-next.11` version. - +- [Bundler](https://github.com/asyncapi/bundler) can be used to generate typed models. Upgraded to the `0.2.3` version. +- [Cupid](https://github.com/asyncapi/cupid) can be used to generate typed models. Upgraded to the `0.6.20` version. +- [Optimizer](https://github.com/asyncapi/optimizer) can be used to generate typed models. Upgraded to the `0.1.11` version. +- [Glee](https://github.com/asyncapi/glee) can be used to generate typed models. Upgraded to the `0.10.23` version. +- [Spectral AsyncAPI Ruleset](https://meta.stoplight.io/docs/spectral/1e63ffd0220f3-async-api-rules) that you can use for lining of AsyncAPI documents will be released soon. [The pull request](https://github.com/stoplightio/spectral/pull/2292) is ready. - Last but not least comes AsyncAPI Studio. [Check out AsyncAPI Studio with this YAML example](https://studio.asyncapi.com/?url=https://raw.githubusercontent.com/asyncapi/spec/v2.5.0/examples/websocket-gemini.yml). ## Look ahead