Changelog

December 23, 2025 · View on GitHub

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

22.0.0 (2025-12-23)

New Features

  • Add #![deny(missing_docs)] attribute to enable missing documentation checks and add comprehensive documentation for all public items

New Features (BREAKING)

  • Add support for super/subscript without html Superscript and subscript can be presented in markdown as: ^superscript^ and subscript respectively. This is not always turned on, and many people prefer the HTML tag form, however in order to round-trip markdown which uses the symbolic form we need an option to enable that.

    This feature is enabled via a new field in the Options struct.

Commit Statistics

  • 7 commits contributed to the release.
  • 43 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Merge pull request #107 from kinnison/super-sub-not-html (15e7a74)
    • Refactor (aba929c)
    • Add testing support for symbolic super/subscript (463b65a)
    • Add support for super/subscript without html (ffa22b3)
    • Merge pull request #108 from Byron/copilot/add-documentation-and-deny-attrs (077d5d0)
    • Refactor (6d09f44)
    • Add #![deny(missing_docs)] attribute to enable missing documentation checks and add comprehensive documentation for all public items (9b55c82)

21.1.0 (2025-11-09)

New Features

  • Improve CommonMark conformance testing output This is a major improvement to the rendering of the failing CommonMark conformance test output, that should make it easier to read and understand when pulldown-cmark-to-cmark is producing erroneous output.

    Additionally, this introduces a way to force the printing of the CommonMark failure report from the command line:

    $ FULL_CMARK_RESULTS=true cargo test

    and documents in CONTRIBUTING.md that new contributors may want to start with trying to improve conformance.

    This removes #[should_panic] from the main CommonMark test. Instead, we now hard-code in how many of the CommonMark tests are known to pass.

    If the number that actually passes increases or decreases, this test will fail, informing the user either that they have introduced a bug (decrease), or that they've successfully improved conformance (increase).

    Previously, if a change accidentally reduce the conformance, there was no easy way to know, since that information was not stored/tracked in any way.

Other

  • Drop comment headers

Refactor

  • Add Repeated utility to simplify writing repeated content

  • Move and group related code My impression reading through the code in this project is that top-level statements have gotten a bit intertangled over time; this tries to reorder things to have a clearer flow and structure, grouping related things together.

    For example, this moves the recently added Error enum up above all of the API functions, instead of leaving it somewhat arbitrarily nestled between cmark_resume_with_options() and cmark_resume_one_event().

    No code changes were made to the body of functions or types. This also does not change any of the public APIs, only where code is located.

    • Group padded newline logic at top of text_modifications.rs

    • Rename padding_of() to list_item_padding_of()

    • Add 'Public API Functions' header in lib.rs

    • Consolidate public enum and struct types at the top of lib.rs, instead of leaving them scattered amongst the cmark*() public functions.

    • Consolidate the two impl State<'_> statements

    • Move cmark_resume(), cmark() and cmark_with_options() from the bottom of lib.rs up to the top, before the ~600 implementation of cmark_resume_one_event() that makes up the bulk of lib.rs

  • Add State::set_minimum_newlines_before_start() This should help with readability. As an example, I didn't realize initially that all of the if statements updated in this PR were actually modifying the same field.

    But once I started doing the more generic refactoring of adding a set_option_minimum() method, I looked at every line and realized they were all the same.

    Factoring this to a method should clarify to future readers that updating newlines_before_start specifically is a recurring operation.

  • Use write_padded_string() in a couple additional places Additionally, while in the neighhborhood, add pub(crate) to the other text_modifications.rs private helpers

    These being marked as pub is misleading since the text_modifications module is not actually externally public, and these functions are never re-exported publicly.

Commit Statistics

  • 13 commits contributed to the release.
  • 264 days passed between releases.
  • 6 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v21.1.0 (4fa1f9e)
    • Release pulldown-cmark-to-cmark v21.0.0 (d69f748)
    • Merge pull request #104 from ConnorGray/connorgray/refactor-5 (bf34a3c)
    • Add Repeated utility to simplify writing repeated content (942c42b)
    • Merge pull request #103 from ConnorGray/connorgray/refactor-4 (3005f1b)
    • Drop comment headers (5b93e7e)
    • Move and group related code (30b706b)
    • Merge pull request #102 from ConnorGray/connorgray/revamp-conformance-testing (3169307)
    • Merge pull request #101 from ConnorGray/connorgray/refactor-3 (ac3aaec)
    • Merge pull request #100 from ConnorGray/connorgray/refactor-2 (29c8c20)
    • Improve CommonMark conformance testing output (91ffc95)
    • Add State::set_minimum_newlines_before_start() (31a49d0)
    • Use write_padded_string() in a couple additional places (3ab278b)

