Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 1, 2025

Bumps chumsky from 0.9.3 to 0.11.2.

Release notes

Sourced from chumsky's releases.

0.10.0

The 0.10.0 release of chumsky is a from-scratch rewrite of the crate based on the work that's been ongoing for several years in the 1.0.0 alpha builds. The release of 0.10.0 is, in many ways, a concession to a few inconvenient facts:

  • Users were rightly complaining that the latest stable release of chumsky (i.e: that which docs.rs shows by default) was the 0.9.x release, despite the fact that we've been recommending that new users use 1.0.0 alpha builds for a long time now. Many users have accidentally tried to run code taken from the 1.0.0 examples, only to find that they don't work with 0.9.
  • 1.0.0 has been in development for a long time, and there are still some breaking changes left to make (although we're getting closer!). Users wants to be able to pull in a stable version and start working productively, and the existing situation was becoming cumbersome.
  • Although 1.0.0 is not yet finished, it is moving closer and closer to its final form. It is unlikely that much about the surface API will change between 0.10.0 and 1.0.0, although some changes left to be made are technically breaking.

We recommend that users of chumsky depend on 0.10.0, if they can. Despite that, there are a few things to consider:

  • (This has now been resolved) Not all documentation has been properly updated yet. Some docs still reference 0.9.x concepts or are not yet complete.
  • Some features are still in a state of partial completeness. We don't anticipate significant breakage going forwards, but some features are explicitly in need of more work and future 0.x releases will address them.

Any help from the community to assist in resolving these points is greatly appreciated!

Here follows the changelog for 0.10.0. I also wrote up an informal migration guide.

Added

  • Support for zero-copy parsing (i.e: parser outputs that hold references to the parser input)
  • Support for parsing nested inputs like token trees
  • Support for parsing context-sensitive grammars such as Python-style indentation, Rust-style raw strings, and much more
  • Support for parsing by graphemes as well as unicode codepoints
  • Support for caching parsers independent of the lifetime of the parser
  • A new trait, IterParser, that allows expressing parsers that generate many outputs
  • Added the ability to collect iterable parsers into fixed-size arrays, along with a plethora of other container types
  • Support for manipulating shared state during parsing, elegantly allowing support for arena allocators, cstrees, interners, and much more
  • Support for a vast array of new input types: slices, strings, arrays, impl Readers, iterators, etc.
  • Experimental support for memoization, allowing chumsky to parse left-recursive grammars and reducing the computational complexity of parsing certain grammars
  • An extension API, allowing third-party crates to extend chumsky's capabilities and introduce new combinators
  • A pratt parser combinator, allowing for conveniently and simply creating expression parsers with precise operator precedence
  • A regex combinator, allowing the parsing of terms based on a specific regex pattern
  • Properly differentiated ASCII and Unicode text parsers

Removed

  • Parser::then_with has been removed in favour of the new context-sensitive combinators

Changed

  • Performance has radically improved
  • Error generation and handling is now significantly more flexible
Changelog

Sourced from chumsky's changelog.

[0.11.2] - 2025-11-05

Added

  • Implement Default, PartialOrd, and Ord for SimpleSpan
  • Implement PartialOrd and Ord for Rich

[0.11.1] - 2025-09-12

Fixed

  • Patched compilation error that only appeared in release builds

[0.11.0] - 2025-09-11

Added

  • The set(...) combinator, which may be used to conveniently parse a set of patterns, in any order
  • Support for non-associative infix operators are now supported by the .pratt(...) combinator
  • Parser::try_foldl, allowing folding operations to short-circuit in a manner similar to Parser::try_map
  • Parser::contextual, which allows a parser to be disabled or enabled in a context-sensitive manner
  • Implemented ValueInput for IterInput, which was previously missing
  • More types that implement the State trait:
    • RollbackState, which reverts parser state when a parser rewinds and may be used to, for example, count the number of times a pattern appears in the input
    • TruncateState, which truncates a vector when a parser rewinds, and may be used to implement an arena allocator for AST nodes
  • Implemented IterParser for a.then(b) when both a and b are both IterParsers that produce the same output type

Changed

  • Made lifetime bounds on recursive and ParserExtra more permissive
  • Improved support for grapheme parsing
  • Text parsers now report labels
  • Parser::filter now generates a DefaultExpected::SomethingElse label instead of nothing (this can be overridden with the .labelled(...) function)
  • Improved areas of documentation
  • Make whitespace parsers reject codepoints that are vulnerable to CVE-2021-42574
  • Maybe the select! parser more permissive, accepting any implementor of Input instead of requiring ValueInput too

Fixed

  • Many minor incorrect debug-only sanity checks have been fixed
  • Many minor span and error prioritisation behavioural problems have been fixed (most notably, Parser::try_map)
  • The .rewind() parser no longer rewinds any secondary error that were encountered
  • Accidental text::ascii::keyword lifetime regression

[0.10.1] - 2025-04-13

Added

  • Implemented Container for VecDeque
  • New section covering recursion in the guide

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [chumsky](https://github.com/zesterer/chumsky) from 0.9.3 to 0.11.2.
- [Release notes](https://github.com/zesterer/chumsky/releases)
- [Changelog](https://github.com/zesterer/chumsky/blob/main/CHANGELOG.md)
- [Commits](https://github.com/zesterer/chumsky/commits)

---
updated-dependencies:
- dependency-name: chumsky
  dependency-version: 0.11.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Dec 1, 2025
@jcornaz jcornaz closed this Dec 2, 2025
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Dec 2, 2025

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot bot deleted the dependabot/cargo/chumsky-0.11.2 branch December 2, 2025 08:18
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.

2 participants