github rvben/rumdl v0.0.179

11 hours ago

Fixed

  • MD041 (first-line-heading): Fixed multiline HTML detection for headings

    • Replace manual HTML parsing with centralized ctx.html_tags() parser
    • Correctly handles nested HTML elements with multiline attributes
    • Fixes Issue #152: No longer incorrectly flags headings when preceded by multiline HTML
  • MD037 (no-space-in-emphasis): Improved warning message clarity

    • Truncate long emphasis text in warning messages to prevent display issues
    • Long emphasis spans are now shown with ellipsis for better readability

Performance

  • MD005 (list-indent): Eliminated O(n²) complexity by pre-computing parent relationships

    • Pre-compute parent list item relationships during initial parsing
    • Reduces algorithmic complexity from O(n²) to O(n) for deeply nested lists
    • Improves performance for files with complex list structures
  • Optimized link/image regex patterns to prevent catastrophic backtracking

    • Added atomic grouping and possessive quantifiers to regex patterns in lint_context.rs
    • Prevents regex engine from exponential backtracking on pathological inputs
    • Improves parsing speed for files with many links and images

Changed

  • MD033 (no-inline-html): Refactored to use centralized HTML parser
    • Removed 109 lines of broken find_multiline_html_tags() function that detected 0 multiline HTML tags
    • Replaced two-pass approach (single-line regex + multiline detection) with single-pass using ctx.html_tags()
    • Now correctly detects all multiline HTML tags (previously missed 100% of them)
    • Follows pattern from MD041 refactoring for consistency
    • Preserves all existing filters (code blocks, kramdown, comments, etc.)

Added

  • Comprehensive MD005 test coverage
    • Added 21 new edge case tests for list indentation detection
    • Updated unicode test to verify dynamic parent relationship detection
    • Ensures robustness for nested and complex list structures

Downloads

File Platform Checksum
rumdl-v0.0.179-x86_64-unknown-linux-gnu.tar.gz Linux x86_64 checksum
rumdl-v0.0.179-x86_64-unknown-linux-musl.tar.gz Linux x86_64 (musl) checksum
rumdl-v0.0.179-aarch64-unknown-linux-gnu.tar.gz Linux ARM64 checksum
rumdl-v0.0.179-aarch64-unknown-linux-musl.tar.gz Linux ARM64 (musl) checksum
rumdl-v0.0.179-x86_64-apple-darwin.tar.gz macOS x86_64 checksum
rumdl-v0.0.179-aarch64-apple-darwin.tar.gz macOS ARM64 (Apple Silicon) checksum
rumdl-v0.0.179-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.