Skip to content

Commit 50ee5b0

Browse files
committed
Updated changelog
1 parent c163bec commit 50ee5b0

1 file changed

Lines changed: 103 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 103 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,113 @@
22

33
All notable changes to this project will be documented in this file.
44

5-
## [unreleased]
5+
## [0.10.0] - 2026-01-22
6+
7+
### 🚀 Features
8+
9+
- *(pc)* Implement `no_incomplete` directly into `and` parser
10+
- *(Makefile)* Print the size of the types
11+
- *(parser)* Implement `no_incomplete` directly into `WithExpectedMessage` parser
12+
- *(Makefile)* Print longest type length
13+
- *(pc)* Introducing context for parsers
14+
- *(pc)* Add flatten parser
15+
- *(pc)* Support contextual parsers
16+
- *(pc)* Added `PeekParser`
17+
- *(pc)* Support custom error in FilterParser
18+
- *(parser)* Implement specific string parser
19+
- *(parser)* Moved the dollar sign check for keywords into the `any_token` parser
20+
- *(pc)* Combine `char` with `Vec<char>` into a `String`
21+
- *(pc)* Added `Token.text()` method to return the ownership of the String
22+
- *(parser)* Make identifier token include dots
23+
- *(pc)* Added `map_fatal_err`, `map_non_fatal_err` and `flat_map_none`
24+
- *(parser)* Support treating EOF as fatal in keyword parser
25+
- *(pc)* Introducing `init_context` parser
26+
- *(pc)* Introducing `then_with_left` parser
27+
- *(pc)* Support `many` without closures
28+
- *(pc)* Added `surround` parser
29+
- *(parser)* Introducing `whitespace_ignoring`, parse whitespace but ignore the result
30+
- *(parser)* Support parsing specific string and ignoring the output
31+
- *(parser)* Support parsing a specific keyword and ignoring the output
32+
- *(pc)* Start support for text (char and string) parsing
33+
- *(pc)* Support error messages in `filter_or_err`
34+
- *(pc)* Changed the filter predicate into its own trait, embedding error management in it
35+
- *(pc)* Add `is_soft` method to error trait
36+
37+
### 🐛 Bug Fixes
38+
39+
- *(parser)* Comment separator must start with EOL
40+
- *(parser)* QBasic names cannot contain underscores
41+
- *(parser)* `comment_separator` should read any number of extra EOL or whitespace tokens
42+
- *(pc)* Fix broken build for release mode
643

744
### 🚜 Refactor
845

946
- *(pc)* Implement `or_default` directly on `many` parser
47+
- *(pc)* Merge the types `NoIncomplete` and `OrFail` into one parser, `MapErr`
48+
- *(parser)* Remove `specific` module
49+
- *(pc)* Re-introduce the `OrDefault` trait
50+
- *(pc)* Remove all extra methods from `Parser` trait
51+
- *(pc)* Improve macros for parsers
52+
- *(pc)* Support more complex parsers in macros
53+
- *(pc)* Merge `parser1_decl` and `parser1_impl` into one macro `parser`
54+
- *(pc)* Re-working macro support
55+
- Remove the `lazy_parser` macro and add a `lazy` function
56+
- *(parser)* Add dedicated `struct` for `any_token_of` parser
57+
- *(parser)* Support padded whitespace in `any_token_of`
58+
- *(parser)* Support negative maches in `any_token_of`
59+
- *(pc)* Split `set_context` into a separate trait
60+
- *(pc)* Make `Seq2`, `Seq3`, etc structs private
61+
- *(parser)* Move token-level logic to a new `tokens` module
62+
- *(parser)* Move `detect_eof` to `global_statement`
63+
- *(parser)* Implement the Parser trait directly on the char type
64+
- *(parser)* Add `or_expected` as a shortcut for `or_syntax_error("Expected: ")`
65+
- *(parser)* Remove single-char token types
66+
- *(pc)* Improve code readability for single char Token
67+
- *(parser)* Add `AnySymbolParser`
68+
- *(parser)* Strengthen module visibility and rename modules
69+
- *(parser)* Create dedicated struct parser for keyword
70+
- *(parser)* Removed `keyword_choice` and improved `keyword_map`
71+
- *(parser)* Improvements to `statements` parser
72+
- *(pc)* Align `then_with` to use RefCell just like `then_with_right`
73+
- *(pc)* Implement `delimited_by` and `delimited_by_allow_missing`
74+
- *(pc)* Remove OptZip parser
75+
- *(pc)* Introduce `ParserErrorTrait` trait
76+
- *(parser)* Remove the explicit fatal designation on ParserError
77+
- *(pc)* Switch to a mutable input
78+
- *(common)* Deleted `CaseInsensitiveStr` for simplicity
79+
80+
### 📚 Documentation
81+
82+
- *(pc)* Improve `Token` documentation
83+
84+
### ⚡ Performance
85+
86+
- *(parser)* Improve `TokenType` lookup performance
87+
88+
### ⚙️ Miscellaneous Tasks
89+
90+
- *(Makefile)* Show only parser types in `print-type-size`
91+
- *(parser)* Add `_ws` suffix to `token_kind_parser` functions that are surrounded by optional whitespace
92+
- *(parser)* Move `char_parsers` to top-level module
93+
- *(parser)* Move `string_parsers` to top-level module
94+
- *(parser)* Use `AnyChar` struct directly
95+
- *(parser)* Use `filter_or_err`
96+
- *(pc)* Do not use macro in `many`
97+
- *(pc)* Removed `TokenList` and `token_list_to_string`
98+
- *(pc)* Removed unused Clone trait from Token
99+
- *(pc)* Removed macros
100+
- *(parser)* Reuse `eol_ws_zero_or_more` function
101+
- *(parser)* Simplify implementation of any_token_ws in favor of padded_by_ws
102+
- *(pc)* Change `parse` to mut
103+
- *(pc)* Fix various clippy warnings
104+
- *(pc)* Strengthen Token invariants
105+
- *(parser)* Fix some clippy issues
106+
- *(pc)* Move helper methods into the main Parser trait
107+
- *(pc)* Make private modules public for better visibility in the docs
108+
109+
### ◀️ Revert
110+
111+
- Revert the specialized `no_incomplete` and `or_default` implementations due to code duplication
10112

11113
## [0.9.1] - 2025-12-30
12114

0 commit comments

Comments
 (0)