Skip to content

Bump ReverseMarkdown from 3.19.0 to 6.1.0#139

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/nuget/src/DocsGenerator/ReverseMarkdown-6.1.0
Open

Bump ReverseMarkdown from 3.19.0 to 6.1.0#139
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/nuget/src/DocsGenerator/ReverseMarkdown-6.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 15, 2026

Copy link
Copy Markdown

Updated ReverseMarkdown from 3.19.0 to 6.1.0.

Release notes

Sourced from ReverseMarkdown's releases.

6.1.0

What's Changed

Full Changelog: mysticmind/reversemarkdown-net@6.0.0...6.1.0

6.0.0

v6 is a ground-up rewrite of the conversion engine. HTML is parsed with AngleSharp's HTML5-compliant parser into an intermediate Markdown DOM, which is rendered through per-flavor writers. The result is more correct, faster, leaner, and extensible - while keeping the public API source-compatible with v5.

Engine

  • New AngleSharp HTML5 parser replaces HtmlAgilityPack, so malformed and real-world HTML is parsed the way browsers parse it. The HtmlAgilityPack dependency is removed.
  • Markdown DOM pipeline - HTML is read into a structured, mutable document model (MarkdownDocument) and then rendered, cleanly separating parsing from output.
  • Flavor-agnostic readers, flavor-aware writers - readers always build the richest applicable node; each writer decides how to render or degrade it for its target flavor.

Output flavors

Seven output flavors, selected via the single canonical Flavor enum (MarkdownFlavor):

  • Default - clean, portable Markdown.
  • GitHub - dedicated CommonMark-based GitHub writer; round-trip-faithful and preserves raw HTML.
  • CommonMark - strict CommonMark output.
  • Slack - Slack mrkdwn (single-asterisk bold, • bullets, etc.).
  • Telegram - Telegram MarkdownV2 with its reserved-character escaping and fallbacks.
  • MultiMarkdown - MMD constructs (verified against canonical pandoc). (new in v6)
  • Pandoc - Pandoc Markdown with native spans, fenced divs, and strikeout. (new in v6)

Spec compliance

  • CommonMark round-trips all 651/651 spec examples (HTML → Markdown → HTML) against canonical cmark-gfm.
  • GitHub Flavored Markdown round-trips 672/672.
  • MultiMarkdown and Pandoc output verified against canonical pandoc.

Extensibility

  • Parse() / Render() expose the Markdown DOM directly, so you can traverse and transform the document (headings, lists, tables, links, footnotes, definition lists, math, etc.) before rendering.
  • Custom readers via IMdReader + [MarkdownReader], auto-discovered from additional assemblies passed to the Converter constructor.
  • Rich DOM node set including tables, definition lists, footnotes (definitions + references), fenced divs, line blocks, math, citations, bracketed spans, superscript/subscript, strikethrough, and raw HTML blocks/inlines.

HTML pre-filtering (new)

  • Html.ExcludeSelectors - drop elements by CSS selector before conversion.
  • Html.ElementFilters - drop elements via arbitrary predicates.

Configuration overhaul

  • Options are reorganized into logical groups: Images, Links, Tables, Tags, Html, Formatting, plus the top-level Flavor.
  • Flavor is the single canonical selector. SlackFlavored, TelegramMarkdownV2, and CommonMark are now obsolete aliases that read/write Flavor.
  • All former flat properties remain as [Obsolete] forwarders, so existing v5 code keeps compiling (with guidance warnings).
  • Notable options: base64 image handling (include / skip / save-to-file with custom filenames), lazy-load src fallback attributes, smart href handling, URI-scheme whitelist, header-column-span handling, header-less table strategy, comment removal, <pre>-as-HTML, line-start escaping, configurable line endings, bullet character, and default code-block language.

Framework support

  • Targets netstandard2.0, net8.0, net9.0, net10.0.
  • The netstandard2.0 target restores support for .NET Framework 4.6.1+, .NET Core 2.0+, Mono, and Unity (uses source-only Polyfill; no extra runtime dependency).

Performance
... (truncated)

5.5.0

What's Changed

Full Changelog: mysticmind/reversemarkdown-net@5.4.0...5.5.0

5.4.0

