Changelog¶
asyncapi-viewer 1.2.0 (2026-09-26)¶
Changed¶
- Renamed to
asyncapi-viewer. PyPI packageasyncapi-viewer, importasyncapi_viewer, MkDocs plugin idasyncapi-viewer, Markdown extensionasyncapi_viewer, element<asyncapi-viewer>. The old names (asyncapi-tagplugin id,asyncapi_tagextension,<asyncapi-tag>element,asyncapi_tagimport via the shim) keep working until 3.0. Default container ids are nowasyncapi-viewer-N; containers carry both theasyncapi-viewerandasyncapi-tagclasses. - Repository renamed to
Weesho-Lapara/asyncapi-viewer; docs at https://weesho-lapara.github.io/asyncapi-viewer/.
Added¶
- Fenced-block syntax: a fence with language
asyncapiwhose body iskey: valuelines using the attribute names (the path may also follow the language). Works withfenced_codeandpymdownx.superfences, needs no configuration, and anasyncapifence nested inside a longer fence stays a code sample.
Fixed¶
- An
<asyncapi-tag>written inside an inline code span (backticks) was rendered instead of being shown as code.
asyncapi-tag 1.2.0 (2026-09-26)¶
- Deprecated shim: contains no code of its own, depends on
asyncapi-viewer>=1.2.0,<2and re-exports its modules under the old import name.
asyncapi-tag 1.1.0 (2026-09-25)¶
Changed¶
sidebarnow defaults tofalse, matching the viewer. Inside a documentation column the viewer uses its compact layout, where the sidebar hides behind a toggle button; pages that want it should setsidebar="true".- Network-level load errors name the URL that failed instead of the browser's terse message.
Fixed¶
- The viewer spilled over the right-hand table of contents in Material and floated its sidebar toggle
and overlay over the page. A small stylesheet (
embed_css, on by default) now keeps the viewer, its toggle and its sidebar inside the container, and below the theme's sticky header. - Only the first viewer on a page rendered on a full page load.
Added¶
- Plugin/extension option
embed_css. - Documentation site at https://weesho-lapara.github.io/asyncapi-tag/, built with the plugin itself (Material theme with instant navigation) and deployed from CI. A strict build of it runs on every pull request, under MkDocs and under Zensical.
- Zensical support documented: enable
markdown_extensions: [asyncapi_tag]; Zensical resolves relativesrcpaths per page on its own. - Weekly
update-viewerworkflow that re-pins@asyncapi/react-component, runs the tests and opens a pull request.scripts/update_viewer.pygained--checkand now records the bump in this file. - Weekly
compatworkflow that runs the suite against the MkDocs 2.0 pre-release and the newest Python-Markdown and Material, as an early warning. docsextra (pip install asyncapi-tag[docs]).
asyncapi-tag 1.0.0 (2026-09-25)¶
First release under the new name. The project was previously published as
mkdocs-asyncapi-tag-plugin; that package is now a deprecated shim depending on this one.
Changed¶
- Rewritten as a Python-Markdown extension (
asyncapi_tag) with a thin MkDocs plugin around it. The plugin idasyncapi-tagis unchanged. - The viewer (
@asyncapi/react-component) is pinned to 3.2.1 and loaded with Subresource Integrity instead of@latestwithout a hash. New plugin optionsviewer_js,viewer_css,viewer_js_integrity,viewer_css_integrityandload_assetsallow self-hosting. - The viewer stylesheet is now loaded; earlier versions rendered unstyled output.
- The viewer renders where the tag is placed, and every tag on a page is rendered, not only the first.
- Per-tag data is emitted in HTML data attributes and rendered by a single runner script. Nothing from the Markdown source is interpolated into JavaScript.
- Errors while fetching or rendering are shown inside the container instead of only in the console.
- Warnings (missing document, invalid attribute) go through the MkDocs logger, so
mkdocs build --strictcatches them. - Packaging moved to
pyproject.toml(PEP 621),src/layout, Python 3.9+.
Fixed¶
srcis resolved relative to the page like MkDocs links, or relative todocs_dirwhen it starts with/. Earlier versions emitted the build machine's absolute filesystem path.- YAML documents work: the document is passed to the viewer as text and parsed there. Supersedes #1 (thanks @mistermelphin) and fixes the JavaScript syntax error in 0.9.0 reported in #2 (thanks @busches).
- String and enum attributes (
publishLabel,showServers,parserOptions, ...) are passed through instead of being turned into booleans. Added the AsyncAPI v3 labels (sendLabel,receiveLabel,requestLabel,replyLabel),showMessageExamples,useChannelAddressAsIdentifier,schemaIDandid. - Self-closing tags, tags without attributes, multi-line tags and tags inside code blocks are handled correctly.
- The
testspackage is no longer installed into site-packages, and the unusedbeautifulsoup4dependency is gone.
Deprecated¶
- Plugin option
asyncapi_fileis ignored with a warning; MkDocs copies non-Markdown files itself.
mkdocs-asyncapi-tag-plugin 1.0.0 (2026-09-25)¶
- Deprecated shim: contains no code and depends on
asyncapi-tag>=1.0.0,<2.
mkdocs-asyncapi-tag-plugin 0.9.0 (2024-11-26)¶
- Attempted YAML support via js-yaml. The emitted JavaScript contained a syntax error, so the viewer did not render (issue #2).
mkdocs-asyncapi-tag-plugin 0.8.0 (2024-10-17)¶
- Last working release under the old name. JSON documents only.