cmark

My personal build of CMark ✏️

Commit
48c654cf34eba190d8de8a480c39a23ea101d730
Parent
b944210a024e85a8a78ead0c95f7f1b0042fb6bf
Author
John MacFarlane <jgm@berkeley.edu>
Date

Updated changelog.txt.

Diffstat

1 file changed, 85 insertions, 0 deletions

Status File Name N° Changes Insertions Deletions
Modified changelog.txt 85 85 0
diff --git a/changelog.txt b/changelog.txt
@@ -1,3 +1,88 @@
+[0.23.0]
+
+  * Check for NULL pointer in _scan_at (#81).
+  * Python 3.5 compatibility: don't require HTMLParseError (Zhiming Wang).
+    HTMLParseError was removed in Python 3.5. Since it could never be thrown
+    in Python 3.5+, we simply define a placeholder when HTMLParseError
+    cannot be imported.
+  * Set `convert_charrefs=False` in `normalize.py` (#83).  This defeats the
+    new default as of python 3.5, and allows the script to work with python
+    3.5.
+  * `Makefile.nmake`:  be more robust when cmake is missing.  Previously,
+    when cmake was missing, the build dir would be created anyway, and
+    subsequent attempts (even with cmake) would fail, because cmake would
+    not be run.  Depending on `build/CMakeFiles` is more robust -- this won't
+    be created unless cmake is run.  Partially addresses #85.
+  * Fixed DOCTYPE in xml output.
+  * commonmark.c: fix `size_t` to `int`.  This fixes an MSVC warning
+   "conversion from 'size_t' to 'int', possible loss of data" (Kevin Wojniak).
+  * Correct string length in `cmark_parse_document` example (Lee Jeffery).
+  * Fix non-ASCII end-of-line character check (andyuhnak).
+  * Fix "declaration shadows a local variable" (Kevin Wojniak).
+  * Install static library (jgm/CommonMark#381).
+  * Fix warnings about dropping const qualifier (Kevin Wojniak).
+  * Use full (unabbreviated) versions of constants (`CMARK_...`).
+  * Removed outdated targets from Makefile.
+  * Removed need for sudo in `make bench`.
+  * [API change] Added `CUSTOM_BLOCK` and `CUSTOM_INLINE` node types.
+    They are never generated by the parser, and do not correspond
+    to CommonMark elements.  They are designed to be inserted by
+    filters that postprocess the AST.  For example, a filter might
+    convert specially marked code blocks to svg diagrams in HTML
+    and tikz diagrams in LaTeX, passing these through to the renderer
+    as a `CUSTOM_BLOCK`.  These nodes can have children, but they
+    also have literal text to be printed by the renderer "on enter"
+    and "on exit." Added `cmark_node_get_on_enter`,
+    `cmark_node_set_on_enter`, `cmark_node_get_on_exit`,
+    `cmark_node_set_on_exit` to API.
+  * Improved benchmark.  Use longer test, since `time` has limited resolution.
+  * Removed `bench.h` and timing calls in `main.c`.
+  * Updated API docs; getters return empty strings if not set
+    rather than NULL, as previously documented.
+  * Added api_tests for custom nodes.
+  * Commonmark renderer:  ensure html blocks surrounded by blanks.
+    Otherwise we get failures of roundtrip tests.
+  * Made roundtrip test part of the test suite run by cmake.
+  * xml renderer - Added xmlns attribute to document node (jgm/CommonMark#87).
+  * [API change] Rename `CMARK_NODE_HEADER` -> `CMARK_NODE_HEADING`.
+    Note that for backwards compatibility, we have defined aliases:
+    `CMARK_NODE_HEADER` = `CMARK_NODE_HEADING`,
+    `cmark_node_get_header_level` = `cmark_node_get_heading_level`, and
+    `cmark_node_set_header_level` = `cmark_node_set_heading_level`.
+  * [API change] Rename `CMARK_NODE_HRULE` -> `CMARK_NODE_THEMATIC_BREAK`.
+    Defined the former as the latter for backwards compatibility.
+  * Separate parsing and rendering opts in `cmark.h` (#88).
+    This change also changes some of these constants' numerical values,
+    but nothing should change in the API if you use the constants
+    themselves.  It should now be clear in the man page which
+    options affect parsing and which affect rendering.
+  * Regenerate `scanners.c` using re2c 0.15.3.
+  * Adjusted scanner for link url.  This fixes a heap buffer overflow (#82).
+  * Added version number (1.0) to XML namespace.  We don't guarantee
+    stability in this until 1.0 is actually released, however.
+  * Removed obsolete `TIMER` macro.
+  * LaTeX renderer - better handling of internal links.
+    Now we render `[foo](#bar)` as `\protect\hyperlink{bar}{foo}`.
+  * Make `LIB_INSTALL_DIR` configurable (Mathieu Bridon, #79).
+  * Removed out-of-date luajit wrapper.
+  * Use `input`, not `parser->curline` to determine last line length.
+  * Small optimizations in `_scan_at`.
+  * [API change] Rename `NODE_HTML` -> `NODE_HTML_BLOCK`,
+    `NODE_INLINE_HTML` -> `NODE_HTML_INLINE`.  Define aliases
+    so the old names still work, for backwards compatibility.
+  * Replaced hard-coded 4 with `TAB_STOP`.
+  * Have `make format` reformat api tests as well.
+  * Added api tests for man, latex, commonmark, and xml renderers (#51).
+  * render.c:  added `begin_content` field.  This is like `begin_line` except
+    that it doesn't trigger production of the prefix.  So it can be set
+    after an initial prefix (say `> `) is printed by the renderer, and
+    consulted in determining whether to escape content that has a special
+    meaning at the beginning of a line.  Used in the commonmark renderer.
+  * Commonmark renderer: ensure that literal characters get escaped
+    when they're at the beginning of a block, e.g.  `> \- foo`.
+  * Don't allow space between link text and link label in a reference link
+    (spec change).
+
 [0.22.0]
 
   * Removed `pre` from blocktags scanner. `pre` is handled separately