✨ New features

  • Opt-in data-src fallback for lazy-loaded images (#​427). Many sites park the real image URL in a data-* attribute while src holds a placeholder (typically a data: URI). Enable Config.LazyImageSrcFallback (default false) and, when src is empty or a data: placeholder, the converter resolves the URL from the first usable attribute in Config.LazyImageSourceAttributes (defaults: data-src, data-original, data-lazy-src, data-srcset, data-original-src; srcset-style values use their first URL). Default behavior is unchanged.
var converter = new Converter(new Config { LazyImageSrcFallback = true });
// <img src="data:image/png;base64,..." data-src="https://example.com/image.webp">
// → ![](https://example.com/image.webp)

🐛 Bug fixes

  • Square brackets inside code spans in link text are no longer escaped (#​426). [[UnmanagedCallersOnly]](…) previously became
    [\[UnmanagedCallersOnly\]](…). Brackets inside backtick code spans are now left untouched; brackets outside code spans are still escaped.
  • Missing space after inline code in list items with nested lists (#​428). The whitespace normalization before a nested list now trims only trailing whitespace and is scoped to the current item.

🔧 Maintenance

Full Changelog: mysticmind/reversemarkdown-net@5.3.0...5.4.0

5.3.0

What's Changed

Full Changelog: mysticmind/reversemarkdown-net@5.2.1...5.3.0

5.2.1

What's Changed

Full Changelog: mysticmind/reversemarkdown-net@5.2.0...5.2.1

5.2.0

What's Changed

Full Changelog: mysticmind/reversemarkdown-net@5.1.0...5.2.0

5.1.0

What's Changed

  • Add tag aliasing and unknown-tag replacements (Issue #​357)
  • Fix duplicate style keys after trimming in ParseStyle (PR #​416)
  • Improve thread safety by isolating converter context per call (Issue #​415)
  • Handle semantic containers as block wrappers (Issue #​417)
  • Fix HTML entity decoding in backtick spans (Issue #​414)
  • Update README/features documentation

New Contributors

Full Changelog: mysticmind/reversemarkdown-net@5.0.0...5.1.0

5.0.0

What's Changed

Milestone 5.0.0

New Contributors

Full Changelog: mysticmind/reversemarkdown-net@4.7.0...5.0.0

4.7.1

Fix Exponential Time Complexity Bug Causing Hangs with Nested <p> Tags GH-408 by @​ssperling-wmp (cherry-picked and merged from master)

Full Changelog: mysticmind/reversemarkdown-net@4.7.0...4.7.1

4.7.0

What's Changed

New Contributors

Full Changelog: mysticmind/reversemarkdown-net@4.6.0...4.7.0

4.6.0

What's Changed

New Contributors

Full Changelog: mysticmind/reversemarkdown-net@4.5.0...4.6.0

4.5.0

  • Fix Tab added before anchor #​391
  • Fix Table convert may be getting wrong #​392
  • Add functionality to auto cleanup multiple newlines.

Full Changelog: mysticmind/reversemarkdown-net@4.4.0...4.5.0

4.4.0

Full Changelog: mysticmind/reversemarkdown-net@4.3.0...4.4.0

4.3.0

  • Renamed SuppressNewlines to SuppressDivNewlines. Note that 4.2.0 was published with incorrect name so unlisted it rather than bumping up the major version due to this change.

Full Changelog: mysticmind/reversemarkdown-net@4.2.0...4.3.0

4.2.0

What's Changed

Note: NuGet version unlisted due to incorrect config name, see 4.3.0 for details.

New Contributors

Full Changelog: mysticmind/reversemarkdown-net@4.1.0...4.2.0

4.1.0

Whats Changed

  • Reinstate .NET Standard 2.0 for PowerShell 5.1 based users of the lib #​359 @​mysticmind
  • Add support to convert strike through elements s, del and strike #​356
  • Fix strange escape issue of links #​355
  • Fix inadvertent auto content trimming for inline elements #​353

Full Changelog: mysticmind/reversemarkdown-net@4.0.0...4.1.0

4.0.0

What's Changed

  • Update to support .NET 8 @​mysticmind
  • Update dependent libs @​mysticmind
  • Remove .NET targets net46, netstandard2.0 and net5.0. Keep support only for net6.0, net7.0 and net8.0 @​mysticmind
  • Fix unit tests due to breaking changes pertaining to Verify (snapshot tool) @​mysticmind
  • Add support for <sup> tag conversion by @​francescolf in Add support for <sup> tag conversion mysticmind/reversemarkdown-net#358

New Contributors

Full Changelog: mysticmind/reversemarkdown-net@3.25.0...4.0.0

3.25.0

Full Changelog: mysticmind/reversemarkdown-net@3.24.0...3.25.0

3.24.0

What's Changed

  • Table alignment is ignored #​256
  • Suggestion: dl, dt, dd could render as lists #​282
  • Table Bug #​294

Full Changelog: mysticmind/reversemarkdown-net@3.23.1...3.24.0
Milestone: https://github.com/mysticmind/reversemarkdown-net/milestone/24?closed=1

3.23.1

Full Changelog: mysticmind/reversemarkdown-net@3.23.0...3.23.1

3.23.0

Full Changelog: mysticmind/reversemarkdown-net@3.22.0...3.23.0

3.22.0

Full Changelog: mysticmind/reversemarkdown-net@3.21.0...3.22.0

3.21.0

Full Changelog: mysticmind/reversemarkdown-net@3.20.0...3.21.0

3.20.0

Commits viewable in compare view.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

---
updated-dependencies:
- dependency-name: ReverseMarkdown
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Jul 15, 2026
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes.

@codacy-production codacy-production Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR upgrades ReverseMarkdown across three major versions (v3.19.0 to v6.1.0). While Codacy analysis indicates the change is 'up to standards', the upgrade involves a complete engine rewrite in the underlying library.

Such a transition poses a high risk for regression in documentation generation, specifically regarding output formatting and escaping logic. There is currently no evidence or test coverage provided to verify that the DocsGenerator produces consistent output after this significant engine replacement.

About this PR

  • The upgrade to v6.1.0 includes a 'ground-up rewrite' of the library's conversion engine (introduced in v6.0.0). This represents a high risk for breaking changes in output formatting, escaping, or configuration compatibility. Please provide verification that the generated documentation remains stable.

Test suggestions

  • Verify that existing HTML to Markdown conversion logic produces correct output with the new v6.x engine rewrite
  • Confirm that any configuration options used by DocsGenerator are compatible with the v6.0.0 configuration overhaul
Prompt proposal for missing tests
Consider implementing these tests if applicable:
1. Verify that existing HTML to Markdown conversion logic produces correct output with the new v6.x engine rewrite
2. Confirm that any configuration options used by DocsGenerator are compatible with the v6.0.0 configuration overhaul

TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants