{"ecosystem":"cargo","package":"winnow","from_version":null,"to_version":null,"changes":[{"from_version":"0.7.15","to_version":"1.0.0","change_type":"api","description":"Moved `BitOffsets` from `stream` to `binary::bits` to consolidate the API","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Accept a parser for `escaped`, `take_escaped` control character for not-quite unicode parsing","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Add `Parser::parse_iter`","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Export `Needed` in `stream`","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Correct trace for `oct_digit1`","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Allow `escaped` into a `Cow`","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Added `parser`, `ascii`, and `binary` feature gates to improve build times","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Reduce 'impl ContainsToken for Tuple' to 10 elements to improve build times","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Reduce 'impl Alt for Tuple' to 10 elements to improve build times","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Reduce 'impl Parser for Tuple' to 10 elements to improve build times","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Replaced `(I, usize)` with `binary::bits::Bits` to clarify intent","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Make `iterator` impure like parsers","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Replace `Stream::raw` with `Stream::trace`","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Reduce macro-generated code","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Split off `parser`, `ascii`, and `binary` features","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"breaking","description":"Optimize `hex_uint`","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.7.15","to_version":"1.0.0","change_type":"removed","description":"Remove deprecated APIs","migration_hint":"1. Update to latest v0.7 release\n2. Resolve deprecations\n3. Upgrade to v1\n4. Add `ascii`, `binary`, or `parser` features as needed\n5. Break tuples into tuples-of-tuples as needed"},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"api","description":"`AddContext::add_context` now takes a `start: &Checkpoint` parameter for capturing the start of the current parse operation","migration_hint":null},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"api","description":"`Checkpoint` gained a generic parameter, limiting it to the stream type it came from","migration_hint":null},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"api","description":"`ParserError::append` now takes a `start: &Checkpoint` parameter for capturing the start of the current parse operation","migration_hint":null},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"breaking","description":"Asserts in release build now `Cut` rather than `Backtrack`","migration_hint":null},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"breaking","description":"Added \"min is lower than max\" asserts to ranged parsers","migration_hint":null},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"breaking","description":"`Stream::reset` now accepts a checkpoint by reference, rather than by value","migration_hint":null},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"breaking","description":"`FindSlice::find_slice` now returns a range","migration_hint":null},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"breaking","description":"`CompareResult::Ok` now carries a `usize`","migration_hint":null},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"breaking","description":"`literal` requires the tag to impl `Debug`","migration_hint":null},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"breaking","description":"Added \"no progress\" asserts to repeating combinators to prevent infinite loops","migration_hint":null},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"breaking","description":"`dec_int` / `dec_uint` continue don't stop capturing tokens once the data type is saturated","migration_hint":null},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"breaking","description":"Trait bounds changed for `char`, `u8` literal parsers","migration_hint":null},{"from_version":"0.5.40","to_version":"0.6.0","change_type":"removed","description":"Deprecated functionality was removed","migration_hint":null},{"from_version":"0.3.8","to_version":"0.4.0","change_type":"api","description":"Some trait bounds and generic parameters changed","migration_hint":null},{"from_version":"0.3.8","to_version":"0.4.0","change_type":"breaking","description":"Cleaned up the code so it better serves as examples for user-written parsers","migration_hint":null},{"from_version":"0.3.8","to_version":"0.4.0","change_type":"breaking","description":"Improved type inference, especially for `\"\"`, `''` parsers","migration_hint":null},{"from_version":"0.3.8","to_version":"0.4.0","change_type":"breaking","description":"All `winnow` parsers now return `impl Parser`, rather than `impl FnMut`","migration_hint":null},{"from_version":"0.3.8","to_version":"0.4.0","change_type":"breaking","description":"`winnow::prelude::Parser` is now named","migration_hint":null},{"from_version":"0.3.8","to_version":"0.4.0","change_type":"breaking","description":"Some infinite loop, overflows, and bounds errors were changed to asserts","migration_hint":null},{"from_version":"0.3.8","to_version":"0.4.0","change_type":"breaking","description":"`ErrorKind` was greatly simplified","migration_hint":null},{"from_version":"0.3.8","to_version":"0.4.0","change_type":"breaking","description":"`winnow::prelude` now allows named access to `Parser`","migration_hint":null},{"from_version":"0.3.8","to_version":"0.4.0","change_type":"breaking","description":"`Parser::parse` added as a replacement for `FinishIResult::finish`","migration_hint":null},{"from_version":"0.3.8","to_version":"0.4.0","change_type":"deprecated","description":"Deprecated `FinishIResult`","migration_hint":null},{"from_version":"0.3.8","to_version":"0.4.0","change_type":"removed","description":"`escape`: Remove extraneous bounds checks","migration_hint":null},{"from_version":"0.3.8","to_version":"0.4.0","change_type":"removed","description":"Deprecated APIs were removed","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"api","description":"`winnow::error::ParserError` function parameter order has changed (#92)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"behavior","description":"`winnow::multi` parsers will `debug_assert` by default when encountering infinite loops (#146)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"breaking","description":"Moved error types and traits into the `winnnow::error` module (#73, #117)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"breaking","description":"`Parser::into` in favor of `Parser::output_into` and `Parser::err_into` (#48)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"breaking","description":"Combinator structs returned by `Parser` were moved from `winnow` to `winnow::combinator` module (#4)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"breaking","description":"Merged many input traits into `winnow::stream::Stream` (#105, #107, #142, #155, #157)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"breaking","description":"`InputIter::iter_indices` is now `Stream::iter_offsets`","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"breaking","description":"`InputIter::position` is now `Stream::offset_for`","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"breaking","description":"`InputIter::slice_index` is now `Stream::offset_at`","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"breaking","description":"Tweaks were made to what input traits are needed for various types / parsers","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"breaking","description":"Changed all parsers to use `FnMut` (#152, #164)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"breaking","description":"Moved input traits from `winnow` to `winnow::stream` (#13, #142)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"breaking","description":"`InputIter::Iter` is now `Stream::IterOffsets`","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"breaking","description":"`winnow::error::ErrorKind` for infinite loops, like in `winnow::multi`, was changed to `ErrorKind::Assert` (#146)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"removed","description":"Removed support for `(I, ErrorKind)` errors in favor of `winnow::error::Error` (#92, #117)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"removed","description":"Removed `error::error_to_u32` (#54)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"removed","description":"Removed `pub use bits::*;` into root namespace (#52)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"renamed","description":"Renamed `winnow::stream::FindTokens` to `ContainsToken` (#105)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"renamed","description":"`winnow::error::Err` was renamed to `ErrMode` (#117)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"renamed","description":"`Error` variant was renamed to `Backtrack`","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"renamed","description":"`Fatal` variant was renamed to `Cut`","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"renamed","description":"`winnow::error::Error`'s `code` field was renamed to `kind` (#92)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"renamed","description":"Renamed `winnow::stream::InputLen` to `SliceLen` (#105)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"renamed","description":"Renamed `winnow::stream::FindSubstring` to `FindSlice` (#105)","migration_hint":null},{"from_version":"unknown","to_version":"0.3.0","change_type":"renamed","description":"Renamed `winnow::stream::ParseTo` to `ParseSlice` (#136)","migration_hint":null}],"total":67,"note":"Curated major-version breaking changes. Always verify against the package's official changelog before migrating.","_cache":"hit"}