Skip to content

Release history

r3bl-open-core releases

TUI framework and developer productivity apps in Rust

All releases

18 shown

v0.0.5-build-infra Bug fix

Fixed rustdoc formatting errors when processing deleted files.

Full changelog

Cargo subcommands that automate the tedious parts of Rust development and speed up the slow parts - documentation formatting, toolchain management, and build optimization. Install with cargo install r3bl-build-infra.

  • :memo: cargo-rustdoc-fmt - Format markdown tables and convert inline links to reference-style in rustdoc comments.

v0.0.5 (2026-02-17)

Handle deleted files gracefully in cargo rustdoc-fmt.

Fixed:

  • Files reported by git diff that no longer exist on disk (e.g., deleted or renamed files) caused errors. Now filters them out before processing and reports skipped files to the user.

Coming Soon :rocket:

  • cargo-monitor - Unified development workflow automation (Rust port of check.fish and rust-toolchain*.fish)

Full Changelog

v0.0.4-build-infra Bug fix

Fixed broken multi-line reference-style link definitions in rustdoc comments.

Full changelog

Cargo subcommands that automate the tedious parts of Rust development and speed up the slow parts - documentation formatting, toolchain management, and build optimization. Install with cargo install r3bl-build-infra.

  • :memo: cargo-rustdoc-fmt - Format markdown tables and convert inline links to reference-style in rustdoc comments.

v0.0.4 (2026-02-16)

Multi-line reference-style link definition support for cargo rustdoc-fmt.

Fixed:

  • Multi-line reference link definitions (where [name]: is on one line and the URL on the next) were broken: the label line was extracted as a reference but the URL line was orphaned as content. Added look-ahead parsing in separate_references() to recognize multi-line refs as a unit and preserve their two-line format (which rustfmt creates to respect line length limits).

Added:

  • 4 unit tests for multi-line reference handling
  • Updated sample_rrt_mod.rs and sample_html_comments.rs real-world test fixtures for multi-line ref preservation

Coming Soon :rocket:

  • cargo-monitor - Unified development workflow automation (Rust port of check.fish and rust-toolchain*.fish)

Full Changelog

v0.0.2-build-infra Bug fix
Notable features
  • Added real-world test case using the Resilient Reactor Thread module to demonstrate fixed behavior
Full changelog

Cargo subcommands that automate the tedious parts of Rust development and speed up the slow parts—documentation formatting, toolchain management, and build optimization. Install with cargo install r3bl-build-infra.

  • 📝 cargo rustdoc-fmt - Format markdown tables and convert inline links to reference-style in rustdoc comments. Workspace-aware, git-integrated, CI-ready.

v0.0.2 (2026-01-27)

Bug fixes for cargo rustdoc-fmt to preserve ASCII diagrams and protected content.

Fixed:

  • Content protector placeholder corruption: Changed from ___PROTECTED_CONTENT___ to Unicode arrows (◄◄◄PROTECTED_CONTENT►) to prevent pulldown_cmark from interpreting triple underscores as bold+italic formatting
  • Link converter ASCII diagram corruption: Rewrote to use regex replacement instead of pulldown_cmark parsing, which was destroying ASCII diagrams, numbered lists, indentation, and other formatting

Added:

  • Real-world test case using the Resilient Reactor Thread module (ASCII diagrams that were getting clobbered + extensive intra-doc links)

Coming Soon 🚀

  • cargo-monitor - Unified development workflow automation (Rust port of check.fish and rust-toolchain*.fish):
    • Watch mode with continuous compilation, testing, and doc building on file changes
    • tmpfs target directory for ~2-3x faster builds in RAM
    • Automated nightly toolchain validation and corruption recovery
    • ICE (Internal Compiler Error) detection and auto-recovery
    • Two-stage doc builds (quick blocking + full background)
    • Cross-platform support (Linux/macOS)
    • See the cargo-monitor implementation plan for details

Full Changelog

v0.7.8-tui Bug fix

Fixed VSCode terminal color rendering by switching ANSI escape sequence format to the semicolon-separated standard.

