
The new version of the AsyncAPI specification - 3.1.0 - is now available. It looks like we are out of the long break after v3 release.
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: '3.0.0'intoasyncapi: '3.1.0'without any issues.
New protocol bindings
The specification is now extended to support another custom protocol through the bindings feature:
ROS 2 (official docs), thanks to @gramss and @amparosancho. For more details, check out ROS 2 binding definition.
Tooling support
The following official AsyncAPI tools are already updated to support 3.1.0 version of the specification:
- JSON Schema that supports validation of AsyncAPI documents with ROS 2 binding is updated in this repository. Also @asyncapi/specs package has been updated on NPM to version 6.11.0.
- JavaScript Parser uses latest @asyncapi/specs package and can be used to parse and validate 3.1.0 documents. Upgrade to latest version.
Look ahead
We are now regularly meeting to work on the AsyncAPI specification, and anyone is invited to join. Meetings are coordinated through this GitHub issue.
Next topics on agenda:
- Documenting channels with late or out-of-sequence events: For folks with experience in streaming, frameworks like Apache Flink or Apache Spark, please look into this proposal to add the possibility of specifying expected event delivery latency to AsyncAPI contracts.
- Support AND logic for multiple security schemes: Currently, AsyncAPI allows you to specify a list of security mechanisms where only one must be satisfied. The idea is to also allow users to specify that multiple mechanisms must be satisfied.
- Discriminator support to be aligned with OAS3: Right now, the discriminator field in AsyncAPI is just a string, which is too limited. People end up using it in combination with const as a workaround. We should consider aligning with the OpenAPI Discriminator Object, but we also need to address the fact that discriminator is and would be limited to AsyncAPI Schema. We need a solution that works for people using other schema formats, like for example Avro or Protobuf as well.
Photo by Chinapat Saegang on Unsplash