Release 0.23.0
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
, theError
,MixinCall
andMixinDeclaration
variants is changed to include aSourcePos
. Also, asass::Mixin
contains aSourcePos
for where it is declared. - The fields of
SourcePos
is now private. - The
name
of asass::Item::AtRule
is now a SassString. - A
css::Value::Literal
now contains aCssString
rather than aString
and aQuotes
. Evaluating aSassString
also returns aCssString
(PR #118). - The selector types are split from one
selector
module to thecss
andsass
modules. Anything that usedselector
types should now use eithercss
orsass
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
functionsappend
,nest
, andparse
are closer to correct (PR #123).sass:meta
functionscalc-args
andcalc-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 andnom-locate
to 4.0. - Update sass-spec test suite to 2021-11-30.
Thanks to @paolobarbolini, @connorskees and @charlesxsh for reporting issues.