Releases: sass/dart-sass
Dart Sass 1.58.0
To install Sass 1.58.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
-
Remove sourcemap comments from Sass sources. The generated sourcemap comment for the compiled CSS output remains unaffected.
-
Fix a bug in
@extend
logic where certain selectors with three or more combinators were incorrectly considered superselectors of similar selectors with fewer combinators, causing them to be incorrectly trimmed from the output. -
Produce a better error message for a number with a leading
+
or-
, a decimal point, but no digits. -
Produce a better error message for a nested property whose name starts with
--
. -
Fix a crash when a selector ends in an escaped backslash.
-
Add the relative length units from CSS Values 4 and CSS Contain 3 as known units to validate bad computation in
calc
.
Command Line Interface
- The
--watch
flag will now track loads through calls tometa.load-css()
as long as their URLs are literal strings without any interpolation.
See the full changelog for changes in earlier releases.
Dart Sass 1.57.1
To install Sass 1.57.1, 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.57.0
To install Sass 1.57.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
- Add a
split($string, $separator, $limit: null)
function tosass:string
that splits a string into separate substrings based on a separator string.
JavaScript API
-
Potentially breaking bug fix: Custom functions in both the modern and legacy API now properly reject signatures with whitespace between the function name and parentheses.
-
Custom functions in the legacy API now allow signatures with whitespace before the function name, to match a bug in Node Sass.
Dart API
- Potentially breaking bug fix:
Callable.fromSignature()
andAsyncCallable.fromSignature()
now reject signatures with whitespace between the function name and parentheses.
See the full changelog for changes in earlier releases.
Dart Sass 1.56.2
To install Sass 1.56.2, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
Embedded Sass
- The embedded compiler now supports version 1.2.0 of the embedded protocol.
See the full changelog for changes in earlier releases.
Dart Sass 1.56.1
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 whethersourceMapUrl
is an absolute URL.
See the full changelog for changes in earlier releases.
Dart Sass 1.56.0
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
orturn
are now properly converted to equivalentdeg
values forhsl()
,hsla()
,adjust-hue()
,color.adjust()
, andcolor.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 tocolor.adjust()
orcolor.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%
tocolor.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 tolist.nth()
orlist.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 incalc()
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 withmeta.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 toValue.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
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-11
th. Previously, numbers were considered equal if they were within1e-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 returns1000000000000
instead ofInfinity
. -
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 toSassScriptException()
to make it easier to throw exceptions associated with particular argument names. -
Most APIs that previously returned
num
now returndouble
. All APIs continue to acceptnum
, although in Dart 2.0.0 these APIs will be changed to accept onlydouble
.
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
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
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
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.