Skip to content

Releases: EtheaDev/MarkdownProcessor

Official 2.0.0 version

Choose a tag to compare

@carloBarazzetta carloBarazzetta released this 08 Oct 10:39

ver. 2.0.0 (major version: new CommonMark/GFM engine)

  • New engine (block parser, inline parser, HTML renderer) written after the parsing strategy of the CommonMark specification, still compatible from Delphi XE3
  • mdCommonMark now runs on the new engine: CommonMark 0.31.2, all the 652 examples of the specification pass
  • New dialect mdGFM: GitHub Flavored Markdown 0.29 (tables, task lists, strikethrough, extended autolinks, disallowed raw HTML), all the 24 examples pass
  • New dialect mdGitHub, the new default (DefaultMarkdownDialect, CreateDialect without arguments): GFM + math + GitHub alerts + mermaid, as github.com
  • mdDaringFireball and mdTxtMark keep the original engine with exactly the same output (checked by snapshot tests); the new dialects are appended to TMarkdownProcessorDialect, existing ordinals unchanged
  • Optional syntax as individual flags (Config.Extensions): math, GitHub alerts, mermaid, subscript, superscript, insert, mark, smart typography, {#id} heading attributes, GitHub-style heading ids, wiki links
  • Math formulas: KaTeX/MathJax markup (for viewers with JavaScript, e.g. WebView2) or codecogs images (Config.MathRendering, for HTMLViewer)
  • Mermaid diagrams written as <pre class="mermaid"> for mermaid.js
  • Read-only syntax tree IMarkdownNode with source line ranges: TMarkdownProcessor.Parse / Render
  • New safe mode for the new engine: raw HTML omitted, javascript:/vbscript:/file:/data: links emptied
  • Hooks kept: codeBlockEmitter receives every code block with its whole info string (mermaid included), specialLinkEmitter the [[...]] links
  • Linear time on pathological inputs; no memory leaks
  • New Delphi packages MarkdownProcessor (runtime) and dclMarkdownProcessor (design-time) for Delphi XE6 to 13, with build scripts
  • New non-visual component TMarkdownToHTML (all the legacy extensions enabled by default) and new VCL demo Demo\MarkdownProcessorDemo
  • Updated MarkDown Support Test.md: every feature of the GitHub dialect and of the legacy extensions
  • New Setup for automatic installation, with optional MarkDownToHTML.exe (32 or 64 bit)
  • MarkDownToHTML.exe: new -dialect:GitHub (default) and -dialect:GFM; executables built in Cmd\Win32 and Cmd\Win64
  • New DUnitX test project (Win32 and Win64): official CommonMark and GFM examples, math, alerts, extensions, safe mode, hooks, syntax tree, performance; results in Tests/CONFORMANCE.md
  • Breaking changes for mdCommonMark (tables and strikethrough need GFM/GitHub, non-standard syntax off by default, new math markup, raw HTML omitted in safe mode): see docs/MIGRATION.md

Official 1.4.1 version

Choose a tag to compare

@carloBarazzetta carloBarazzetta released this 17 Jun 14:56
  • fixed tables: inline constructs no longer span cells
  • updated Markdown Support Test.md file
  • fixed Allow Unsafe mode

11 Jun 2026: ver. 1.4.0

  • Added "-unsafe" command line option to MarkDownToHTML.exe (safe mode is the default)
  • Fixed safe mode: unsafe HTML elements (script, iframe, object, applet, frame...) are now correctly escaped
  • Math formulas: replaced the deprecated Google Chart API with the CodeCogs LaTeX renderer
  • Math formulas: added support for centered formula blocks using the $$...$$ syntax
  • Improved tables support
  • TUtils.codeEncode now encodes spaces as %20
  • Aligned with upstream FPC-markdown by Miguel A. Risco-Castillo

Official 1.3.0 version

Choose a tag to compare

@carloBarazzetta carloBarazzetta released this 21 Aug 09:52
  • Added support for Delphi 13
  • Added command line utility MarkDownToHTML.exe

Official 1.2.0 version

Choose a tag to compare

@carloBarazzetta carloBarazzetta released this 08 Apr 10:41
  • Fixed const parameters

Official 1.1.0 version

Choose a tag to compare

@carloBarazzetta carloBarazzetta released this 15 Dec 23:41
ver. 1.1.0

- Updated Demo in project https://github.com/EtheaDev/MarkdownHelpViewer for FireMonkey