Skip to content

v0.4.0

Latest

Choose a tag to compare

@rich-iannone rich-iannone released this 06 Oct 17:35
· 1 commit to main since this release

multimark v0.4.0 adds markdown_to_html_batch(), a fast way to render many Markdown documents to HTML in one call, with optional multi-threading. Pre-built wheels now cover Linux aarch64, and Pyodide/WebAssembly wheels are published to PyPI for the first time, so micropip.install("multimark") works in browser-based Python environments running Pyodide 314 or later.

New Features

  • Batch HTML rendering — New markdown_to_html_batch() function renders a list of Markdown documents to HTML in a single call. The parse/render loop runs entirely in C and releases the GIL for the whole batch, removing most of the per-document Python overhead. Set workers=N to split the batch across threads for multi-core parallelism; results are always returned in input order. It accepts the same rendering options as markdown_to_html() (smart, unsafe, hardbreaks, footnotes, and so on). GFM extensions= are not yet supported in batch mode. (#8)
  • Pyodide / WebAssembly wheels on PyPI — Pyodide wheels are now published to PyPI with the PEP 783 pyemscripten_2026_0_wasm32 platform tag, so micropip.install("multimark") installs a pre-built wheel in Pyodide 314+ (Python 3.14), JupyterLite, Shinylive, and Marimo WASM mode. Earlier Pyodide versions (0.28/0.29, Python 3.13) are not supported. Under Pyodide, which cannot start threads, leave workers unset in markdown_to_html_batch(). (#9)
  • Linux aarch64 wheels — Pre-built manylinux and musllinux wheels are now published for 64-bit ARM Linux (AWS Graviton, Raspberry Pi 4/5, ARM containers), so these platforms no longer need a C compiler to build from the source distribution. As with other platforms, one cp39-abi3 wheel covers CPython 3.9 and newer. (#7)

Enhancements

  • The release workflow now uploads the Pyodide wheel in its own job, after the native wheels and sdist, so a problem with the Pyodide build or upload can no longer block the rest of a release.
  • Pyodide wheels are now built with cibuildwheel 4.2.1, both in CI and with the local make dist-pyodide and make dist-all targets. (#9)

Documentation

  • WHEELS.md now covers the Linux aarch64 wheel matrix and the new Pyodide wheel tag, the supported Pyodide versions, threading limits under Pyodide, and how the Pyodide wheel is published. (#7, #9)