|
| 1 | +## 1.55.0 |
| 2 | + |
| 3 | +* **Potentially breaking bug fix:** Sass numbers are now universally stored as |
| 4 | + 64-bit floating-point numbers, rather than sometimes being stored as integers. |
| 5 | + This will generally make arithmetic with very large numbers more reliable and |
| 6 | + more consistent across platforms, but it does mean that numbers between nine |
| 7 | + quadrillion and nine quintillion will no longer be represented with full |
| 8 | + accuracy when compiling Sass on the Dart VM. |
| 9 | + |
| 10 | +* **Potentially breaking bug fix:** Sass equality is now properly [transitive]. |
| 11 | + Two numbers are now considered equal (after doing unit conversions) if they |
| 12 | + round to the same `1e-11`th. Previously, numbers were considered equal if they |
| 13 | + were within `1e-11` of one another, which led to some circumstances where `$a |
| 14 | + == $b` and `$b == $c` but `$a != $b`. |
| 15 | + |
| 16 | +[transitive]: https://en.wikipedia.org/wiki/Transitive_property |
| 17 | + |
| 18 | +* **Potentially breaking bug fix:** Various functions in `sass:math` no longer |
| 19 | + treat floating-point numbers that are very close (but not identical) to |
| 20 | + integers as integers. Instead, these functions now follow the floating-point |
| 21 | + specification exactly. For example, `math.pow(0.000000000001, -1)` now returns |
| 22 | + `1000000000000` instead of `Infinity`. |
| 23 | + |
| 24 | +* Emit a deprecation warning for `$a -$b` and `$a +$b`, since these look like |
| 25 | + they could be unary operations but they're actually parsed as binary |
| 26 | + operations. Either explicitly write `$a - $b` or `$a (-$b)`. See |
| 27 | + https://sass-lang.com/d/strict-unary for more details. |
| 28 | + |
| 29 | +### Dart API |
| 30 | + |
| 31 | +* Add an optional `argumentName` parameter to `SassScriptException()` to make it |
| 32 | + easier to throw exceptions associated with particular argument names. |
| 33 | + |
| 34 | +* Most APIs that previously returned `num` now return `double`. All APIs |
| 35 | + continue to _accept_ `num`, although in Dart 2.0.0 these APIs will be changed |
| 36 | + to accept only `double`. |
| 37 | + |
| 38 | +### JS API |
| 39 | + |
| 40 | +* Fix a bug in which certain warning spans would not have their properties |
| 41 | + accessible by the JS API. |
| 42 | + |
1 | 43 | ## 1.54.9
|
2 | 44 |
|
3 | 45 | * Fix an incorrect span in certain `@media` query deprecation warnings.
|
|
0 commit comments