21.0.0 (2025-02-18)

The breaking release is to avoid side-effects with different pulldown-cmark versions. This crate now comes with version 13.

Refactor

  • Add Repeated utility to simplify writing repeated content

  • Move and group related code My impression reading through the code in this project is that top-level statements have gotten a bit intertangled over time; this tries to reorder things to have a clearer flow and structure, grouping related things together.

    For example, this moves the recently added Error enum up above all of the API functions, instead of leaving it somewhat arbitrarily nestled between cmark_resume_with_options() and cmark_resume_one_event().

    No code changes were made to the body of functions or types. This also does not change any of the public APIs, only where code is located.

    • Group padded newline logic at top of text_modifications.rs

    • Rename padding_of() to list_item_padding_of()

    • Add 'Public API Functions' header in lib.rs

    • Consolidate public enum and struct types at the top of lib.rs, instead of leaving them scattered amongst the cmark*() public functions.

    • Consolidate the two impl State<'_> statements

    • Move cmark_resume(), cmark() and cmark_with_options() from the bottom of lib.rs up to the top, before the ~600 implementation of cmark_resume_one_event() that makes up the bulk of lib.rs

  • Add State::set_minimum_newlines_before_start() This should help with readability. As an example, I didn't realize initially that all of the if statements updated in this PR were actually modifying the same field.

    But once I started doing the more generic refactoring of adding a set_option_minimum() method, I looked at every line and realized they were all the same.

    Factoring this to a method should clarify to future readers that updating newlines_before_start specifically is a recurring operation.

  • Use write_padded_string() in a couple additional places Additionally, while in the neighhborhood, add pub(crate) to the other text_modifications.rs private helpers

    These being marked as pub is misleading since the text_modifications module is not actually externally public, and these functions are never re-exported publicly.

Other

  • Drop comment headers

New Features

  • Improve CommonMark conformance testing output This is a major improvement to the rendering of the failing CommonMark conformance test output, that should make it easier to read and understand when pulldown-cmark-to-cmark is producing erroneous output.

    Additionally, this introduces a way to force the printing of the CommonMark failure report from the command line:

    $ FULL_CMARK_RESULTS=true cargo test

    and documents in CONTRIBUTING.md that new contributors may want to start with trying to improve conformance.

    This removes #[should_panic] from the main CommonMark test. Instead, we now hard-code in how many of the CommonMark tests are known to pass.

    If the number that actually passes increases or decreases, this test will fail, informing the user either that they have introduced a bug (decrease), or that they've successfully improved conformance (increase).

    Previously, if a change accidentally reduce the conformance, there was no easy way to know, since that information was not stored/tracked in any way.

Other

  • Adjust wording + typos

Refactor

  • Add helper to factor out newline + padding pattern When writing a newline into the generated Markdown content to start a new line of output, it is (almost) always necessary to output the "padding" characters used to indent the content at the current location in the document, based on the hierarchy of block-level elements the output cursor is "inside" of.

    Since writing a newline and writing the current padding are always paired, factoring them out into a function should help with readability and consistency in performing this minor two-step dance correctly.

Commit Statistics

  • 9 commits contributed to the release.
  • 6 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v21.0.0 (c1347d1)
    • Update changelog prior to release (475478a)
    • Bump version to 21 for pulldown-cmark 13 (ed16be5)
    • Merge pull request #99 from danieleades/cmark-13 (fb9bbd6)
    • Merge pull request #98 from ConnorGray/connorgray/refactor-1 (b47d6c9)
    • Update doc-string so State::padding is shown conventionally (e10010f)
    • Update to pulldown-cmark 13 (efbdd3a)
    • Adjust wording + typos (05e247e)
    • Add helper to factor out newline + padding pattern (2252ba1)

20.0.1 (2025-02-12)

Bug Fixes

  • definition list block indentation now works correctly.

Commit Statistics

  • 8 commits contributed to the release.
  • 58 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #97

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • #97
    • Definition list block indentation now works correctly. (27cbc16)
  • Uncategorized
    • Release pulldown-cmark-to-cmark v20.0.1 (80f82f4)
    • Merge branch 'definition_list' (435307d)
    • Thanks clippy (abb85a6)
    • Treat definition list entries as blocks (261c23b)
    • Merge pull request #96 from mgsloan/improve-naming-in-code-escaping-and-add-comments (1ffd7c8)
    • Add comments explaining inline code escaping (60e1854)
    • Improve naming in function for counting max consecutive chars (32628b3)

20.0.0 (2024-12-15)

Bug Fixes (BREAKING)

  • Add structured error handling for cmark(), cmark_resume() etc When cmark_resume_with_options(), which serves as basis for the other cmark* functions, finds an inconsistent event stream (for example, two consecutive heading start tags), it panics.

    Introduce a custom error type Error in the crate and change the return type of all public functions from fmt::Result<_> to Result<_, Error>.

    The next commit adds an integration test.

Commit Statistics

  • 5 commits contributed to the release.
  • 4 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #91

Commit Details

view details
  • #91
    • Revert "fix: harden again manufactured input which could previously trigger assertion failures." (a442910)
  • Uncategorized
    • Release pulldown-cmark-to-cmark v20.0.0 (3c850de)
    • Merge pull request #93 from cip999/resume-error-handling (21f0f5d)
    • Add integration test for CmarkError::UnexpectedEvent (4766cc1)
    • Add structured error handling for cmark(), cmark_resume() etc (fdc5859)

19.0.1 (2024-12-11)

Bug Fixes

  • harden again manufactured input which could previously trigger assertion failures.

Commit Statistics

  • 4 commits contributed to the release.
  • 19 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #91

Commit Details

view details
  • #91
    • Harden again manufactured input which could previously trigger assertion failures. (a368f0f)
  • Uncategorized
    • Release pulldown-cmark-to-cmark v19.0.1 (aefd5cb)
    • Merge pull request #92 from Byron/fuzz-test (c61fdd4)
    • Refactor tests (b526d7c)

19.0.0 (2024-11-22)

New Features (BREAKING)

  • Make State struct non-exhaustive That way, future additions to the rather internal state won't be a reason for breaking changes anymore.

Bug Fixes (BREAKING)

Commit Statistics

  • 12 commits contributed to the release.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v19.0.0 (ccc8a52)
    • Merge pull request #90 from chriskrycho/escape-code-in-tables (daef56b)
    • Add fixtures for pipes-in-code which should not be escaped (a85fe39)
    • Use Cow<'a, str> to minimize allocations for pipe escaping (022fa11)
    • Correct comment/note on when pipe characters are/not escaped (c9ecdd2)
    • Make State struct non-exhaustive (13785fe)
    • Improve test expectations for escaping pipes in inline code (e7f0784)
    • Escape special characters in inline code in tables (37e8dcb)
    • Add fixture for tables with escaped characters (edcac27)
    • Minor improvements (f6fba5f)
    • Merge branch 'notriddle/main' (4690885)
    • Drasticly improve escaping !, #, and | (76c24a1)

18.0.0 (2024-10-16)

Chore

  • use TextMergeStream for round-trip tests This increases the amount of passing tests to 578. It doesn't strictly improve the quality of implementation, but since separate text events aren't supposed to be semantic, these failures seem spurrious.

New Features

  • angle brackets if link paren is unbalanced Increases passing spec tests from 473 to 477.

Bug Fixes

  • write block quote kind only once

New Features (BREAKING)

  • correctly round-trip code blocks with no trailing newline
  • round-trip indented code blocks This raises the number of passing spec tests from 459 to 473.

Commit Statistics

  • 11 commits contributed to the release.
  • 40 days passed between releases.
  • 5 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v18.0.0 (6c8bc4d)
    • Merge pull request #87 from notriddle/notriddle/link-tweaks (81ac29b)
    • Use TextMergeStream for round-trip tests (b3d7df2)
    • Angle brackets if link paren is unbalanced (d8f22c1)
    • Merge branch 'blockquote-kinds' (d5323a8)
    • Remove allocation (33ce10d)
    • Write block quote kind only once (2f75de2)
    • Merge branch 'notriddle/main' (848abc3)
    • Run cargo fmt and assure it doesn't regress anymore. (3fdf308)
    • Correctly round-trip code blocks with no trailing newline (db76794)
    • Round-trip indented code blocks (8a9573d)

17.0.0 (2024-09-06)

New Features (BREAKING)

  • retain more details on reference links This raises the number of passing spec tests from 436 to 459.

Bug Fixes (BREAKING)

  • spurrious code blocks when char escapes start text

Commit Statistics

  • 6 commits contributed to the release.
  • 14 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v17.0.0 (55fe0bc)
    • Merge branch 'notriddle/reference-links' (98818fa)
    • Merge branch 'notriddle/main' (ed4ff6f)
    • Retain more details on reference links (3170061)
    • Spurrious code blocks when char escapes start text (c3a0f32)
    • Fix incorrect variable name (210a0be)

16.0.1 (2024-08-22)

Other

  • Lower MSRV to 1.71.1 This project builds successfully with the MSRV of pulldown-cmark. Therefore we can lower rust-version to 1.71.1.

    Add documentation for the current MSRV and that this project follows MSRV policy of pulldown-cmark.

    Use cargo hack for MSRV CI job, to automatically install rustc according to rust-version and then execute cargo check.

