|
1 | 1 | # Change Log
|
2 | 2 |
|
3 |
| -## [Unreleased][unreleased] |
| 3 | +## 8.0.0 2025-01-25 |
| 4 | + |
| 5 | +This versions represents a significant refactoring of nom to reduce the amount of code generated by prsers, and reduce the API surface. As such, it comes with some breaking changes, mostly around the move from closure based combinators to trait based ones. In practice, it means that instead of writing `combinator(arg)(input)`, we now write `combinator(arg).parse(input)`. |
| 6 | + |
| 7 | +This release also marks th introduction of the [nom-language](https://crates.io/crates/nom-language) crate, which will hold tools more focused on language parsing than the rest of nom, like the `VerboseError` type and the newly added precedence parsing combinators. |
4 | 8 |
|
5 | 9 | ### Thanks
|
6 | 10 |
|
| 11 | +- @cky |
| 12 | +- @5c077m4n |
| 13 | +- @epage |
| 14 | +- @Fumon |
| 15 | +- @jtracey |
| 16 | +- @OliveIsAWord |
| 17 | +- @Xiretza |
| 18 | +- @flier |
| 19 | +- @cenodis |
| 20 | +- @Shadow53 |
| 21 | +- @@jmmaa |
| 22 | +- @terror |
| 23 | +- @zanedp |
| 24 | +- @atouchet |
| 25 | +- @CMDJojo |
| 26 | +- @ackxolotl |
| 27 | +- @xmakro |
| 28 | +- @tfpk |
| 29 | +- @WhyNotHugo |
| 30 | +- @brollb |
| 31 | +- @smheidrich |
| 32 | +- @glittershark |
| 33 | +- @GuillaumeGomez |
| 34 | +- @LeoDog896 |
| 35 | +- @fmiras |
| 36 | +- @ttsugriy |
| 37 | +- @McDostone |
| 38 | +- @superboum |
| 39 | +- @rruppy |
| 40 | +- @thssuck |
| 41 | +- @Chasing1020 |
| 42 | +- @thatmarkenglishguy |
| 43 | +- @ambiso |
| 44 | +- @boxdot |
| 45 | +- @krtab |
| 46 | +- @code10129 |
| 47 | +- @manunio |
| 48 | +- @stuarth |
| 49 | +- @mindeng |
| 50 | +- @JonathanPlasse |
| 51 | +- @nabilwadih |
| 52 | +- @phoenixr-codes |
| 53 | +- @gdennie |
| 54 | +- @art049 |
| 55 | +- @kstrohbeck |
| 56 | + |
| 57 | +### Added |
| 58 | + |
| 59 | +- `Parser::map_res` |
| 60 | +- `Parser::map_opt` |
| 61 | +- `many` and `fold` combinators using ranges |
| 62 | +- `many` can collect into other types than `Vec` |
| 63 | +- `Error` and `VerboseError` can be converted to owned versions |
| 64 | + |
7 | 65 | ### Removed
|
8 | 66 |
|
9 | 67 | - `nom::bits::*` is no longer re-exported at the crate root. This export caused frequent confusion, since e.g. `nom::complete::tag` referred to `nom::bits::complete::tag` instead of the much more commonly used `nom::bytes::complete::tag`. To migrate, change any imports of `nom::{complete::*, streaming::*, bits, bytes}` to `nom::bits::[...]`.
|
| 68 | +- `parse` combinator |
| 69 | +- `InputIter`, `InputTakeAtPosition`, `InputLength`, `InputTake` and `Slice` are now merged in the `Input` trait |
10 | 70 |
|
11 | 71 | ### Changed
|
| 72 | +- `Parser::map` and `Parser::flat_map` now take a `FnMut` as argument |
12 | 73 |
|
13 | 74 | ## 7.1.2 - 2023-01-01
|
14 | 75 |
|
@@ -1479,7 +1540,9 @@ Considering the number of changes since the last release, this version can conta
|
1479 | 1540 |
|
1480 | 1541 | ## Compare code
|
1481 | 1542 |
|
1482 |
| -* [unreleased](https://github.com/rust-bakery/nom/compare/7.1.2...HEAD) |
| 1543 | +* [unreleased](https://github.com/rust-bakery/nom/compare/8.0.0...HEAD) |
| 1544 | +* [8.0.0](https://github.com/rust-bakery/nom/compare/7.1.3...8.0.0) |
| 1545 | +* [7.1.3](https://github.com/rust-bakery/nom/compare/7.1.2...7.1.3) |
1483 | 1546 | * [7.1.2](https://github.com/rust-bakery/nom/compare/7.1.1...7.1.2)
|
1484 | 1547 | * [7.1.1](https://github.com/rust-bakery/nom/compare/7.1.0...7.1.1)
|
1485 | 1548 | * [7.1.0](https://github.com/rust-bakery/nom/compare/7.0.0...7.1.0)
|
|
0 commit comments