Releases: kivikakk/comrak
0.17.1
0.17.0
What's Changed
This contains some breaking changes from an API point of view, but output is largely unchanged. Spec compliance is improved, and benchmark runtime is over 20% faster.
- SECURITY: GHSA-8hqf-xjwp-p67v / Quadratic runtime when parsing Markdown (GHSL-2023-047)
- A variety of quadratic runtime issues that could lead to DoS were reported and addressed.
- We replaced pest with an re2c-based scanner.
- SECURITY: GHSA-xxmq-4vph-956w / Excessive output when parsing Markdown (GHSL-2023-048)
- Reference output is limited to 100Kb.
- SECURITY: GHSA-5r3x-p7xx-x6q5 / Attacker controlled data in AST nodes is not validated (GHSL-2023-049)
- AST nodes no longer store raw
Vec<u8>
s, and instead storeString
s.
- AST nodes no longer store raw
- Various API points were cleaned up.
- Comrak now targets Rust 2018.
- Add footnote attributes that mirror cmark-gfm by @digitalmoksha in #273
- Add support for full_info_string render option by @digitalmoksha in #276
- chore: improve debug performance by @conradludgate in #283
Many thanks to @philipturnbull and @darakian of the GitHub Security Lab for bringing these issues to my attention and detailing the reproduction steps for each case.
New Contributors
- @digitalmoksha made their first contribution in #273
- @conradludgate made their first contribution in #283
Full Changelog: 0.16.0...0.17.0
0.16.0
What's Changed
- Track which symbol was used to mark task item as checked by @felipesere in #252
- improve tagfilter performance by @fiji-flo in #256
- [ShortCode] Add support for gemojis via shortcodes extension by @eklipse2k8 in #260
- "mod three rule" fix by @kivikakk in #262
- Add
shortcodes
to the README by @gjtorikian in #263 - Cargo.toml: remove timebomb by @kivikakk in #264
- Add custom heading adapter by @lucperkins in #266
- Keep track of "^" symbol when within footnotes by @gjtorikian in #274
New Contributors
- @felipesere made their first contribution in #252
- @fiji-flo made their first contribution in #256
- @eklipse2k8 made their first contribution in #260
- @lucperkins made their first contribution in #266
Full Changelog: 0.15.0...0.16.0
0.15.0
What's Changed
- table: fix start_line of Table itself by @kivikakk in #231
- Rename header file to match c libname by @gjtorikian in #233
- Change the name of the ifdef by @gjtorikian in #234
- Add
comrak_set_parse_option_smart
by @gjtorikian in #235 - Allow
c_char
options to be NULL by @gjtorikian in #237 - Replace
lazy_static
dependency withonce_cell
by @Turbo87 in #238 - Make
comrak --help
readable on my terminal by @mgeisler in #242 - c-api: fix CI build by @kivikakk in #240
- Bump versions of some dependencies by @helmet91 in #243
- Adding functionality to build SyntectAdapters with custom themes, syntax sets, etc. by @ArvinSKushwaha in #239
- Make shell-words and xdg dependencies optional by @silverpill in #245
- Bump clap version to 4.0 and switch to the Derive API by @tranzystorek-io in #248
- c-api: remove by @kivikakk in #249
New Contributors
- @Turbo87 made their first contribution in #238
- @mgeisler made their first contribution in #242
- @ArvinSKushwaha made their first contribution in #239
- @silverpill made their first contribution in #245
- @tranzystorek-io made their first contribution in #248
Full Changelog: 0.14.0...0.15.0
crates.io: https://crates.io/crates/comrak/0.15.0
0.14.0
What's Changed
- Allow for C-style dynamic libraries to be produced by @gjtorikian in #171
- Fix wrapping on lines succeeded by unwrappable lines by @edwardloveall in #228
- Add bullet list style options by @edwardloveall in #229
New Contributors
- @edwardloveall made their first contribution in #228
Full Changelog: 0.13.2...0.14.0
crates.io: https://crates.io/crates/comrak/0.14.0
0.13.2
Changes since last release (0.13.1...0.13.2)
- Fix Windows build.
On crates.io: https://crates.io/crates/comrak/0.13.2
0.13.1
Changes since last release (0.13.0...0.13.1)
On crates.io: https://crates.io/crates/comrak/0.13.1
Windows build includes c465cb5.
0.13.0
Changes since last release (0.12.1...0.13.0)
- SECURITY: Bump regex to 1.5.5. (#221, Dependabot)
- Drop unneeded YAML dependency from Syntect. (#199, Chris Wong)
- Match newline handling in code inlines to upstream, and improve test failure reporting. (#210, Michael Anderson)
- Make all node value fields public. (#216, Evan Schwartz)
- Line break handling adjustments. (#214, Michael Anderson)
- Disable control characters in link definitions. (#219, Michael Anderson)
On crates.io: https://crates.io/crates/comrak/0.13.0
0.12.1
Changes since last release (0.12.0...0.12.1)
- Only load syntax and theme sets once, on Syntect plugin instantiation. (#197)
- Match syntax highlighting language names more loosely. (#198)
On crates.io: https://crates.io/crates/comrak/0.12.1
0.12.0
Changes since last release (0.11.0...0.12.0)
- Add pluggable syntax highlighting, and default implementation with syntect. (Daniel Simon, #194)
On crates.io: https://crates.io/crates/comrak/0.12.0