Skip to content

Releases: sass/dart-sass

Dart Sass 1.2.0

14 Apr 23:26
6fd0f6d

Choose a tag to compare

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

Changes

  • The command-line executable will now create the directory for the resulting CSS if that directory doesn't exist.

  • Properly parse #{$var} -#{$var} as two separate values in a list rather than one value being subtracted from another.

  • Improve the error message for extending compound selectors.

See the full changelog for changes in earlier releases.

Dart Sass 1.1.1

27 Mar 21:33

Choose a tag to compare

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

Changes

  • Add a commit that was accidentally left out of 1.1.0.

See the full changelog for changes in earlier releases.

Dart Sass 1.1.0

27 Mar 21:02

Choose a tag to compare

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

Changes

  • The command-line executable can now be used to write an output file to disk using sass input.scss output.css.

  • Use a POSIX-shell-compatible means of finding the location of the sass shell script.

See the full changelog for changes in earlier releases.

Dart Sass 1.0.0

26 Mar 20:03

Choose a tag to compare

Initial stable release.

Changes Since 1.0.0-rc.1

  • Allow ! in custom property values (#260).

Dart API

  • Remove the deprecated render() function.

Node API

  • Errors are now subtypes of the Error type.

  • Allow both the data and file options to be passed to render() and renderSync() at once. The data option will be used as the contents of the stylesheet, and the file option will be used as the path for error reporting and relative imports. This matches Node Sass's behavior.

Dart Sass 1.0.0-rc.1

16 Mar 23:48

Choose a tag to compare

Dart Sass 1.0.0-rc.1 Pre-release
Pre-release
  • 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".

Dart Sass 1.0.0-beta.5.3

06 Mar 00:48

Choose a tag to compare

Pre-release
  • 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

  • Support hard tabs.

  • 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.

Dart Sass 1.0.0-beta.5.2

03 Mar 02:44

Choose a tag to compare

Pre-release
  • Fix a bug where some colors would crash compressed mode.

Dart Sass 1.0.0-beta.5.1

03 Feb 01:42

Choose a tag to compare

Pre-release
  • 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.

Dart Sass 1.0.0-beta.4

08 Dec 23:56

Choose a tag to compare

Pre-release
  • 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. AsyncImporters are only compatible with compileAysnc() and compileStringAsync().

Dart Sass 1.0.0-beta.3

03 Nov 21:52

Choose a tag to compare

Pre-release
  • 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 Importers 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 FilesystemImporters to the importers argument.