AsyncAPI is a specification for describing your event-driven architecture. Our specification allows you to describe and document your message-driven APIs into a human-readable format. The AsyncAPI community is currently inching towards a 3.0 release that will bring together multiple features, enhancements, and breaking changes. We follow release cadence and we will continue to release the Spec to the community as we continue to build on it.
Potential Changes
Many new features for AsyncAPI Spec 3.0 are being planned, written, and discussed. Among them are:
- Introduce Schema Versioning
- Introducing Data Format bindings
- Making servers aware of their service name
- Solving publish/subscribe confusion
- What does an AsyncAPI file mean
- Fixing schema inconsistencies
- Defining a schema format other than the default one
- Remove
$ref
field fromChannel Item Object
- Application of message traits (intentionally) replacing existing attributes
- Address perspective and channel reuse issues through introducing 'endpoint' concept
The tooling issues and pull requests which are tied up with the Spec 3.0 release are:
- Implement intent-driven Parser API
- Splitting out definitions into separate files
- Move binding JSON schema files to main JSON schema repository
We are using this GitHub milestone to track down all the issues related to Spec 3.0 release. If you are willing to take up an issue, filter the issues with needs champion
label and drive the initiative forward. We also have a release journal for the upcoming Spec 3.0 release to keep note of all the references, build the right documentation, and track the progress for the upcoming release.
Contributing to the release
AsyncAPI is a community-driven project and we welcome all kinds of contributions! To get started, join our Slack workspace. After joining, reach out to us on the #03_specification
channel and participate in the conversations.
To better understand AsyncAPI and how the Spec 3.0 release will play out, we recommend watching our past meeting recordings. To know how you can contribute, we recommend checking out our contributing guidelines. If you wish to keep track of all the work that is happening on the Spec 3.0 release, we recommend checking out our GitHub issue.
Before landing in your contributions, make sure you follow our Code of Conduct and the pull request you raised is described properly. To know how we collaborate using Git & GitHub, follow the Git workflow that we have developed for contributors.
When will the release happen?
We are yet to arrive at a date but the community is working towards releasing this by the end of 2022. Currently, we meet every two weeks to discuss the upcoming Spec 3.0 release and share updates and you are welcome to join it! We are going to have our next meeting on UTC 16:00 on March 16, 2022. You can access the AsyncAPI Calendar and explore our upcoming meetings.
The release will happen gradually, where the new specification and tooling will live in coexistence until there is a collective consensus that everything is ready. This gives everyone an easy way to test out the new changes and provide feedback before the release. Finally, after rigorous testing, we will make an official announcement about our release!
Join us and help make the upcoming release a successful one!
(Cover picture by Andrew Coelho on Unsplash)