Skip to content

Bump ReverseMarkdown from 4.6.0 to 6.0.0#271

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

Bump ReverseMarkdown from 4.6.0 to 6.0.0#271
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/nuget/src/DocsGenerator/ReverseMarkdown-6.0.0

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Updated ReverseMarkdown from 4.6.0 to 6.0.0.

Release notes

Sourced from ReverseMarkdown's releases.

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

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.0.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 13, 2026

@github-actions github-actions 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.

@dependabot merge

@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 the ReverseMarkdown dependency from version 4.6.0 to 6.0.0. Although the analysis indicates the changes are technically up to standards, this upgrade represents a major architectural shift. The library has been rewritten to use the AngleSharp-based engine instead of HtmlAgilityPack, and the configuration model has been restructured.

The primary risk is the absence of verification tests to ensure that the documentation generation remains consistent. Given that this jump skips v5 and moves directly to v6, there is a possibility of breaking changes or regressions in the generated Markdown output that automated static analysis cannot detect. It is recommended to perform a visual or automated diff of the documentation output before merging.

About this PR

  • The jump from v4 to v6 involves a ground-up rewrite of the library's engine. Please ensure that the current project configuration is compatible with the new 'Flavor' and 'Config' groups introduced in the v5/v6 lifecycle. Code using v4-specific patterns may require manual refactoring to align with the new engine's requirements.

Test suggestions

  • Verify that documentation generation produces consistent Markdown output after the transition from HtmlAgilityPack to the AngleSharp-based engine.
  • Ensure the project compiles correctly when jumping from v4 to v6, as breaking changes may exist beyond the v5-to-v6 compatibility layer.
Prompt proposal for missing tests
Consider implementing these tests if applicable:
1. Verify that documentation generation produces consistent Markdown output after the transition from HtmlAgilityPack to the AngleSharp-based engine.
2. Ensure the project compiles correctly when jumping from v4 to v6, as breaking changes may exist beyond the v5-to-v6 compatibility layer.

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

@dependabot @github

dependabot Bot commented on behalf of github Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #272.

@dependabot dependabot Bot closed this Jul 14, 2026
@dependabot dependabot Bot deleted the dependabot/nuget/src/DocsGenerator/ReverseMarkdown-6.0.0 branch July 14, 2026 14:44
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