News
2026-09-23
Parsanol 1.3.52: The Ruby and Rust Packages Ship Together
The Ruby gem and the Rust crate now expose one engine across every supported runtime. This post enumerates the supported formats, archives, runtimes, and platforms.
2026-09-23
1.3.52: A Vendored C Library in Every Platform Gem
Each prebuilt platform gem now carries its own pure-portable cdylib next to the extension — the ffi tier works everywhere from MRI fallback to TruffleRuby — while the source gem stays binary-free.
2026-09-21
Exact Tree Parity: CanFlatten, Dynamic Capture Writes, TreeDiff
Both engines now produce byte-identical parslet trees — the CanFlatten fold is ported exactly, dynamic blocks can read AND write captures across the FFI boundary, and TreeDiff.why explains any divergence in one call.
2026-09-15
Engine Modernization: Bytecode VM, SIMD Scanning, Incremental Reparse
parsanol-rs 0.6–0.8 ships a bytecode VM with lead-byte dispatch and selective rule memoization, SIMD scan kernels, compiled-program artifact caching, and tree-sitter-style incremental parsing sessions.
2026-08-20
Parsanol 1.3: The Native-First Era
Native Rust parsing is now the default on every mode — cause-tree errors, prefix and reporter parsing, incremental sessions — with a pure-Ruby engine always underneath as the portable floor.
2026-03-19
Parsanol 0.4.0: Unified API and Lazy Line/Column
Single parse() API, zero-overhead position info, Ruby 4.0 support, and WASM build fixes.
2026-03-07
Parsanol Ruby 1.2.2: FFI Captures, Scopes, and Dynamic Atoms
Ruby bindings now support native capture extraction, isolated scopes, and context-sensitive parsing via FFI callbacks.
2026-03-07
Parsanol 0.3.0: Captures, Scopes, and Dynamic Atoms
Major release adding capture extraction, isolated scopes, and context-sensitive parsing.
2026-03-05
Parsanol Ruby 1.1.0: Slice Support and Performance
Added Slice objects for lazy extraction and streaming parser support for large files.
2026-03-05
Parsanol 0.2.0: Backend Abstraction and Bytecode VM
Introduced backend abstraction with trait-based selection, Bytecode VM for faster parsing, and pre-commit hooks.
2026-03-03
Parsanol Ruby 1.0.2: Release Infrastructure
Improved release infrastructure with automated gem builds and cross-platform support.
2026-03-03
Parsanol Ruby 1.0.0: Initial Release
First release of Parsanol Ruby bindings with native extension support and Parslet-compatible API.
2026-02-20
Parsanol 0.1.0: Initial Release
First public release of Parsanol, a modern parser combinator library for Rust and Ruby.