Skip to content

Release 0.23.0

Compare
Choose a tag to compare
@kaj kaj released this 10 Dec 19:17

Released 2021-12-10.
Progress: 3849 of 6444 tests passed in dart-sass compatibility mode (this may seem like a regression, but that is caused by changed in the test suite).

Breaking changes

  • Error has a new alternative, AtError.
  • In sass::Item, the Error, MixinCall and MixinDeclaration variants is changed to include a SourcePos. Also, a sass::Mixin contains a SourcePos for where it is declared.
  • The fields of SourcePos is now private.
  • The name of a sass::Item::AtRule is now a SassString.
  • A css::Value::Literal now contains a CssString rather than a String and a Quotes. Evaluating a SassString also returns a CssString (PR #118).
  • The selector types are split from one selector module to the css and sass modules. Anything that used selector types should now use either css or sass types (PR #123).

Improvements

  • A css call is just a special kind of string.
  • Include position of directive or function call when reporting @error errors.
  • Improve error reporting from inside mixins and functions.
  • Support interpolation in @-rule names.
  • Fixed #116: The sass:map.merge function was buggy.
  • Fixed #119: saturate(200%) is allowed (the argument is not limited to 0..100%).
  • sass:selector functions append, nest, and parse are closer to correct (PR #123).
  • sass:meta functions calc-args and calc-name implemented (PR #126).
  • Css strings and selectors can now be parsed directly (PR #123).
  • Fixed reformatting of to-much-indented comments.
  • Fixed panics in some color arithmetic (Issue #120, #121, #122, PR #125).
  • Replace rand with fastrand, hopefully compile faster (PR #105).
  • Unicode Private-use characters are escaped when printed.
  • Updated nom to 7.0 and nom-locate to 4.0.
  • Update sass-spec test suite to 2021-11-30.

Thanks to @paolobarbolini, @connorskees and @charlesxsh for reporting issues.