Skip to content

cmark 0.20.0

Compare
Choose a tag to compare
@jgm jgm released this 08 Jun 20:07
· 979 commits to master since this release
  • Fixed bug in list item parsing when items indented >= 4 spaces (#52).
  • Don't allow link labels with no non-whitespace characters
    (commonmark/commonmark-spec#322).
  • Fixed multiple issues with numeric entities (#33, Nick Wellnhofer).
  • Support CR and CRLF line endings (Ben Trask).
  • Added test for different line endings to api_test.
  • Allow NULL value in string setters (Nick Wellnhofer). (NULL
    produces a 0-length string value.) Internally, URL and
    title are now stored as cmark_chunk rather than char *.
  • Fixed memory leak in cmark_consolidate_text_nodes (#32).
  • Fixed is_autolink in the CommonMark renderer (#50). Previously any
    link with an absolute URL was treated as an autolink.
  • Cope with broken snprintf on Windows (Nick Wellnhofer). On Windows,
    snprintf returns -1 if the output was truncated. Fall back to
    Windows-specific _scprintf.
  • Switched length parameter on cmark_markdown_to_html,
    cmark_parser_feed, and cmark_parse_document from int
    to size_t (#53, Nick Wellnhofer).
  • Use a custom type bufsize_t for all string sizes and indices.
    This allows to switch to 64-bit string buffers by changing a single
    typedef and a macro definition (Nick Wellnhofer).
  • Hardened the strbuf code, checking for integer overflows and
    adding range checks (Nick Wellnhofer).
  • Removed unused function cmark_strbuf_attach (Nick Wellnhofer).
  • Fixed all implicit 64-bit to 32-bit conversions that
    -Wshorten-64-to-32 warns about (Nick Wellnhofer).
  • Added helper function cmark_strbuf_safe_strlen that converts
    from size_t to bufsize_t and throws an error in case of
    an overflow (Nick Wellnhofer).
  • Abort on strbuf out of memory errors (Nick Wellnhofer).
    Previously such errors were not being trapped. This involves
    some internal changes to the buffer library that do not affect
    the API.
  • Factored out S_find_first_nonspace in S_proces_line.
    Added fields offset, first_nonspace, indent, and blank
    to cmark_parser struct. This just removes some repetition.
  • Added Racket Racket (5.3+) wrapper (Eli Barzilay).
  • Removed -pg from Debug build flags (#47).
  • Added Ubsan build target, to check for undefined behavior.
  • Improved make leakcheck. We now return an error status if anything
    in the loop fails. We now check --smart and --normalize options.
  • Removed wrapper3.py, made wrapper.py work with python 2 and 3.
    Also improved the wrapper to work with Windows, and to use smart
    punctuation (as an example).
  • In wrapper.rb, added argument for options.
  • Revised luajit wrapper.
  • Added build status badges to README.md.
  • Added links to go, perl, ruby, R, and Haskell bindings to README.md.