v0.3.0
multimark v0.3.0 adds a full AST parsing API, adopts the Python stable ABI for forward-compatible wheels, and ships pre-built Pyodide/WebAssembly wheels for browser-based Python environments. Python 3.14 is now tested in CI, and a single abi3 wheel per platform covers all CPython versions from 3.9 onward.
New Features
-
Streaming parser — New
Parserclass for incremental Markdown parsing. Feed content in chunks withparser.feed(), then render to any output format or access the AST viaparser.finish(). Supports context manager usage for automatic resource cleanup. (#6) -
AST access — New
parse()function andNodeclass expose the full CommonMark/GFM abstract syntax tree. Inspect document structure, traverse withnode.walk(), read properties likeheading_level,url, andliteral, mutate the tree in place, and render subtrees independently. (#6) -
Pyodide / WebAssembly wheels — Pre-built wheels for Pyodide are now published to PyPI, enabling multimark in browser-based Python environments such as JupyterLite, Shinylive, and Marimo WASM mode. (#6)
-
Python stable ABI (abi3) wheels — Wheels now use the
cp39-abi3tag, providing a single wheel per platform that works with all CPython versions from 3.9 onward — including future releases like 3.14. (#4)
Enhancements
- Python 3.14 is now included in the CI test matrix. (#6)
- Added manually triggered CI workflows for testing native wheel, Pyodide wheel, and sdist builds before a release. (#6)
- Centralized all cibuildwheel configuration in
pyproject.tomlso CI and local builds share the same settings. (#6) - Added Makefile targets for local wheel and sdist builds (
make dist-wheel,make dist-pyodide,make dist-sdist,make dist-all). (#6)