Skip to content

Commit 42542a0

Browse files
committed
Updated changelog
1 parent 50fbf69 commit 42542a0

1 file changed

Lines changed: 169 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 169 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
1-
## [unreleased]
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
## [0.9.0] - 2025-12-30
6+
7+
### 🚀 Features
8+
9+
- Add RowColView to map a string to row/col taking newlines into account
10+
- Added RcStringView as the basic input unit that is lightweight and clone-able, and suppors row-col information
11+
- Added Opt parser
12+
- Added surround parser
13+
- Added `flat_map_negate_none`
14+
- Decouple `Parser` from `ParseError`
15+
- Move `no_incomplete` to the `Parser` level
216

317
### 🐛 Bug Fixes
418

@@ -7,6 +21,13 @@
721
- Move some code to test cfg
822
- Fixed build in release mode
923
- Incorrect upper bound for max length of string
24+
- AndThenOkErr should never re-map errors, only okay and incomplete results
25+
- Use syntax error when entire program can't be parsed
26+
- Use Box dyn for to_option and or_default to fix the build on Mac
27+
- Auto-fixed some issues with clippy
28+
- `seq` parsers should convert errors to fatal
29+
- Removed macro_export from visitor macros
30+
- Remove the build warning about the `resolver`
1031

1132
### 🚜 Refactor
1233

@@ -56,6 +77,93 @@
5677
- Separate error type per crate
5778
- Moved error_envelope to interpreter
5879
- Moved indexed_map to interpreter
80+
- Refactor Parser trait to generic, so that it can support `dyn`
81+
- Use `dyn` for `OrParser`
82+
- Use new parsers to build Tokenizer
83+
- Use parser combinator in `comment.rs`
84+
- Use parser combinator for parsing FileHandle
85+
- Use parser combinator for parsing the main program
86+
- Use parser combinator in statement_separator
87+
- Use parser combinator in keyword_choice and keyword_map
88+
- Use parser combinator in select_case
89+
- Remove negate parser
90+
- Remove peek parser
91+
- Remove token from unread method as it is no longer used
92+
- Removed ParserOnce trait
93+
- Removed NonOptParser marker trait
94+
- Introduce ParseResult for old parsers instead of standard Result
95+
- Introducing ParseResult::None enum member
96+
- Use ParseResult in AndThen mapping functions
97+
- Use ParseResult in AndThenOkErr mapping functions
98+
- Reduce usages of ParseResult::Incomplete
99+
- Replaced MapIncompleteError with WithExpectedMessage parser
100+
- Removed ParseError::Incomplete
101+
- Removed incomplete errors
102+
- Port enum member to new
103+
- Removed method
104+
- Added combiner function to AddWithoutUndo
105+
- Remove GuardPC
106+
- Remove concrete KeepLeft and KeepRight structs
107+
- Renamed AndThen to FlatMap
108+
- Deleted AllowDefault and AllowNone
109+
- Expose the combiner function in allow_opt
110+
- Expose the combiner function in and
111+
- Remove the PC suffix from parsers
112+
- Divide Parser into smaller traits
113+
- Redesigned pc_ng to use the standard Result type and not return the parsed input in the Err
114+
- Use the new ParseResult everywhere
115+
- Use Box dyn for or and seq
116+
- Moved surround method to And trait
117+
- Moved loop_while to its own trait LoopWhile
118+
- Moved error related parsers to
119+
- Move logging method to its own trait
120+
- Move allow_none_if method to its own trait
121+
- Moved one_or_more and zero_or_more to Many trait
122+
- Moved method to its own trait
123+
- Removed deprecated parser in favor of
124+
- Removed deprecated in favor of
125+
- Renamed `rusty_parser/types` to `rusty_parser/specific`
126+
- Move `Implicits` and `Names` under a new module
127+
- Added new type `CompactsInfo`
128+
- Added wrapper struct `NamesInner`
129+
- Delegating implementation to new structs in `names` module
130+
- Expose traits of `names` outside module
131+
- Store names of all scopes in `Names` without dropping them
132+
- Expose linter context to interpreter
133+
- Restructure `rusty_linter` modules
134+
- Restructure `rusty_parser` modules
135+
- Flatten public api of `rusty_parser` crate
136+
- Remove complex nested context objects in linter converter
137+
- Simplify converter for statements
138+
- Not allowing 'zero' `Position`
139+
- Use `VariableInfo` from linter `Context` in generator
140+
- Use a struct for FunctionDeclaration and SubDeclaration
141+
- Introducing new `Visitor` pattern in linter
142+
- Simplify `pre_linter` types
143+
- Implement visitor pattern for `constant_map`
144+
- Converted function `validate_string_length` into a trait
145+
- Converted `user_defined_type_rules` to the visitor pattern
146+
- Use new `Assignment` struct in `Statement`
147+
- Adapt `for_next_counter_match_linter` and `print_linter` to the Visitor pattern
148+
- Add a `bi_tuple` macro to reduce some boilerplate code
149+
- Changed `Statement::SubCall` to use a struct instead of two fields
150+
- Changed `Statement::BuiltInSubCall` to use a struct instead of two fields
151+
- Improve encapsulation of `CaseBlock` struct
152+
- Make `bi_tuple` macro more expressive
153+
- Migrated `UserDefinedNamesCollector` to the new Visitor pattern
154+
- Combined all `VarType*` traits into one `VarType` trait
155+
- Made fields of `TypedName` private
156+
- Introducing `ref_to_value_visitor`
157+
- Converted `Name` into a struct with private fields
158+
- Add `AsBareName` and `ToBareName` traits
159+
- Remove `QualifiedName` type
160+
- Renamed `chain` to `then_with`
161+
- Removed `and_without_undo`
162+
- Moved specific types away from `pc` module
163+
- Use small functions to improve `constant_map` readability
164+
- Implement `ConstLookup` trait for `names_inner`
165+
- Removed `Position` from `Token`, made fields private
166+
- Moved the `pc` framework to the `rusty_pc` package
59167

