{"ecosystem":"cargo","package":"peg","from_version":null,"to_version":null,"changes":[{"from_version":"0.7.0","to_version":"0.8.0","change_type":"breaking","description":"Allow only lifetime, not type, parameters at the grammar level. (type parameters were never properly supported)","migration_hint":null},{"from_version":"0.7.0","to_version":"0.8.0","change_type":"breaking","description":"Require `Copy` on `ParseElem::Element` to better represent the expectation that they are cheap to copy/move. --- Contributors: @kevinmehall @zsol @neunenak @fgasperij","migration_hint":null},{"from_version":"0.7.0","to_version":"0.8.0","change_type":"breaking","description":"Add `'input` lifetime parameter to `ParseElem` trait so implementations can return tokens by reference. (#268)","migration_hint":null},{"from_version":"0.6.3","to_version":"0.7.0","change_type":"breaking","description":"`mixed_site` hygiene prevents action code from accessing internal parser state variables such as `__input`, `__pos`, etc.","migration_hint":null},{"from_version":"0.6.3","to_version":"0.7.0","change_type":"breaking","description":"Add required `is_eof()` method to `Parse` trait (#252)","migration_hint":null},{"from_version":"0.6.3","to_version":"0.7.0","change_type":"breaking","description":"Certain patterns that would infinite-loop or stack overflow if executed are now a compile-time error","migration_hint":null},{"from_version":"0.5.7","to_version":"0.6.0","change_type":"breaking","description":"Add `precedence!{}` block for adding a precedence-climbing expression parser integrated with the surrounding PEG source.","migration_hint":null},{"from_version":"0.5.7","to_version":"0.6.0","change_type":"breaking","description":"Add the ability to parse non-`str` input by implementing [traits][peg-traits]. It comes with an implementation for `[T]` (including `[u8]`), but you can define the traits for your own types. In fact, the rust-peg grammar is parsed with rust-peg via an implementation for [token trees from `proc-macro2`][tokens].","migration_hint":null},{"from_version":"0.5.7","to_version":"0.6.0","change_type":"breaking","description":"Replaced build script integration and nightly-only syntax extension with a procedural macro that works on stable Rust. This means that errors both in the PEG grammar and the Rust code embedded from it are reported with source position by rustc. It even works with RLS!","migration_hint":null},{"from_version":"0.5.7","to_version":"0.6.0","change_type":"breaking","description":"Allow rules to accept value and type parameters, including passing closures to replace the `template` syntax.","migration_hint":null},{"from_version":"0.5.7","to_version":"0.6.0","change_type":"breaking","description":"Report errors in left-recursive rules that would cause infinte loops.","migration_hint":null}],"total":11,"note":"Curated major-version breaking changes. Always verify against the package's official changelog before migrating.","_cache":"hit"}