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