Skip to content

Bump pulldown-cmark-to-cmark from 22.0.1 to 23.0.0 - #1900

Draft
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/cargo/pulldown-cmark-to-cmark-23.0.0
Draft

dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/cargo/pulldown-cmark-to-cmark-23.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Bumps pulldown-cmark-to-cmark from 22.0.1 to 23.0.0.

Release notes

Sourced from pulldown-cmark-to-cmark's releases.

v23.0.0

Beware that this is basically an SI rewrite, which I reviewed from an API perspective. It should be way more correct than the previous version, at least tests would say so.

Reason: I wanted to prevent piece-meal SI-PRs to fix individual aspects of the prior version, which was pretty sub-par in the correctness department.

New Features (BREAKING)

  • require parser options and validate round-trip configurations

    Checked public API, rest is mostly rubber-stamped

    Make the originating parser flags mandatory in State::new and every cmark helper so escaping and source validation agree with the parser. Remove State::default(), default to symbolic superscripts/subscripts, and add optional, recommended Options::validate. Support all subsets of twelve modern extensions with standard markers: 491,520 finite configurations are accepted and 5,799,936 are explicitly rejected.

    Preserve mandatory list and definition boundaries, nested delimiter runs, math/table interactions, and raw blocks ending at EOF or by dedentation. Validate delimiter choices before emitting them and report unrepresentable blocks instead of silently changing events. Preserve list structure that relied on invisible definitions by reserving a collision-free label; these exceptional lists buffer the remaining input until finish.

    Keep accumulated reference occurrences and labels out of block-rendering snapshots. Criterion benchmarks cover shared, distinct, edited, and nested references at 1,000–8,000 paragraphs and show proportional scaling.

    Add permanent differential tests with exact merged-event comparisons across both rendering paths, 860 retained regressions, 91,446 generated inputs, symbolic extension combinations, numeric preferences, and every accepted configuration. Run the exhaustive release suite in CI. Document migration, validation, coverage counts, and commands that print the results.

  • round-trip the full CommonMark 0.31.2 spec

    Rubber-stamp mostly, and nearly 1000 SLOC less seem to speak a clear language. I at least validated the public API which seemed sensible. The new API is definitely nicer, the tests are cleaned up.

    All 652 CommonMark 0.31.2 examples now round-trip with their parsed structure intact under default formatting. This includes paragraph boundaries, tight and loose lists, link types, and indented versus fenced

... (truncated)

Changelog

Sourced from pulldown-cmark-to-cmark's changelog.

23.0.0 (2026-09-29)

Beware that this is basically an SI rewrite, which I reviewed from an API perspective. It should be way more correct than the previous version, at least tests would say so.

Reason: I wanted to prevent piece-meal SI-PRs to fix individual aspects of the prior version, which was pretty sub-par in the correctness department.

New Features (BREAKING)

  • require parser options and validate round-trip configurations

    Checked public API, rest is mostly rubber-stamped

    Make the originating parser flags mandatory in State::new and every cmark helper so escaping and source validation agree with the parser. Remove State::default(), default to symbolic superscripts/subscripts, and add optional, recommended Options::validate. Support all subsets of twelve modern extensions with standard markers: 491,520 finite configurations are accepted and 5,799,936 are explicitly rejected.

    Preserve mandatory list and definition boundaries, nested delimiter runs, math/table interactions, and raw blocks ending at EOF or by dedentation. Validate delimiter choices before emitting them and report unrepresentable blocks instead of silently changing events. Preserve list structure that relied on invisible definitions by reserving a collision-free label; these exceptional lists buffer the remaining input until finish.

    Keep accumulated reference occurrences and labels out of block-rendering snapshots. Criterion benchmarks cover shared, distinct, edited, and nested references at 1,000–8,000 paragraphs and show proportional scaling.

    Add permanent differential tests with exact merged-event comparisons across both rendering paths, 860 retained regressions, 91,446 generated inputs, symbolic extension combinations, numeric preferences, and every accepted configuration. Run the exhaustive release suite in CI. Document migration, validation, coverage counts, and commands that print the results.

  • round-trip the full CommonMark 0.31.2 spec

    Rubber-stamp mostly, and nearly 1000 SLOC less seem to speak a clear language. I at least validated the public API which seemed sensible. The new API is definitely nicer, the tests are cleaned up.

    All 652 CommonMark 0.31.2 examples now round-trip with their parsed structure intact under default formatting. This includes paragraph

... (truncated)

Commits
  • bae0dd3 Release pulldown-cmark-to-cmark v23.0.0
  • c2772f5 prepare changelog prior to release
  • b69f3ea Merge pull request #114 from Byron/more-fixes
  • a077980 feat!: require parser options and validate round-trip configurations
  • 96eebbd Merge pull request #113 from Byron/more-fixes
  • c4d4f28 test: print CommonMark conformance totals
  • e173adb docs: explain migration to the owning State API
  • c8d9190 feat!: round-trip the full CommonMark 0.31.2 spec
  • f16d71b test: update CommonMark fixtures to 0.31.2
  • a14b105 Release pulldown-cmark-to-cmark v22.0.3
  • Additional commits viewable in compare view

@dependabot
dependabot Bot requested a review from adamchalmers as a code owner October 10, 2026 23:44
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Oct 10, 2026
@dependabot
dependabot Bot requested a review from jessfraz as a code owner October 10, 2026 23:44
@dependabot dependabot Bot added the rust Pull requests that update Rust code label Oct 10, 2026
@jtran

jtran commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

Author says this is a rewrite. I would let it bake some more before merging it.

@jtran
jtran marked this pull request as draft October 11, 2026 14:17
Bumps [pulldown-cmark-to-cmark](https://github.com/Byron/pulldown-cmark-to-cmark) from 22.0.1 to 23.0.0.
- [Release notes](https://github.com/Byron/pulldown-cmark-to-cmark/releases)
- [Changelog](https://github.com/Byron/pulldown-cmark-to-cmark/blob/main/CHANGELOG.md)
- [Commits](Byron/pulldown-cmark-to-cmark@v22.0.1...v23.0.0)

---
updated-dependencies:
- dependency-name: pulldown-cmark-to-cmark
  dependency-version: 23.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/cargo/pulldown-cmark-to-cmark-23.0.0 branch from ab0f7aa to 708ceae Compare October 11, 2026 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant