Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

rumdl-0.0.173-1.1 RPM for s390x

From OpenSuSE Ports Tumbleweed for s390x

Name: rumdl Distribution: openSUSE:Factory:zSystems
Version: 0.0.173 Vendor: openSUSE
Release: 1.1 Build date: Sun Nov 9 10:42:09 2025
Group: Unspecified Build host: reproducible
Size: 7120326 Source RPM: rumdl-0.0.173-1.1.src.rpm
Packager: https://bugs.opensuse.org
Url: https://github.com/rvben/rumdl
Summary: Markdown Linter written in Rust
rumdl is a high-performance Markdown linter and formatter that helps ensure
consistency and best practices in your Markdown files. Inspired by ruff 's
approach to Python linting, rumdl brings similar speed and developer experience
improvements to the Markdown ecosystem.

It offers:

- Built for speed with Rust - significantly faster than alternatives
- 54 lint rules covering common Markdown issues
- Automatic formatting with --fix for files and stdin/stdout
- Zero dependencies - single binary with no runtime requirements
- Highly configurable with TOML-based config files
- Multiple installation options - Rust, Python, standalone binaries
- Installable via pip for Python users
- Modern CLI with detailed error reporting
- CI/CD friendly with non-zero exit code on errors

Provides

Requires

License

MIT

Changelog

