nom v7.1.0 Release Notes
Release Date: 2021-11-04 // over 3 years ago-
Thanks
- @nickelc
- @Stargateur
- @NilsIrl
- ๐ฏ @clonejo
- @Strytyp
- @schubart
- @jihchi
- @nipunn1313
- @Gungy2
- @Drumato
- @Alexhuszagh
- @Aehmlo
- @homersimpsons
- @dne
- @epage
- @saiintbrisson
- @pymongo
๐ Changed
- ๐ documentation fixes
- ๐ Ci fixes
- ๐ the move to minimal-lexical for float parsing introduced bugs that cannot be resolved right now, so this version moves back to using the standard lib' parser. This is a performance regression*. If you have specific requirements around float parsing, you are strongly encouraged to use recognize_float and another library to convert to a f32 or f64
โ Added
- alt now works with 1 elment tuples
Previous changes from v7.0.0
-
๐ This release fixes dependency compilation issues and strengthen the minimum supported Rust version (MSRV) policy. This is also the first release without the macros that were used since nom's beginning.
Thanks
- @djc
- @homersimpsons
- @lo48576
- @myrrlyn
- @RalXYZ
- @nickelc
- @cenodis
โ Added
take_until1
combinator- more
to_owned
implementations - 0๏ธโฃ
fail
: a parser that always fail, useful as default condition in other combinators - ๐ text to number parsers: in the
character::streaming
andcharacter::complete
modules, there are parsers namedi8, u16, u32, u64, u128
andu8 ,u16, u32, u64, u128
that recognize decimal digits and directly convert to a number in the target size (checking for max int size)
โ Removed
- ๐ now that function combinators are the main way to write parsers, the old macro combinators are confusing newcomers. THey have been removed
- ๐ the
BitSlice
input type from bitvec has been moved into the nom-bitvec crate. nom does not depend on bitvec now - ๐ regex parsers have been moved into the nom-regex crate. nom does not depend on regex now
- ๐
ErrorKind::PArseTo
was not needed anymore
๐ Changed
- ๐ relax trait bounds
- ๐ some performance fixes
split_at_position*
functions should now be guaranteed panic free- ๐ the
lexical-core
crate used for float parsing has now been replaced withminimal-lexical
: the new crate is faster to compile, faster to parse, and has no dependencies
๐ Fixed
- infinite loop in
escaped
combinator many_m_n
now fails if min > max