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_testcrate for unavoidable global operations - All 1731 tests now pass reliably in parallel execution
Changed
-
Code Architecture: Major refactoring to improve maintainability
- Extracted
formattermodule (397 lines) - output formatting logic - Extracted
watchmodule (491 lines) - watch mode functionality - Extracted
file_processormodule (792 lines) - file processing logic - Extracted
stdin_processormodule (212 lines) - stdin handling - main.rs reduced from 3268 to 1394 lines (57% reduction)
- Improved code organization and testability
- Extracted
-
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_COORDINATORenvironment variable - Fix Coordinator is now the only fix strategy (3 weeks stable, ~75% faster)
- Removed
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 rumdlUsing pip
pip install rumdlUsing pipx
pipx install rumdlDirect Download
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.