Skip to content

Releases: sass/dart-sass

Dart Sass 1.56.1

09 Nov 01:58
790eb8a

Choose a tag to compare

To install Sass 1.56.1, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.

Changes

Embedded Sass

  • Importer results now validate that contents is actually a string and whether sourceMapUrl is an absolute URL.

See the full changelog for changes in earlier releases.

Dart Sass 1.56.0

04 Nov 00:17
f3293db

Choose a tag to compare

To install Sass 1.56.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 change: To match the CSS spec, SassScript expressions beginning with not or ( are no longer supported at the beginning of parenthesized sections of media queries. For example,

    @media (width >= 500px) and (not (grid))

    will now be emitted unchanged, instead of producing

    @media (width >= 500px) and (false)

    See the Sass website for details.

  • Potentially breaking bug fix: Angle units like rad or turn are now properly converted to equivalent deg values for hsl(), hsla(), adjust-hue(), color.adjust(), and color.change().

    See the Sass website for details.

  • Fix indentation for selectors that span multiple lines in a @media query.

  • Emit a deprecation warning when passing $alpha values with units to color.adjust() or color.change(). This will be an error in Dart Sass 2.0.0.

    See the Sass website for details.

  • Emit a deprecation warning when passing a $weight value with no units or with units other than % to color.mix(). This will be an error in Dart Sass 2.0.0.

    See the Sass website for details.

  • Emit a deprecation warning when passing $n values with units to list.nth() or list.set-nth(). This will be an error in Dart Sass 2.0.0.

    See the Sass website for details.

  • Improve existing deprecation warnings to wrap /-as-division suggestions in calc() expressions.

  • Properly mark the warning for passing numbers with units to random() as a deprecation warning.

  • Fix a bug where @extend could behave unpredicatably when used along with meta.load-css() and shared modules that contained no CSS themselves but loaded CSS from other modules.

Dart API

  • Emit a deprecation warning when passing a sassIndex with units to Value.sassIndexToListIndex(). This will be an error in Dart Sass 2.0.0.

JS API

  • Importer results now validate whether contents is actually a string type.

  • Importer result argument errors are now rendered correctly.

See the full changelog for changes in earlier releases.

Dart Sass 1.55.0

21 Sep 22:47
a65e504

Choose a tag to compare

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 accept num, 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.

See the full changelog for changes in earlier releases.

Dart Sass 1.54.9

07 Sep 21:35
0344842

Choose a tag to compare

To install Sass 1.54.9, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.

Changes

  • Fix an incorrect span in certain @media query deprecation warnings.

See the full changelog for changes in earlier releases.

Dart Sass 1.54.8

31 Aug 21:55
5393754

Choose a tag to compare

To install Sass 1.54.8, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.

Changes

  • No user-visible changes.

See the full changelog for changes in earlier releases.

Dart Sass 1.54.7

31 Aug 00:01
7e91457

Choose a tag to compare

To install Sass 1.54.7, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.

Changes

  • Add support for 32-bit ARM releases on Linux.

See the full changelog for changes in earlier releases.

Dart Sass 1.54.6

29 Aug 23:26
016ab24

Choose a tag to compare

To install Sass 1.54.6, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.

Changes

  • Fix a bug where a @media query could be incorrectly omitted from a stylesheet if it had multiple levels of nested @media queries within it and the inner queries were mergeable but the outer query was not.

See the full changelog for changes in earlier releases.

Dart Sass 1.54.5

19 Aug 22:48
6df3497

Choose a tag to compare

To install Sass 1.54.5, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.

Changes

  • Properly consider a ~ c to be a superselector of a ~ b ~ c and a + b + c.

  • Properly consider b > c to be a superselector of a > b > c, and similarly for other combinators.

  • Properly calculate specificity for selector pseudoclasses.

  • Deprecate use of random() when $limit has units to make it explicit that random() currently ignores units. A future version will no longer ignore units.

  • Don't throw an error when the same module is @forwarded multiple times through a configured module.

Embedded Sass

  • Rather than downloading the embedded compiler for the local platform on install, the sass-embedded npm package now declares optional dependencies on platform-specific embedded compiler packages.

See the full changelog for changes in earlier releases.

Dart Sass 1.54.4

10 Aug 00:56
6fd25ae

Choose a tag to compare

To install Sass 1.54.4, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.

Changes

  • Improve error messages when passing incorrect units that are also out-of-bounds to various color functions.

See the full changelog for changes in earlier releases.

Dart Sass 1.54.3

04 Aug 20:46
4de6ebe

Choose a tag to compare

To install Sass 1.54.3, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.

Changes

  • Release a native ARM64 executable for Mac OS.

See the full changelog for changes in earlier releases.