Sourced from sass's releases.
Dart Sass 1.106.1
To install Sass 1.106.1, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
Fix a bug where an attribute selector with an empty value (such as
[class=""]) would crash when serializing.Don't crash when serializing a number with an empty unit. This is only possible through the JavaScript and Dart APIs or the embedded protocol.
Embedded Dart Sass
- More robustly convert invalid value errors into
PARAMSerrors.See the full changelog for changes in earlier releases.
Dart Sass 1.106.0
To install Sass 1.106.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
Don't normalize CSS escapes in statement contexts that can contain interpolation. For example,
@f\6Fois now emitted as written rather than normalized to@foo.Fix a bug where quotes would be removed from attribute selector values that contained backslashes.
Fix invalid source spans that could cause crashes when encountering a syntax error in selectors or media queries that also contain escape sequences.
Fix a bug where the indented syntax parser would crash when parsing a file where the first statement was indented and appeared after the first line.
Fix a bug that could cause crashes when encountering errors or warnings in interpolations that contain patterns like
// */.Potentially breaking compatibility fix: CSS escape codes whose values are 0, for Unicode surrogates, or greater than the maximum allowed code point are now consistently normalized to U+FFFD REPLACEMENT CHARACTER in expression contexts. Previously, in some cases these were instead normalized to the normalized form of the original escape sequence, which violates the principle that all escape sequences for identical values should be normalized the same way. In other cases, these would simply throw errors.
As a special case,
\0on its own will continue to be normalized to\0to support historical CSS hacks.Potentially breaking bug fix: Throw an error for mixins and functions that have rest parameters which are the same as normal parameters. Previously, the positional parameters wouldn't be accessible and calling such a mixin or function with a named argument would crash the compiler.
Potentially breaking bug fix: Fix various cases where using a CSS escape code at the beginning of an identifier would change parsing behavior versus using the character directly.
Potentially breaking bug fix: When a number's unit is ambiguous with a numeric exponent, the unit is now serialized as an escape code rather than a literal
eto avoid being interpreted as an exponent by CSS.Potentially breaking bug fix: Don't parse a CSS escape code for U+45 LATIN CAPITAL LETTER E or U+65 LATIN LOWERCASE LETTER E as an exponent in
@keyframespercentage selectors.Potentially breaking bug fix: Properly normalize underscores written as CSS escape codes in variable, mixin, and function names.
... (truncated)
Sourced from sass's changelog.
1.106.1
Fix a bug where an attribute selector with an empty value (such as
[class=""]) would crash when serializing.Don't crash when serializing a number with an empty unit. This is only possible through the JavaScript and Dart APIs or the embedded protocol.
Embedded Dart Sass
- More robustly convert invalid value errors into
PARAMSerrors.1.106.0
Don't normalize CSS escapes in statement contexts that can contain interpolation. For example,
@f\6Fois now emitted as written rather than normalized to@foo.Fix a bug where quotes would be removed from attribute selector values that contained backslashes.
Fix invalid source spans that could cause crashes when encountering a syntax error in selectors or media queries that also contain escape sequences.
Fix a bug where the indented syntax parser would crash when parsing a file where the first statement was indented and appeared after the first line.
Fix a bug that could cause crashes when encountering errors or warnings in interpolations that contain patterns like
// */.Potentially breaking compatibility fix: CSS escape codes whose values are 0, for Unicode surrogates, or greater than the maximum allowed code point are now consistently normalized to U+FFFD REPLACEMENT CHARACTER in expression contexts. Previously, in some cases these were instead normalized to the normalized form of the original escape sequence, which violates the principle that all escape sequences for identical values should be normalized the same way. In other cases, these would simply throw errors.
As a special case,
\0on its own will continue to be normalized to\0to support historical CSS hacks.Potentially breaking bug fix: Throw an error for mixins and functions that have rest parameters which are the same as normal parameters. Previously, the positional parameters wouldn't be accessible and calling such a mixin or function with a named argument would crash the compiler.
Potentially breaking bug fix: Fix various cases where using a CSS escape code at the beginning of an identifier would change parsing behavior versus using the character directly.
... (truncated)
811ecc6
Pull the version back to 1.106.1 (#2893)b10205e
Fix serializing a number with an empty-string unit (#2892)e79f8a7
Fix serializing an attribute selector with an empty value (#2891)2ea4fc0
Merge pull request #2883
from sass/fuzza113995
Bump postcss from 8.5.28 to 8.5.30 in /pkg/sass-parser (#2886)2d2e76c
Try using the SassBot GitHub token when auto-merging dependabot PRs (#2885)5660824
Improve the accuracy of FileSpan.trimLeft() and
.trimRight()09e4024
Throw an error for duplicate rest and non-rest parameter names34c8e6b
Fix check for an indented first statementa05866c
Make _expandInterpolationLeft resilient to commented-out
comments