github rvben/rumdl v0.0.158

latest release: v0.0.159
21 hours ago

Fixed

  • CRLF Line Ending Support: Fixed byte position calculations in multiple rules for Windows-style line endings

    • Fixed MD034, MD046, MD057 byte position calculations
    • Fixed MD037, MD049, MD011 byte position calculations
    • Fixed MD050, MD037, MD010, MD026 byte position calculations
    • Fixed code_block_utils byte position calculation in is_in_code_span
    • All rules now correctly handle CRLF line endings in fixes and diagnostics
  • Test Stability: Fixed flaky tests with dependency injection pattern

    • Eliminated race conditions from parallel test execution
    • Tests no longer modify global environment variables
    • Added serial_test crate for unavoidable global operations
    • All 1731 tests now pass reliably in parallel execution

Changed

  • Code Architecture: Major refactoring to improve maintainability

    • Extracted formatter module (397 lines) - output formatting logic
    • Extracted watch module (491 lines) - watch mode functionality
    • Extracted file_processor module (792 lines) - file processing logic
    • Extracted stdin_processor module (212 lines) - stdin handling
    • main.rs reduced from 3268 to 1394 lines (57% reduction)
    • Improved code organization and testability
  • Line Ending Handling: Refactored line ending preservation

    • Line ending detection and normalization now at I/O boundaries
    • Internal code always works with consistent LF line endings
    • More efficient: 1 normalization per file instead of per-rule
    • Cleaner separation of concerns
    • Simplified MD047, MD012, MD022 to always use LF internally
    • Removed unnecessary line ending detection from rules
    • Added comprehensive end-to-end CRLF tests

Removed

  • Legacy Fix Implementation: Removed deprecated fix wrapper functions
    • Removed apply_fixes() wrapper
    • Removed apply_fixes_stdin_coordinated() wrapper
    • Removed apply_fixes_stdin() legacy implementation
    • Removed RUMDL_NO_FIX_COORDINATOR environment variable
    • Fix Coordinator is now the only fix strategy (3 weeks stable, ~75% faster)

Downloads

File Platform Checksum
rumdl-v0.0.158-x86_64-unknown-linux-gnu.tar.gz Linux x86_64 checksum
rumdl-v0.0.158-x86_64-unknown-linux-musl.tar.gz Linux x86_64 (musl) checksum
rumdl-v0.0.158-aarch64-unknown-linux-gnu.tar.gz Linux ARM64 checksum
rumdl-v0.0.158-aarch64-unknown-linux-musl.tar.gz Linux ARM64 (musl) checksum
rumdl-v0.0.158-x86_64-apple-darwin.tar.gz macOS x86_64 checksum
rumdl-v0.0.158-aarch64-apple-darwin.tar.gz macOS ARM64 (Apple Silicon) checksum
rumdl-v0.0.158-x86_64-pc-windows-msvc.zip Windows x86_64 checksum

Installation

Using uv (Recommended)

uv tool install rumdl

Using pip

pip install rumdl

Using pipx

pipx install rumdl

Direct Download

Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.

Don't miss a new rumdl release

NewReleases is sending notifications on new releases.