To install Sass 1.55.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
Potentially breaking bug fix: Sass numbers are now universally stored as 64-bit floating-point numbers, rather than sometimes being stored as integers. This will generally make arithmetic with very large numbers more reliable and more consistent across platforms, but it does mean that numbers between nine quadrillion and nine quintillion will no longer be represented with full accuracy when compiling Sass on the Dart VM.
Potentially breaking bug fix: Sass equality is now properly transitive. Two numbers are now considered equal (after doing unit conversions) if they round to the same 1e-11th. Previously, numbers were considered equal if they were within 1e-11 of one another, which led to some circumstances where $a == $b and $b == $c but $a != $b.
Potentially breaking bug fix: Various functions in sass:math no longer treat floating-point numbers that are very close (but not identical) to integers as integers. Instead, these functions now follow the floating-point specification exactly. For example, math.pow(0.000000000001, -1) now returns 1000000000000 instead of Infinity.
Emit a deprecation warning for $a -$b and $a +$b, since these look like they could be unary operations but they're actually parsed as binary operations. Either explicitly write $a - $b or $a (-$b). See https://sass-lang.com/d/strict-unary for more details.
Dart API
Add an optional argumentName parameter to SassScriptException() to make it easier to throw exceptions associated with particular argument names.
Most APIs that previously returned num now return double. All APIs continue to acceptnum, although in Dart 2.0.0 these APIs will be changed to accept only double.
JS API
Fix a bug in which certain warning spans would not have their properties accessible by the JS API.
Potentially breaking bug fix: Sass numbers are now universally stored as
64-bit floating-point numbers, rather than sometimes being stored as integers.
This will generally make arithmetic with very large numbers more reliable and
more consistent across platforms, but it does mean that numbers between nine
quadrillion and nine quintillion will no longer be represented with full
accuracy when compiling Sass on the Dart VM.
Potentially breaking bug fix: Sass equality is now properly transitive.
Two numbers are now considered equal (after doing unit conversions) if they
round to the same 1e-11th. Previously, numbers were considered equal if they
were within 1e-11 of one another, which led to some circumstances where $a == $b and $b == $c but $a != $b.
Potentially breaking bug fix: Various functions in sass:math no longer
treat floating-point numbers that are very close (but not identical) to
integers as integers. Instead, these functions now follow the floating-point
specification exactly. For example, math.pow(0.000000000001, -1) now returns
1000000000000 instead of Infinity.
Emit a deprecation warning for $a -$b and $a +$b, since these look like
they could be unary operations but they're actually parsed as binary
operations. Either explicitly write $a - $b or $a (-$b). See
https://sass-lang.com/d/strict-unary for more details.
Dart API
Add an optional argumentName parameter to SassScriptException() to make it
easier to throw exceptions associated with particular argument names.
Most APIs that previously returned num now return double. All APIs
continue to acceptnum, although in Dart 2.0.0 these APIs will be changed
to accept only double.
JS API
Fix a bug in which certain warning spans would not have their properties
accessible by the JS API.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps sass from 1.54.9 to 1.55.0.
Release notes
Sourced from sass's releases.
Changelog
Sourced from sass's changelog.
Commits
a65e504
Release 1.55.0 (#1806)103cb19
Consistently use floating-point numbers everywhere (#1802)90b6190
Add a deprecation warning for strict unary operations (#1800)db1e126
Fix bug in JS MultiSpan (#1801)5466dd7
Give SassScriptException a name parameter (#1798)e2f9705
Merge pull request #1795 from stof/upgrade_dependenciesba2971c
Disable the prefer_interpolation_to_compose_strings rule19ef66f
Remove useless ignore rules8480259
Avoid using private types in public APIsa705445
Avoid null check on potentially nullable type parameterDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)