Dart-sass

Latest version: v0.5.2

Safety actively analyzes 702201 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 30 of 32

1.0.0

**Initial stable release.**

1.0.0rc.1

* Add support for importing an `_index.scss` or `_index.sass` file when
importing a directory.

* Add a `--load-path` command-line option (alias `-I`) for passing additional
paths to search for Sass files to import.

* Add a `--quiet` command-line option (alias `-q`) for silencing warnings.

* Add an `--indented` command-line option for using the indented syntax with a
stylesheet from standard input.

* Don't merge the media queries `not type` and `(feature)`. We had previously
been generating `not type and (feature)`, but that's not actually the
intersection of the two queries.

* Don't crash on `$x % 0`.

* The standalone executable distributed on GitHub is now named `sass` rather
than `dart-sass`. The `dart-sass` executable will remain, with a deprecation
message, until 1.0.0 is released.

Dart API

* Add a `Logger` class that allows users to control how messages are printed by
stylesheets.

* Add a `logger` parameter to `compile()`, `compileAsync()`, `compileString()`,
and `compileStringAsync()`.

Node JS API

* Import URLs passed to importers are no longer normalized. For example, if a
stylesheet contains `import "./foo.scss"`, importers will now receive
`"./foo.scss"` rather than `"foo.scss"`.

1.0.0-beta.5.3

* Support hard tabs in the indented syntax.

* Improve the formatting of comments that don't start on the same line as the
opening `/*`.

* Preserve whitespace after `and` in media queries in compressed mode.

Indented Syntax

* Properly parse multi-line selectors.

* Don't deadlock on `/*` comments.

* Don't add an extra `*/` to comments that already have it.

* Preserve empty lines in `/*` comments.

1.0.0-beta.5.2

* Fix a bug where some colors would crash `compressed` mode.

1.0.0-beta.5.1

* Add a `compressed` output style.

* Emit a warning when `&&` is used, since it's probably not what the user means.

* `round()` now returns the correct results for negative numbers that should
round down.

* `var()` may now be passed in place of multiple arguments to `rgb()`, `rgba()`,
`hsl()` and `hsla()`.

* Fix some cases where equivalent numbers wouldn't count as the same keys in
maps.

* Fix a bug where multiplication like `(1/1px) * (1px/1)` wouldn't properly
cancel out units.

* Fix a bug where dividing by a compatible unit would produce an invalid
result.

* Remove a non-`sh`-compatible idiom from the standalone shell script.

Dart API

* Add a `functions` parameter to `compile()`, `compleString()`,
`compileAsync()`, and `compileStringAsync()`. This allows users to define
custom functions in Dart that can be invoked from Sass stylesheets.

* Expose the `Callable` and `AsyncCallable` types, which represent functions
that can be invoked from Sass.

* Expose the `Value` type and its subclasses, as well as the top-level
`sassTrue`, `sassFalse`, and `sassNull` values, which represent Sass values
that may be passed into or returned from custom functions.

* Expose the `OutputStyle` enum, and add a `style` parameter to `compile()`,
`compleString()`, `compileAsync()`, and `compileStringAsync()` that allows
users to control the output style.

Node JS API

* Support the `functions` option.

* Support the `"compressed"` value for the `outputStyle` option.

1.0.0beta.4

* Support unquoted imports in the indented syntax.

* Fix a crash when `:not(...)` extends a selector that appears in
`:not(:not(...))`.

Node JS API

* Add support for asynchronous importers to `render()` and `renderSync()`.

Dart API

* Add `compileAsync()` and `compileStringAsync()` methods. These run
asynchronously, which allows them to take asynchronous importers (see below).

* Add an `AsyncImporter` class. This allows imports to be resolved
asynchronously in case no synchronous APIs are available. `AsyncImporter`s are
only compatible with `compileAysnc()` and `compileStringAsync()`.

1.0.0beta.3

* Properly parse numbers with exponents.

* Don't crash when evaluating CSS variables whose names are entirely
interpolated (for example, `{--foo}: ...`).

Node JS API

* Add support for the `importer` option to `render()` and `renderSync()`.
Only synchronous importers are currently supported.

Dart API

* Added an `Importer` class. This can be extended by users to provide support
for custom resolution for `import` rules.

* Added built-in `FilesystemImporter` and `PackageImporter` implementations that
support resolving `file:` and `package:` URLs, respectively.

* Added an `importers` argument to the `compile()` and `compileString()`
functions that provides `Importer`s to use when resolving `import` rules.

* Added a `loadPaths` argument to the `compile()` and `compileString()`
functions that provides paths to search for stylesheets when resolving
`import` rules. This is a shorthand for passing `FilesystemImporter`s to the
`importers` argument.

1.0.0beta.2

* Add support for the `::slotted()` pseudo-element.

* Generated transparent colors will now be emitted as `rgba(0, 0, 0, 0)` rather
than `transparent`. This works around a bug wherein IE incorrectly handles the
latter format.

Command-Line Interface

* Improve the logic for whether to use terminal colors by default.

Node JS API

* Add support for `data`, `includePaths`, `indentedSyntax`, `lineFeed`,
`indentWidth`, and `indentType` options to `render()` and `renderSync()`.

* The result object returned by `render()` and `renderSync()` now includes the
`stats` object which provides metadata about the compilation process.

* The error object thrown by `render()` and `renderSync()` now includes `line`,
`column`, `file`, `status`, and `formatted` fields. The `message` field and
`toString()` also provide more information.

Dart API

* Add a `renderString()` method for rendering Sass source that's not in a file
on disk.

1.0.0beta.1

* Drop support for the reference combinator. This has been removed from the
spec, and will be deprecated and eventually removed in other implementations.

* Trust type annotations when compiling to JavaScript, which makes it
substantially faster.

* Compile to minified JavaScript, which decreases the code size substantially
and makes startup a little faster.

* Fix a crash when inspecting a string expression that ended in "\a".

* Fix a bug where declarations and `extend` were allowed outside of a style
rule in certain circumstances.

* Fix `not` in parentheses in `supports` conditions.

* Allow `url` as an identifier name.

* Properly parse `/***/` in selectors.

* Properly parse unary operators immediately after commas.

* Match Ruby Sass's rounding behavior for all functions.

* Allow `\` at the beginning of a selector in the indented syntax.

* Fix a number of `extend` bugs:

* `selector-extend()` and `selector-replace()` now allow compound selector
extendees.

* Remove the universal selector `*` when unifying with other selectors.

* Properly unify the result of multiple simple selectors in the same compound
selector being extended.

* Properly handle extensions being extended.

* Properly follow the [first law of `extend`][laws].

* Fix selector specificity tracking to follow the
[second law of `extend`][laws].

* Allow extensions that match selectors but fail to unify.

* Partially-extended selectors are no longer used as parent selectors.

* Fix an edge case where both the extender and the extended selector
have invalid combinator sequences.

* Don't crash with a "Bad state: no element" error in certain edge cases.

[laws]: https://github.com/sass/sass/issues/324#issuecomment-4607184

Page 30 of 32

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.