Skip to content

v0.3.0-beta.2

Pre-release
Pre-release

Choose a tag to compare

@mlilback mlilback released this 19 Jun 00:32
· 3 commits to release/0.3.0 since this release

Bug Fixes

  • Hoist shared $defs into components.schemas; rewrite payload $refs (#7)

    Previously (beta.1) shared sub-type definitions were embedded as a full $defs block in every message payload, causing downstream code generators to emit each shared type once per message. Now:

    • components.schemas is populated with each shared type exactly once
    • Message payloads contain no $defs block
    • All $refs in payloads point to #/components/schemas/X instead of #/$defs/X
    • New asyncapi_schemas() method on ToAsyncApiMessage types exposes the shared definitions for custom consumers

Testing this beta

asyncapi-rust = { git = "https://github.com/mlilback/asyncapi-rust", tag = "v0.3.0-beta.2" }

What's in 0.3.0 so far

  • Parameter object now conforms to AsyncAPI 3.0 — schema_type/format replaced with default, enum_values, examples, location (#5, reported by @pureions)
  • No more panic on enums containing serde_json::Value fields (#4, reported by @csells)
  • Per-variant payload schemas for tagged enums; works with any serde(tag) field name (#6, #2)
  • Shared sub-types hoisted to components.schemas (#7)