What's Changed
- fix: restore stack state after a failed sequence by @Baltsat in #1184
- fix: silence compiler and clippy warnings in tests and generator by @NiltonVolpato in #1186
- fix(debugger): upgrade rustyline to 13 for loongarch64 support by @tangaac in #1187
- fix(fuzz): set edition 2021 and add sql fuzz target by @estr3llas in #1189
- Add support for a fully-functional const PrattParser with optional macro for increased ergonomics by @NiltonVolpato in #1185
- Add fuzzing dictionaries and document them in FUZZING.md by @estr3llas in #1191
- Reject unescaped control characters in the JSON grammar by @hdimer in #1190
New Contributors
- @Baltsat made their first contribution in #1184
- @NiltonVolpato made their first contribution in #1186
- @tangaac made their first contribution in #1187
- @estr3llas made their first contribution in #1189
- @hdimer made their first contribution in #1190
Full Changelog: v2.8.8...v2.9.0
Warning: Semantic Versioning
Note that the node tag feature in 2.6.0 was a technically semver-breaking change even though it is a backwards-compatible / non-breaking change in the meta-grammar. There may be similar non-breaking changes to the meta-grammar between minor versions in the future. These non-breaking changes, however, may translate into semver-breaking changes due to the additional variants propagated from the generated Rule enum.
This new feature caused issues in some Cargo version resolution situations where Cargo mixed different versions of pest dependencies. For this reason, these "grammar non-breaking but semver-breaking" changes are now available only under the "grammar-extras" feature flag. If you would like to use node tags (or other future grammar features), you can do so by enabling this flag on the pest_derive crate in your Cargo.toml:
...
pest_derive = { version = "2.9", features = ["grammar-extras"] }