Commit Statistics

  • 16 commits contributed to the release.
  • 2 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v16.0.1 (ab22a57)
    • Merge pull request #81 from caspermeijn/msrv (85ca9d4)
    • Make clear that the rust-version field follows pulldown-cmark's MSRV. (7269c4f)
    • Lower MSRV to 1.71.1 (21a7f26)
    • Merge pull request #79 from danieleades/clippy (c6899bc)
    • Use 'Self' keyword (clippy::use_self) (1a3029f)
    • Remove unnecessary negation (clippy::if_not_else) (5745ce5)
    • Remove unneeded 'ref' bindings (clippy::ref_binding_to_reference) (820b661)
    • Nest or patterns (clippy::unnested_or_patterns) (43c6e8a)
    • Explicitly match unit values (clippy::ignored_unit_patterns) (d636dc6)
    • Avoid explicit iter loops (clippy::explicit_iter_loop) (a8c7fa5)
    • Use inline format args (clippy::uninlined_format_args) (d97f8f5)
    • Remove needless raw string hashes (clippy::needless_raw_string_hashes) (6e2ae15)
    • Use semicolons if nothing returned (clippy::semicolon_if_nothing_returned) (8f9d4bf)
    • Merge pull request #80 from danieleades/msrv (08ffcb8)
    • Add MSRV check to CI (66b9ed2)

16.0.0 (2024-08-20)

Add support for pulldown-cmark v0.12, and an understanding of markdown Definition Lists.

Commit Statistics

  • 8 commits contributed to the release.
  • 64 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v16.0.0 (4dd27c5)
    • Bump major version to help isolage the pulldown-cmark crate at v0.12 (17b5308)
    • Update changelog prior to release (7b74f1b)
    • Merge branch 'cmark-12' (f1f18d4)
    • Fix test (173ae85)
    • Add failing test case (7674b54)
    • Add test for definition list item start (e686a8f)
    • Add 'todo' placeholders (f1a8a3e)

15.0.1 (2024-06-16)

Bug Fixes

  • tables render more correctly

Commit Statistics

  • 3 commits contributed to the release.
  • 1 day passed between releases.
  • 1 commit was understood as conventional.
  • 2 unique issues were worked on: #70, #76

Commit Details

view details
  • #70
    • Tables render more correctly (2ac7472)
  • #76
    • Tables render more correctly (2ac7472)
  • Uncategorized
    • Release pulldown-cmark-to-cmark v15.0.1 (7cc274e)
    • Fix emitting :: for centered column in table. (33811dc)

15.0.0 (2024-06-15)

Note

This release adds support for Math expressions, and notification boxes like the one this text is written in.

New Features (BREAKING)

  • Update to pulldown-cmark v0.11 for math-expression support and special block quotes Update pulldown cmark

Commit Statistics

  • 20 commits contributed to the release.
  • 5 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v15.0.0 (e6c8c3e)
    • Prepare changelog prior to release (d72bfd3)
    • Upgrade dev-dependencies (d8cbd37)
    • Update to pulldown-cmark v0.11 for math-expression support and special block quotes (bff28af)
    • Merge blockquote kind parsing (6d05a28)
    • Remove unused import (89d5dd5)
    • Remove support for dollar surrounding backtick (d55ac5d)
    • Generate snapshot (c8632c4)
    • Add suggested fixture (f961f76)
    • Use escaped comparison (74a5b59)
    • Update math tests (e94e9e4)
    • Fix alternate math notation (8e09ddb)
    • Regenerate snapshots (153ff68)
    • Add mathematical expressions (42049d9)
    • Regenerate snapshots (ea04970)
    • Fix incorrect formatting (1d047be)
    • Add blockquote kinds (dcf769c)
    • Update tests (8723b1f)
    • Handle new types and change (c81d969)
    • Update pulldown-cmark (173b8a4)

14.0.1 (2024-06-10)

This release contains a fix to avoid escaping characters within codeblocks. See https://github.com/Byron/pulldown-cmark-to-cmark/issues/73 for details.

Commit Statistics

  • 4 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 1 unique issue was worked on: #73

Commit Details

view details
  • #73
    • Fixdo not disturb code block detection when preventing escape (7376d42)
  • Uncategorized
    • Release pulldown-cmark-to-cmark v14.0.1 (fd7815a)
    • Prepare changelog prior to release. (857ff07)
    • Merge pull request #74 from SichangHe/fix-unnecessary-range-escape (a6045c6)

14.0.0 (2024-06-10)

This release adds support for keeping escapes in the original source for the input events, assuming the new cmark_resume_with_source_range_and_options() function is used.

Please also note that for most this won't be a breaking change as only a field was added to State, which isn't used unless you do incremental event serialization.

Bug Fixes (BREAKING)

  • clarify what last_event_end_index indices into and how it's used This is marked as breaking change as the field itself is new in State and could be breaking for some.

Commit Statistics

  • 17 commits contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details

13.0.0 (2024-03-17)

New Features

  • add newlines_after_metadata option

Bug Fixes

  • set correct yaml metablock end tag

Test

  • add frontmatter snapshot

New Features (BREAKING)

  • support for controlling the amount of newlines after metadata blocks.

Commit Statistics

  • 6 commits contributed to the release.
  • 4 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v13.0.0 (daeb618)
    • Support for controlling the amount of newlines after metadata blocks. (834c74b)
    • Refactor (b8ae359)
    • Add frontmatter snapshot (5d94036)
    • Add newlines_after_metadata option (8d39a30)
    • Set correct yaml metablock end tag (7b27baa)

12.0.0 (2024-03-16)

Other

  • update pulldown-cmark dependency

New Features (BREAKING)

  • upgrade to pulldown-cmark v0.10 This comes with a variety of changes to the State type, which is the reason this is a breaking release.

    The overall correctness is improved though, bringing the amount of successful tests of the spec to 435/649 (up by 4).

Commit Statistics

  • 18 commits contributed to the release.
  • 48 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v12.0.0 (002be03)
    • Upgrade to pulldown-cmark v0.10 (640148b)
    • Avoid allocations (366f304)
    • Allow State to borrow from events (b3bfd40)
    • Remove State::last_was_html (42739b5)
    • Test custom attributes (8152f81)
    • Adjust snapshots (1c21b70)
    • Remove trailing whitespace in snapshots (seems to be a pulldown-cmark parsing change) (b09ce73)
    • Fix handling of HTML blocks (6afb4cd)
    • Clippy (4a66292)
    • Fix EndTag tests (38bb5dd)
    • Comment out end tag tests that aren't triviably updateable (82110a4)
    • Support heading attributes (fc30c6d)
    • Fix test (ea2608e)
    • Fix easily-updateable tests (ebf9b69)
    • Add link/image stacks and track current header (3090b8a)
    • Metadata blocks (a26731c)
    • Update pulldown-cmark dependency (b90defb)

11.2.0 (2024-01-27)

New Features

  • introduce calculate_code_block_token_count(), along with DEFAULT_CODE_BLOCK_TOKEN_COUNT. That way it's possible to correctly determine the amount of fenced code-block tokens needed to render all given events such that code-blocks are retained.

Commit Statistics

  • 4 commits contributed to the release.
  • 1 day passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v11.2.0 (11344a7)
    • Merge branch 'fix_count_code_block_tokens' (ee42335)
    • Introduce calculate_code_block_token_count(), along with DEFAULT_CODE_BLOCK_TOKEN_COUNT. (e339365)
    • Change the return type of count_code_block_tokens (ef1c276)

11.1.0 (2024-01-25)

New Features

  • add count_code_block_tokens() function. It allows to calculate the amount of backticks around a code block for given events to assure code-blocks are reproduced correctly when rendering the same events.

Commit Statistics

  • 6 commits contributed to the release.
  • 61 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v11.1.0 (d236e29)
    • Add count_code_block_tokens() function. (10b855f)
    • Refactor (c0f631d)
    • Add check_code_block_token_count function (f119d77)
    • Merge pull request #64 from max-heller/readme-links (b926264)
    • Update pulldown-cmark and mdbook links in README (31e8bb5)

11.0.2 (2023-11-24)

Bug Fixes

  • Escape double quotes in link titles.

Commit Statistics

  • 5 commits contributed to the release.
  • 4 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #62

Commit Details

view details
  • #62
    • Escape double quotes in link titles. (9a64f6b)
  • Uncategorized
    • Release pulldown-cmark-to-cmark v11.0.2 (befdaab)
    • Address code review comments (4767b2f)
    • Escape double quotes in link titles (74f0abe)
    • Failing test for link titles with interior punctuation (e891ea4)

11.0.1 (2023-11-19)

Fix

  • properly format multi-line footnotes. Merge branch 'multiline-footnotes' (f6b5348)

Commit Statistics

  • 5 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 1 unique issue was worked on: #61

Commit Details

view details
  • #61
    • Fix: properly format multi-line footnotes. Merge branch 'multiline-footnotes' (f6b5348)
  • Uncategorized
    • Release pulldown-cmark-to-cmark v11.0.1 (b1f77e0)
    • Prepare changelog (323cbc0)
    • Multiline footnote fix (4768ad5)
    • Failing multiline footnote test (e187313)

11.0.0 (2023-08-18)