* Sun Nov 09 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.0.173:
    * Added
    - MD060: Table format rule with Prettier-style auto-compact
    - New rule enforcing consistent table column alignment
      (aligned/compact/tight styles)
    - Auto-compact threshold: Tables exceeding max-width
      automatically use compact formatting
    - Configurable via max-width setting (0 = inherit from
      MD013's line-length)
    - Generates informative warnings showing actual width vs
      threshold
    - Disabled by default (opt-in feature)
    - Handles edge cases: zero-width characters, escaped pipes,
      HTML comments
    - Respects column alignments (left/center/right) in aligned
      mode
    - MD043: Wildcard pattern support for heading structures
    - New wildcard patterns for flexible heading structure
      validation
    - Allows * placeholders in heading text for dynamic content
    - Expert-level edge case handling for complex heading
      hierarchies
    - MD044: HTML elements configuration option
    - New html-elements configuration to customize proper name
      handling
    - Allows project-specific proper name enforcement
    - RUMDL_CACHE_DIR environment variable
    - Override default cache directory location via environment
      variable
    - Useful for CI/CD pipelines and custom cache management
    * Fixed
    - Definition list support in reflow mode (#136)
    - Definition lists (Extended Markdown syntax) are now
      correctly preserved during text reflow
    - Prevents incorrect joining of terms with definitions (e.g.,
      Term\n: Definition no longer becomes Term : Definition)
    - Supports PHP Markdown Extra, Kramdown, Pandoc, Hugo, and
      other extended Markdown flavors
    - Works with all reflow modes including sentence-per-line
    - MD054: Error message alignment
    - Corrected error messages to match implementation behavior
    - Documentation now accurately reflects link/image style
      validation
    - MD041: Front matter title config schema
    - Added missing front_matter_title options to configuration
      schema
    - Fixes config validation errors when using front matter
      title feature
    - LSP: pyproject.toml validation
    - LSP now verifies [tool.rumdl] section exists before using
      pyproject.toml
    - Prevents errors when pyproject.toml exists but doesn't
      contain rumdl config
    - CLI: Rule registration
    - Fixed MD057, MD059, MD060 rules not being registered in CLI
    - All rules now properly available for use
    * Changed
    - Documentation: TOML format migration
    - Converted all configuration examples from YAML to TOML
    - Reflects modern configuration best practices
    - Improved clarity for MD013 reflow requirement in README
* Sat Nov 08 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.0.172:
    * Added
    - MD059: Link text style rule achieving 100% markdownlint
      compatibility
    - New rule for enforcing consistent link text formatting
    - Matches markdownlint column reporting behavior
    - Completes full parity with markdownlint rule set
    - pulldown-cmark BrokenLink callback integration
    - Enhanced link reference validation using parser callback
    - Better detection of undefined reference-style links
    - Improved accuracy for MD052 and related rules
    * Fixed
    - Critical: UTF-8 character boundary panic in ordered list
      detection
    - Fixed crash when processing markdown with multi-byte UTF-8
      characters (Japanese, Chinese, Korean, etc.)
    - Root cause: Character index was incorrectly used as byte
      index for string slicing
    - Now converts character positions to byte positions using
      char_indices().nth()
    - Discovered during validation on javascript-algorithms
      repository
    - Affected any non-English documentation with multi-byte
      UTF-8 near numbered lists
    - pulldown-cmark escaped bracket workaround
    - Workaround for pulldown-cmark bug where \[ and \! are
      incorrectly parsed as links/images
    - Violates CommonMark spec Example 14 for backslash escapes
    - Filters 90% of false positives with byte-level escape
      pattern detection
    - Correctly handles: \[escaped\], \![not an image](url)
    - Known limitation: \[text][ref] reference-style links still
      produce 1 false positive
    - Bug report filed for upstream fix
    - MD042: False positives on autolinks
    - Fixed empty link detection incorrectly flagging autolinks
      like <https://example.com>
    - Autolinks are now correctly excluded from empty link checks
    - MD033: HTML tags inside HTML comments
    - Fixed false positives when HTML tags appear inside HTML
      comments
    - Centralized HTML comment detection for consistent behavior
      across rules
    - HTML comments now properly ignored: <!-- <div>not
      flagged</div> -->
    - MD051: GitHub ASCII normalization
    - Implemented proper GitHub anchor generation with ASCII
      normalization
    - Handles edge cases like backtick-wrapped angle brackets:
      `<FILE>` → #file
    - Verified against actual GitHub.com rendering behavior
    - MD052: Complete Jinja template support
    - Added Jinja template range checks to regex-based shortcut
      reference detection
    - Fixes false positives on [reference] patterns in Jinja
      templates
    - Completes Jinja support across all link-related rules
      (MD039, MD042, MD051, MD052)
    - MD039/MD042/MD051: Jinja template checks
    - Added Jinja template range checks to prevent false
      positives
    - All rules using ctx.links/ctx.images now skip Jinja
      template markers
    - Validated on real-world Jinja templates
      (pyo3/.towncrier.template.md)
    - Link/image text extraction: Whitespace preservation
    - Fixed loss of leading/trailing whitespace in link text and
      image alt text
    - pulldown-cmark strips newlines from Text events, causing
      whitespace loss
    - Now extracts directly from source bytes between brackets
      for perfect fidelity
    - Verified: [\nNewline\n](url) → text correctly preserved
      with newlines
    * Changed
    - BREAKING: Removed MD002 (first-heading-h1) and MD006
      (ul-start-left) rules
    - Removed for 100% markdownlint compatibility
    - markdownlint deprecated these rules in favor of more
      specific alternatives
    - Migration: Remove MD002 and MD006 from your .rumdl.toml
      config if present
    - Refactoring: Modernized codebase with Rust 1.91.0 features
    - Migrated once_cell::sync::Lazy to std::sync::LazyLock
      (stable in Rust 1.80)
    - Improved error handling by replacing unwrap()/expect() with
      proper error propagation
    - Replaced defensive fallbacks with unreachable!() where
      appropriate
    - Eliminated unreachable panics and improved code robustness
    - Removed '_fix' boolean redundancy and cleaned up dead code
    - Refactoring: HTML comment detection centralized
    - MD033 now uses centralized html_utils::find_html_comments()
      for consistency
    - Eliminates duplicate HTML comment parsing logic
    * Performance
    - 12-15% speed improvement from pulldown-cmark migration
    - Migrated link/image parsing from regex-based approach to
      pulldown-cmark parser
    - Benchmark results: 12-15% faster on representative markdown
      files
    - More accurate CommonMark compliance
    - Better handling of edge cases and complex markdown
      structures
  - Update to version 0.0.171:
    * Added
    - MD060: Table column formatting with markdownlint
      compatibility
    - Full table formatting rule with auto-fix capability
    - Four formatting styles: aligned, compact, tight, and any
      (default)
    - any style detects existing formatting and enforces
      consistency
    - Supports CJK characters and emoji
    - Handles alignment indicators (:---, :---:, ---:)
    - Skips ZWJ emoji sequences to prevent corruption
    - Configuration: MD060.enabled = false (opt-in), MD060.style
      = "any"
    * Fixed
    - MD053: CommonMark compliance for list continuations
    - Fixed false positives when backtick references appear in
      list continuation paragraphs
    - Enhanced ordered list marker detection for multi-digit
      lists (10., 123.)
    - Implemented column-based indentation model per CommonMark
      spec
    - Distinguishes list continuation paragraphs from
      code-in-lists
    - Validated against 1,562 markdown files with 0 false
      positives
    - LSP: Global config fallback
    - Fixed global config loading when no project-specific config
      exists
    - Now properly falls back to ~/.config/rumdl/.rumdl.toml
    - Added test coverage for fallback behavior
    - LSP: Fixed test expectations for camelCase serialization
    - LSP initialization options use camelCase per LSP
      specification
    - Corrected test assertions to match actual camelCase
      behavior
    - Fix mode: Type-safe exit code semantics
    - Added FixMode enum for clear fix/check mode distinction
    - Improved code maintainability and type safety
    * Changed
    - BREAKING: MD013 tables default changed to false
    - Previously defaulted to true, causing conflicts with table
      formatting rules
    - Now defaults to false for better user experience
    - Migration: If you rely on MD013 checking table line
      lengths, add to .rumdl.toml:
      [MD013]
      tables = true
    - This prevents false positives when using MD060 or other
      table formatting tools
  - Update to version 0.0.170:
    * Added
    - Include non-standard file extensions (#127)
    - New --include CLI flag to check files with non-standard
      extensions
    - Example: rumdl check --include "*.txt" --include "*.text"
    - Useful for documentation files with custom extensions
    - Respects .rumdl.toml configuration: include = ["*.txt",
      "*.text"]
    * Fixed
    - MD055: Preserve user formatting when fixing pipe placement
      (#129)
    - Changed from full table reconstruction to surgical pipe
      addition/removal
    - User's intentional spacing and alignment are now preserved
    - Follows Unix philosophy: do one thing (fix pipes) well
    - Example: | Cell 1   | Cell 2 → | Cell 1   | Cell 2 |
      (spacing preserved)
    - MD053: Allow backtick references with :: and spaces (#128)
    - Fixed false positives for Rust-style references like
      [`std::vec::Vec`]
    - Now correctly handles references containing :: within
      backticks
    - Improves accuracy for Rust documentation and technical
      content
    * Documentation
    - MD028: Clarified rule behavior for consecutive blockquotes
      (#126)
    - Updated documentation to accurately reflect that MD028
      flags consecutive blockquote starts
    - Not a bug - working as designed per markdownlint
      specification
    - Prevents confusion about expected behavior
    * Changed
    - Rust toolchain updated to 1.91.0 (from 1.89.0)
    - Ensures compatibility with latest Rust features and
      improvements
    - Better performance and compilation times
  - Update to version 0.0.169:
    * Performance
    * MASSIVE PERFORMANCE IMPROVEMENTS: This release delivers 7-53x
      faster linting through systematic elimination of O(n²)
      bottlenecks and algorithmic optimizations. rumdl is now 16-29x
      faster than markdownlint-cli2 on real-world repositories.
    - Fix catastrophic O(n²) bottleneck in FilteredLinesIter
    - Eliminated content.lines().collect() from inside
      Iterator::next() method
    - Single-file optimization delivered 7,600x speedup for
      affected rules
    - MD011: 6.00s → 0.785ms (7,644x faster)
    - MD012: 5.95s → 1.643ms (3,621x faster)
    - Impact: Stress test (10k lines): 9,987ms → 187ms (53x
      faster)
    - Impact: Rust Book (478 files): 2,646ms → 269ms (9.8x
      faster)
    - Impact: PyO3 (76 files): 2,004ms → 262ms (7.6x faster)
    - Pre-compute LintContext data structures to eliminate
      redundant work
    - LineIndex: Eliminated 46× content cloning across all rules
    - Jinja template ranges: Pre-computed once instead of O(n×m)
      scanning
    - Table blocks: Computed once instead of 4× independent scans
      per document
    - HTML comment ranges: Pre-computed with 50-70x speedup
    - Code block line mapping: Optimized with binary search
      instead of linear scan
    - Autodoc blocks (MkDocs): Pre-computed to avoid O(n²)
      scaling
    - Optimize link and image parsing with binary search
    - Replaced linear search with binary search for code span
      checks
    - Faster link/image parsing across all reference-based rules
    - Replace regex with byte-level parsing for better performance
    - List detection: Manual byte scanning instead of regex
    - Blockquote prefix: Byte-level parsing instead of regex
    - Line info parsing: Eliminated redundant blockquote prefix
      parsing
    - Streaming parser architecture
    - Replaced AST parsing with pulldown-cmark streaming for
      lower memory overhead
    - Better scalability for very large documents
    - MD046 optimization
    - Pre-compute list/tab contexts
    - Use ctx.code_blocks instead of independent detection
    * Benchmarks
    * vs Previous Version (v0.0.168):
    - Rust Book (478 files): 2,646ms → 269ms (9.8x faster)
    - Stress Test (10,514 lines): 9,987ms → 187ms (53.4x faster)
    - PyO3 (76 files): 2,004ms → 262ms (7.6x faster)
    * vs markdownlint-cli2 (industry standard):
    - Rust Book: 10.3s vs 0.35s (29.4x faster)
    - PyO3: 4.4s vs 0.26s (16.9x faster)
    * Current Performance:
    - 0.7ms per file (Rust Book)
    - 6.3x parallelization efficiency
    - Zero O(n²) algorithmic bottlenecks remaining
    * Added
    - MDX and Quarto flavor support
    - New flavors: MarkdownFlavor::MDX and MarkdownFlavor::Quarto
    - JSX component handling: Skip linting inside JSX elements
    - ESM import/export support: Ignore JavaScript import/export
      statements
    - Quarto code chunk support: Recognize {r}, {python} chunk
      delimiters
    - Essential for modern React-based documentation and data
      science workflows
    * Fixed
    - MD011: Intelligent URL vs text detection in reversed links
    - Smarter classification of link components as URL or text
    - Reduces false positives in edge cases like
      (Generic<T>)[link]
    - Correctly handles (http://url)[text] vs (text)[#anchor]
    - Improved heuristics for ambiguous single-word patterns
    - MD013: Preserve HTML blocks in list items during reflow
    - HTML blocks inside list items are now preserved during
      auto-fix
    - Prevents broken indentation and tag structure
    - Better handling of complex nested content
    * Changed
    - Architecture improvements for pre-computation pattern
    - LintContext now owns shared data structures
    - Rules consume pre-computed data instead of duplicating work
    - Consistent binary search APIs for range lookups
    - Foundation for future optimizations
  - Update to version 0.0.168:
    * Added
    - CLI: Support for Quarto (.qmd) and RMarkdown (.rmd/.Rmd)
      files
    - Added support for .qmd (Quarto), .rmd and .Rmd (RMarkdown)
      file extensions
    - Enables markdown linting for data science and scientific
      documentation workflows
    - Particularly useful for Jupyter-based publishing and
      reproducible research documents
    - LSP: will_save_wait_until for proper auto-fix on save
    - Implemented LSP textDocument/willSaveWaitUntil capability
    - Provides proper auto-fix on save support in compatible
      editors
    - More reliable than textDocument/didSave approach
    - Ensures fixes are applied before file is actually saved to
      disk
    - MD033: LSP Quick Fix to remove HTML tags while keeping
      content
    - New code action removes HTML opening and closing tags while
      preserving inner content
    - Helps convert inline HTML to plain text when needed
    - Available through editor Quick Fix menu (Ctrl+. or Cmd+.)
    * Fixed
    - MD013: Skip auto-fix for list items containing HTML tags
    - Prevents broken auto-fix when HTML tags are present in list
      items
    - HTML structure (indentation, tag hierarchy) is now
      preserved
    - Errors are still reported but no destructive fix is applied
    - Pragmatic solution until full HTML-aware reflow is
      implemented
    - Fixes issues where tags like </details> were split or
      indentation was lost
    - MD013: Fix incorrect sentence splitting after abbreviations
      in sentence-per-line mode
    - No longer incorrectly splits sentences after common
      abbreviations (e.g., etc., i.e., Dr., Mr.)
    - Improved sentence detection algorithm for better accuracy
    - Prevents unwanted line breaks in the middle of sentences
    - MD013: Prevent autolinks from being parsed as HTML tags
    - Autolinks like <https://example.com> are no longer treated
      as HTML
    - Fixes false positives in HTML detection that could skip
      auto-fix unnecessarily
    - Properly distinguishes between markdown autolinks and
      actual HTML tags
    - MD013: Prevent content duplication in sentence-per-line
      reflow
    - Fixed bug where content could be duplicated during
      paragraph reflow
    - Ensures each sentence appears exactly once in reflowed
      output
    - Improves reliability of auto-fix in sentence-per-line mode
    - MD013: Improve sentence-per-line error messages and
      highlighting
    - Better error messages that clearly indicate
      sentence-per-line violations
    - More accurate highlighting of problematic text
    - Helps users understand what needs to be fixed
    - MD013: Skip template directives at paragraph start in
      sentence-per-line mode
    - Template directives (like {{ variable }}) at start of
      paragraphs no longer cause issues
    - Prevents false positives in templated markdown files
    - Improves compatibility with static site generators and
      template engines
    - MD013: Treat template directives as paragraph boundaries
    - Template directives now properly separate paragraphs during
      reflow
    - Prevents template syntax from being joined with regular
      content
    - Better handling of mixed template and markdown content
    - MD013: Join single-sentence paragraphs in sentence-per-line
      mode
    - Single-sentence paragraphs that span multiple lines are now
      properly joined
    - Fixes issues where short paragraphs were incorrectly
      flagged
    - Improves consistency of sentence-per-line formatting
    - MD013: Handle multiple spaces and multi-line paragraphs in
      sentence-per-line mode
    - Better handling of paragraphs with inconsistent spacing
    - Multi-line paragraphs are now correctly reflowed
    - Fixes edge cases in whitespace handling
    - MD052: Preserve backtick-wrapped patterns with dots in MkDocs
      mode
    - Backtick-wrapped references like `[foo.bar]` now preserve
      dots in slugs
    - Matches MkDocs behavior of treating code-wrapped text
      literally
    - Prevents false positives for code examples in documentation
    - MD052: Support Pandoc citations and inline footnotes in
      RMarkdown/Quarto
    - Recognizes Pandoc citation syntax: [@citation], @citation,
      [-@citation]
    - Recognizes inline footnote syntax: ^[footnote text]
    - No longer treats these as reference-style links
    - Essential for academic and scientific writing in RMarkdown
      and Quarto
    - MD033: Only report opening HTML tags, not closing tags
    - MD033 violations now only report the opening tag of an HTML
      element
    - Reduces noise in linting output (one violation per element
      vs two)
    - Closing tags like </div> are no longer separately reported
    - Makes HTML-related warnings clearer and less redundant
    - MD018: Skip CSS selectors and JS code inside HTML blocks
    - CSS selectors like #slide-1 inside <style> tags no longer
      trigger MD018
    - JavaScript code inside <script> tags is properly ignored
    - Prevents false positives for Quarto and RMarkdown files
      with embedded HTML/CSS/JS
    - Particularly important for interactive documents and custom
      styling
    - MD012: Enforce exactly 1 newline at EOF and clean LSP logging
    - Files now must end with exactly one newline character (not
      zero, not two)
    - Aligns with POSIX standard and common editor behavior
    - Improved LSP logging with less noise
    - CI: Use cargo run instead of release binary in rumdl
      pre-commit hook
    - Pre-commit hooks now use cargo run for more reliable
      execution
    - Prevents issues with stale release binaries during
      development
    - Better integration with cargo workflow
    - Schema: Allow root-level rule sections like [MD013] in config
      validation
    - Configuration schema now correctly allows [MD013] style
      sections
    - Fixes false validation errors for valid TOML config
    - Better compatibility with common configuration patterns
    * Changed
    - Refactor: Detect HTML blocks before parsing headings
    - Reordered LintContext initialization to detect HTML blocks
      first
    - Headings are no longer detected inside HTML blocks (like
      <style> or <script>)
    - Architectural improvement that prevents multiple false
      positives
    - Benefits MD018 and other heading-related rules
    - More correct parsing aligned with markdown specifications
    - Refactor: Use filtered_lines() for front-matter handling in
      MD011 and MD012
    - Improved front-matter handling using consistent
      filtered_lines API
    - Better code reuse and maintainability
    - More reliable front-matter detection across rules
  - Update to version 0.0.167:
    * Added
    - Configuration validation with fuzzy-match suggestions
    - Comprehensive unknown key detection for .rumdl.toml and
      pyproject.toml
    - Intelligent "did you mean?" suggestions using Levenshtein
      distance algorithm
    - File path context in validation warnings for easy debugging
    - Catches typos in global options, rule names, and rule
      options
    - Example: line-lenght → suggests line-length, reflw →
      suggests reflow
    - Zero-dependency implementation with configurable similarity
      threshold
    - Helps users catch configuration mistakes before they cause
      confusion
    - MD053: Support for community comment-style references
    - Recognizes and ignores reference-style link syntax used as
      comments
    - Supports widely-used patterns: [//]: # (comment),
      [comment]: #, [note]: #, [todo]: #, [fixme]: #, [hack]: #
    - Any reference with just # as URL is treated as a comment
    - While not in CommonMark/GFM specs, used across 23+ markdown
      implementations
    - Complements HTML comments with a less HTML-like syntax
      option
    - Improves compatibility with existing markdown practices
    - MD013: line-length = 0 to disable all line length checks
    - Setting line-length = 0 now completely disables MD013 rule
    - Provides explicit way to turn off line length validation
      entirely
    - More intuitive than previous workarounds
    - Useful when line length management is handled by other
      tools or not desired
    - MD051: mdbook template support
    - Added detection and slug generation for mdbook templates
    - Recognizes {{#template path/to/file.md}} syntax
    - Properly generates GitHub-compatible slugs for
      template-included headings
    - Improves compatibility with mdbook documentation projects
    - LSP: Manual "Reflow paragraph" code action for MD013 warnings
    - New code action available for MD013 line length warnings
      when auto-reflow is disabled
    - Allows users to manually reflow specific paragraphs without
      enabling global reflow in config
    - Appears as "Reflow paragraph" in Quick Fix menu (not marked
      as preferred, so won't trigger on save)
    - Intelligently detects paragraph boundaries and reflows
      entire paragraph, not just the flagged line
    - Respects line length limit from warning message or defaults
      to 80 characters
    - Provides a way to try paragraph reflow before committing to
      enabling it globally
    - Gives users fine-grained control over which paragraphs to
      reflow
    * Fixed
    - LSP: Preserve trailing newline in reflow action
    - Manual reflow code action now correctly preserves trailing
      newlines
    - Prevents unwanted file modifications from reflow operations
    - Maintains document structure integrity
    - LSP: Improve logging and resolve auto-fix issues
    - Enhanced LSP server logging for better debugging
    - Resolved various auto-fix edge cases and reliability issues
    - MD051: Correct GitHub slug generation for angle brackets
    - Fixed incorrect slug generation for headings containing
      angle brackets
    - Now properly handles special characters in anchor
      generation
    - Improves accuracy of link validation for complex headings
    * Changed
    - MD033: Remove unhelpful message suffix
    - Simplified warning messages for inline HTML detection
    - Removed redundant information to reduce noise
    - Cleaner, more focused error messages
    - Code cleanup: Remove dead code
    - Removed unused LinkImageStyle enum from MD054
    - General refactoring to improve maintainability
    - Fixed clippy warnings
    * Documentation
    - MD033: Document mdbook use case for semantic HTML
    - Added documentation about using semantic HTML in mdbook
      projects
    - Clarifies when and why inline HTML might be intentionally
      used
    - Helps users understand legitimate use cases for HTML in
      markdown
  - Update to version 0.0.166:
    * Added
    - MD013: paragraphs field to control paragraph line length
      checks (resolves #121)
    - New boolean config field paragraphs (defaults to true)
      allows disabling line length warnings for paragraph text
    - Enables sentence-per-line formatting workflows without line
      length validation noise
    - Still checks headings, tables, code blocks, blockquotes,
      and HTML when paragraphs: false
    - Useful for semantic line breaks where sentence length is
      determined by content, not arbitrary limits
    - Example configuration:
    - MD013: paragraphs: false  # Don't warn about long
      paragraphs code-blocks: true  # Still check code blocks
      tables: true       # Still check tables reflow: true
      reflow-mode: "sentence-per-line"
  - Update to version 0.0.165:
    * Fixed
    - MD040: Always preserve indentation when adding language tags
      (fixes #122)
    - The MD040 rule was incorrectly removing indentation from
      code blocks when adding language tags
    - This broke list structure when code blocks were part of
      list items
    - Root cause: The fix logic had conditional behavior that
      would remove indentation for "standalone" code blocks
    - Now always preserves original indentation regardless of
      context
    - Removed 50+ lines of unnecessary is_in_nested_context()
      helper logic
    - Added comprehensive tests for various indentation scenarios
      (0, 2, 4, 6 spaces)
    * Added
    - Conventional Commits validation hook: Git commit-msg hook
      validates commit message format
    - Enforces Conventional Commits specification for all commits
    - Provides helpful error messages for invalid formats
    - Ensures consistent commit history for changelog generation
    - Automated changelog generation with git-cliff:
    - Added make changelog-draft for previewing CHANGELOG updates
    - Semi-automated workflow: generate draft, enhance with
      details, commit
    - Conventional Commits integration for automatic
      categorization
    * Changed
    - Pre-push hook optimization: Use dev profile instead of full
      suite for faster testing
    - Prevents pre-push hook from hanging on slower machines
    - Maintains adequate test coverage while improving developer
      experience
  - Update to version 0.0.164:
    * Added
    - File-Level Caching (Ruff-inspired): Dramatic performance
      improvements for repeat runs
    - Blake3-based content hashing for fast cache lookups
    - Automatic cache invalidation on content, config, or version
      changes
    - Cache stored in .rumdl-cache/{version}/{hash}.json
    - CLI flags: --no-cache to disable, --cache-dir to customize
      location
    - Enabled by default for instant subsequent runs
    - Thread-Safe Parallel Caching: Best of both worlds -
      parallelization AND caching
    - Implemented Arc<Mutex> for safe cache sharing across
      threads
    - Mutex locked ONLY for brief cache get/set operations
    - Full parallelization during expensive linting operations
    - Matches Ruff's architecture for optimal performance
    - Convergence Detection: Added hash-based detection to identify
      when fixes have stabilized
    - Stops iteration when content hash remains unchanged
    - More efficient than counting rule applications
    - Returns convergence status in fix results
    - Convergence Failure Warnings: Report when auto-fix doesn't
      converge (Ruff-style)
    - Warns if 100 iteration limit reached without convergence
    - Shows rule codes involved in potential infinite loop
    - Encourages bug reports for convergence failures
    - Available via RUMDL_DEBUG_FIX_PERF environment variable
    * Changed
    - Auto-fix Iteration: Automatic iteration until convergence
      (fixes #88)
    - --fix now automatically iterates up to 100 passes until
      content stabilizes (same as Ruff)
    - No need to manually re-run rumdl check --fix multiple times
    - Hash-based convergence detection prevents unnecessary
      iterations
    - Significantly improves user experience for multi-pass fix
      scenarios
    - Unified Linting Architecture: Removed ~60 lines of duplicate
      linting logic
    - Refactored process_file_collect_warnings to use
      process_file_inner
    - Single code path for all file processing
    - Cache works for ALL output formats (text, JSON, GitLab,
      SARIF, JUnit)
    - Parallel File Processing for Fix Mode: 4.8x speedup on
      multi-file fixes
    - Previously fix mode was always sequential
    - Now uses parallel processing when safe (multiple
      independent files)
    - Each file processes all its fix iterations independently
    * Fixed
    - Multi-pass Fixes: No longer require manual re-runs to apply
      all possible fixes
    - Previously users had to run rumdl check --fix multiple
      times
    - Now automatically handles dependent rule fixes in single
      command
    - Examples: MD010 (tabs) before MD007 (list indent), MD013
      (line length) before MD009 (trailing spaces)
    - Cache Correctness: Include enabled rules in cache key
      (Ruff-style)
    - Cache now respects --enable/--disable CLI flags
    - Different rule configurations create separate cache entries
    - Prevents incorrect cached results when switching rule sets
    - Changed LintWarning.rule_name from Option<&'static str> to
      Option<String> for proper serialization
    - Cache Parallelization: Cache now works correctly with
      parallel processing
    - No mutex contention during parallel file processing
    - All output formats benefit from caching (previously only
      JSON/GitLab/SARIF/JUnit)
    * Performance
    - Single file with cache: 943ms → 7ms (135x faster)
    - Multi-file (21 files) cold cache: 14.4s → 4s (parallel
      processing)
    - Multi-file (21 files) warm cache: 14.4s → 0.019s (757x
      faster!)
    - JSON format (17 files) with cache: 13.9s → 60ms (231x faster)
  - Update to version 0.0.163:
    * Changed
    - MD024: Default siblings_only to true for better usability
    - Multiple headings with same text now only flagged if
      they're direct siblings
    - Reduces false positives in documents with common section
      headings
    - More intuitive default behavior matching common use cases
    * Fixed
    - MD013: Enforce line length in sentence_per_line mode (fixes
      [#111])
    - Previously, sentence_per_line mode completely ignored
      line_length setting
    - Now warns about single sentences exceeding configured
      line_length
    - No auto-fix for long single sentences (requires manual
      rephrasing)
    - Still auto-fixes multi-sentence lines by splitting on
      sentence boundaries
    - Cleaned up warning messages by removing verbose
      parentheticals
    - Maintains semantic integrity (won't split mid-sentence)
      while respecting configured line_length
    - HTML Comments: Complete fix to ignore all content inside HTML
      comments (fixes #119, #20)
    - All rules now properly ignore content within HTML comment
      blocks (<!-- ... -->)
    - Added in_html_comment field to LineInfo for comprehensive
      tracking
    - Extended filtered lines API with skip_html_comments()
      method
    - Updated MD013, MD049, and other rules to skip HTML comment
      content
    - Prevents false positives from commented-out markdown
      (MD013, MD049, MD005, MD006, MD039, MD042)
    - Better handling of multi-line HTML comments across all
      linting rules
    - MD046: Resolve false positives from Issue #118
    - Fixed incorrect flagging of valid code block syntax
    - Improved code block style detection accuracy
    - MD050: Resolve false positives from Issue #118
    - Fixed incorrect strong style detection in edge cases
    - Better handling of emphasis patterns
    - Tests: Fixed sentence_per_line_detection test assertion
    - Updated test to match simplified warning message from MD013
    - Test was expecting verbose message after message was
      simplified in earlier commit
  - Update to version 0.0.162:
    * Added
    - Filtered Line Iterator Architecture: New infrastructure for
      rule implementation
    - Provides consistent interface for filtering out front
      matter, code blocks, and HTML blocks
    - Eliminates manual context checking in individual rules
    - Improves code maintainability and reduces duplication
    - Enables easier implementation of new rules
    * Fixed
    - MD052: Skip code blocks in blockquotes when checking
      references
    - Prevents false positives for reference syntax inside code
      blocks within blockquotes
    - Properly handles nested markdown structures
    - MD034: Skip URLs in front matter
    - URLs in YAML/TOML/JSON front matter no longer flagged as
      bare URLs
    - Improves compatibility with static site generators
    - Tests: Fixed flaky profiling::tests::test_concurrent_access
      test
    - Added #[serial_test::serial] attribute to prevent race
      conditions
    - Ensures reliable test execution in CI/CD environments
    - Documentation: Build badge now displays correctly
    * Performance
    - MD005: Optimized continuation detection from O(n²) to O(n)
    - Dramatically faster processing of documents with many list
      items
    - Eliminates redundant line scanning
    - General: Consolidated multiple line_info() calls for same
      line
    - Reduced redundant lookups across multiple rules
    - Improved overall linting performance
    * Changed
    - Internal Refactoring: Eliminated manual checks across all
      rules
    - Removed manual front matter detection from individual rules
    - Removed manual code block detection from individual rules
    - Removed manual HTML block detection from individual rules
    - All rules now use centralized filtering infrastructure
    * Documentation
    - Per-File-Ignores: Added comprehensive documentation for
      per-file-ignores feature
    - Detailed usage examples with glob patterns
    - Integration with both .rumdl.toml and pyproject.toml
* Thu Oct 16 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - new package rumdl: a Markdown Linter written in Rust

Files

/usr/bin/rumdl
/usr/share/doc/packages/rumdl
/usr/share/doc/packages/rumdl/README.md
/usr/share/licenses/rumdl
/usr/share/licenses/rumdl/LICENSE


Generated by rpm2html 1.8.1

Fabrice Bellet, Mon Nov 10 23:57:04 2025