|
1 | 1 | ## [Unreleased] |
2 | 2 |
|
| 3 | +### ? ? ? |
| 4 | + |
| 5 | +- More consistency with BoxedSymbol properties causing symbol-binding: e.g. |
| 6 | + `isFinite` and `isInfinity` cause binding, in a similar way to `isOdd`, |
| 7 | + `isEven`. |
| 8 | + |
3 | 9 | ### Breaking Changes |
4 | 10 |
|
5 | 11 | - The `expr.value` property is now equivalent to `expr.valueOf()`. It was |
6 | 12 | previously equivalent to `expr.N().valueOf()`, however the implicit evaluation |
7 | 13 | of the expression produced some unexpected results, for example when the |
8 | 14 | expression was not pure. |
9 | 15 |
|
| 16 | +- `BoxedExpr.sgn` now returns _undefined_ for complex numbers, or symbols with a |
| 17 | + complex-number value. |
| 18 | + |
| 19 | +- |
| 20 | + |
10 | 21 | ### New Features and Improvements |
11 | 22 |
|
12 | 23 | - Added a rule to solve the equation `a^x + b = 0` |
13 | 24 | - The LaTeX parser now supports the `\placeholder[]{}`, `\phantom{}`, |
14 | 25 | `\hphantom{}`, `\vphantom{}`, `\mathstrut`, `\strut` and `\smash{}` commands. |
15 | 26 |
|
| 27 | +- The range of recognized sign values, i.e. as returned from |
| 28 | + `BoxedExpression.sgn` has been simplified (e.g. '...-infinity' and 'nan' have |
| 29 | + been removed) |
| 30 | + |
| 31 | +- The Power canonical-form is less aggressive - only carrying-out ops. as listed |
| 32 | + in doc. - is much more careful in its consideration of operand types & |
| 33 | + values... (for example, typically, exponents are required to be _numbers_: |
| 34 | + e.g. `x^1` will simplify, but `x^y` (where y===0), or `x^{1+0}`, will not) |
| 35 | + |
| 36 | +### Issues Resolved |
| 37 | + |
| 38 | +- Ensure expression LaTeX serialization is based on MathJSON generated with |
| 39 | + matching 'pretty' formatting (or not), therefore resulting in LaTeX with less |
| 40 | + prettification, where `prettify == false` (#daef87f) |
| 41 | + |
| 42 | +- Symbols declare with a `constant` flag are now not marked as 'inferred' |
| 43 | + |
| 44 | +- Some BoxedSymbols properties now more consistently return 'undefined', instead |
| 45 | + of a 'boolean' (i.e. because the symbol is non-bound) |
| 46 | + |
| 47 | +- Some `expr.root()` computations |
| 48 | + |
| 49 | +- Canonical-forms |
| 50 | + - Fixes the `Number` form |
| 51 | + - Forms (at least, 'Number', 'Power') do not mistakenly _fully_ canonicalize |
| 52 | + operands |
| 53 | + - This (partial canonicalization) now substitutes symbols (constants) with a |
| 54 | + `holdUntil` value of _never_ during/prior-to canonicalization (i.e. just |
| 55 | + like for full canonicalization) |
| 56 | + |
16 | 57 | ## 0.29.1 _2025-03-31_ |
17 | 58 |
|
18 | 59 | - **#231** During evaluation, some numbers, for example `10e-15` were |
|
0 commit comments