Dart-sass

Latest version: v0.5.2

Safety actively analyzes 702232 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 32

1.42.0

* `min()` and `max()` expressions are once again parsed as calculations as long
as they contain only syntax that's allowed in calculation expressions. To
avoid the backwards-compatibility issues that were present in 1.40.0, they now
allow unitless numbers to be mixed with numbers with units just like the
global `min()` and `max()` functions. Similarly, `+` and `-` operations within
`min()` and `max()` functions allow unitless numbers to be mixed with numbers
with units.

1.41.1

* Preserve parentheses around `var()` functions in calculations, because they
could potentially be replaced with sub-expressions that might need to be
parenthesized.

1.41.0

* Calculation values can now be combined with strings using the `+` operator.
This was an error in 1.40.0, but this broke stylesheets that were relying on
`$value + ""` expressions to generically convert values to strings. (Note that
the Sass team recommends the use of `"{$value}"` or `inspect($value)` for
that use-case.)

* The `selector.unify()` function now correctly returns `null` when one selector
is a `:host` or `:host-context` and the other is a selector that's guaranteed
to be within the current shadow DOM. The `extend` logic has been updated
accordingly as well.

* Fix a bug where extra whitespace in `min()`, `max()`, `clamp()`, and `calc()`
expressions could cause bogus parse errors.

* Fix a bug where the right-hand operand of a `-` in a calculation could
incorrectly be stripped of parentheses.

Dart API

* `SassCalculation.plus()` now allows `SassString` arguments.

1.40.1

* **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 calling the global
`min()` and `max()` functions otherwise. Within calculations, they continue to
behave how they did in 1.40.0.

This fixes an unintended breaking change added in 1.40.0, wherein passing a
unitless number and a number without units to `min()` or `max()` now produces
an error. Since this breakage affects a major Sass library, we're temporarily
reverting support for `min()` and `max()` calculations while we work on
designing a longer-term fix.

1.40.0

* Add support for first-class `calc()` expressions (as well as `clamp()` and
plain-CSS `min()` and `max()`). This means:

* `calc()` expressions will be parsed more thoroughly, and errors will be
highlighted where they weren't before. **This may break your stylesheets,**
but only if they were already producing broken CSS.

* `calc()` expressions will be simplified where possible, and may even return
numbers if they can be simplified away entirely.

* `calc()` expressions that can't be simplified to numbers return a new data
type known as "calculations".

* Sass variables and functions can now be used in `calc()` expressions.

* New functions `meta.calc-name()` and `meta.calc-args()` can now inspect
calculations.

Dart API

* Add a new value type, `SassCalculation`, that represents calculations.

* Add new `CalculationOperation`, `CalculationOperator`, and
`CalculationInterpolation` types to represent types of arguments that may
exist as part of a calculation.

* Add a new `Value.assertCalculation()` method.

* Add a new `Number.hasCompatibleUnits()` method.

1.39.2

* Fix a bug where configuring with `use ... with` would throw an error when
that variable was defined in a module that also contained `forward ... with`.

Page 6 of 32

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.