v0.25.0
- Discord-flavored Markdown by @Meow and @liamwhite in #421
- Three new extensions and two render options are added:
extension.underline
adds support for__underlined__
text.extension.spoiler
adds support for||spoiler||
text.extension.greentext
adds support for image board-style>greentext
, which isn't transformed into a blockquote.render.ignore_setext
disables parsing setext-style headings.render.ignore_empty_links
causes links with no text (like[](xyz)
) to remain in the text as-is.
- Three new extensions and two render options are added:
- nodes: add From impls for AstNode. by @kivikakk in #424
- Back by popular demand:
AstNode::from(NodeValue)
. - Also added is
AstNode::from(Ast)
, if you have sourcepos.
- Back by popular demand:
- AST validation by @yannham in #425
- The AST is validated when formatting a document as CommonMark in debug builds.
- Address autolink edge cases. by @kivikakk in #426
- Autolinks had many edge cases where output differed from upstream
cmark-gfm
. These have been fixed by following upstream's parser design closely.
- Autolinks had many edge cases where output differed from upstream
- shortcodes: capture all known aliases. by @kivikakk in #427
- We didn't parse shortcodes containing numbers or
+
. We do now.
- We didn't parse shortcodes containing numbers or
- Support both upstream CommonMark and GFM's differences in the base spec. by @kivikakk in #428
- GFM modifies even base CommonMark output somewhat. We now support and validate against both.
- cm: count ol items from start of each list. by @kivikakk in #429
- Ordered list item numbers are normalised on formatting back to CommonMark.
- arena_tree: panic if iterator invalidation causes trouble. by @kivikakk in #437
arena_tree
would silently stop iteration when trying to proceed from a child that had lost its parent. It now panics instead, as the old behaviour is incorrect and impossible to notice.
- broken reflink callback updates & big cleanup. by @kivikakk in #438
- The broken reference link callback has been moved into
ParseOptions
(which now takes a lifetime, meaningOptions
does too). - The callback now takes a struct containing both the normalised reference, and the original text, and the return value has changed from a 2-tuple to a struct for clarity.
parse_document_with_broken_link_callback
has been marked deprecated.
- The broken reference link callback has been moved into
- Inline sourcepos fixes. by @kivikakk in #439
- Inline sourcepos was provided on a best-effort basis, but there are multiple correctness issues which can't be fixed without significant work.
- Inline sourcepos is no longer reported in HTML output. It remains in the AST and in XML output, but it is not reliable. See the PR for details.
- Link sourcepos is slightly better than it was when it spans multiple lines.
New Contributors
- @liamwhite made their first contribution in #421
- @yannham made their first contribution in #425
Diff: v0.24.1...v0.25.0