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