Full changelog

A fully async modern TUI framework for Rust (nothing blocks the main thread). Features include flexbox-like layouts, CSS-like styling, reactive state management, async readline (non-blocking alternative to POSIX readline), VT100 input/output parsers, and a double-buffered compositor optimized for SSH (paints only diffs), and much more. Works on Linux, macOS, and Windows. Add to your project with cargo add r3bl_tui.

v0.7.8 (2026-01-23)

Fixed:

  • VSCode terminal color rendering: Changed ANSI escape sequence format from colon-separated (ESC[38:2:r:g:bm) to semicolon-separated (ESC[38;2;r;g;bm) for universal terminal compatibility. The colon format (ITU-T T.416) is technically correct but not supported by VSCode's xterm.js terminal emulator and many other terminals. The semicolon format (xterm de-facto standard) works everywhere. Our VT100 parser still accepts both formats for maximum compatibility when parsing output from other applications.

  • Glyph font compatibility: Replaced exotic Unicode glyphs with more universally-supported characters that render correctly across more terminal fonts. Affected glyphs: check marks, fail indicator, pointer, game character, and terminal icon.

Full Changelog

v0.0.26-cmdr Bug fix

Fixed VSCode terminal color rendering to display correctly.

Full changelog

r3bl-cmdr provides two fully async TUI applications (built on r3bl_tui) for developers. Both are currently available as early access preview 🐣. Install with cargo install r3bl-cmdr.

  • 😺 giti - An interactive git CLI app designed to give you more confidence and a better experience when working with git. Fully async—never blocks the main thread. Features visual branch selection and streamlined commit workflows.

  • 🦜 edi - A TUI Markdown editor that lets you edit Markdown files in your terminal in style. Fully async—never blocks the main thread. Features gradient colors, smart terminal capability detection (gracefully degrades), smart list formatting, full emoji support, language-specific syntax highlighting inside fenced code blocks, SSH optimized (only repaints what's changed), and a zero-copy gap buffer for responsive editing even in large files.

v0.0.26 (2026-01-23)

Fixed:

  • VSCode terminal color rendering: Colors now display correctly in VSCode's integrated terminal (via updated r3bl_tui v0.7.8 dependency). Previously, colors appeared washed out or missing because VSCode's xterm.js terminal emulator doesn't support the colon-separated ANSI escape sequence format.

Full Changelog

v0.0.1-build-infra New feature
Notable features
  • `cargo rustdoc-fmt` subcommand for formatting markdown tables and converting inline to reference-style links in rustdoc comments
  • Workspace‑aware processing (files, directories, or entire workspace)
  • Git integration (auto‑detect changed/staged files) and CI check mode (`--check`) with selective formatting options
Full changelog

Cargo subcommands that automate the tedious parts of Rust development and speed up the slow parts—documentation formatting, toolchain management, and build optimization. Install with cargo install r3bl-build-infra.

  • 📝 cargo rustdoc-fmt - Format markdown tables and convert inline links to reference-style in rustdoc comments. Workspace-aware, git-integrated, CI-ready.

v0.0.1 (2026-01-23)

Initial release with cargo rustdoc-fmt—a cargo subcommand that formats markdown tables and converts inline links to reference-style in rustdoc comments.

Added:

  • cargo-rustdoc-fmt binary - Cargo subcommand for formatting rustdoc comments
    • Markdown table alignment in /// and //! doc comments
    • Inline-to-reference link conversion for cleaner documentation
    • Workspace-aware processing (specific files, directories, or entire workspace)
    • Git integration (auto-detect changed files, staged/unstaged, from latest commit)
    • Check mode for CI verification (--check flag)
    • Selective formatting (tables only, links only, or both)
  • Modular library API for programmatic use

Coming Soon 🚀

  • cargo-monitor - Unified development workflow automation (Rust port of check.fish and rust-toolchain*.fish):
    • Watch mode with continuous compilation, testing, and doc building on file changes
    • tmpfs target directory for ~2-3x faster builds in RAM
    • Automated nightly toolchain validation and corruption recovery
    • ICE (Internal Compiler Error) detection and auto-recovery
    • Two-stage doc builds (quick blocking + full background)
    • Cross-platform support (Linux/macOS)
    • See the cargo-monitor implementation plan for details

Full Changelog

v0.0.25-cmdr Breaking risk
Breaking changes
  • Removed `ch` binary and all associated code (Claude Code prompt history recall tool).
  • Removed `ch` module from library exports.
Full changelog

r3bl-cmdr provides two fully async TUI applications (built on r3bl_tui) for developers. Both are currently available as early access preview 🐣. Install with cargo install r3bl-cmdr.

  • 😺 giti - An interactive git CLI app designed to give you more confidence and a better experience when working with git. Fully async—never blocks the main thread. Features visual branch selection and streamlined commit workflows.

  • 🦜 edi - A TUI Markdown editor that lets you edit Markdown files in your terminal in style. Fully async—never blocks the main thread. Features gradient colors, smart terminal capability detection (gracefully degrades), smart list formatting, full emoji support, language-specific syntax highlighting inside fenced code blocks, SSH optimized (only repaints what's changed), and a zero-copy gap buffer for responsive editing even in large files.

v0.0.25 (2026-01-23)

Streamlined the crate by removing the experimental ch binary to focus on the core tools: giti (interactive git) and edi (markdown editor).

Removed:

  • ch binary and all associated code (Claude Code prompt history recall tool)
  • ch module from library exports

Changed:

  • Updated documentation to reflect only giti and edi as the main binaries

Full Changelog

v0.7.7-tui Breaking risk
Notable features
  • DirectToAnsi backend for Linux‑native terminal I/O (ANSI escape handling, async mio input, smart attribute diffing).
  • Resilient Reactor Thread pattern for bridging blocking I/O with async Rust.
  • VT100/ANSI output parser and in‑memory terminal emulation enabling snapshot testing.
Full changelog

A fully async modern TUI framework for Rust (nothing blocks the main thread). Features include flexbox-like layouts, CSS-like styling, reactive state management, async readline (non-blocking alternative to POSIX readline), VT100 input/output parsers, and a double-buffered compositor optimized for SSH (paints only diffs), and much more. Works on Linux, macOS, and Windows. Add to your project with cargo add r3bl_tui.

v0.7.7 (2026-01-23)

This release introduces major architectural additions including the DirectToAnsi backend for Linux-native terminal I/O, the Resilient Reactor Thread (RRT) pattern for blocking I/O handling, comprehensive VT100 parser upgrades enabling in-memory terminal emulation, and PTY-based integration testing infrastructure. It also includes a PTY multiplexer with terminal multiplexing functionality similar to tmux.

Major Infrastructure Additions:

  • DirectToAnsi Backend (Linux-Native): A custom terminal I/O implementation bypassing Crossterm on Linux for lower latency and reduced overhead. See the DirectToAnsiInputDevice docs for architecture details.

    • Direct ANSI escape sequence handling with full VT100 compliance
    • Input device using mio (epoll) for async I/O multiplexing
    • Output device with PixelCharRenderer and smart attribute diffing (~30% output reduction)
    • Zero-latency ESC key detection and full keyboard modifier support
    • Mouse event handling with bracketed paste support
    • SIGWINCH signal integration for terminal resize
    • Crossterm still used on macOS/Windows where platform APIs differ
  • Resilient Reactor Thread (RRT) Pattern: A reusable pattern for bridging blocking I/O with async Rust—spawn a dedicated thread, broadcast events to async consumers, and handle graceful shutdown automatically. The module documentation provides a comprehensive architecture overview.

    • ThreadSafeGlobalState<W, E> - Thread-safe singleton pattern for RRT instances
    • ThreadLiveness - Running state + generation tracking for safe thread reuse
    • SubscriberGuard<W, E> - Manages subscriber lifecycle with waker access
    • Broadcasts events to async consumers via broadcast channels
    • Handles graceful shutdown when all consumers disconnect
  • VT100/ANSI Output Parser & In-Memory Terminal Emulation: Complete VT100 ANSI implementation enabling snapshot testing. See the ansi module for the parser and OffscreenBuffer for the in-memory terminal.

    • VTE parser integration with custom Performer implementation
    • Full support for cursor movement, erase operations, scroll regions, SGR (colors/styles)
    • Enables snapshot testing: compare expected vs actual terminal state without a real terminal
  • PTY Testing Infrastructure: Real-world testing in pseudo-terminals instead of mocks. See the generate_pty_test! macro documentation for usage and the Controller/Controlled pattern.

    • Controller/Controlled pattern for test isolation
    • generate_pty_test! macro for single-feature tests
    • spawn_controlled_in_pty for multi-backend comparison tests
    • Backend compatibility tests verifying DirectToAnsi vs Crossterm produce identical results
    • Test coverage: bracketed paste, keyboard modifiers, mouse events, SIGWINCH, UTF-8
  • Enhanced readline_async API: Expanded keyboard support makes building CLI apps easier—Tab completion, arrow key navigation, and function keys now work out of the box. See the readline_async module for the full API.

    • Tab and BackTab (Shift+Tab) key support
    • Navigation keys support (arrow keys, Home, End, PageUp, PageDown)
    • FnKey support (F1-F12)
    • Type-safe editor state methods via ReadlineAsyncContext
    • Extended ReadlineEvent enum with new variants
  • PTY Multiplexer: Terminal multiplexing functionality similar to tmux. See the pty_mux module for the complete API.

    • Enhanced support for truecolor and TUI apps that frequently re-render their UI
    • pty_mux_example.rs demonstrating multiplexer capabilities with multiple TUI processes
    • Support for spawning and switching between multiple TUI processes using Ctrl+1 through Ctrl+9
    • Live status bar showing process states (🟢 running, 🔴 stopped) and keyboard shortcuts
    • OSC sequence integration for dynamic terminal title updates
    • Fake resize technique for proper TUI app repainting when switching processes
    • Support for configurable TUI processes: less, htop, claude, gitui
    • pty_simple_example.rs for basic PTY functionality demonstration
    • pty_rw_echo_example.rs for PTY echo testing and validation
    • ansi/terminal_output.rs module with high-level terminal operations
    • PTY integration tests that spawn real TUI apps (eg: htop) to validate VT100 parsing

Internal Improvements:

  • Changed:
    • Refactored mio_poller module for improved clarity and thread reuse semantics
    • Reduced DirectToAnsi input device complexity
    • Thread liveness tracking integrated with mio_poller for restart capability
    • Enhanced PTY read-write session with comprehensive cursor mode support
    • Improved PTY input/output event handling with extensive terminal input event mapping
    • Enhanced color conversion in crossterm_color_converter.rs
    • Improved styling in readline components (apply_style_macro.rs)
    • Enhanced spinner rendering with better visual feedback (spinner_render.rs)
    • Improved crossterm backend rendering operations (render_op_impl.rs)
    • Integrated with r3bl_tui's TuiColor system for consistent styling
    • Cleaned up read-only session to remove read-write specific code

Development Tooling

This section documents the build infrastructure we use internally to develop r3bl_tui. While these fish scripts are specific to this repo, we're converting them into Rust binaries over time and shipping them as r3bl-build-infra—starting with cargo rustdoc-fmt, with more tools coming soon.

Rust Development Power Tools (2026-01-23)

This release focuses on developer productivity: faster builds with the nightly parallel compiler, smarter toolchain management, and a streamlined bootstrap experience. We've also removed legacy dependencies in favor of Claude Code's built-in capabilities.

Also see r3bl-build-infra—it provides cargo rustdoc-fmt for formatting rustdoc comments, which is used extensively by Claude Code skills in this repo to maintain consistent documentation style.

Changed:

  • Build system migration: Migrated from nushell to fish shell for all build scripts - run.fish replaces run.nu throughout the project for improved maintainability and readability
  • Copyright headers: Shrunk copyright headers in all files for better readability
  • Claude Code configuration: Updated Claude Code configuration files and VS Code settings for improved development experience
  • Updated project bootstrap experience: fzf and fish are now required for the bootstrap.sh script to work correctly, ensuring a smoother setup process
  • Documentation: Updated README.md with comprehensive Claude Code integration section documenting .claude/ directory structure, available skills, and slash commands
  • Documentation: Fixed script name inconsistencies (rust-toolchain-validate.fish not rust-toolchain-install-validate.fish)
  • Documentation: Added tmux-r3bl-dev.fish development dashboard documentation
  • Documentation: Clarified VSCode extensions installation workflow

Added:

  • check.fish development workflow script: Comprehensive build automation with significant performance optimizations:

    • Nightly parallel frontend compiler (-Z threads=N) for ~30-40% faster builds
    • Shared tmpfs target ($CARGO_TARGET_DIR=/tmp/roc/target/check) — all tools (Claude, VSCode, check.fish) share one RAM-based cache, so builds are always warm
    • Watch modes (--watch, --watch-doc, --watch-tests) keep the cache perpetually warm—sophisticated debounce waits for a 2-second quiet period, so rapid file changes (from typing, Claude Code, linters, etc.) don't trigger frenzied rebuilds
    • Two-stage doc builds: Quick blocking (~3-5s) + full background (~90s) with staging directories that prevent the docs folder from going empty during slow rustdoc rebuilds
    • ICE detection and auto-recovery for Internal Compiler Errors
    • Single-instance enforcement kills orphaned watchers automatically
  • Smart rust-toolchain management (rust-toolchain-update.fish, rust-toolchain-sync-to-toml.fish): Nightly Rust is powerful but unstable—these scripts automatically find stable nightlies, validate them against your code, and remove the hassle of toolchain management entirely.

    • Automated stable nightly discovery: Tests nightlies from ~1 month ago for ICE errors before committing—you get nightly features without nightly instability
    • Aggressive cleanup: Removes old nightlies while preserving known-good toolchains
    • Corruption recovery: Detects "Missing manifest" errors and force-removes broken toolchains
    • Desktop notifications for success/failure via notify-send
    • Comprehensive logging to ~/Downloads/rust-toolchain-*.log
  • Coming soon: cargo-monitor - Rust port of check.fish as a proper cargo subcommand in r3bl-build-infra, bringing these optimizations to any Rust project

Removed:

  • Legacy tools: Removed go, mcp-language-server, serena, uv, and sccache dependencies (Claude Code now has built-in LSP; sccache proved unreliable)

Full Changelog

v0.0.23-cmdr Breaking risk
Breaking changes
  • Refactored `ch` command result type from its previous definition to `ChResult`, altering observable behavior and API contracts.
Full changelog

Refactored ch command type system and enhanced user experience with improved output formatting.

  • Changed:
    • Refactored ch command result type to ChResult for improved type clarity and better output formatting
    • Enhanced output messages for better user experience

More info: https://github.com/r3bl-org/r3bl-open-core/blob/main/CHANGELOG.md#v0023-2025-08-15

v0.0.22-cmdr New feature
Notable features
  • Added `ch` binary: TUI interface for browsing, copying Claude Code prompts with clipboard and image handling across Linux, macOS, Windows
  • Upgrade command overhaul using PTY providing real-time progress feedback, OSC 8 hyperlink support, and improved error recovery
Full changelog

Major feature release introducing the new ch binary for Claude Code prompt history management and significant upgrade experience improvements. The new ch command provides a TUI interface for browsing and copying previous Claude Code prompts, while the upgrade command now uses PTY for resilient real-time feedback during the update process.

  • Added new ch binary:
    • Claude Code prompt history recall and clipboard management tool
    • TUI selection interface using choose() function for browsing previous prompts
    • Cross-platform support for Linux, macOS, and Windows with automatic configuration detection
    • Clipboard integration for copying selected prompts to system clipboard
    • Image handling with automatic saving to ~/Downloads directory using friendly filenames
    • Smart project matching that finds Claude projects from current or parent directories
    • Interactive terminal detection with graceful error handling for non-interactive environments
  • Enhanced upgrade experience:
    • Complete overhaul of upgrade command using PTY for resilient and rich user experience
    • Real-time feedback showing live progress from rustup and cargo install messages
    • Eliminated timeout appearance issues - upgrade process shows continuous progress
    • Improved error handling and recovery mechanisms during upgrade process
    • Added OSC 8 hyperlink support to make saved image file paths clickable in compatible terminals
    • Implemented blacklist-based terminal capability detection for OSC 8 hyperlinks
    • Enhanced user experience with rich feedback instead of misleading timeout screens

More info in CHANGELOG: https://github.com/r3bl-org/r3bl-open-core/blob/main/CHANGELOG.md#v0022-2025-08-15

v0.7.4-tui New feature
Notable features
  • Comprehensive PTY (pseudo-terminal) module with read_only and read_write APIs for spawning and controlling child processes.
  • Full OSC 8 support enabling clickable hyperlinks in terminals, including helper functions for formatting paths as links and smart terminal capability detection.
  • Enhanced Spinner functionality with dynamic interval_message updates and integration with the PTY module for real-time progress reporting.
Full changelog

This release introduces a comprehensive PTY (pseudo-terminal) module with full process control capabilities, enhanced spinner messaging, and complete OSC 8 hyperlink support for modern terminal interactions.

  • Added PTY module:
    • New comprehensive PTY (pseudo-terminal) module with both read_only and read_write APIs
    • Support for spawning and controlling child processes in pseudo-terminals
    • Multiple examples demonstrating PTY functionality including spawn_pty_read_only.rs and spawn_pty_read_write.rs
  • Added OSC support:
    • Support for parsing OSC (Operating System Command) terminal control sequences
    • Complete implementation of OSC 8 escape sequences for creating clickable hyperlinks in terminals
    • Helper functions for formatting file paths as clickable links
    • Smart terminal capability detection with blacklist-based approach for modern terminals
  • Enhanced Spinner functionality:
    • Dynamic interval_message support allowing real-time message updates during execution
    • Integrated Spinner with PTY module for real-time progress reporting during long-running operations
  • Improved testing and documentation:
    • Enhanced PTY test coverage and fixed test failures
    • Comprehensive PTY module documentation with usage examples

More info in CHANGELOG: https://github.com/r3bl-org/r3bl-open-core/blob/main/CHANGELOG.md#v074-2025-08-15

v0.0.21-cmdr Bug fix

Performance improvements: overall application speed up to 3x, append operations 50‑90× faster, and major bottlenecks eliminated.

Full changelog

Performance optimization release benefiting from major infrastructure improvements across the codebase, particularly the zero-copy gap buffer architecture. While there are no new features in this release, the underlying performance gains significantly improve the overall user experience.

  • Performance improvements:
    • 2-3x overall application performance improvement
    • Complete elimination of major bottlenecks (100% reduction each)
    • 27-89% reduction in other bottlenecks
    • 50-90x faster append operations with zero-copy access
    • ~88.64% of total execution time eliminated from top 5 bottlenecks
    • Enhanced parser performance, editor responsiveness, memory usage, and large document handling

See CHANGELOG for more details.

v0.7.3-tui New feature
Notable features
  • Comprehensive documentation for `ByteIndex`, `SegIndex`, and `ColIndex`
  • Hierarchical organization of the graphemes module with common iterator extraction
  • `GCString` segment logic extracted into `segment_builder.rs`
Full changelog

Major performance optimization release with complete architectural overhaul of the gap buffer implementation. Eliminated memory-intensive SmallVec<GCStringOwned> operations that were materializing to String on every render in the main event loop, achieving zero-copy performance through the new ZeroCopyGapBuffer implementation.

  • Added:

    • Comprehensive documentation for three index types: ByteIndex, SegIndex, ColIndex
    • New hierarchical organization of the graphemes module
    • Common iterator extraction for graphemes processing
    • GCString segment logic extracted into segment_builder.rs
  • Changed:

    • Complete rewrite of gap buffer implementation (in 5 phases) for zero-copy operations
    • Refactored GCString into trait-based design with separate owned and reference implementations
    • Restructured entire graphemes folder into hierarchical organization
    • Full migration to ZeroCopyGapBuffer architecture
  • Performance improvements:

    • 2-3x overall application performance improvement
    • Complete elimination of major bottlenecks (100% reduction each)
    • 27-89% reduction in other bottlenecks
    • 50-90x faster append operations with zero-copy access
    • ~88.64% of total execution time eliminated from top 5 bottlenecks
    • Enhanced parser performance, editor responsiveness, and memory usage

See CHANGELOG for more details.

v0.0.20-cmdr Bug fix

Fixed paste bug in edi making pasting fast and huge performance improvements.

Full changelog

Minor release focusing on edi bug fixes, code quality improvements and documentation.
Issue: https://github.com/r3bl-org/r3bl-open-core/issues/397
PR: https://github.com/r3bl-org/r3bl-open-core/pull/430

  • Fixed:
    • Clippy warnings about missing error documentation across the crate
    • Improved error handling documentation consistency
    • Fixed paste bug in edi where pasting was extremely slow, and many other long
      standing bugs
    • Huge performance improvements for edi making it super responsive, and much faster
      than before; see the PR for details

To get the latest release just run cargo install r3bl-cmdr on your machine that has rustup installed already.

CHANGELOG:
https://github.com/r3bl-org/r3bl-open-core/blob/main/CHANGELOG.md#v0020-2025-07-23

v0.7.2-tui New feature
Notable features
  • LRU cache infrastructure for dialog border rendering optimization
  • Comprehensive snapshot testing framework for markdown parser
  • Benchmarking infrastructure for parser performance analysis
Full changelog

Major performance optimization release with significant architectural improvements to the
TUI engine. The markdown parser has been completely overhauled for massive performance
gains, and the rendering pipeline has been optimized to reduce CPU usage and memory
allocations. This release also includes extensive code quality improvements and Windows
compatibility fixes.
Issue: https://github.com/r3bl-org/r3bl-open-core/issues/397
PR: https://github.com/r3bl-org/r3bl-open-core/pull/430

  • Added:

    • LRU cache infrastructure for dialog border rendering optimization
    • Comprehensive snapshot testing framework for markdown parser
    • Benchmarking infrastructure for parser performance analysis
    • Enhanced profiling support with .perf-folded integration
    • Memory size caching with GetMemSize trait
    • Efficient Display traits for telemetry logging
  • Changed:

    • Optimized markdown parser performance by 600-5,000x using hybrid approach
    • Made SyntaxSet & Theme global resources to reduce allocations
    • Reorganized md_parser module structure for improved clarity
    • Flattened module structure by removing tui_core
    • Made PixelChar Copy by storing single char instead of string
    • Refactored undo/redo history with comprehensive test coverage
    • Migrated all tests from test_editor.rs to their respective modules
    • Improved ANSI output performance by avoiding write! macro
    • Optimized ColorWheel cache implementation
    • Enhanced Pos API to remove ambiguity
  • Fixed:

    • Eliminated syntax highlighting bottleneck in markdown parser
    • Resolved paste performance issues for both clipboard and bracketed paste
    • Fixed Windows terminal compatibility problems
    • Corrected doctests that couldn't run in test environment
    • Fixed telemetry bugs in main_event_loop.rs
    • Addressed Rust 2024 if-let-else rescope changes
    • Resolved extensive clippy warnings and pedantic lints
    • Fixed Unicode handling in find_substring() optimization
    • Added language name mapping for syntax highlighting to support both language names (e.g.,
      "rust") and file extensions (e.g., "rs") in markdown code blocks
  • Performance:

    • 13.6% CPU reduction through optimized grapheme segmentation and dialog border colorization
    • Optimized string truncation with ASCII fast path
    • Improved tracing performance with record_str for Display formatting
    • Enhanced color support detection with proper memoization

CHANGELOG:
https://github.com/r3bl-org/r3bl-open-core/blob/main/CHANGELOG.md#v072-2025-07-23

Beta — feedback welcome: [email protected]