-
Notifications
You must be signed in to change notification settings - Fork 11
/
changelog.txt
694 lines (630 loc) · 32.3 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
[0.31.2]
* Fix packaging bug (date not updated in spec.txt).
[0.31.1]
* Fix packaging bug (spec version not updated in spec.txt).
[0.31]
* Relicense npm package under CC-BY-SA (Yukai Chou).
* Use archived vfmd link (Yukai Chou).
* Link to babelmark2 legacy page.
* Use https scheme in spec (including examples) (#751, Yukai Chou).
* Fix unicode symbols example in emphasis syntax (rhysd).
* Remove confusing "first" before "link label."
* Add symbols to unicode punctuation (Titus Wormer).
* Update link to AsciiDoc (Jarno Elovirta).
* Add `search` element to list of known block elements (Titus Wormer).
* Terminology: compact -> collapsed reference link.
* Correct emphasis typo (Mike Pennisi).
* Remove restrictive limitation on inline comments; now we match
the HTML spec (Titus Wormer).
* Fix spelling of "down side" to "downside" (Erik Duveblad).
* Fix typo (missing words) (Denis Howe).
* Remove `source` element as HTML block start condition (Lukas Spieß).
* Fix typo (Nicolas Hedger).
* `spec_tests.py` improvements (Martin Fischer): introduce `--track` option,
simplify code, show diffs of normalized HTML, fix UnicodeDecodeError catching.
* Use archived gmane links.
* Fix typo (#693, Salim B).
* Remove unnecessary lines from commonmark/commonmark-spec#95.
* Fix typo (#683, nadashin).
[0.30]
* Add note clarifying that not every feature of HTML examples is normative
(#672).
* Move "Backslash escapes" and "Character references" to "Preliminaries"
(#600). It was confusing having them in the "Inline" section, since
they also affect some block contexts (e.g. reference link definitions).
* Clarify wording in spec for character groups (#618, Titus Wormer, with
Johel Ernesto Guerror Peña).
+ Remove line tabulation, form feed from whitespace
+ Rename newline to line feed or line ending
+ Reword spec to be more explicit about whitespace
+ Rename `Punctuation` to `Unicode punctuation`
+ Reword description of line breaks
+ Link unicode punctuation
+ Clarify link whitespace by describing "link information"
+ Clarify link destination and title
* Add definition of ASCII control characters (#603, Titus Wormer).
* Fix wording in start condition of type 7 HTML (#665, Titus Wormer).
* Add `textarea` to list of literal HTML block tags (#657).
Like `script`, `style`, and `pre`, `textarea` blocks can contain
blank lines without the contents being interpret as commonmark.
* Add `textarea` to more cases (#667, Titus Wormer).
* Remove superfluous restrictions on declarations (#620, Titus Wormer).
HTML declarations need not be limited to all capital ASCII letters.
* Add inline link examples with empty link text (#636, jsteuer).
* Remove outdated restriction on list item (#627, Johel Ernesto Guerrero
Peña). This is a holdover from the days when two blank lines
broke out of a list.
* Add example with unbalanced parens in link destination.
* Clarify that new blocks are added to *container* blocks. (#598, Jay
Weisskopf).
* Clarify language for backtick code spans (#589, Johel Ernesto Guerrero
Peña).
* Fix link text grouping sample (#584, Ashe Connor, Johel Ernesto
Guerrero Peña).
* Fix misleading text for full reference link (#581). There is no
"first link label" here, just a link text.
* Use better example to test unicode case fold for reference links (#582).
The earlier test could be passed by implementations that just uppercase.
* Test new entity length constraints (#575, Miha Zupan).
* normalize.py: replace cgi.escape with html.escape (#656,
Christopher Fujino).
* tools/make_spec.lua:
+ Fix unqualified calls to node_append_child.
+ Remove extraneous href attribute on headings (#625, Christoph Päper).
+ Properly handle cross-refs (#578). Previously it broke in a few cases,
e.g. with soft breaks.
+ Use unsafe mode so HTML isn't filtered out.
+ Changes for compatibility with lua 5.3's new number type.
* CSS and HTML improvements in HTML version of spec
(#639, #641, 642, Andrei Korzhyts).
* Revise emphasis parsing algorithm description in light of
commonmark/cmark#383.
* Add documentation of the npm package to README.md (thanks to
Shawn Erquhart).
* Fix anchor definition for 'end condition'.
* Remove duplicate example (#660, Titus Wormer).
* Remove duplicate links in spec (#655, Levi Gruspe).
* Various typo fixes (#632, Scott Abbey; #623, Anthony Fok; #601, #617, #659,
Titus Wormer).
[0.29]
* Clarify that entities can't be used to indicate structure (#474).
For example, you can't use `*` instead of `*` for a bullet
list, or ` ` to create a new paragraph.
* Limit numerical entities to 6 hex or 7 decimal digits (#487).
This is all that is needed given the upper bound on
unicode code points.
* Specify dropping of initial/final whitespace in setext heading content
(#461).
* Add example with a reference link definition where the reference is never
used (#454).
* Add example with setext header after reference link defs (#395).
* Clarify that script, pre, style close tags can begin an HTML block (#517).
* Remove `meta` from list of block tags in start condition #6 of
HTML blocks (#527). meta tags are used in some inline contexts (though
this isn't valid HTML5), e.g. in schema.org.
* Disallow newlines inside of unquoted attributes (#507,
Shyouhei Urabe) as per HTML spec:
<https://html.spec.whatwg.org/multipage/syntax.html#unquoted>.
* Remove vestigial restriction in list item spec (#543).
The "not separated by more than one blank line" was a left-over
from an earlier version of the spec in which two blank lines
ended a list.
* Fix tests where list items are indented 4+ spaces (#497).
The tests did not accord with the spec here; these
lines should be continuation lines (if no blank space)
or indented code blocks (if blank space).
* Clarify tildes and backticks in info strings (#119).
We disallow backticks in info strings after backtick fences
only. Both backticks and tildes are allowed in info strings
after tilde fences. Add example.
* Indicate that info string is trimmed of all whitespace (#505, Ashe
Connor). As noted in
<https://github.com/github/cmark/issues/60>, the info string
is not only trimmed of "spaces" (U+0020) but also of tabs.
* Don't strip spaces in code span containing only spaces (#569).
This allows one to include a code span with just spaces,
using the most obvious syntax.
* Add example w/ reference link w/ empty destination in `<>` (#172).
* Disallow link destination beginning with `<` unless it is inside `<..>`
(#538). This brings the description in line with the spec example:
```
[foo]: <bar>(baz)
[foo]
.
<p>[foo]: <bar>(baz)</p>
<p>[foo]</p>
```
* Allow spaces inside link destinations in pointy brackets (#503).
This reverts a change in 0.24 and should make things easier
for people working with image paths containing spaces.
* Remove redundant condition. We don't need to specify that the absolute
URI in an autolink doesn't contain `<`, since this is specified in
the description of an absolute URI.
* Add additional spec examples involving link destinations in `<>` (#473).
* Add test for `[test](<url\>)` (#562).
* Disallow unescaped `(` in parenthesized link titles (#526).
* Add example showing need for space before title in reference link (#469).
* Add codepoints for punctuation characters (#564, Christoph Päper).
* Clarify the left- and right-flanking definitions (#534, Jay Martin).
* Match interior delimiter runs if lengths of both are multiples of 3
(#528). This gives better results on `a***b***c` without giving bad
results on the cases that motivated the original multiple of 3 rule.
* Add another test case for emphasis (#509, Michael Howell).
* Code spans: don't collapse interior space (#532).
* Simplify revisions to code span normalization rules.
Remove the complex rule about ignoring newlines adjacent
to spaces. Now newlines are simply converted to spaces.
* Replace image 'url' with 'destination' (#512, Phill).
* Add some links for occurrences of "above" (#480).
* Various typo fixes (#514, Kenta Sato; #533, nikolas;
tnaia, #556; #551, Grahame Grieve).
* Create .gitattributes so that changelog.txt is highlighted as
markdown (#499, Christoph Päper).
* Update GitHub links (Morten Piibeleht).
* Update references to container and leaf block headers to use the
correct pluralization (#531, Elijah Hamovitz).
* Rephrase example #111 to indicate that the rendering is not mandated
(#568).
* Improve documentation of parsing strategy (#563).
Note that `openers_bottom` needs to be indexed to
delimiter run lengths as well as types.
* make_spec.lua: Fix migration of children nodes in create_anchors (#536,
Zhiming Wang). This resulted in some bugs in the rendered spec
(where words would be dropped from links).
* Fix dingus link when double clicking Markdown code (#535, Zhiming Wang).
Prior to this commit, the link opened is always `/dingus/?text=` (no
text).
* Add spec.json generator to Makefile (M Pacer).
[0.28]
* Allow unlimited balanced pairs of parentheses in link URLs
(@kivikakk, commonmark/cmark#166). The rationale is that there are many URLs
containing unescaped nested parentheses. Note that
implementations are allowed to impose limits on parentheses
nesting for performance reasons, but at least three levels
of nesting should be supported.
* Change Rule 14 for Emphasis. Previously the nesting
Strong (Emph (...)) was preferred over Emph (Strong (...)).
This change makes Emph (Strong (...)) preferred.
Note that the commonmark reference implementations
were not entirely consistent about this rule, giving
different results for
***hi***
and
***hi****
This change simplifies parsing. It goes against the majority
of implementations, but only on something utterly trivial.
* Clarify definition of delimiter runs (Aidan Woods, #485).
* Clarify precedence of thematic breaks over list items
in the list spec, not just the thematic break spec (Aidan Woods).
* Clarify definition of link labels and normalization
procedure (Matthias Geier, #479).
* Clarify that the end of an HTML block is determined by its
start, and is not changed by HTML tags encountered inside
the block. Give an example of a case where a block ends
before an interior element has been closed (Yuki Izumi, #459).
In the future we might consider changing the spec to handle
this case more intuitively; this change just documents more
explicitly what the spec requires.
* Acknowledge Aaron Swartz's role in developing Markdown.
* Remove misleading backslash in example for disabling image markup
(Matthias Geier).
* Fix Unicode terminology (general category, not class)
(Philipp Matthias Schaefer).
* Add another illustrative case for code spans (#463).
* Remove possibly misleading 'either's (#467).
* Fix typo (Aidan Woods).
* Clarify that some blocks can contain code spans (Matthias Geier).
* Fix typo and clarified tab expansion rule (Scott Abbey).
* Add a missing "iff" (Matthias Geier).
* Add release checklist.
* Added npm package for spec (Vitaly Puzrin).
* Remove SPEC variable from Makefile.
[0.27]
* Update statement on blank lines and lists (Jesse Rosenthal).
The definition of a list still said that "two blank lines end all
containing lists." That rule has been removed.
* Clarify that the exception for ordered lists only applies to first
item in list (#420).
* Added cases clarifying precedence of shortcut links (#427).
* Added h2..h6 to block tag list (#430).
* Remove duplicated test (Maxim Dikun). Tests 390 and 391 were the same.
* Use fenced code blocks for markdown examples that are not test cases
for uniformity.
* Added closing paren (#428).
* Test suite: Don't mess up on examples with 32 backticks (#423).
* Removed duplicate reference to "container block".
* Add examples for Unicode whitespace (Timothy Gu). In light of
commonmark/commonmark.js#107, add a few examples/test cases to make sure the
distinction between Unicode whitespace and regular whitespace is kept.
* Fix missing closing paren typo (Robin Stocker).
[0.26]
* Empty list items can no longer interrupt a paragraph.
This removes an ambiguity between setext headers and
lists in cases like
foo
-
Removed the "two blank lines breaks out of lists" rule.
This is incompatible with the principle of uniformity
(and indeed with the spec for list items, which requires
that the meaning of a chunk of lines not change when it
is put into a list item.)
* Ordered list markers that interrupt a paragraph must start with 1.
* Improved the section on tabs. Added some test cases for ATX
headers and thematic breaks. Clarified that it's not just cases
that affect indentation that matter, but all cases where whitespace
matters for block structure.
* Removed example of ATX header with tab after `#`.
* Allow HTML blocks to end on the last line of their container
(Colin O'Dell, #103).
* Spec changes in strong/emph parsing. See
https://talk.commonmark.org/t/emphasis-strong-emphasis-corner-cases/2123
for motivation. This restores intuitive parsings for a number of cases.
The main change is to disallow strong or emph when one of
the delimiters is "internal" and the sum of the lengths of
the enclosing delimiter runs is a multiple of 3. Thus,
`**foo*bar***` gets parsed `<strong>foo*bar</strong>` rather than
`<em><em>foo</em>bar</em>**` as before. Thanks to Fletcher Penney
for discussion.
* Add tests to check that markdown parsing is working fine after an HTML
block end tag (Alexandre Mutel).
* Add test case for nested lists with an indent > 4 (Alexandre Mutel).
* Cleaned up terminology around lazy continuation lines. Added some links.
* Fixed broken links and typos (Artyom, Matthias Geier, Sam Estep).
* Use `≤` instead of `<` in list item spec for clarity.
* Add point about readibility to "What is Markdown" section.
* Add example for list item starting with a blank line with spaces
(Robin Stocker).
* Make interact more button-like and clearer (Jeff Atwood).
* `spec_tests.py`: exit code is now sum of failures and errors.
* `spec_tests.py`: specify newline when opening file.
[0.25]
* Added several more tab-handling cases (see commonmark/cmark#101).
* Fixed spec test for tabs. In the blockquote with a tab following
the `>`, only one space should be consumed, yielding two spaces
at the beginning of the content.
* Update license year range to 2016 (Prayag Verma).
* Fixed typo: setext heading line -> setext heading underline (#389).
* Fixed date 2015->2016 (#388)
[0.24]
* New format for spec tests, new lua formatter for specs.
The format for the spec examples has changed from
.
markdown
.
html
.
to
```````````````````````````````` example
markdown
.
html
````````````````````````````````
One advantage of this is that `spec.txt` becomes a valid
CommonMark file.
* Change `tests/spec_test.py` to use the new format.
* Replace `tools/makespec.py` with a lua script, `tools/make_spec.lua`,
which uses the `lcmark` rock (and indirectly libcmark). It can
generate HTML, LaTeX, and CommonMark versions of the spec. Pandoc
is no longer needed for the latex/PDF version. And, since the new
program uses the cmark API and operates directly on the parse tree,
we get much more reliable translations than we got with the old
Python script (#387).
* Remove whitelist of valid schemes. Now a scheme is any sequence
of 2-32 characters, beginning with an ASCII letter, and containing
only ASCII letters, digits, and the symbols `-`, `+`, `.`.
Discussion at <http://talk.commonmark.org/t/555>.
* Added an example: URI schemes must be more than one character.
* Disallow spaces in link destinations, even inside pointy braces.
Discussion at <http://talk.commonmark.org/t/779> and
<http://talk.commonmark.org/t/1287/12>.
* Modify setext heading spec to allow multiline headings.
Text like
Foo
bar
---
baz
is now interpreted as heading + paragraph, rather than
paragraph + thematic break + paragraph.
* Call U+FFFD the REPLACEMENT CHARACTER, not the "unknown code
point character."
* Change misleading undefined entity name example.
* Remove misleading claim about entity references in raw HTML
(a regression in 0.23). Entity references are not treated
as literal text in raw HTML; they are just passed through.
* CommonMark.dtd: allow `item` in `custom_block`.
[0.23]
* Don't allow space between link text and link label in a
reference link. This fixes the problem of inadvertent capture:
[foo] [bar]
[foo]: /u1
[bar]: /u2
* Rename "horizontal rule" -> "thematic break". This matches the HTML5
meaning for the hr element, and recognizes that the element may be
rendered in various ways (not always as a horizontal rule).
See http://talk.commonmark.org/t/horizontal-rule-or-thematic-break/912/3
* Rename "header" -> "heading". This avoids a confusion that might arise
now that HTML5 has a "header" element, distinct from the "headings"
h1, h2, ... Our headings correspond to HTML5 headings, not HTML5 headers.
The terminology of 'headings' is more natural, too.
* ATX headers: clarify that a space (or EOL) is needed; other whitespace
won't do (#373). Added a test case.
* Rewrote "Entities" section with more correct terminology (#375).
Entity references and numeric character references.
* Clarified that spec does not dictate URL encoding/normalization policy.
* New test case: list item code block with empty line (Craig M.
Brandenburg).
* Added example with escaped backslash at end of link label (#325).
* Shortened an example so it doesn't wrap (#371).
* Fixed duplicate id "attribute".
* Fix four link targets (Lucas Werkmeister).
* Fix typo for link to "attributes" (Robin Stocker).
* Fix "delimiter" spellings and links (Sam Rawlins).
* Consistent usage of "we" instead of "I" (renzo).
* CommonMark.dtd - Rename `html` -> `html_block`,
`inline_html` -> `html_inline` for consistency. (Otherwise it is too
hard to remember whether `html` is block or inline, a source of
some bugs.)
* CommonMark.dtd - added `xmlns` attribute to document.
* CommonMark.dtd - added `custom_block`, `custom_inline`.
* CommonMark.dtd - renamed `hrule` to `thematic_break`.
* Fixed some HTML inline tests, which were actually HTML blocks, given
the changes to block parsing rules since these examples were written
(#382).
* Normalize URLs when comparing test output. This way we don't fail
tests for legitimate variations in URL escaping/normalization policies
(#334).
* `normalize.py`: don't use `HTMLParseError`, which has been removed
as of python 3.5 (#380).
* Minor spacing adjustments in test output, to match cmark's output,
since we test cmark without normalization.
* `makespec.py`: remove need for link anchors to be on one line.
* `makespec.py`: Only do two levels in the TOC.
* Use `display:inline-block` rather than floats for side-by-side.
This works when printed too.
* Added better print CSS.
[0.22]
* Don't list `title` twice as HTML block tag (Robin Stocker).
* More direct example of type 7 HTML block starting with closing tag.
* Clarified rule 7 for HTML blocks. `pre`, `script`, and `style`
are excluded because they're covered by other rules.
* Clarified that type 7 HTML blocks can start with a closing tag (#349).
* Removed `pre` tag from rule 6 of HTML blocks (#355).
It is already covered by rule 1, so this removes an ambiguity.
* Added `iframe` to list of tags that always start HTML blocks (#352).
* Added example of list item starting with two blanks (#332).
* Added test case clarifying laziness in block quotes (see
commonmark/commonmark.js#60).
* Add an example with mixed indentation code block in "Tabs" section
(Robin Stocker). This makes sure that implementations skip columns instead
of offsets for continued indented code blocks.
* Clarified that in ATX headers, the closing `#`s must be unescaped,
and removed misleading reference to "non-whitespace character" in
an example (#356).
* Changed anchor for "non-whitespace character" to reflect new name.
* Removed ambiguities concerning lines and line endings (#357, Lasse
R.H. Nielsen). The previous spec allowed, technically, that a line
ending in `\r\n` might be considered to have two line endings,
or that the `\r` might be considered part of the line and the
`\n` the line ending. These fixes rule out those interpretations.
* Clarify that a character is any code point.
* Space in "code point".
* Capitalize "Unicode".
* Reflow paragraph to avoid unwanted list item (#360, #361).
* Avoid extra space before section number in `spec.md`.
* `makespec.py`: Use `check_output` for simpler `pipe_through_prog`.
* In README, clarified build requirements for `spec.html`, `spec.pdf`.
* Fixed some encoding issues in `makespec.py` (#353).
* Fixed various problems with `spec.pdf` generation (#353).
* Added version to coverpage in PDF version of spec.
[0.21.1]
* Added date.
[0.21]
* Changed handling of tabs. Instead of having a preprocessing step
where tabs are converted to spaces, we now handle tabs directly in
the parser. This allows tabs to be retained in code blocks and code
spans. This change adds some general language to the effect that,
for purposes of determining block structure, tabs are to be treated
just like equivalent spaces.
* Completely rewrote spec for HTML blocks. The new spec provides
better handling of tags like `<del>`, which can be either block
or inline level content, better handling of custom tags, and
better handling of verbatim contexts like `<pre>`, comments,
and `<script>`.
* Added 9-digit limit on ordered list start number.
Some browsers use signed 32-bit integers for indexing
the items of an ordered list, and this can lead to odd
or undefined behavior if 10-digit start numbers are allowed.
* Allow (non-initial) hyphens in tag names (#239). Custom
tags in HTML5 must contain hyphens.
* Clarified that HTML block is closed at end of containing
block, not just end of the document (as with fenced code blocks.)
* Specify nested link definition behavior in prose (Benjamin
Dumke-von der Ehe).
* Added test for edge case in link reference parsing
(Benjamin Dumke-von der Ehe, see commonmark/commonmark.js#49).
* Added link tests with fragment identifiers and queries (David
Green, #342).
* Added test cases with a literal backslash in a link destination
(see commonmark/commonmark.js#45).
* Added test for entity `≧̸` which resolves to two code points.
Put entity tests on several lines for readability (see
commonmark/commonmark.js#47).
* Fixed broken "pre" literal HTML example. Contents
weren't escaped properly.
* Simplified defn of "unicode whitespace character,"
rectifying omission of line tabulation, U+000B (#343).
* Removed ambiguity in definition of "line" (#346).
* Rewrapped two prose lines so `+` does not begin a line (#347).
* Added another test with overlapping emphasis markers.
* Fixed link to 'attributes'.
* Revised appendix, "A parsing strategy," and
added a description of emphasis/link parsing algorithm.
* `spec_tests.py` - set options for conversions, set library
paths in a more cross-platform way.
* `spec_tests.py`: force utf-8 on test failure output and
`--dump-tests` (#344, #345).
* `spec_tests.py`: Properly handle visible tab `→` in expected output.
* `normalize.py`: Don't collapse whitespace inside pre tag.
* Added `spec.html` to `.gitignore` (#339).
* Add `-dev` suffix to spec version after release (eksperimental).
* Rename "non-space" to "non-whitespace" (Konstantin Zudov, #337).
[0.20]
* Require at least one nonspace character in a link label (#322).
* Require replacement (rather than omission) of U+0000 (#327).
* Clarified that entities resolving to U+0000 are to be
replaced by U+FFFD (#323).
* Removed statement that what counts as a line ending is
platform-dependent (#326). We now count `\r`, `\n`,
or `\r\n` as a line ending regardless of the platform.
(The line ending styles can even be mixed in a single document.)
* Defined "space."
* Revised "non-space character". Previously a non-space character
was defined as anything but a space (U+0020). Now it is anything
that is not a whitespace character (as defined in the spec).
* Clarified that tab expansion is a preprocessing step (#330).
* Clarified lazy block quote examples (#328).
* Clarified precedence of indentation that meets conditions for
both list item continuation blocks and indented code.
* Added a test case with `#` directly followed by a letter
(not an ATX header).
* Added two test cases illustrating that a list at the
outer level can have items that are indented by more
than four spaces (see commonmark.js#42 and
<http://talk.commonmark.org/t/odd-list-behaviour/1189>).
* Fixed typo in emphasis examples.
[0.19]
* Fixed rules for `_`-based emphasis and strong emphasis (#317).
Previously `_(bar)_.` was not parsed as containing emphasis
because the closing delimiter is both left- and right- flanking.
This fix allows such delimiters, provided they're followed
by punctuation (i.e., they have punctuation on both sides).
Similarly, mutatis mutandis, for opening delimiters and for `__`.
* Clarified definitions of left-flanking and right-flanking (#310).
The spec now says explicitly that the beginning and end of line count
as whitespace for purposes of this definition.
* Clarified that a code fence followed by header line isn't a header (#306).
* Fixed alignment in flankingness examples (cosmetic).
* Fixed last "right flanking but not left flanking" example (#316).
* Fixed a broken link (Konstantin Zudov).
* Added link to list of implementations on wiki.
* Fixed mistake in examples of left/right flanking delimiters
(Konstantin Zudov).
* Spell out `iff` (if and only if) the first time it is used (#309).
* Fixed typos (isoroku, #309).
* Clarified wording for soft line break: newline can't be preceded
by two spaces or a backslash.
* Replaced some references to UTF-8 that should be to unicode.
* Fixed dingus link in tools/template.html.
* Replaced obsolete reference to `spec2md.pl` in spec (#304).
[0.18]
* Added a shortcut link test with mismatched brackets (#282).
* Added cases with newline whitespace around emphasis open delimiter
(#282).
* Added list item examples with no space after marker (#282).
* Added additional test showing backslash escapes don't work in
autolinks (#282).
* Added test for multiline title in reference definition (#282).
* Added a reference link definition test case (#282).
* Clarified that link titles can't contain blank lines (#271).
* Revised Rule 3 for list items (#275). Previously this just applied to
empty list items. It has been rewritten to apply to any list item
starting with a blank line, including items like:
-
```
code
```
* Added U+000B and U+000C as whitespace characters (#300).
* Added comment on sourcepos attribute format in DTD (#298).
* Use `--smart` option in producing HTML version of spec.
* Clarified that delimiter runs at beginning/end of line behave as
if preceded/followed by whitespace (#302).
* Ensure that URLs in examples have slash after domain.
This helps with #9, making these tests less sensitive to
the normalizer used.
* Fixed typo (Robin Stocker).
[0.17]
* Improved rule limiting intraword `_` for emphasis and strong emphasis.
To prevent intra-word emphasis, we used to check to see if
the delimiter was followed/preceded by an ASCII alphanumeric.
We now do something more elegant: whereas an opening `*` must
be left-flanking, an opening `_` must be left-flanking *and
not right-flanking*. And so on for the other cases.
All the original tests passed except some tests with Russian
text with internal `_`, which formerly created emphasis but no
longer do with the new rule. These tests have been adjusted.
A few new test cases have been added to illustrate the rule.
* Added example with link break inside pointy braces (no link) (#295).
* Added spec example: loose list with blank line after fenced code (#285).
[0.16]
* Rewrote beginning of Entities section, clarifying that only
entities not in code blocks or spans are decoded.
* Removed defective Example 449 (#284).
* Fixed typo (#283).
* Added intended two-space hard-breaks in Examples 521, 523.
* Clarified that brackets in general don't take precedence over emph
(#258).
* Clarified that final newline is removed from paragraph content
(#176).
* Talk of "info string" rather than "attributes" for code blocks
(#262).
* Clarified precedence of code spans, HTML tags, autolinks (#259).
* Fixed a number of internal links and duplicate references in the spec.
* Linkify "info string" in spec.
* Use shortcut reference links when possible in spec.txt.
* cmark itself is now used to build spec.html, rather than pandoc.
* Use shortcut reference links when possible in spec.txt. This
relies on the new `spec2md.py` behavior of creating references
for all internal anchors.
* Moved some examples from block to inline HTML section.
* Added examples of non-comments (#264).
* Changed rule for comments to conform to HTML5 spec.
* Made clear that any sequence of characters is a valid document
(#266).
* Changed wording: "is preferred" -> "takes precedence."
* Regularized spelling of "non-space character" and added links
(#260).
* Use four spaces rather than five to show "four spaces is too much"
(#261).
[0.15]
* Fixed some typos with "left-" and "right-flanking" delimiters in the
section on emphasis and strong emphasis (#257).
[0.14]
* Clarified indented code blocks. Previously the spec said, wrongly,
that a blank line was needed between a paragraph and a following
code block. It is only needed between a code block and a following
paragraph (due to lazy continuations). (Thanks to textnut.)
* Added definitions of whitespace, unicode whitespace, punctuation,
ASCII punctuation (#108).
* Improved rules for emphasis and strong emphasis. This improves
parsing of emphasis around punctuation. For background see
<http://talk.commonmark.org/t/903/6>. The basic idea of the change
is that if the delimiter is part of a delimiter clump that has
punctuation to the left and a normal character (non-space,
non-punctuation) to the right, it can only be an opener. If it has
punctuation to the right and a normal character (non-space,
non-punctuation) to the left, it can only be a closer. This handles
cases like
**Gomphocarpus (*Gomphocarpus physocarpus*, syn. *Asclepias
physocarpa*)**
and
**foo "*bar*" foo**
better than before.
* Added test case for link-in-link-in-image (#252).
* Fixed broken internal references.
* Added another example of an unclarity in the canonical Markdown
syntax description.
* Reworded the principle of uniformity to be more general; it applies
to all container blocks, not just list items.
* Added a rule for empty list items (#242).
* Clarified precedence of empty list items over setext header lines
(#95).
* Added an example with two blank lines in fenced code in a sublist (#180).
* Added an explicit CC-BY-SA license to the spec (#55).
[0.13]
* Updated path of test program.
* Use terminology "plain textual content" instead of "string."
* Added condition that conforming parsers strip or replace NULL characters.
* Changed Example 196 to reflect the spec's rules. It should not be a loose
list as it has no blank lines.
* Adjusted semantically insignificant formatting of HTML output.
* Added example to spec of shortcut link with following space (#214).