Releases: pulldown-cmark/pulldown-cmark
0.12.2
What's Changed
- Fix compiilation error in fuzzers by @kdarkhan in #947
- Make
fuzz
dir part of the workspace by @kdarkhan in #948 - Fix and improve
bench
by @notriddle in #950 - Reuse a couple hash maps across blocks by @notriddle in #951
- Reuse outer indent between item list, def list, and blockquote by @notriddle in #952
- Add instructions on fixing fuzz build by @kdarkhan in #953
- Account for definition list fixups while popping containers by @notriddle in #954
- Use byte range instead of char count for delim run bounds by @notriddle in #956
- CI improvements by @kdarkhan in #955
- Fix a problem that causes multiple dt's to be parsed by @notriddle in #958
- fix: emit
InlineHtml
for inline HTML inside blockquote instead ofHtml
by @rhysd in #961 - Complete the list of block item bodies by @notriddle in #962
- Implement into_static for CowStr and Event in pulldown-cmark by @Atreyagaurav in #967
- Enforce cargo fmt by @ollpu in #971
- Respect line starts when trimming header endings by @notriddle in #969
New Contributors
- @Atreyagaurav made their first contribution in #967
Full Changelog: v0.12.1...v0.12.2
0.12.1
Security
- Fix O(n**2) comment parser by @notriddle in #941
New features
- impl From for String by @oconnor663 in #943
Developers
New Contributors
- @oconnor663 made their first contribution in #943
- @kdarkhan made their first contribution in #945
Full Changelog: v0.12.0...v0.12.1
0.11.3
0.12.0
Thanks to all contributors! This release mainly adds the long awaited commonmark-hs description lists (under a flag) and enables the blockquote kind in TagEnd
reverted in 0.11.2.
Breaking changes
- feat: re-add kind for BlockQuote in TagEnd by @Martin1887 in #940
- Refactor TextMergeStream by @ollpu in #931
New features
- Implement commonmark-hs compatible definition lists by @notriddle in #915
Other changes
Full Changelog: v0.11.2...v0.12.0
v0.11.2
Revert BlockQuote kind to avoid breaking change.
v0.11.1
Thanks to all people involved in this release! The main change of this release is the reduction of the MSRV to 1.71.1, but it also includes a lot of bug fixes and a new mdBook for user-friendly documentation.
Breaking changes
- Add BlockQuoteKind to BlockQuote TagEnd by @notriddle in #926 (reverted in v0.11.2)
What's Changed
- fix: CowStr deserialization when escaping by @aatifsyed in #895
- fix(test): fix generating spec tests doesn't work on Windows due to line-endings by @rhysd in #903
- feat: add
-G
CLI option to enable GFM support by @rhysd in #905 - feat: set
DefaultBrokenLinkCallback
as the default broken link callback ofOffsetIter
by @rhysd in #901 - chore(doc): use
cargo add
to instruct how to install this crate as dependency by @rhysd in #904 - fix typo by @jmbhughes in #909
- Fix parsing blocks inside alert body by @rhysd in #908
- fuzz: fix building fuzzer and improve fuzzing coverage by enabling more parse options by @rhysd in #910
- fix: fix warnings reported from nightly rustc by @rhysd in #911
- fix: fix infinite loop when metadata delimiter is indented by @rhysd in #913
- Raise the link cutoff from 5 to 32 by @notriddle in #917
- Reduce MSRV to 1.71.1 by separating benchmarks into a new crate with CI enhancements by @rhysd in #916
- Add guide book and deploy script for it by @notriddle in #883
- ci: fix deploying the document to GitHub Pages and make the deploy job faster by @rhysd in #920
- Fix lone task list item bug by @notriddle in #924
- Fix offset range around footnotes that look like images by @notriddle in #925
- Update old footnote format to interrupt paragraph by @notriddle in #928
- Fix confusing bug with back-to-back footnotes by @notriddle in #930
- Add reproduction cases for #927 by @zoni in #929
- Add regression test for #655 by @ollpu in #932
- Renovate the superlinear time fuzzer by @ollpu in #935
New Contributors
- @aatifsyed made their first contribution in #895
- @jmbhughes made their first contribution in #909
- @zoni made their first contribution in #929
Full Changelog: v0.11.0...v0.11.1
0.11.0
Finally, the so long awaited math mode is here! Enable the option to use it.
This release also includes other improvements and bugfixes, please see the changelog below for more details. Thanks to all contributors that has made possible this release!
Breaking changes
- Change
write_to_html
to allowfmt::Write
by @stepantubanov in #870
New features
- Math mode
Bugfixes
- [0.11] Don't exit
scan_attribute
with the ix pointing at block quote by @notriddle in #873 - (Re)introduce simd feature to pulldown-cmark-escape by @ollpu in #880
- fix: remove unnecessary end_newline set by @tomcur in #885
New Contributors
- @duskmoon314 made their first contribution in #874
- @stepantubanov made their first contribution in #870
- @tomcur made their first contribution in #885
Full Changelog: v0.10.3...v0.11.0
v0.10.3
The main change of this release is the simd
feature was not being used in the escape functions since the version 0.10 due to a mistake during the separation of the crate pulldown-cmark-escape
.
The crate pulldown-cmark-escape
has been updated to the version 0.10.1.
What's Changed
- fix: fix dead code warning from nightly compiler by @rhysd in #876
- Eat all spaces after line break in link title by @notriddle in #877
- Mark
Rule
as a block item by @notriddle in #879
Full Changelog: v0.10.2...v0.10.3
v0.10.2
New release with some fixes and improvements. Note the 0.10.1 is missing (yanked from crates.io) due to a conflict with the clap version and the Rust minimum version (1.74 now instead of 1.70).
Thanks to all people that contributed to this release!
What's Changed
- Limit link def expansion by @notriddle in #845
- Do not look for HTML tags that start with backslash by @notriddle in #849
- Count a blank line at end of indented code block towards list by @notriddle in #851
- Use same limit for refdef as inline links by @notriddle in #854
- Don't exit
scan_attribute
with the ix pointing at block quote by @notriddle in #858 - Check indentation on the closing fence relative to the line by @notriddle in #862
- Adjust strikethrough flanking rule to better fit Rustdoc Crater run by @notriddle in #864
- perf: cargo-wizard default recommendations for runtime perf by @Martin1887 in #868
New Contributors
- @ehuss made their first contribution in #848
- @jimblandy made their first contribution in #865
- @max-heller made their first contribution in #866
- @blinxen made their first contribution in #875
Full Changelog: v0.10.0...v0.10.2
v0.10.0
This is a huge release after a a long time without a major release, with many bugfixes and several new features. Thanks to all people involved!
Breaking Changes
- feat!: allow custom headings attributes with optional value. Fixes #634 by @Martin1887 in #638
- feat!: metadata blocks. Fixes #580 by @Martin1887 in #641
- Make
html
andescape
modules optional by @jfrimmel in #519 - feat: separate escape.rs in another crate by @Martin1887 in #838
- Allow dynamically generated header ids and classes by @SergioBenitez in #614
- Add separate enum for Tag ends by @marcusklaas in #517
- add link identifiers into emitted tags by @Gozala in #436
- Add a separate mode to parse footnotes the same way GitHub does by @notriddle in #654
- feat!: separate inline HTML and HTML blocks by @Martin1887 in #692
- Use generics for broken link callback by @ollpu in #701
New Features
- Add task list with a list item's first paragraph by @marcusklaas in #558
- feat:
TextMergeStream
utility to merge consecutive text events by @Martin1887 in #686 - Reads markdown from file by @phoepsilonix in #726
- feat(utils): text events merger with offsets by @Martin1887 in #743
- Add reject-broken-links CLI option by @PoignardAzur in #807
- feat: convert
Tag
to_end()
andFrom
impl by @Martin1887 in #824 - feat(escape): separate attribute and text HTML by @notriddle in #830
- Update to CommonMark 0.31.2 by @notriddle in #834
- Backport footnote handling without needing blank lines between them for old footnote format by @GuillaumeGomez in #836
- Implement missing cell cutoff to stop quadratic results by @notriddle in #837
Bugfixes
- Fix parser bug where link label gets broken by ] in code span by @lukas-code in #643
- fix: strikethrough can be intra-word by @Martin1887 in #648
- fix: shift right overflow panic in debug mode in rare cases by @Martin1887 in #652
- fix: tables can interrupt paragraphs by @Martin1887 in #653
- fix(parse): rare error searching in the emphasis stack by @Martin1887 in #650
- Skip leading space on leading pipe in
scan_table_head
by @notriddle in #665 - Fix index out of bounds when parsing GFM footnote by @mgeisler in #667
- Allow lowercase letters in HTML declarations by @notriddle in #668
- Fix fuzzing empty list items by @mgeisler in #669
- Fix, and document, some table/paragraph interrupt corner cases by @notriddle in #672
- Include trailing backslash at all break points in paragraph by @notriddle in #676
- Block quotes interrupt paragraphs even with no space at start by @notriddle in #675
- Fix table/paragraph interruption when nested by @notriddle in #679
- Use correct
both
flag when pushing remaining delimiters to stack by @notriddle in #682 - Fix #684 by @Martin1887 in #685
- Fix spec violation on empty-list-item-cannot-interrupt-paragrph rule by @notriddle in #681
- fix: empty text events in ATX headings with trailing
#
by @Martin1887 in #683 - Fix incorrect scan of bad email address by @raphlinus in #688
- Fix infinite loop with metadata blocks with indented lines by @Martin1887 in #690
- Add special handling for backslashed table pipes by @notriddle in #699
- Fixes
rustdoc::bare_urls
lint by @GuillaumeGomez in #719 - Fix elided lifetimes and unused lifetimes errors by @GuillaumeGomez in #723
- Allow arbitrary blank lines within list by @notriddle in #728
- Single pipes alone on lines are not tables by @notriddle in #732
- Use original run lengths to judge multiples of three by @notriddle in #730
- Fix oversight in table escape parsing by @notriddle in #736
- Check that parens in link def are nested by @notriddle in #738
- Fix emphasis stack truncation bug by @notriddle in #740
- Fix emphasis run length delimiter lower limit bug by @notriddle in #742
- fix: compilation error in utils.rs after merge 701 by @Martin1887 in #746
- Track underscore lower bound by
% 3
modulo by @notriddle in #748 - Parse
[^]
as a link by @notriddle in #750 - Do not subtract list item indent if it has more than one blank line by @notriddle in #752
- Do not parse hard line breaks when doing link label blocks by @notriddle in #754
- Ignore block synstax when determining emphasis can_open/close by @notriddle in #756
- Allow up to three spaces indentation before footnote definition by @notriddle in #759
- Do not accept footnote definitions with line breaks by @notriddle in #761
- Apply laziness rules to link definition by @notriddle in #765
- When popping a list, clear
begin_list_item
state by @notriddle in #763 - Parse footnote definitions below the first line of nested blocks by @notriddle in #767
- Parse settext headers with higher priority than linkdefs by @notriddle in #769
- Clean up some more gratuitous differences in footnote parsing by @notriddle in #773
- Parse inline nested footnote definitions by @notriddle in #771
- Do not treat backslash at end of block as hard break by @notriddle in #775
- Correct instructions for running specs by @ollpu in #777
- Read lazy paragraph continuations off of refdefs by @notriddle in #782
- Allow setext headers to interrupt link definitions by @notriddle in #780
- Fix incorrect space handling at paragraph/linkref boundary by @notriddle in #783
- Fix handling of newlines in nested inline link by @notriddle in #784
- Allow setext headers to interrupt link def insides by @notriddle in #790
- Avoid updating linkdef when title isn't followed by NL by @notriddle in #792
- Trim spaces off start and end of link reference by @notriddle in #794
- Don't eat blank line when parsing unclosed fenced code by @notriddle in #796
- Do not allow inlines to cross over block structures by @notriddle in #798
- Fix parsing of spaces in code by @notriddle in #786
- Include last of line of link title by @notriddle in #809
- Calculate correct list indent for ordered lists by @notriddle in #811
- Do not treat zero-cell rows as valid by @notriddle in #812
- Trim spaces off end of parsed lines by @notriddle in #785
- Fix up corner cases in table and code unescaping by @notriddle in #776
- Reject table delimiter row with unexpecte...