New Features

  • add apache-2 license text to crate as well

Bug Fixes

  • improve handling of inline code spans with multiple backticks Merge pull request #56 from mgeisler/inline-code

New Features (BREAKING)

  • Options to choose the ordered list marker and to auto-increment the ordered list numbers.
    • Based on the commonmark list spec an ordered list can use . or ) as the ordered list marker. Now users can configure the marker they want to use with the ordered_list_token option.

Commit Statistics

  • 14 commits contributed to the release.
  • 3 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Thanks Clippy

Clippy helped 2 times to make code idiomatic.

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v11.0.0 (6f23621)
    • Merge branch 'lic' (b889953)
    • Add apache-2 license text to crate as well (d9eb454)
    • Add license text (9ea32f4)
    • Improve handling of inline code spans with multiple backticks (c2a0113)
    • Refactor (1cd68a4)
    • Thanks clippy (8f81a30)
    • Use necessary amount of backticks for inline code (3437734)
    • Always use backticks for inline code blocks (1e76c95)
    • Options to choose the ordered list marker and to auto-increment the ordered list numbers. (2263c2f)
    • Thanks clippy (6bde374)
    • Correct indentation for a nested list in a doc comment (ce1fb72)
    • Add option to increment ordered list number (f2fae4b)
    • Allow users to specify a custom ordered list marker (981c86a)

10.0.4 (2022-09-10)

Bug Fixes

  • add newlines where needed to produce valid codeblocks

Commit Statistics

  • 6 commits contributed to the release.
  • 1 day passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #48

Commit Details

view details
  • #48
    • Add newlines where needed to produce valid codeblocks (f3b4370)
  • Uncategorized
    • Release pulldown-cmark-to-cmark v10.0.4 (5f6ec45)
    • Cargo fmt (89b557a)
    • Fix typo (1833cfb)
    • Inserts a newline if there is no newline before code block termination fence (ef4c401)
    • Add a test case to verify that indented code blocks without trailing \n are rendered correctly (6c6f492)

10.0.3 (2022-09-09)

Bug Fixes

  • duplicated shortcut link definitions are only printed once.

Other

  • Replace .travis.yml with .github/workflows/rust.yml We have already migrated from Travis CI to GitHub Actions.

Commit Statistics

  • 5 commits contributed to the release.
  • 73 days passed between releases.
  • 2 commits were understood as conventional.
  • 1 unique issue was worked on: #46

Commit Details

view details
  • #46
    • Duplicated shortcut link definitions are only printed once. (ff4050f)
  • Uncategorized
    • Release pulldown-cmark-to-cmark v10.0.3 (4e7c91b)
    • De-duplicate shortcut link definitions (32d9466)
    • Add a test case to verify that repeated reference links are rendered correctly (eb6ab63)
    • Replace .travis.yml with .github/workflows/rust.yml (e214cc1)

10.0.2 (2022-06-28)

Fixes

  • support for backticks within inline-backticks, see this this comment for details.

Commit Statistics

  • 4 commits contributed to the release.
  • 108 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v10.0.2 (341f46e)
    • Update changelog (0fa8688)
    • Add space aroudn backticks (6f68331)
    • Fix double-backtick issue (09a35a9)

10.0.1 (2022-03-12)

Fixes

  • add cmark_resume(), completing the API transition started with the major version change.

Commit Statistics

  • 6 commits contributed to the release.
  • 42 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v10.0.1 (d2d1e6e)
    • Update changelog (eb88b2e)
    • Add clippy to Makefile/CI (7bb9a68)
    • Fix misc Clippy lints (118df17)
    • Re-order to logically group cmark* functions (16f06eb)
    • Add cmark_with_options() and fix comments (53efeb8)

10.0.0 (2022-01-28)

Note that the breaking change is fixable by removing the last parameter from the cmark() function if it was None, or using cmark_resume instead.

New Features

  • Formatting within links is no being preserved.

New Features (BREAKING)

  • Simplify cmark(…) by removing State parameter, introduce cmark_resume(…).

    The reason for doing it this way around causing a breaking change is the change of behaviour for cmark_resume, which now returns a state instance that needs a finalize() call to flush certain caches.

    Currently this is only used to write link blocks, after which the state is still usable for future invocations if necessary.

    That way the caller has control over where to put link blocks, or other items that should be placed at the end of a logical section.

Commit Statistics

  • 6 commits contributed to the release over the course of 28 calendar days.
  • 28 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v10.0.0 (44c5286)
    • Write changelog prior to release (e9f809f)
    • Merge pull request #41 from aogier/bugfix/40-shortcut_code (7ee11da)
    • Simplify cmark(…) by removing State parameter, introduce cmark_resume(…). (7166abe)
    • Properly render shortcut links w/ code formatting (6a42312)
    • Fix changelog (84acaf3)

