Skip to content

Commit f4346ef

Browse files
committed
docs: Added changelog
1 parent 995a3aa commit f4346ef

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

CHANGELOG.md

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,27 @@
11
# Changelog
22

3-
## 1.0.1 (16 Oct. 2025)
3+
## v1.0.1 (16 Oct. 2025)
44

5-
Complete overhaul of the parsing and conversion logic to improve reliability and maintainability.
6-
TODO
5+
This release provided significant bug fixes and cleanup with respect to the previous overhaul. The switch to Lark as the parsing backend and the internal AST were kept, but the code was significantly simplified and many issues were ironed out.
6+
7+
### Breaking changes
8+
9+
- A `numexpr` parsing bug was fixed, which had been present since the initial release of `formulate`. Bitwise operator precedence was changed, so some expressions will be interpreted differently, or fail to be parsed if they are not valid `numexpr` expressions. (See bug fixes section for more details.)
10+
- Some constant names were changed. In particular, very generic names are not assumed to be constants and will instead need more specific names. For example `c` is no longer interpreted as the speed of light, so `c_light` should be used instead. Constant names were taken from `hepunits` for consistency within Scikit-HEP.
11+
12+
### Features and improvements
13+
14+
- The CLI interface (which was briefly removed) was reintroduced.
15+
- Added dependency on `hepunits` in order to provide a useful set of constants.
16+
- Added methods to suggest fixes to parsing issues. These will be expanded in the future.
17+
18+
### Bug fixes
19+
20+
- ROOT parsing issues were resolved.
21+
- Various issues with constant and function conversions were resolved.
22+
- Bitwise operator precedence for `numexpr` expressions was fixed. An expression like `x > 1 & x < 3` was being parsed as `(x > 1) & (x < 3)` whereas `numexpr` would actually parse it as `x > (1 & x) < 3`.
23+
24+
### Maintainability improvements
25+
26+
- Added `lark` as a dependency, and moved away from standalone parsers. This simplifies the code and makes future adjustments to the grammar rules much easier.
27+
- Moved function and constant conversions into a central location instead of having them in each `to_*` function. Expressions are converted into a unified internal representation when they are parsed. This makes it easier to identify parsing and conversion issues.

0 commit comments

Comments
 (0)