Description
Release 3.0.0 is scheduled for September.
Detailed info
Kick-off
- Release coordinating and contributing: https://www.youtube.com/watch?v=9lJY5NcLMKY
- Contribution guidelines: https://github.com/asyncapi/spec/blob/master/CONTRIBUTING.md
- Release journal: AsyncAPI spec v3.0.0 release journal community#163
Meetings
Previous meeting list:
- Spec 3.0 Meeting, 16 UTC Wednesday January 19 2022 community#235 (comment)
- Spec 3.0 Meeting, 16 UTC Wednesday February 2 2022 community#250
- Spec 3.0 Meeting, 16 UTC Wednesday February 16 2022 community#254
- Spec 3.0 Meeting, 16 UTC Wednesday March 2 2022 community#270
- Spec 3.0 Meeting, 16 UTC Wednesday March 16 2022 community#282
- Spec 3.0 Meeting, 16 UTC Wednesday March 30 2022 community#298
- Spec 3.0 Meeting, 16:00 UTC Wednesday April 13 2022 community#307
- Spec 3.0 Meeting, 16:00 UTC Wednesday April 27th 2022 community#330
- Spec 3.0 Meeting, 16:00 UTC Wednesday May 11th 2022 community#346
- Spec 3.0 Meeting, 16:00 UTC Wednesday May 25th 2022 community#366
- Spec 3.0 Meeting, 16:00 UTC Wednesday June 8th 2022 community#378
- Spec 3.0 Meeting, 16:00 UTC Wednesday June 22nd 2022 community#394
- Spec 3.0 Meeting, 16:00 UTC Wednesday July 6th 2022 community#407
- Spec 3.0 Meeting, 16:00 UTC Wednesday July 20th 2022 community#410
- Spec 3.0 Meeting, 16:00 UTC Wednesday August 3rd 2022 community#417
- Spec 3.0 Meeting, 16:00 UTC Wednesday August 3rd 2022 community#427
- Spec 3.0 Meeting, 16:00 UTC Wednesday August 17th 2022 community#435
- Spec 3.0 Meeting, 16:00 UTC Wednesday August 31st 2022 community#443
- Spec 3.0 Meeting, 16:00 UTC Wednesday September 14th 2022 community#453
- Spec 3.0 Meeting, 16:00 UTC Wednesday September 28th 2022 community#464
- Spec 3.0 Meeting, 16:00 UTC Wednesday October 12th 2022 community#476
- Spec 3.0 Meeting, 16:00 UTC Wednesday October 26th 2022 community#491
- Spec 3.0 Meeting, 16:00 UTC Wednesday November 9th 2022 community#502
- Spec 3.0 Meeting, 16:00 UTC Wednesday November 23rd 2022 community#518
- Spec 3.0 Meeting, 16:00 UTC Wednesday December 7th 2022 community#531
- Spec 3.0 Meeting, 16:00 UTC Wednesday December 21st 2022 community#546
- Spec 3.0 Meeting, 16:00 UTC Wednesday January 18th 2023 community#564
- Spec 3.0 Meeting, 16:00 UTC Wednesday February 1st 2023 community#575
- Spec 3.0 Meeting, 16:00 UTC Wednesday February 15th 2023 community#587
- Spec 3.0 Meeting, 16:00 UTC Wednesday March 1st 2023 community#599
- Spec 3.0 Meeting, 16:00 UTC Wednesday March 15th 2023 community#624
- Spec 3.0 Meeting, 16:00 UTC Wednesday March 29th 2023 community#635
- Spec 3.0 Meeting, 15:00 UTC Thursday April 13th 2023 community#649
- Spec 3.0 Meeting, 15:00 UTC Wednesday April 26th 2023 community#670
- Spec 3.0 Meeting, 16:00 UTC Wednesday May 10th 2023 community#699
- Spec 3.0 Meeting, 16:00 UTC Wednesday May 24th 2023 community#714
- Spec 3.0 Meeting, 16:00 UTC Wednesday June 7th 2023 community#734
- Spec 3.0 Meeting, 16:00 UTC Wednesday June 21st 2023 community#737
- Spec 3.0 Meeting, 16:00 UTC Wednesday July 5th 2023 community#760
- Spec 3.0 Meeting, 16:00 UTC Wednesday July 19th 2023 community#761
- Spec 3.0 Meeting, 16:00 UTC Wednesday August 2nd 2023 community#812
- Spec 3.0 Meeting, 16:00 UTC Wednesday August 2nd 2023 community#823
- Spec 3.0 Meeting, 16:00 UTC Wednesday August 23rd 2023 community#847
Next meeting: asyncapi/community#857
Progress 🔥
All issues for v3 are now complete 🔥
"Completed"
All completed, either introduced, rejected, or not being to work on:
- Proposal to allow defining schema format other than default one (AsyncAPI Schema) #622
@magicmatatjahu@GreenRover- Reached RFC-1
- Reached RFC-2
- Finished changes to spec -
chore: extend Schema Object to allow defining custom formats #797feat: allow defining schema format other than default #910 - Introduced changes to spec-json-schema - feat!: allow multi format schemas spec-json-schemas#370 @smoya
- Introduced changes to parser-js - feat: add support for multi-format schema parser-js#814 @smoya
- Finished changes to spec -
- Reached RFC-3
- Finished changes to spec-json-schema - feat!: allow multi format schemas spec-json-schemas#370 @smoya
- Finished changes to parser-js - feat: add support for multi-format schema parser-js#814 @smoya
- What is next?
- Inconsistencies for schemas in server.variables and channel.parameters #583 - @fmvilas
- Reached RFC-1
- Introduced changes to spec - feat!: simplify parameter object #935
- Reached RFC-2
- Finished changes to spec - feat!: simplify parameter object #935
- Introduced changes to spec-json-schema - feat: add new simplified parameter spec-json-schemas#415
- Introduced changes to parser-js - feat: add simplified channel parameter parser-js#816
- Reached RFC-3
- Finished changes to spec-json-schema - feat: add new simplified parameter spec-json-schemas#415
- Finished changes to parser-js - feat: add simplified channel parameter parser-js#816
- Reached RFC-1
- Application of message traits (intentionally) replacing existing attributes #505 @magicmatatjahu
- Reached RFC-1
- Introduced changes to spec - feat: new traits merge mechanism #907
- Reached RFC-2
- Finished changes to spec - feat: new traits merge mechanism #907 @jonaslagoni
Introduced changes to spec-json-schema- Introduced changes to parser-js - chore: new trait behaviour in v3 spec parser-js#744
- Reached RFC-3
Finished changes to spec-json-schema- Finished changes to parser-js - chore: new trait behaviour in v3 spec parser-js#744 @jonaslagoni
- Reached RFC-1
- Defining a collection of applications #658 @jonaslagoni
- We had our first live discussion: https://www.youtube.com/watch?v=Vl8Nn3GOJiE
- Currently, there does not seem to be enough traction and a need for this change. Therefore I will not push any further.
- Allow referencing non-JSON structures such as Protobuf, XML, XSD, etc @jonaslagoni
- Further progress can be followed here: Allow defining payloads with non-JSON standards (XSD, Protobuf, etc.) #881
- [3.0.0] Introduce
Info Item Object
#795 @magicmatatjahu- Reached RFC-1
- Introduced changes to spec - feat: add missed "metadata" fields in the Server/Channel/Operation Objects #796
- Reached RFC-2
- Finished changes to spec - feat: add missed "metadata" fields in the Server/Channel/Operation Objects #796
- Introduced changes to spec-json-schema - feat: add title, summary and description fields to the core models spec-json-schemas#315
- Introduced changes to parser-js - chore: add missed metadata methods to the core models parser-js#677
- Reached RFC-3
- Finished changes to spec-json-schema - feat: add title, summary and description fields to the core models spec-json-schemas#315
- Finished changes to parser-js - chore: add missed metadata methods to the core models parser-js#677
- Reached RFC-1
- Improve components and what can be defined within them @magicmatatjahu
- Reached RFC-1
- Introduced changes to spec - feat: add more reusable objects to the components object #792
- Reached RFC-2
- Finished changes to spec - feat: add more reusable objects to the components object #792
- Introduced changes to spec-json-schema - feat: add reusable tags and externalDocs objects spec-json-schemas#245
- Introduced changes to parser-js - chore: add reusable tags and externalDocs and move them to the info object parser-js#664
- Reached RFC-3
- Finished changes to spec-json-schema - feat: add reusable tags and externalDocs objects spec-json-schemas#245
- Finished changes to parser-js - chore: add reusable tags and externalDocs and move them to the info object parser-js#664
- Reached RFC-1
- Cleaning up root object @magicmatatjahu
- Reached RFC-1
- Introduced changes to spec - feat: move root tags and externalDocs to the info object #794
- Reached RFC-2
- Finished changes to spec - feat: move root tags and externalDocs to the info object #794
- Introduced changes to spec-json-schema - feat: move tags and externalDocs objects from root to the info object spec-json-schemas#244
- Introduced changes to parser-js - chore: add reusable tags and externalDocs and move them to the info object parser-js#664
- Reached RFC-3
- Finished changes to spec-json-schema - feat: move tags and externalDocs objects from root to the info object spec-json-schemas#244
- Finished changes to parser-js - chore: add reusable tags and externalDocs and move them to the info object parser-js#664
- Reached RFC-1
- Proposal to solve publish/subscribe confusion #618 @smoya
- Make
channels
field optional within an AsyncAPI file. #661 @smoya- Reached RFC-1
- Introduced changes to spec feat: add new channels object #827
- Reached RFC-2
- Finished changes to spec feat: add new channels object #827
- Introduced changes to spec-json-schema - feat!: add new channels and operations objects spec-json-schemas#264
- Introduced changes to parser-js - chore: add support for asyncapi 3.0.0 operations and channels parser-js#654
- Reached RFC-3
- Finished changes to spec-json-schema - feat!: add new channels and operations objects spec-json-schemas#264
- Finished changes to parser-js - chore: add support for asyncapi 3.0.0 operations and channels parser-js#654
- Reached RFC-1
- Let channels be identified by an ID rather than their address. #663 @smoya
- Reached RFC-1
- Introduced changes to spec - feat: add new channels object #827
- Reached RFC-2
- Finished changes to spec - feat: add new channels object #827
- Introduced changes to spec-json-schema - feat!: add new channels and operations objects spec-json-schemas#264
- Introduced changes to parser-js - chore: add support for asyncapi 3.0.0 operations and channels parser-js#654
- Reached RFC-3
- Finished changes to spec-json-schema - feat!: add new channels and operations objects spec-json-schemas#264
- Finished changes to parser-js - chore: add support for asyncapi 3.0.0 operations and channels parser-js#654
- Reached RFC-1
- Make
- Remove
$ref
field fromChannel Item Object
in next breaking change version (3.0.0) #699 @char0n- feat: strip custom referencing mechanism from Channel Item #777
- Implementation ready
- Reviewed
- Merged
- feat: strip custom referencing mechanism from Channel Item #777
- Unify all referencing mechanisms in v3 #829 @fmvilas
- Reached RFC-1
- Introduced changes to spec - feat: unify all referencing mechanisms #852
- Reached RFC-2
- Finished changes to spec - feat: unify all referencing mechanisms #852
- Introduced changes to spec-json-schema - feat: define new security mechanism spec-json-schemas#316
- Introduced changes to parser-js - chore: update v3 models parser-js#708
- Reached RFC-3
- Finished changes to spec-json-schema - feat: define new security mechanism spec-json-schemas#316
- Finished changes to parser-js - chore: update v3 models parser-js#708
- Reached RFC-1
- Support request/reply pattern #94 @GreenRover
- 1st Discussion around potential solution: Request/reply discussion, 15:00 UTC Monday May 16th 2022 community#352
- 2nd Discussion around potential solution: Request/reply discussion, 15:00 UTC Monday May 23rd 2022 community#368
- 3rd Discussion around potential solution: Request/reply discussion, 14:00 UTC Thursday June 9th 2022 community#377
- Agreement reached, progress blocked by:
- Reached RFC-2
- Finished changes to spec - feat: request/response support #847
- Introduced changes to spec-json-schema - feat: add reply object and reply address object spec-json-schemas#330
- Introduced changes to parser-js - Add request/reply support parser-js#732
- Reached RFC-3
- Finished changes to spec-json-schema - feat: add reply object and reply address object spec-json-schemas#330
- Finished changes to parser-js - chore: v3 request reply support parser-js#745
- feat: replace server url with server host and pathname #888 - @fmvilas
- Reached RFC-1
- Introduced changes to spec - feat: replace server url with server host and pathname #888
- Reached RFC-2
- Finished changes to spec - feat: replace server url with server host and pathname #888
- Introduced changes to spec-json-schema - feat: add host and pathname fields in server object spec-json-schemas#329
- Introduced changes to parser-js - chore: update v3 models parser-js#708
- Reached RFC-3
- Finished changes to spec-json-schema - feat: add host and pathname fields in server object spec-json-schemas#329
- Finished changes to parser-js - chore: update v3 models parser-js#708
- Reached RFC-1
Tooling progression
This is the list of tooling issues and PR's that are tied together with the major version spec changes.
- Intent and parser API - Implement Parser-API (Intent-Driven) parser-js#401
- AsyncAPI JSON Schema improvements
- Split sub schemas Split out definitions into separate files spec-json-schemas#127 - @jonaslagoni
- Implementation ready
- Reviewed
- Merged
- Provide JSON Schema files for bindings in spec-json-schemas Move binding JSON schema files to main JSON schema repository bindings#113 - @jonaslagoni
- Add all schemas from the binding repository feat: add all protocol binding schemas spec-json-schemas#225
- Add schemas for the different bindings feat: add specific binding schemas spec-json-schemas#224
- feat: add binding validation spec-json-schemas#239
- [3.0.0] Serve bindings JSON Schema files via https://asyncapi.com/bindings website#870 - @smoya
- Split sub schemas Split out definitions into separate files spec-json-schemas#127 - @jonaslagoni
- Freeze @asyncapi/specs package for v1 of the Parser parser-js#736 - @smoya
- Change the way schemas are exported spec-json-schemas#367 - @smoya
General Todo list
The Todo list is what is needed to be completed and in which order that is outside the general progress list.
- Splitting sub schemas Split out definitions into separate files spec-json-schemas#127
- Adapt release process docs: adapting release process to new definition setup #659
- Implementation ready
- Reviewed
- Merged
- Update usage of the new spec-json-schemas package fix: upgrade @asyncapi/specs parser-js#423
- Implementation ready
- Reviewed
- Merged
- Expose all schema files remotely feat: serve AsyncAPI JSON Schema definitions website#680
- Implementation ready
- Reviewed
- Merged
- Adapt release process docs: adapting release process to new definition setup #659
- Create new
next-major-spec
branches- In the spec-json-schemas repo
- add branch
next-major-spec
- add
next-major-spec
to list of release branches - chore: add next major spec prerelease spec-json-schemas#202
- add branch
- In the spec repo
- add branch
next-major-spec
- add branch
- in the bindings repo
- add branch
next-major-spec
- add branch
- in the parser repo
- add branch
next-major-spec
- add
next-major-spec
to list of release branches - chore: add next-major-spec prerelease parser-js#518
- add branch
- in the generator repo
- add branch
next-major
- add next-major to list of release branches - chore: add
next-major
branch to release list generator#755
- add branch
- In the spec-json-schemas repo
- Update release branches
- spec - chore: update release branch to 3.0 #753
- spec - update with upstream chore: update with upstream master #758
- spec-json-schemas - feat: add v3 schemas spec-json-schemas#221
- spec-json-schemas - update with upstream chore: update with upstream master spec-json-schemas#205
- parser-js - chore: add new mimetype parser-js#517
- parser-js - update with upstream chore: update with upstream master parser-js#525
- Create draft release notes - chore(blog): add release notes for 3.0 website#659
- Create draft migration guidelines - chore: add migration guide for 3.0 website#660
- Create release PRs
- spec - feat!: release for version 3.0.0 of the spec #759
- spec-json-schemas - feat!: add 3.0.0 validation support spec-json-schemas#208
- parser-js - feat!: add support for AsyncAPI v3 parser-js#526
- docs: clarify the meaning of components #803
- Reviewed
- Merged
- feat!: move operations to its own root object #806
- Reviewed
- Merged
- Change contribution guidelines for binding changes to also include spec-json-schema repo: Move binding JSON schema files to main JSON schema repository bindings#113
- Inspect bindings for v3 - Inspecting bindings for spec 3.0 bindings#182
- feat: adapt AMQP bindings to v3 bindings#202 @jonaslagoni
- feat: adapt anypointmq bindings to v3 bindings#203 @jonaslagoni
- feat: adapt HTTP bindings to v3 bindings#204 @jonaslagoni
- feat: adapt MQTT bindings to v3 bindings#205 @jonaslagoni
- feat: adapt MQTT5 bindings to v3 bindings#206 @jonaslagoni
- feat: adapt websockets bindings to v3 bindings#207 @jonaslagoni
- feat: adapt googlepubsub bindings to v3 bindings#213 @whitlockjc
- Figure out which tools need to be updated for v3, and which are complete.
- AsyncAPI spec v3 support in CLI cli#629
- AsyncAPI spec v3 support in Optimizer optimizer#168
- AsyncAPI spec v3 support in Bundler bundler#133
- AsyncAPI spec v3 support in Diff diff#154
- AsyncAPI spec v3 support in Cupid asyncapi-archived-repos/cupid#171
- AsyncAPI spec v3 support in Studio studio#641 @smoya
- AsyncAPI spec v3 support in JSON Schema files spec-json-schemas#400 @jonaslagoni
- AsyncAPI spec v3 support in .NET Nats template dotnet-nats-template#384
- AsyncAPI spec v3 support in TypeScript Nats template ts-nats-template#545
- AsyncAPI spec v3 support in Python paho template python-paho-template#189
- AsyncAPI spec v3 support in Node.js ws template nodejs-ws-template#294
- AsyncAPI spec v3 support in Java Template java-template#118
- AsyncAPI spec v3 support in Java spring cloud stream template java-spring-cloud-stream-template#336
- AsyncAPI spec v3 support in Go watermill template go-watermill-template#243
- AsyncAPI spec v3 support in Java Spring template java-spring-template#308
- AsyncAPI spec v3 support in VS code preview vs-asyncapi-preview#181
- AsyncAPI spec v3 support in Glee glee#457
- AsyncAPI spec v3 support in markdown template markdown-template#341 @jonaslagoni
- Support converting to 3.0.0 converter-js#110 @jonaslagoni
- AsyncAPI spec v3 support in server-api server-api#294 @smoya
- AsyncAPI spec v3 support in Modelina modelina#1376
- AsyncAPI spec v3 support in HTML-template html-template#430
- AsyncAPI spec v3 support in PHP Template php-template#191
- AsyncAPI spec v3 support in React components asyncapi-react#733
- AsyncAPI spec v3 support in generator generator#979 @jonaslagoni
- AsyncAPI spec v3 support in parser-js parser-js#780 @jonaslagoni
- General documentation changes for the website: [📑 Docs]: Create docs for spec 3.0 release website#1433 - @alequetzalli
- chore: prepare for v3 release website#1806 @jonaslagoni
- docs: request/reply website#1434
- docs: operation/channel decoupling website#1435
- docs: operation action (pub/sub confusion) website#1436
- docs: unified referencing behavior (using $ref instead of string) website#1437
- docs: common metadata fields website#1438
- docs: moving root properties
tags
andexternalDocs
toinfo
website#1439 - docs: splitting out server URL into host and pathname website#1440
- docs: more reusable objects in components website#1441
- Write the migration guide: docs: add v3 migration guide website#2008 @jonaslagoni
- Write the release notes:
- Initial release notes chore(blog): add release notes for 3.0 website#659 @jonaslagoni
- Polishing release notes @jonaslagoni
- Update all spec examples, once Support converting to 3.0.0 converter-js#110 is solved. - chore: update examples to v3 #947
- Notify tsc_members about upcoming release
- Prepare pull requests to merge release branches into master
- spec - feat!: release for version 3.0.0 of the spec #759
- spec-json-schemas - feat!: add 3.0.0 validation support spec-json-schemas#208
- parser-js - feat!: add support for AsyncAPI v3 parser-js#526
- website - chore: release v3 website#1851
- Merge release branches into master
- spec - feat!: release for version 3.0.0 of the spec #759
- spec-json-schemas - feat!: add 3.0.0 validation support spec-json-schemas#208
- parser-js - feat!: add support for AsyncAPI v3 parser-js#526
- website - chore: release v3 website#1851
- Write release notes for the releases on Github
- Create releases on Github
- spec
- spec-json-schemas
- parser-js
- Create retrospective meeting for 3.0 once released to discuss improvements to major version releases.
I want to champion something!
First of all, thank you! 🙇
We use the following milestone https://github.com/asyncapi/spec/milestone/18 to track all the issues that needs to have been considered before we can release 3.0. So pick one the issues that needs champion
, and drive it forward!
Reach out to slack, in the issue, or our regular meetings if you need anything!
If you need anything changed in this progress issue, leave a comment below with what to update 🙂