60168
### 🎨 Styling
61169

@@ -73,6 +181,52 @@
73181
- Extracted rusty_parser crate
74182
- Extracted rusty_linter crate
75183
- Removed funding file
184+
- Update dependencies
185+
- Extract test function in name parser's unit test
186+
- Deprecated some error related methods
187+
- Fix warning about lifeline
188+
- Uniform coding style of parser implementation
189+
- Reverted deprecation of `or_fail` and `no_incomplete`
190+
- Removed method `Variant::is_array`
191+
- Renamed idx variable to index for more clarity
192+
- Removed deprecated method in `MockInterpreterTrait`
193+
- Applied a few clippy suggestions
194+
- Fixed `use_self` clippy rule
195+
- Fixed clippy finding `branches_sharing_code`
196+
- Derive default with annotation in linter converter types
197+
- MainContext of PreLinter does not need to be public
198+
- Marked function as test only
199+
- Renamed `implicits` to `implicit_vars`
200+
- Moved `NameInfo` to its own module
201+
- Improved docs
202+
- Use single field in `Names` for all one-level data
203+
- Removed mut methods of `Position`
204+
- Add comments
205+
- Instantiate `pre_linter` context with `Default`
206+
- Removed `unwrap` custom functions in favor of `From` trait
207+
- Change `ConstantMap` `type` into a `struct` for encapsulation
208+
- Move `bi_tuple` macro to a new module
209+
- Implement `AsRef` for `TypedName<T>`
210+
- Removed `From<Token>` implementation of `BareName`
211+
- Removed unused code in `type_qualifier`
212+
- Improve `keyword_enum` macro
213+
- Removed `AccumulateParser`
214+
- Removed `AllowNoneIf` parser
215+
- Removed obscure `ExtractExpression` trait
216+
- Code readability improvements to `opt_second_expression`
217+
- Improve naming of `ConstValueResolver` for clarity
218+
- Reformat code with nightly rustfmt
219+
- Upgrade packages edition to 2024
220+
- Upgraded `rusty_parser` to 2024 edition
221+
- Re-arrange packages in `rusty_parser`
222+
- Update `README`
223+
- Split Windows build on a separate GitHub workflow
224+
- Migrating GitHub workflows to `dtolnay/rust-toolchain`
225+
- Unifiy build and build-windows GitHub actions
226+
- Trying a `windows-latest` GitHub runner instead of cross compilation
227+
- Experimenting with sharing artifacts between jobs
228+
- Align build and release GitHub workflows
229+
76230
## [0.8.0] - 2022-09-25
77231

78232
### 🚜 Refactor
@@ -85,26 +239,34 @@
85239
- Use cliff.toml from instarepo
86240
- *(changelog)* Updated changelog
87241
- *(changelog)* Updated changelog
242+
88243
## [0.7.0] - 2021-12-11
89244

90245
### 🚀 Features
91246

92247
- [**breaking**] Use standard PATH_TRANSLATED variable for Apache cgi-script instead of BLR_PROGRAM
93248
- Introducing git-cliff and changelog
249+
94250
## [0.5.0] - 2020-11-27
95251

96-
### 💼 Other
252+
### Bugfix
253+
254+
- Arguments appearing out of order due to enumerating over HashMap
255+
256+
### Refactoring
97257

98258
- Changed Name::Qualified to use QualifiedName as it used to in the past
99259
- Removed HasQualifier trait
100260
- Renamed TypeDefinition to ExpressionType
101-
- Arguments appearing out of order due to enumerating over HashMap
102-
## [0.3.0] - 2020-07-29
103261

104-
### 💼 Other
105-
106-
- Strings cannot be used as an if condition
262+
## [0.3.0] - 2020-07-29
107263

108264
### 🚜 Refactor
109265

110266
- Moved numeric casts to separate module
267+
268+
### Bugfix
269+
270+
- Strings cannot be used as an if condition
271+
272+
<!-- generated by git-cliff -->

0 commit comments

Comments
 (0)