Skip to content

Bionic Reader v0.2.0

Choose a tag to compare

@github-actions github-actions released this 27 Oct 18:02
e31ab57

Bionic Reader 0.2.0 adds application libraries sharing the CLI's Rust document engine.

Application APIs

  • Rust: deterministic reading::Reader rendering and ordered text segments, with explicit options and output formats. Existing lower-level APIs remain available.
  • Python: importable native Reader, render, segments, and explicit TOML configuration APIs, packaged alongside the CLI.
  • JavaScript: ESM/CommonJS and browser APIs with bundled WebAssembly. Await createReader() once, then call synchronous document methods.
  • React: BionicReaderProvider and BionicText render literal text with styled prefixes, preserve whitespace, and support server rendering and hydration.

Multilingual segmentation, Markdown protections, safe terminal controls, and text fidelity use one shared engine. The release includes installed-package examples, TypeScript declarations, an aggregate dependency inventory, and a performance report for the shipped Wasm artifact.

Compatibility and migration

Python packages now require Python 3.11+, and npm packages require Node 22+, including installations used solely for the CLI. React supports 18.3 and 19. Rust retains its 1.85.1 minimum. Existing CLI commands remain available.

Formatted API calls require an explicit ANSI/plain/Markdown/HTML output format. The new APIs use deterministic defaults and explicit configuration; they do not discover CLI preferences or inspect terminal state. Python and JavaScript accept whole Unicode strings. Streaming/raw-byte APIs and custom segmentation remain Rust capabilities; React accepts plain text.

This is a minor release under the project's 0.x policy because it adds public APIs and raises runtime minimums. Published versions and tags remain immutable.

Installation

python -m pip install bionic-reader
npm install @arturoaviles/bionic-reader
cargo add bionic-reader

Registry publication status: npm and PyPI now serve 0.2.0, and their published artifacts match the verified release digests. Fresh installs passed the document API and retained CLI checks. Homebrew has also been updated. Crates.io now serves 0.2.0 through GitHub trusted publishing. Its crate checksum matches the original verified CI candidate, and a fresh crates.io consumer passed all 37 shared API fixtures and explicit TOML configuration.

Validation

The release is prepared from successful CI at the tagged main commit, with candidate checksums and provenance verified before promotion. The matrix includes six native macOS/Linux targets, actual Alpine wheel imports, Python 3.11–3.15, Node 22/24/26 on Linux/macOS/Windows, actual Chrome/Edge/Firefox/Safari, React 18/19 hydration, and retained CLI/package-manager checks.

See README.md, docs/LIBRARY.md, and CHANGELOG.md in the tagged source for API usage and migration details. Native Windows CLI/Python distribution remains outside the target matrix.

What's Changed

Full Changelog: v0.1.0...v0.2.0