ANN: CommonMark 0.26, cmark 0.26.0, commonmark.js 0.26.0

The spec has been updated to 0.26:

New versions of cmark, the C reference implementation, and commonmark.js, the JavaScript reference implementation, have also been released:

There are quite a few changes to the spec: see the changelog for full details. Among the more important changes:

  • empty list items can no longer interrupt a paragraph; this resolves an ambiguity with setext headers
  • ordered lists can interrupt a paragraph only when beginning with 1
  • the two-blank-lines-breaks-out-of-lists rule has been removed
  • the spec for emphasis and strong emphasis has been refined to give more intuitive results in some cases
  • tabs can be used after the # in an ATX header and between the markers in a thematic break

cmark and commonmark.js have seen many improvements, including

  • a better algorithm for parsing emphasis and links (due to Robin Stocker)
  • an optional interface in cmark which permits use of a custom memory allocator for nodes (Vicent Marti)
  • improvements to cmark’s renderers, especially the commonmark renderer

Thanks to all who contributed!