You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The generic parameter lists for binrw::helpers functions have been reordered to put most-frequently-used parameters first.
Lifetime parameters have been added to several binrw::helpers functions to support borrowed arguments.
The MSRV has been increased to 1.70.
Parsing a unit enum with magic will now return an Io(UnexpectedEof) error when all attempts to read magic result in an UnexpectedEof. Previously, this would return NoVariantMatch. (#324, #325. Thanks, @plaflamme!)
Enhancements
PosValue now includes implementations for Default and BinWrite. The BinWrite implementation simply treats PosValue as a wrapper and writes the stored value in place; the pos field is ignored. Use the seek_before and (optionally) restore_position directives if you want to write a PosValue value to a different position in the output stream. (#270, #273. Thanks, @amirbou!)
binrw now uses syn 2 internally, which should reduce the build time for most users of binrw when used with other dependencies that have also updated to syn 2. (#285, #299. Thanks, @Urist-McGit!)
The amount of code generated has been reduced, improving compilation times. (#319. Thanks, @ScanMountGoat!)
Various small documentation improvements. (Thanks, @marxin!)
BinWrite::write_ne and BinWrite::write_ne_args convenience functions have been added to match the same functions in the BinRead API.
The owo-colors dependency has been updated to version 4.
Bug fixes
Using SeekFrom::End with TakeSeek now correctly seeks relative to the end of the stream if the stream is shorter than the limit. (#291)
Using binrw::helpers::count_with to return a Vec<{integer}> using a custom function will no longer ignore the custom function. (#318. Thanks, @kitlith!)
It is now possible to pass borrowed values when using binrw::helpers functions.
The args directive can now be used when closures are passed to parse_with or write_with.
All forwarding calls in the BinReadExt and BinWriteExt traits are now appropriately annotated with #[inline].