The darwin-arm64 binary for sass-embedded
Last release 10 days ago
20 Aug 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
99 releases · first in 2022
Release timeline
99 releases since 2022One column per quarter.
Releases
- 1.77.110 May 2024
- 1.77.07 May 2024
- 1.76.030 Apr 2024
Release notes
Open source →-
Throw errors for misplaced statements in keyframe blocks.
-
Mixins and functions whose names begin with
--are now deprecated for forwards-compatibility with the in-progress CSS functions and mixins spec. This deprecation is namedcss-function-mixin.
-
- 1.75.011 Apr 2024
Release notes
Open source →- Fix a bug in which stylesheet canonicalization could be cached incorrectly when custom importers or the Node.js package importer made decisions based on the URL of the containing stylesheet.
JS API
- Allow
importerto be passed withouturlinStringOptionsWithImporter.
- 1.74.14 Apr 2024
- 1.72.013 Mar 2024
Release notes
Open source →-
Support adjacent
/s without whitespace in between when parsing plain CSS expressions. -
Allow the Node.js
pkg:importer to load Sass stylesheets forpackage.jsonexportsfield entries without extensions. -
When printing suggestions for variables, use underscores in variable names when the original usage used underscores.
JavaScript API
- Properly resolve
pkg:imports with the Node.js package importer when arguments are passed to the JavaScript process.
-
- 1.71.121 Feb 2024
Release notes
Open source →Command-Line Interface
- Ship the musl Linux release with the proper Dart executable.
JavaScript API
-
Export the
NodePackageImporterclass in ESM mode. -
Allow
NodePackageImporterto locate a default directory even when the entrypoint is an ESM module.
Dart API
- Make passing a null argument to
NodePackageImporter()a static error rather than just a runtime error.
Embedded Sass
- In the JS Embedded Host, properly install the musl Linux embedded compiler when running on musl Linux.
- 1.71.016 Feb 2024
Release notes
Open source →For more information about
pkg:importers, see the announcement on the Sass blog.Command-Line Interface
- Add a
--pkg-importerflag to enable built-inpkg:importers. Currently this only supports the Node.js package resolution algorithm, via--pkg-importer=node. For example,@use "pkg:bootstrap"will loadnode_modules/bootstrap/scss/bootstrap.scss.
JavaScript API
- Add a
NodePackageImporterimporter that can be passed to theimportersoption. This loads files using thepkg:URL scheme according to the Node.js package resolution algorithm. For example,@use "pkg:bootstrap"will loadnode_modules/bootstrap/scss/bootstrap.scss. The constructor takes a single optional argument, which indicates the base directory to use when locatingnode_modulesdirectories. It defaults topath.dirname(require.main.filename).
Dart API
- Add a
NodePackageImporterimporter that can be passed to theimportersoption. This loads files using thepkg:URL scheme according to the Node.js package resolution algorithm. For example,@use "pkg:bootstrap"will loadnode_modules/bootstrap/scss/bootstrap.scss. The constructor takes a single argument, which indicates the base directory to use when locatingnode_modulesdirectories.
- Add a
- 1.70.018 Jan 2024
Release notes
Open source →JavaScript API
-
Add a
sass.initCompiler()function that returns asass.Compilerobject which supportscompile()andcompileString()methods with the same API as the global Sass object. On the Node.js embedded host, eachsass.Compilerobject uses a single long-lived subprocess, making compiling multiple stylesheets much more efficient. -
Add a
sass.initAsyncCompiler()function that returns asass.AsyncCompilerobject which supportscompileAsync()andcompileStringAsync()methods with the same API as the global Sass object. On the Node.js embedded host, eachsass.AsynCompilerobject uses a single long-lived subprocess, making compiling multiple stylesheets much more efficient.
Embedded Sass
-
Support the
CompileRequest.silentfield. This allows compilations with no logging to avoid unnecessary request/response cycles. -
The Dart Sass embedded compiler now reports its name as "dart-sass" rather than "Dart Sass", to match the JS API's
infofield.
-
- 1.69.72 Jan 2024
Release notes
Open source →Embedded Sass
- In the JS Embedded Host, properly install the x64 Dart Sass executable on ARM64 Windows.
- 1.69.629 Dec 2023
Release notes
Open source →-
Produce better output for numbers with complex units in
meta.inspect()and debugging messages. -
Escape U+007F DELETE when serializing strings.
-
When generating CSS error messages to display in-browser, escape all code points that aren't in the US-ASCII region. Previously only code points U+0100 LATIN CAPITAL LETTER A WITH MACRON were escaped.
-
Provide official releases for musl LibC and for Android.
-
Don't crash when running
meta.apply()in asynchronous mode.
JS API
- Fix a bug where certain exceptions could produce
SourceSpans that didn't follow the documentedSourceSpanAPI.
-
- 1.69.526 Oct 2023
- 1.69.417 Oct 2023
- 1.69.312 Oct 2023
- 1.69.210 Oct 2023
Release notes
Open source →JS API
- Fix a bug where Sass crashed when running in the browser if there was a global
variable named
process.
- Fix a bug where Sass crashed when running in the browser if there was a global
variable named
- 1.69.110 Oct 2023
- 1.67.014 Sept 2023
Release notes
Open source →-
All functions defined in CSS Values and Units 4 are now once again parsed as calculation objects:
round(),mod(),rem(),sin(),cos(),tan(),asin(),acos(),atan(),atan2(),pow(),sqrt(),hypot(),log(),exp(),abs(), andsign().Unlike in 1.65.0, function calls are not locked into being parsed as calculations or plain Sass functions at parse-time. This means that user-defined functions will take precedence over CSS calculations of the same name. Although the function names
calc()andclamp()are still forbidden, users may continue to freely define functions whose names overlap with other CSS calculations (includingabs(),min(),max(), andround()whose names overlap with global Sass functions). -
Breaking change: As a consequence of the change in calculation parsing described above, calculation functions containing interpolation are now parsed more strictly than before. However, almost all interpolations that would have produced valid CSS will continue to work. The only exception is
#{$variable}%which is not valid in Sass and is no longer valid in calculations. Instead of this, either use$variabledirectly and ensure it already has the%unit, or write($variable * 1%). -
Potentially breaking bug fix: The importer used to load a given file is no longer used to load absolute URLs that appear in that file. This was unintented behavior that contradicted the Sass specification. Absolute URLs will now correctly be loaded only from the global importer list. This applies to the modern JS API, the Dart API, and the embedded protocol.
Embedded Sass
- Substantially improve the embedded compiler's performance when compiling many files or files that require many importer or function call round-trips with the embedded host.
-
- 1.66.118 Aug 2023
Release notes
Open source →JS API
- Fix a bug where Sass compilation could crash in strict mode if passed a callback that threw a string, boolean, number, symbol, or bignum.
- 1.66.017 Aug 2023
Release notes
Open source →-
Breaking change: Drop support for the additional CSS calculations defined in CSS Values and Units 4. Custom Sass functions whose names overlapped with these new CSS functions were being parsed as CSS calculations instead, causing an unintentional breaking change outside our normal [compatibility policy] for CSS compatibility changes.
Support will be added again in a future version, but only after Sass has emitted a deprecation warning for all functions that will break for at least three months prior to the breakage.
-
- 1.64.231 Jul 2023
- 1.64.122 Jul 2023
Release notes
Open source →Embedded Sass
- Fix a bug where a valid
SassCalculation.clamp()with less than 3 arguments would throw an error.
- Fix a bug where a valid
- 1.64.020 Jul 2023
Release notes
Open source →-
Comments that appear before or between
@useand@forwardrules are now emitted in source order as much as possible, instead of always being emitted after the CSS of all module dependencies. -
Fix a bug where an interpolation in a custom property name crashed if the file was loaded by a
@usenested in an@import.
JavaScript API
-
Add a new
SassCalculationtype that represents the calculation objects added in Dart Sass 1.40.0. -
Add
Value.assertCalculation(), which returns the value if it's aSassCalculationand throws an error otherwise. -
Produce a better error message when an environment that supports some Node.js APIs loads the browser entrypoint but attempts to access the filesystem.
Embedded Sass
- Fix a bug where nested relative
@importsfailed to load when using the deprecated functionsrenderorrenderSyncand those relative imports were loaded multiple times across different files.
-
- 1.63.621 Jun 2023
Release notes
Open source →JavaScript API
- Fix
import sass from 'sass'again after it was broken in the last release.
Embedded Sass
- Fix the
exportsdeclaration inpackage.json.
- Fix
- 1.63.521 Jun 2023
Release notes
Open source →JavaScript API
- Fix a bug where loading the package through both CJS
require()and ESMimportcould crash on Node.js.
Embedded Sass
-
Fix a deadlock when running at high concurrency on 32-bit systems.
-
Fix a race condition where the embedded compiler could deadlock or crash if a compilation ID was reused immediately after the compilation completed.
- Fix a bug where loading the package through both CJS
- 1.62.011 Apr 2023
Release notes
Open source →-
Deprecate the use of multiple
!globalor!defaultflags on the same variable. This deprecation is namedduplicate-var-flags. -
Allow special numbers like
var()orcalc()in the global functions:grayscale(),invert(),saturate(), andopacity(). These are also native CSSfilterfunctions. 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.
-
- 1.61.06 Apr 2023
Release notes
Open source →-
Potentially breaking change: Drop support for End-of-Life Node.js 12.
-
Fix remaining cases for the performance regression introduced in 1.59.0.
Embedded Sass
- The JS embedded host now loads files from the working directory when using the legacy API.
-
- 1.60.023 Mar 2023
Release notes
Open source →-
Add support for the
pi,e,infinity,-infinity, andNaNconstants 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, andNaNtocalc()expressions rather than CSS-invalid identifiers. Numbers with complex units still can't be serialized.
-
- 1.59.314 Mar 2023
Release notes
Open source →-
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.
-
- 1.59.211 Mar 2023
- 1.58.318 Feb 2023
- 1.58.217 Feb 2023
Release notes
Open source →Command Line Interface
-
Add a timestamp to messages printed in
--watchmode. -
Print better
calc()-based suggestions for/-as-division expression that contain calculation-incompatible constructs like unary minus.
-
- 1.57.120 Dec 2022
- 1.56.28 Dec 2022
Release notes
Open source →Embedded Sass
- The embedded compiler now supports version 1.2.0 of the embedded protocol.
- 1.56.19 Nov 2022
Release notes
Open source →Embedded Sass
- Importer results now validate that
contentsis actually a string and whethersourceMapUrlis an absolute URL.
- Importer results now validate that
- 1.55.022 Sept 2022
Release notes
Open source →-
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 within1e-11of one another, which led to some circumstances where$a == $band$b == $cbut$a != $b.
-
Potentially breaking bug fix: Various functions in
sass:mathno 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 returns1000000000000instead ofInfinity. -
Emit a deprecation warning for
$a -$band$a +$b, since these look like they could be unary operations but they're actually parsed as binary operations. Either explicitly write$a - $bor$a (-$b). See https://sass-lang.com/d/strict-unary for more details.
Dart API
-
Add an optional
argumentNameparameter toSassScriptException()to make it easier to throw exceptions associated with particular argument names. -
Most APIs that previously returned
numnow 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.
-
- 1.54.97 Sept 2022
- 1.54.831 Aug 2022
- 1.54.731 Aug 2022
- 1.54.425 Aug 2022
Release notes
Open source →- Improve error messages when passing incorrect units that are also out-of-bounds to various color functions.