9.0.0 (2021-12-31)

Bug Fixes

  • Shortcut handling is now using the State.

    This makes resumable event processing work as expected, even though the output won't be similar as it will print shortcuts right after all events have been processed and it's impossible to know how often it will be called.

  • Simplify State.

    Use an Option to get rid ofa boolean and make isuse impossible.

Commit Statistics

  • 6 commits contributed to the release.
  • 5 days passed between releases.
  • 2 commits were understood as conventional.
  • 1 unique issue was worked on: #39

Commit Details

view details

8.0.0 (2021-12-26)

This release adds support for pulldown-cmark v0.9, see the tracking issue for more information.

Commit Statistics

  • 4 commits contributed to the release.
  • 20 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v8.0.0 (cf469e2)
    • Adjust changelog prior to release (0ed0c69)
    • Cargo fmt (c696de3)
    • Support the new Heading tag in pulldown-cmark 0.9 (1c9ea44)

7.1.1 (2021-12-05)

Fixes

  • Multiple shortcut links are now separated by newline.

Commit Statistics

  • 3 commits contributed to the release.
  • 10 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v7.1.1 (e95115e)
    • Update changelog prior to patch release (e540024)
    • Fix shortcuts rendering (3bbc763)

7.1.0 (2021-11-25)

New Features

  • Shortcut links are now printed at the end of the stream like one would expect (#33)
  • email links are retained (#34)
  • Now 422 of 649 common mark spec tests pass, up from 402.

Commit Statistics

  • 6 commits contributed to the release.
  • 7 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details

7.0.0 (2021-11-18)

The Options type was updated in a breaking fashion to allow configuring certain tokens, e.g. the * list token can now be configured as - if desired.

Thanks to the author of this PR.

Commit Statistics

  • 7 commits contributed to the release over the course of 53 calendar days.
  • 53 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v7.0.0 (cc82b0f)
    • Update changelog prior to release (0b795a7)
    • Refactor (06fe6cb)
    • More efficient handling of reconfigured characters (fa14750)
    • Cleanup typing for special characters (9aef43f)
    • Change options to support custom syntax and add test (db6e12c)
    • Format with nightly (9313bac)

v6.0.4 (2021-09-25)

  • Improves newline handling when line ends with inline HTML

Commit Statistics

  • 3 commits contributed to the release.
  • 17 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v6.0.4 (72e5ca5)
    • Prepare changelog (50b4188)
    • Don't output extra newlines after HTML before a SoftBreak (1a40792)

v6.0.3 (2021-09-07)

  • handle spaces in links better

Commit Statistics

  • 3 commits contributed to the release.
  • 75 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release pulldown-cmark-to-cmark v6.0.3 (100c41a)
    • Prepare release (b3015aa)
    • Handle spaces in link URIs (9f8f17b)

v6.0.2 (2021-06-23)

Commit Statistics

  • 4 commits contributed to the release.
  • 19 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • (cargo-release) version 6.0.2 (c1cd8ce)
    • Prepare patch release (1872953)
    • Adjust test expecations - it's probably more correct now (6bc1f11)
    • Don't add a newline after an HTML block if we're just ending another tag (89cc1ec)

v6.0.1 (2021-06-04)

Commit Statistics

  • 14 commits contributed to the release over the course of 133 calendar days.
  • 233 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • Uncategorized
    • (cargo-release) version 6.0.1 (7782189)
    • Adjust test expectations - it's OK to degenerate information I suppose (f733496)
    • Prepare release (874edba)
    • Also escape closing brackets (oversight); fixes #25 (7fdf0da)
    • Merge remote-tracking branch 'origin/main' into crlf0710/main (934cfab)
    • Allow the commonmark-spec test to fail right now… (65f5949)
    • Re-enable test-suite :D (c2a2de3)
    • Add a test that verify current implementation against all the examples from CommonMark spec. (f27acce)
    • Dependency update (59db24f)
    • Use make in CI (4b53d20)
    • Use modern doc string type links (cac031a)
    • Thanks clippy (16e66da)
    • Cargo fmt (9d2dc90)
    • Add makefile for convenience (45bfb5e)

v6.0.1 (2021-06-04)

  • also escape ']' characters

v6.0.0 (2020-10-14)

Commit Statistics

  • 2 commits contributed to the release over the course of 42 calendar days.
  • 72 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized

v5.0.0 (2020-08-02)

Commit Statistics

  • 3 commits contributed to the release.
  • 58 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • (cargo-release) version 5.0.0 (a5f644a)
    • Update changelog (5f7be5e)
    • Make the number of backticks in codeblocks configurable (c9267b5)

v4.0.2 (2020-06-05)

Commit Statistics

  • 4 commits contributed to the release over the course of 9 calendar days.
  • 20 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized

v4.0.1 (2020-05-15)

Commit Statistics

  • 2 commits contributed to the release.
  • 23 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Bump patch level (03f4ab8)
    • Add a newline before code blocks if necessary (061f7b8)

v4.0.0 (2020-04-22)

  • BREAKING: Move all types from pulldown_cmark_to_cmark::fmt::* into pulldown_cmark_to_cmark::* for simplicity. For most common use-cases, this means that users of pulldown_cmark_to_cmark::fmt::cmark now use pulldown_cmark_to_cmark::cmark instead.

Commit Statistics

  • 1 commit contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Simplify library layout: move fmt::* into crate root (7070f33)

v3.0.1 (2020-04-22)

  • support for markdown embedded in HTML tags, like

    <article>
      
      * list
      * list
    
      **bold**
    
    </article>
    

Commit Statistics

  • 10 commits contributed to the release over the course of 15 calendar days.
  • 81 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Bump patch level; add changelog (b53fbe5)
    • Use Rust Edition 2018 QoL improvements (0b414d0)
    • Move last_was_html into state definition (allowing resumes) (59c5a3b)
    • Add newlines after HTML elemets if followed by more markdown (fcd32d0)
    • Bye bye travis, we had a good time (2ea28f7)
    • Add github actions (6b3f51c)
    • Update minor version of pulldown-cmark (3e856c9)
    • Update tests to use new code block kind (5b1c7c6)
    • Expose pulldown_cmark dependency to users (0174671)
    • Upgrade cmark dependency and handle new code block (5786f7e)

v2.0.1 (2020-01-31)

Commit Statistics

  • 2 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized

v2.0.0 (2020-01-31)

Commit Statistics

  • 8 commits contributed to the release.
  • 60 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Upgrade to edition 2018 (c6fb144)
    • Optimize release (17e9f4e)
    • Add real-world tests, related to #8 (8d7378f)
    • Add support for escapes, fixes #8 (91df9a2)
    • Run cargo fmt (d68f033)
    • Bump our version to 2.0 (d64853c)
    • Fix inline-html output (63f4e4f)
    • Update to pulldown-cmark 0.6.1 (4900624)

v1.2.4 (2019-12-02)

Commit Statistics

  • 5 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Bump version to 1.2.4 (ebd8e8e)
    • Merge pull request #7 from dylanowen/blockquotes (fee9004)
    • Updated authors (58e5137)
    • Better support for blockquotes (6f0e4b5)
    • Added blockquote test cases (2dd8024)

v1.2.3 (2019-10-28)

Commit Statistics

  • 3 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Bump version (6f2382e)
    • Better approximation of contained characters (83fdbc0)
    • Assure to never have truly empty header fields (00442f9)

v1.2.2 (2019-07-03)

Commit Statistics

  • 2 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Minor version bump (83c6edc)
    • Upgrade to pulldown-cmark 0.5.2; with clear regressions (c8e2b9b)

v1.2.1 (2019-07-03)

Commit Statistics

  • 6 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Upgrade to pulldown-cmark 0.4 (27909e0)
    • Merge pull request #3 from integer32llc/pulldown-cmark-0.4 (a92f729)
    • Add a test that generated markdown parses equivalently (90f134e)
    • Update table snapshot to remove whitespace in table cells (148c789)
    • Remove trailing spaces from the table test fixture (c6490bc)
    • Upgrade to pulldown-cmark 0.4.1 (9a87b4e)

v1.2.0 (2018-12-20)

Commit Statistics

  • 4 commits contributed to the release over the course of 299 calendar days.
  • 309 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Bump version after supporting the latest pulldown-cmark 0.2 (108c355)
    • Merge pull request #1 from maralorn/master (7a4f8a5)
    • Bump dependency versions (5c7ddd5)
    • Add crates badge (b3ec0d9)

v1.1.0 (2018-02-13)

Commit Statistics

  • 5 commits contributed to the release over the course of 1 calendar day.
  • 2 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Bump minor (ba3d313)
    • Support for codeblocks in codeblocks (a594c33)
    • Add example for codeblock in codeblock (fa9d980)
    • Some more infos for the README (9705eb8)
    • Add depndency info badge (1869129)

v1.0.0 (2018-02-11)

Commit Statistics

  • 6 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Add tests-title (34598b8)
    • Add project affiliations (55a5563)
    • First bunch of API docs (f315ab7)
    • Update all links (b1e0978)
    • First minor adjustment before all links change. (5b4c1ef)
    • Move everything from 'termbook'. (7666772)