v0.2.0
ibex v0.2.0
This release significantly expands Ibex’s opt-in grammar and tooling capabilities while preserving racc-compatible behavior as the default.
Highlights
-
Standalone runtime package
Generated parsers now use the separately versioned ibex-runtime package, allowing applications to deploy parsers without installing the generator and development
tooling. The -E option remains available for generating a self-contained parser. -
Expanded extended grammar mode
pragma extended now supports parameterized and inline rules, grammar fragment imports, multiple entry points, declarative stateful lexers, typed AST generation,
declarative error recovery, and grammar-defined tests. These features are currently Preview and do not change the default compatible mode. -
Integrated authoring and build workflow
This release adds a formatter, LSP server, watch mode, Rake integration, static migration checks for racc grammars, and transactional generation that avoids
publishing partially updated output. -
New syntax-tree and parser analysis capabilities
pragma cst now generates format-v6 Red/Green syntax metadata. The generator also adds a Preview IELR backend and expanded conflict and ambiguity analysis.
Upgrade notes
- Regenerate parsers with ibex v0.2.0. Non-embedded generated parsers require ibex-runtime ~> 0.2.
- CST users must migrate to the format-v6 Red/Green APIs. CST table formats v1–v5 are no longer accepted.
ibex-runtime v0.2.0
This release introduces ibex-runtime as a standalone deployment package for parsers generated by Ibex.
Highlights
-
Red/Green concrete syntax trees
The new lossless and error-tolerant CST runtime provides immutable Green nodes, lazy Red navigation, typed syntax views, persistent editing and structural diffing,
exact source reconstruction, and versioned ibex_cst serialization. -
Incremental syntax processing
Experimental syntax-only sessions can relex edited input and conservatively reuse validated subtrees, with deterministic fallback when reuse is unsafe. -
Stronger runtime controls and observability
Isolated parser sessions, resource limits, immutable runtime events, JSONL tracing, streaming lexer support, and bounded recovery and repair APIs improve support for
editors, language tooling, and long-running applications.
Breaking changes
- The legacy mixed semantic/syntax CST API, including CST::Node and CST::Token, has been removed.
- Parsers using CST table formats v1–v5 must be regenerated with ibex v0.2.0. Existing non-CST table formats remain readable.
Full Changelog: v0.1.0...v0.2.0