|
| 1 | +# 1.5.1 |
| 2 | + |
| 3 | +- Increased upper SDK constraint to declare support for Dart 3 |
| 4 | +- Documentation fixes |
| 5 | + |
1 | 6 | # 1.5.0
|
2 | 7 |
|
3 | 8 | ## Breaking changes
|
4 | 9 |
|
5 |
| -- Now the `'` symbol is allowed for variable and function names so you can have variables like `y'`. |
| 10 | +- Now the `'` symbol is allowed for variable and function names so you can have variables like `y'`. |
6 | 11 |
|
7 | 12 | ## Equations
|
8 | 13 |
|
9 |
| -- Implemented `>=` and `<=`. |
| 14 | +- Implemented `>=` and `<=`. |
10 | 15 |
|
11 | 16 | # 1.4.0
|
12 | 17 |
|
13 | 18 | ## Custom Functions
|
14 | 19 |
|
15 |
| -- Define custom functions and redefine built-in functions when parsing |
16 |
| - an expression. See docs and example. |
17 |
| -- Use `MathNodeExpression.getPotentialFunctionNames()` to detect potentially |
18 |
| - used functions in a string. |
19 |
| -- Use period in the middle of custom variable and function names. |
20 |
| -- Under-hood, functions now support multiple comma separated arguments, so |
21 |
| - you can supply multiple arguments to your custom function. |
22 |
| -- Detect custom functions im math tree using |
23 |
| - `MathExpression.getUsedFreeformFunctions()`. |
| 20 | +- Define custom functions and redefine built-in functions when parsing |
| 21 | + an expression. See docs and example. |
| 22 | +- Use `MathNodeExpression.getPotentialFunctionNames()` to detect potentially |
| 23 | + used functions in a string. |
| 24 | +- Use period in the middle of custom variable and function names. |
| 25 | +- Under-hood, functions now support multiple comma separated arguments, so |
| 26 | + you can supply multiple arguments to your custom function. |
| 27 | +- Detect custom functions im math tree using |
| 28 | + `MathExpression.getUsedFreeformFunctions()`. |
24 | 29 |
|
25 | 30 | ## Breaking Changes
|
26 | 31 |
|
27 |
| -- `MissingFunctionArgumentListException` renamed to |
28 |
| - `OutOfRangeFunctionArgumentListException` |
29 |
| -- `MathNodeExpression.fromString()` may throw other errors besides |
30 |
| - `MathException` |
31 |
| -- `MathNodeExpression.getPotentialVariableNames()` is replaced by |
32 |
| - `MathNodeExpression.getPotentialDefinable()` |
33 |
| -- Instead of `log[base](arg)`, you should pass `log(base, arg)` syntax now |
34 |
| -- Period is an allowed character in the middle of a variable name now |
| 32 | +- `MissingFunctionArgumentListException` renamed to |
| 33 | + `OutOfRangeFunctionArgumentListException` |
| 34 | +- `MathNodeExpression.fromString()` may throw other errors besides |
| 35 | + `MathException` |
| 36 | +- `MathNodeExpression.getPotentialVariableNames()` is replaced by |
| 37 | + `MathNodeExpression.getPotentialDefinable()` |
| 38 | +- Instead of `log[base](arg)`, you should pass `log(base, arg)` syntax now |
| 39 | +- Period is an allowed character in the middle of a variable name now |
35 | 40 |
|
36 | 41 | ## Misc.
|
37 | 42 |
|
38 |
| -- `UnexpectedClosingBracketException` and `BracketsNotClosedException` can |
39 |
| - now tell where the problem probably happened. |
40 |
| -- New MathParseException's `InvalidFunctionNameException`, |
41 |
| - `DuplicateDeclarationException`, `InvalidFunctionArgumentsDeclaration`. |
| 43 | +- `UnexpectedClosingBracketException` and `BracketsNotClosedException` can |
| 44 | + now tell where the problem probably happened. |
| 45 | +- New MathParseException's `InvalidFunctionNameException`, |
| 46 | + `DuplicateDeclarationException`, `InvalidFunctionArgumentsDeclaration`. |
42 | 47 |
|
43 | 48 | # 1.3.1
|
44 | 49 |
|
45 |
| -- Variable validation fix |
| 50 | +- Variable validation fix |
46 | 51 |
|
47 | 52 | # 1.3.0
|
48 | 53 |
|
49 | 54 | ## Math Tree
|
50 | 55 |
|
51 |
| -- Important change: `MathNode` is now a class of `MathExpression` interface. |
52 |
| - Compared to MathNode, MathExpression may return null in `calc()` method. |
53 |
| -- New: `getUsedVariables()` method for `MathExpression` and `MathNode`. |
54 |
| - This method goes down the math tree to find any uses of `MathVariable` |
55 |
| - and returns names of all variables. |
56 |
| -- New: `MathExpression` object family - `MathComparison`: |
57 |
| - - `MathComparisonEquation` (=) |
58 |
| - - `MathComparisonGreater` (>) |
59 |
| - - `MathComparisonLess` (<) |
| 56 | +- Important change: `MathNode` is now a class of `MathExpression` interface. |
| 57 | + Compared to MathNode, MathExpression may return null in `calc()` method. |
| 58 | +- New: `getUsedVariables()` method for `MathExpression` and `MathNode`. |
| 59 | + This method goes down the math tree to find any uses of `MathVariable` |
| 60 | + and returns names of all variables. |
| 61 | +- New: `MathExpression` object family - `MathComparison`: |
| 62 | + - `MathComparisonEquation` (=) |
| 63 | + - `MathComparisonGreater` (>) |
| 64 | + - `MathComparisonLess` (<) |
60 | 65 |
|
61 | 66 | ## Parsing
|
62 | 67 |
|
63 |
| -- New: `MathNodeExpression.fromStringExtended()` method allows you to |
64 |
| - interpret equations and comparisons. Compared to `fromString`, |
65 |
| - it returns `MathExpression` instead of `MathNode`, since comparisons |
66 |
| - can't guarantee result. |
67 |
| -- New: `MathNodeExpression.getPotentialVariableNames()` analyzes given |
68 |
| - math expression string for possible use of variables. Refer to |
69 |
| - documentation for rough edges before using it. |
70 |
| -- New: `MathNodeExpression.builtInVariables` gives a list of built-in |
71 |
| - predefined variable names. |
72 |
| -- New: `MathNodeExpression.isVariableNameValid()` lets you check if |
73 |
| - the parser can work with a given name. |
| 68 | +- New: `MathNodeExpression.fromStringExtended()` method allows you to |
| 69 | + interpret equations and comparisons. Compared to `fromString`, |
| 70 | + it returns `MathExpression` instead of `MathNode`, since comparisons |
| 71 | + can't guarantee result. |
| 72 | +- New: `MathNodeExpression.getPotentialVariableNames()` analyzes given |
| 73 | + math expression string for possible use of variables. Refer to |
| 74 | + documentation for rough edges before using it. |
| 75 | +- New: `MathNodeExpression.builtInVariables` gives a list of built-in |
| 76 | + predefined variable names. |
| 77 | +- New: `MathNodeExpression.isVariableNameValid()` lets you check if |
| 78 | + the parser can work with a given name. |
74 | 79 |
|
75 | 80 | ## Misc.
|
76 | 81 |
|
77 |
| -- Changed input parameters type for `CantProcessExpressionException`. |
78 |
| -- Small documentation fixes. |
| 82 | +- Changed input parameters type for `CantProcessExpressionException`. |
| 83 | +- Small documentation fixes. |
79 | 84 |
|
80 | 85 | # 1.2.0
|
81 | 86 |
|
82 |
| -- Fix README. |
83 |
| -- Moved integrating features to a separate package library |
84 |
| - `math_parser_integrate`. |
| 87 | +- Fix README. |
| 88 | +- Moved integrating features to a separate package library |
| 89 | + `math_parser_integrate`. |
85 | 90 |
|
86 | 91 | # 1.1.0
|
87 | 92 |
|
88 |
| -- Custom variables support. |
89 |
| -- `MathFunctionX`deprecated. |
90 |
| -- `MathVariable` introduced. |
91 |
| -- You need to pass an instance of `MathVariableValues` instead of a num |
92 |
| - to the `calc()` function now. |
| 93 | +- Custom variables support. |
| 94 | +- `MathFunctionX`deprecated. |
| 95 | +- `MathVariable` introduced. |
| 96 | +- You need to pass an instance of `MathVariableValues` instead of a num |
| 97 | + to the `calc()` function now. |
93 | 98 |
|
94 | 99 | # 1.0.0
|
95 | 100 |
|
96 |
| -- Initial version. |
| 101 | +- Initial version. |
0 commit comments