NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #4641 most downloaded on pub.dev
Additional APIs for Dart Sass.
Last release 9 days ago
30 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 56 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
170 releases · first in 2021
One column per quarter.
* No user-visible changes.
* No user-visible changes.
Fix --watch not recompiling sources modified during a compilation (…
Fix --watch not recompiling sources modified during a compilation (…
StyleRule.selector
in the indented syntax.* No user-visible changes.
Set committer metadata when creating a tag
Set committer metadata when creating a tag (#2838)
Co-authored-by: Natalie Weizenbaum nweiz@google.com
Co-authored-by: Natalie Weizenbaum nweiz@google.com
Nothing published for this version
Nothing published for this version
Nothing published for this version
* No user-visible changes.
…SimpleSelcetor.parse(). This is used to report deprecations found when parsing selectors.
logger parameter to SelectorList.parse(), ComplexSelector.parse(),
CompoundSelector.parse(), and SimpleSelcetor.parse(). This is used to
report deprecations found when parsing selectors.Add an Expression.isPlainCss() method.
Expression.isPlainCss() method.* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
Add the SassColor.displayP3Linear constructor.
SassColor.displayP3Linear constructor.* No user-visible changes.
Add support for passing parseSelectors: true to ImportCache and AsyncImportCache.
parseSelectors: true to ImportCache and
AsyncImportCache.Rename the old IfExpression class to LegacyIfExpression.
Rename the old IfExpression class to LegacyIfExpression.
Add a new IfExpression class to represent the CSS if() function.
Add a sealed IfConditionExpression class which represents the possible
condition components in an IfExpression.
Add a BinaryOperator enumeration and use it for
SupportsOperation.operator.
Add an ExpressionVisitable interface for anything visitable by an
ExpressionVisitor (currently Expression and IfConditionExpression).
Add a ArgumentList.namedSpans field.
Add several members of RecursiveAstVisitor which were missing in the previous release.
RecursiveAstVisitor which were missing in the
previous release.* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
Potentially-breaking bug fix: parenthesized, comma-separated lists are now correctly wrapped in a ParenthesizedExpression.
ParenthesizedExpression.* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
Nothing published for this version
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
Add NodePackageImporter, which loads pkg: URLs from node_modules within the provided entryPointDirectory.
NodePackageImporter, which loads pkg: URLs from node_modules within
the provided entryPointDirectory.* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
Add Expression.isCalculationSafe, which returns true when this expression can safely be used in a calculation.
Expression.isCalculationSafe, which returns true when this expression
can safely be used in a calculation.Breaking change: Warnings are no longer emitted during parsing, so the logger parameter has been removed from the following:
Breaking change: Warnings are no longer emitted during parsing, so the
logger parameter has been removed from the following:
ArgumentDeclaration.parse(), ComplexSelector.parse(),
CompoundSelector.parse(), Expression.parse(), SelectorList.parse(),
and SimpleSelector.parse().
Stylesheet.parse(), Stylesheet.parseCss(), Stylesheet.parseSass(),
and Stylesheet.parseScss().
The AsyncImportCache and ImportCache constructors.
Additionally, the quiet parameter has been removed from
AsyncImportCache.importCanonical() and ImportCache.importCanonical(), and
AsyncImportCache.wrapLogger() and ImportCache.wrapLogger() have been
removed entirely.
* No user-visible changes.
Make AsyncImportCache.wrapLogger() and ImportCache.wrapLogger() always limit the repetition of deprecations. this is unlikely to be the long-term beha…
AsyncImportCache.wrapLogger() and ImportCache.wrapLogger() always
limit the repetition of deprecations. this is unlikely to be the long-term
behavior, but it's necessary to avoid flooding users with deprecations in the
short term.Add AsyncImportCache.wrapLogger() and ImportCache.wrapLogger() methods, which wrap a given logger to apply deprecation options to it.
AsyncImportCache.wrapLogger() and ImportCache.wrapLogger() methods,
which wrap a given logger to apply deprecation options to it.Fix a bug where LoudComments parsed from the indented syntax would include whitespace after the closing */.
LoudComments parsed from the indented syntax would include
whitespace after the closing */.The Interpolation() constructor now takes an additional List spans argument which cover the #{} for expression elements.
The Interpolation() constructor now takes an additional List<FileSpan?>
spans argument which cover the #{} for expression elements.
Added a new Interpolation.plain() constructor for interpolations that only
contain a single plain-text string.
Added Interpolation.spanForElement() which returns the span that covers a
single element of contents.
InterpolationBuffer.add() now takes a FileSpan that covers the #{}
around the expression.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
Breaking change: Remove the SassApiColor.hasCalculatedRgb and .hasCalculatedHsl extension methods. These can now be determined by checking if SassColo…
Breaking change: Remove the SassApiColor.hasCalculatedRgb and
.hasCalculatedHsl extension methods. These can now be determined by checking
if SassColor.space is KnownColorSpace.rgb or KnownColorSpace.hsl,
respectively.
Added a ColorSpace class which represents the various color spaces defined
in the CSS spec.
Added SassColor.space which returns a color's color space.
Added SassColor.channels and .channelsOrNull which returns a list
of channel values, with missing channels converted to 0 or exposed as null,
respectively.
Added SassColor.isLegacy, .isInGamut, .channel(), .isChannelMissing(),
.isChannelPowerless(), .toSpace(), .toGamut(), .changeChannels(), and
.interpolate() which do the same thing as the Sass functions of the
corresponding names.
SassColor.rgb() now allows out-of-bounds and non-integer arguments.
SassColor.hsl() and .hwb() now allow out-of-bounds arguments.
Added SassColor.hwb(), .srgb(), .srgbLinear(), .displayP3(),
.a98Rgb(), .prophotoRgb(), .rec2020(), .xyzD50(), .xyzD65(),
.lab(), .lch(), .oklab(), .oklch(), and .forSpace() constructors.
Deprecated SassColor.red, .green, .blue, .hue, .saturation,
.lightness, .whiteness, and .blackness in favor of
SassColor.channel().
Deprecated SassColor.changeRgb(), .changeHsl(), and .changeHwb() in
favor of SassColor.changeChannels().
Added SassNumber.convertValueToUnit() as a shorthand for
SassNumber.convertValue() with a single numerator.
Added InterpolationMethod and HueInterpolationMethod which collectively
represent the method to use to interpolate two colors.
Added the SassApiColorSpace extension to expose additional members of
ColorSpace.
Added the ColorChannel class to represent information about a single channel
of a color space.
Added SassNumber.convertValueToUnit() as a shorthand for
SassNumber.convertValue() with a single numerator.
Remove the CallableDeclaration() constructor.
CallableDeclaration() constructor.* No user-visible changes.
Your coding agent can read these notes before it upgrades. Set up the MCP server →