Sass no longer rounds RGB channels to the nearest integer, so rgb(0 0 1) no longer equals rgb(0 0 0.6).
1.79.0CHANGELOG.mdSummarizedView source
Removes the RgbColor, HslColor and HwbColor SassScript values from Embedded Sass.
RgbColorHslColorHwbColor1.79.0CHANGELOG.mdSummarizedView source
The CalculationValue.interpolation field is deprecated and will be removed in a future version.
CalculationValue.interpolationCalculationValue.string1.68.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: The importer used to load a given file is no longer used to load absolute URLs that appear in that file.
1.67.0GitHub ReleaseOriginalView source
Breaking change: Drop support for the additional CSS calculations defined in CSS Values and Units 4. Custom Sass functions whose names overlapped with these new CSS functions were being parsed as…
1.66.0GitHub ReleaseOriginalView source
Potentially breaking change: Drop support for End-of-Life Node.js 12.
1.61.0GitHub ReleaseOriginalView source
Remove sourcemap comments from Sass sources.
1.58.0GitHub ReleaseOriginalView source
Potentially breaking change: To match the CSS spec, SassScript expressions beginning with not or ( are no longer supported at the beginning of parenthesized sections of media queries.
not1.56.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: Various functions in sass:math no longer treat floating-point numbers that are very close (but not identical) to integers as integers.
sass:mathmath.pow(0.000000000001, -1)Infinity1.55.0GitHub ReleaseOriginalView source
Calculations are no longer simplified within supports declarations.
1.49.10GitHub ReleaseOriginalView source
Potentially breaking bug fix: Change the default value of the separator parameter for new SassArgumentList() to ',' rather than null.
separatornull1.45.2GitHub ReleaseOriginalView source
Potentially breaking bug fix: Null values in @use and @forward configurations no longer override the !default variable, matching the behavior of the equivalent code using @import.
@use@forwarddefault@import1.32.13GitHub ReleaseOriginalView source
Drop support for Chokidar 2.x.
1.32.9GitHub ReleaseOriginalView source
Rename SassNumber.valueInUnits() to SassNumber.coerceValue().
SassNumber.valueInUnits()SassNumber.coerceValue()1.32.0GitHub ReleaseOriginalView source
Rename SassNumber.coerceValueToUnit(), a shorthand for SassNumber.coerceValue() that takes a single numerator unit.
SassNumber.coerceValueToUnit()SassNumber.coerceValue()1.32.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: An empty map returned by map-remove() is now treated as identical to the literal value (), rather than being treated as though it had a comma separator.
map-remove()1.22.3GitHub ReleaseOriginalView source
The adjust-color() function no longer throws an error when a large $alpha value is combined with HSL adjustments.
adjust-color()$alpha1.22.3GitHub ReleaseOriginalView source
The zip() function no longer deadlocks if passed no arguments.
zip()1.22.3GitHub ReleaseOriginalView source
Remove the source map comment from the compiled JS.
1.12.0GitHub ReleaseOriginalView source
Remove the deprecated render() function.
render()1.0.0GitHub ReleaseOriginalView source
Import URLs passed to importers are no longer normalized.
"./foo.scss""foo.scss"1.0.0-rc.1GitHub ReleaseOriginalView source
Remove a non-sh-compatible idiom from the standalone shell script.
sh1.0.0-beta.5.1GitHub ReleaseOriginalView source
Drop support for the reference combinator.
1.0.0-beta.1GitHub ReleaseOriginalView source
Normalizes CSS escape codes for 0, surrogates, and out-of-range code points to U+FFFD in expression contexts, except a lone \0.
1.106.0GitHub ReleaseSummarizedView source
Throws an error for mixins and functions whose rest parameters duplicate normal parameter names.
1.106.0GitHub ReleaseSummarizedView source
Fixes cases where a CSS escape code at the start of an identifier changed parsing behavior versus the literal character.
1.106.0GitHub ReleaseSummarizedView source
Serializes units ambiguous with a numeric exponent as an escape code instead of a literal e.
1.106.0GitHub ReleaseSummarizedView source
Stops parsing escaped E or e as an exponent in @keyframes percentage selectors.
@keyframes1.106.0GitHub ReleaseSummarizedView source
Properly normalizes underscores written as CSS escape codes in variable, mixin, and function names.
1.106.0GitHub ReleaseSummarizedView source
Colors now convert NaN, negative zero, and infinity or negative infinity for polar-hue channels to 0 per the CSS spec.
1.104.0GitHub ReleaseSummarizedView source
Colors now preserve analogous sets of missing channels during conversions per the CSS spec, changing some conversion results.
color.to-space()1.103.0GitHub ReleaseSummarizedView source
The Node package importer now resolves import-only variants of Sass files declared in package.json exports, sass, and style fields.
exportssassstylepackage.json@import1.101.0GitHub ReleaseSummarizedView source
Parses @function rules whose names begin with -- as unknown at-rules to support the plain CSS @function rule, with result parsed as raw CSS.
@functionresult1.94.0GitHub ReleaseSummarizedView source
Makes @mixin rules whose names begin with -- errors, since no browser currently supports CSS mixins.
@mixin1.94.0GitHub ReleaseSummarizedView source
Emits declarations, childless at-rules, and comments in source order even when interleaved with nested rules, obsoleting the mixed-decls deprecation.
mixed-decls1.92.0GitHub ReleaseSummarizedView source
Fully reserves the function name type() for the plain CSS function, so @function type definitions error and calls parse as special function strings.
type()@function1.92.0GitHub ReleaseSummarizedView source
meta.inspect() and systems using it now emit numbers at full available precision instead of rounding to 1e-10 as CSS serialization does.
meta.inspect()@debug1.91.0GitHub ReleaseSummarizedView source
Throws an error when passing a function or mixin object from one compilation to another.
1.88.0GitHub ReleaseSummarizedView source
Fixes plain CSS files with a top-level nesting selector & loaded via meta.load-css() or @import to emit CSS nesting instead of combining with the parent selector.
meta.load-css()@import&1.87.0GitHub ReleaseSummarizedView source
Selectors with unmatched brackets now always produce a parser error.
1.84.0CHANGELOG.mdSummarizedView source
Adding text after an explicit */ in the indented syntax is now an error instead of silently generating invalid CSS.
1.79.6GitHub ReleaseSummarizedView source
math.unit() now wraps multiple denominator units in parentheses, e.g. px/(em*em) instead of px/em*em.
math.unit()1.79.5GitHub ReleaseSummarizedView source
Passing a percentage to the $alpha parameter of color.change(), color.adjust(), change-color(), and adjust-color() now interprets it as a percentage instead of ignoring the unit.
color.change()color.adjust()change-color()adjust-color()$alpha1.79.0CHANGELOG.mdSummarizedView source
Passing large positive or negative values to color.adjust() can now push a color's channels outside its gamut.
color.adjust()1.79.0CHANGELOG.mdSummarizedView source
Fixes // in places like unknown at-rule values being kept in CSS output; it is now parsed as a silent comment and omitted.
1.77.7CHANGELOG.mdSummarizedView source
Throws errors for misplaced statements in keyframe blocks.
1.76.0GitHub ReleaseSummarizedView source
As a consequence of the change in calculation parsing described above, calculation functions containing interpolation are now parsed more strictly than before.
1.67.0GitHub ReleaseOriginalView source
Print better calc()-based suggestions for /-as-division expression that contain calculation-incompatible constructs like unary minus.
calc()1.58.2GitHub ReleaseOriginalView source
Emit a unitless hue when serializing hsl() colors.
hsl()deg1.58.1GitHub ReleaseOriginalView source
Potentially breaking bug fix: Custom functions in both the modern and legacy API now properly reject signatures with whitespace between the function name and parentheses.
1.57.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: Callable.fromSignature() and AsyncCallable.fromSignature() now reject signatures with whitespace between the function name and parentheses.
Callable.fromSignature()AsyncCallable.fromSignature()1.57.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: Angle units like rad or turn are now properly converted to equivalent deg values for hsl(), hsla(), adjust-hue(), color.adjust(), and color.change().
radturndeghsl()hsla()adjust-hue()1.56.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: Sass numbers are now universally stored as 64-bit floating-point numbers, rather than sometimes being stored as integers.
1.55.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: Sass equality is now properly [transitive].
1e-111.55.0GitHub ReleaseOriginalView source
Potentially breaking change: Change the order of maps returned by map.deep-merge() to match those returned by map.merge().
map.deep-merge()map.merge()1.51.0GitHub ReleaseOriginalView source
In expanded mode, Sass will now emit colors using rgb(), rbga(), hsl(), and hsla() function notation if they were defined using the corresponding notation.
rgb()rbga()hsl()hsla()1.49.10GitHub ReleaseOriginalView source
Potentially breaking bug fix: Match the specification of the new JS API by setting LegacyResult.map to undefined rather than null.
LegacyResult.mapundefinednull1.48.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: Match the specification of the new JS API by passing undefined rather than null to Logger.warn() for an unset span.
undefinednullLogger.warn()span1.46.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: Properly parse custom properties in @supports conditions.
@supports1.45.1GitHub ReleaseOriginalView source
Potentially breaking bug fix: Fix a bug where inspect() was not properly printing nested, empty, bracketed lists.
inspect()1.45.1GitHub ReleaseOriginalView source
Potentially breaking bug fix: min() and max() expressions outside of calculations now behave the same way they did in 1.39.2, returning unquoted strings if they contain no Sass-specific features and…
min()max()1.40.1GitHub ReleaseOriginalView source
Potentially breaking bug fix: SassException has been marked as @sealed to formally indicate that it's not intended to be extended outside of the sass package.
SassException@sealedsass1.37.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: Properly throw an error for Unicode ranges that have too many ?s after hexadecimal digits, such as U+12345??
U+12345??1.35.2GitHub ReleaseOriginalView source
Potentially breaking bug fix: Fixed a bug where certain local variable declarations nested within multiple @if statements would incorrectly override a global variable.
@ifglobal1.35.2GitHub ReleaseOriginalView source
Potentially breaking bug fix: Fix a bug where imports of root-relative URLs (those that begin with /) in @import rules would be passed to both Dart and JS importers as file: URLs.
@importfile:1.35.2GitHub ReleaseOriginalView source
Potentially breaking bug fix: The heuristics around when potentially slash-separated numbers are converted to slash-free numbers—for example, when 1/2 will be printed as 0.5 rather than 1/2—have…
1.33.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: When using @for with numbers that have units, the iteration variable now matches the unit of the initial number.
@for1.32.5GitHub ReleaseOriginalView source
Potentially breaking bug fix: meta.load-css() now correctly uses the name $url for its first argument, rather than $module.
meta.load-css()$url$module1.27.1CHANGELOG.mdOriginalView source
Potentially breaking bug fix: selector.nest() now throws an error if the first arguments contains the parent selector &.
selector.nest()1.26.11GitHub ReleaseOriginalView source
Potentially breaking bug fix: @use rules whose URLs' basenames begin with now correctly exclude that from the rules' namespaces.
@use_1.26.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: character sequences consisting of two or more hyphens followed by a number (such as --123), or two or more hyphens on their own (such as --), are now parsed as…
1.22.12GitHub ReleaseOriginalView source
Potentially breaking bug fix: The keywords() function now converts underscore-separated argument names to hyphen-separated names.
keywords()1.22.6GitHub ReleaseOriginalView source
Potentially breaking bug fix: The argument name for the saturate() function is now $amount, to match the name in LibSass and originally in Ruby Sass.
saturate()$amount1.22.3GitHub ReleaseOriginalView source
Potentially breaking bug fix: The invert() function now properly returns #808080 when passed $weight: 50%.
invert()$weight1.22.3GitHub ReleaseOriginalView source
Potentially breaking bug fix: The str-insert() function now properly inserts at the end of the string if the $index is -1.
str-insert()$index1.22.3GitHub ReleaseOriginalView source
Explicitly require that importers' canonicalize() methods be able to take paths relative to their outputs as valid inputs.
canonicalize()1.18.0GitHub ReleaseOriginalView source
AsyncImporter.canonicalize() and Importer.canonicalize() must now return absolute URLs.
AsyncImporter.canonicalize()Importer.canonicalize()1.14.2GitHub ReleaseOriginalView source
Tokens such as #abcd that are now interpreted as hex colors with alpha channels, rather than unquoted ID strings.
#abcd1.14.0GitHub ReleaseOriginalView source
Potentially breaking bug fix: SassNumber.asSlash, SassNumber.withSlash(), and SassNumber.withoutSlash() have been marked as @internal.
SassNumber.asSlashSassNumber.withSlash()SassNumber.withoutSlash()@internalsass1.37.0GitHub ReleaseOriginalView source