Changelog
1.63.0
The Dart Sass embedded compiler is now included as part of the primary Dart
Sass distribution, rather than a separate executable. To use the embedded
compiler, just run sass --embedded
from any Sass executable (other than the
pure JS executable).
The Node.js embedded host will still be distributed as the sass-embedded
package on npm. The only change is that it will now provide direct access to a
sass
executable with the same CLI as the sass
package.
The Dart Sass embedded compiler now uses version 2.0.0 of the Sass embedded protocol. See the spec for a full description of the protocol, and the changelog for a summary of changes since version 1.2.0.
The Dart Sass embedded compiler now runs multiple simultaneous compilations in parallel, rather than serially.
Changelog
1.62.1
:has(+ &)
and related constructs would drop the leading
combinator.Changelog
1.62.0
Deprecate the use of multiple !global
or !default
flags on the same
variable. This deprecation is named duplicate-var-flags
.
Allow special numbers like var()
or calc()
in the global functions:
grayscale()
, invert()
, saturate()
, and opacity()
. These are also
native CSS filter
functions. This is in addition to number values which were
already allowed.
Fix a cosmetic bug where an outer rule could be duplicated after nesting was resolved, instead of re-using a shared rule.
Changelog
1.61.0
Potentially breaking change: Drop support for End-of-Life Node.js 12.
Fix remaining cases for the performance regression introduced in 1.59.0.
Changelog
1.60.0
Add support for the pi
, e
, infinity
, -infinity
, and NaN
constants in
calculations. These will be interpreted as the corresponding numbers.
Add support for unknown constants in calculations. These will be interpreted as unquoted strings.
Serialize numbers with value infinity
, -infinity
, and NaN
to calc()
expressions rather than CSS-invalid identifiers. Numbers with complex units
still can't be serialized.
Changelog
1.59.3
Fix a performance regression introduced in 1.59.0.
The NPM release of 1.59.0 dropped support for Node 12 without actually indicating so in its pubspec. This release temporarily adds back support so that the latest Sass version that declares it supports Node 12 actually does so. However, Node 12 is now end-of-life, so we will drop support for it properly in an upcoming release.
Changelog
1.59.0
Added a new --fatal-deprecation
flag that lets you treat a deprecation
warning as an error. You can pass an individual deprecation ID
(e.g. slash-div
) or you can pass a Dart Sass version to treat all
deprecations initially emitted in that version or earlier as errors.
New --future-deprecation
flag that lets you opt into warning for use of
certain features that will be deprecated in the future. At the moment, the
only option is --future-deprecation=import
, which will emit warnings for
Sass @import
rules, which are not yet deprecated, but will be in the future.
New Deprecation
enum, which contains the different current and future
deprecations used by the new CLI flags.
The compile
methods now take in fatalDeprecations
and futureDeprecations
parameters, which work similarly to the CLI flags.