cmark

My personal build of CMark ✏️

Commit
19ef912c1fe587a099f0f8488f8f0ff86002698b
Parent
c6a8c30c228c32b3b32442eeb39d33b64db56f4f
Author
John MacFarlane <jgm@berkeley.edu>
Date

Updaet changelog.

Diffstat

1 file changed, 127 insertions, 0 deletions

Status File Name N° Changes Insertions Deletions
Modified changelog.txt 127 127 0
diff --git a/changelog.txt b/changelog.txt
@@ -1,3 +1,130 @@
+[0.29.0]
+
+  * Update spec to 0.29.
+  * Makefile: For afl target, don't build tests.
+  * Resolve link references before creating setext header.
+    A setext header line after a link reference should not
+    create a header, according to the spec.
+  * commonmark renderer: improve escaping.
+    URL-escape special characters when escape mode is URL, and not otherwise.
+    Entity-escape control characters (< 0x20) in non-literal escape modes.
+  * render:  only emit actual newline when escape mode is LITERAL.
+    For markdown content, e.g., in other contexts we want some
+    kind of escaping, not a literal newline.
+  * Update code span normalization to conform with spec change.
+  * Allow empty `<>` link destination in reference link.
+  * Remove leftover includes of memory.h (#290).
+  * A link destination can't start with `<` unless it is
+    an angle-bracket link that also ends with `>` (#289).
+    (If your URL really starts with `<`, URL-escape it.)
+  * Allow internal delimiter runs to match if both have lengths that are
+    multiples of 3.  See commonmark/commonmark#528.
+  * Include references.h in parser.h (#287).
+  * Fix `[link](<foo\>)`.
+  * build: Remove deprecated call to `add_compiler_export_flags()`
+    (Jonathan Müller).  It is deprecated in CMake 3.0, the replacement is to
+    set the CXX_VISIBILITY_PRESET (or in our case C_VISIBILITY_PRESET) and
+    VISIBILITY_INLINES_HIDDEN properties of the target.  We're already setting
+    them by setting the CMake variables anyway, so the call can be removed.
+  * Bump CMake to version 3 (Jonathan Müller).
+  * Make rendering safe by default (#239, #273).
+    Adds CMARK_OPT_UNSAFE and make CMARK_OPT_SAFE a no-op (for API
+    compatibility).  The new default behavior is to suppress raw HTML and
+    potentially dangerous links.  The CMARK_OPT_UNSAFE option has to be set
+    explicitly to prevent this.
+    NOTE: This change will require modifications in bindings for cmark and
+    in most libraries and programs that use cmark.
+    Borrows heavily from @kivikakk's patch in github/cmark-gfm#123.
+  * Use hand-rolled scanner for thematic break (see #284).
+    Keep track of the last position where a thematic break
+    failed to match on a line, to avoid rescanning unnecessarily.
+  * Rename ends_with_blank_line with S_ prefix.
+  * Add CMARK_NODE__LAST_LINE_CHECKED flag (#284).
+    Use this to avoid unnecessary recursion in ends_with_blank_line.
+  * In ends_with_blank_line, call S_set_last_line_blank
+    to avoid unnecessary repetition (#284).  Once we settle whether a list
+    item ends in a blank line, we don't need to revisit this in considering
+    parent list items.
+  * Disallow unescaped `(` in parenthesized link title.
+  * Use pledge(2) on OpenBSD (Ashe Connor).
+  * Update the Racket wrapper (Eli Barzilay).
+  * Copy line/col info straight from opener/closer (Ashe Connor).
+    We can't rely on anything in `subj` since it's been modified while parsing
+    the subject and could represent line info from a future line.  This is
+    simple and works.
+  * render.c: reset last_breakable after cr.  Fixes jgm/pandoc#5033.
+  * Fix a typo in houdini_href_e.c (Felix Yan).
+  * commonmark writer: use `~~~` fences if info string contains backtick.
+    This is needed for round-trip tests.
+  * Update scanners for new info string rules.
+  * Minor fixes to xml2md.xsl (Nick Wellnhofer).  Remove outdated comment
+    Fix code block delimiter
+  * XSLT stylesheet to convert cmark XML back to Commonmark (Nick Wellnhofer,
+    #264).  Initial version of an XSLT stylesheet that converts the XML format
+    produced by `cmark -t xml` back to Commonmark.
+  * Check for whitespace before reference title (#263).
+  * Build: only attempt to install MSVC system libraries on Windows
+    (Saleem Abdulrasool).  Newer versions of CMake attempt to query the system
+    for information about the VS 2017 installation.  Unfortunately, this query
+    fails on non-Windows systems when cross-compiling:
+    cmake_host_system_information does not recognize <key> VS_15_DIR
+    CMake will not find these system libraries on non-Windows hosts anyways,
+    and we were silencing the warnings, so simply omit the installation when
+    cross-compiling to Windows.
+  * Simplify code normalization, in line with spec change.
+  * Implement code span spec changes.  These affect both parsing and writing
+    commonmark.
+  * entity_tests.py - omit noisy success output.
+  * Add link parsing corner cases to regressions (Ashe Connor).
+  * Add xml:space="preserve" in XML output when appropriate
+    (Nguyễn Thái Ngọc Duy).
+    (For text, code, code_block, html_inline and html_block tags.)
+  * Removed meta from list of block tags.  Added regression test.
+    See commonmark/CommonMark#527.
+  * pathological_tests.py: make tests run faster.
+    Commented out the (already ignored) "many references" test, which
+    times out.  Reduced the iterations for a couple other tests.
+  * pathological_tests.py: added test for deeply nested lists.
+  * Optimize S_find_first_nonspace.  We were needlessly redoing things we'd
+    already done.  Now we skip the work if the first nonspace is greater than
+    the current offset.  This fixes pathological slowdown with deeply nested
+    lists (#255).  For N = 3000, the time goes from over 17s to about 0.7s.
+    Thanks to Martin Mitas for diagnosing the problem.
+  * Allow spaces in link destination delimited with pointy brackets.
+  * Adjust max length of decimal/numeric entities.
+    See commonmark/CommonMark#487.
+  * Fix inline raw HTML parsing.
+    This fixes a recently added failing spec test case.  Previously spaces
+    were being allowed in unquoted attribute values; no we forbid them.
+  * Don't allow list markers to be indented >= 4 spaces.
+    See commonmark/CommonMark#497.
+  * Fuzz width parameter too (Phil Turnbull).  Allow the `width` parameter to
+    be generated too so we get better fuzz-coverage.
+  * Don't discard empty fuzz test-cases (Phil Turnbull).  We currently discard
+    fuzz test-cases that are empty but empty inputs are valid markdown. This
+    improves the fuzzing coverage slightly.
+  * Check for empty buffer when rendering (Phil Turnbull).
+    For empty documents, `->size` is zero so
+    `renderer.buffer->ptr[renderer.buffer->size - 1]` will cause an
+    out-of-bounds read. Empty buffers always point to the global
+    `cmark_strbuf__initbuf` buffer so we read `cmark_strbuf__initbuf[-1]`.
+  * Also run API tests with CMARK_SHARED=OFF (Nick Wellnhofer).
+  * Rename roundtrip and entity tests (Nick Wellnhofer).
+    Rename the tests to reflect that they use the library, not the
+    executable.
+  * Generate export header for static-only build (#247, Nick Wellnhofer).
+  * Fixed exit code for pathological tests.
+  * Add allowed failures to pathological_tests.py.
+    This allows us to include tests that we don't yet know
+    how to pass.
+  * Add timeout to pathological_tests.py.
+    Tests must complete in 8 seconds or are errors.
+  * Refactored pathological_tests.py.
+  * Add more pathological tests (Martin Mitas).
+    These tests target the issues #214, #218, #220.
+  * Add sourcepos info for inlines (Yuki Izumi).
+  * Disallow more than 32 nested balanced parens in a link (Yuki Izumi).
+
 [0.28.3]
 
   * Include GNUInstallDirs in src/CMakeLists.txt (Nick Wellnhofer, #240).