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 5 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.
* 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.
* 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.
Remove the CalculationExpression class and the associated visitor methods.
Remove the CalculationExpression class and the associated visitor methods.
Add an AstSearchVisitor helper class.
Add an Interpolation.isPlain getter.
* 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.
* No user-visible changes.
* No user-visible changes.
Silent comments in SCSS that are separated by blank lines are now parsed as separate SilentComment nodes rather than a single conjoined node.
SilentComment nodes rather than a single conjoined node.* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
Breaking change: All selector AST node constructors now require a FileSpan and expose a span field.
Breaking change: All selector AST node constructors now require a
FileSpan and expose a span field.
Breaking change: The CssStyleRule.selector field is now a plain
SelectorList rather than a CssValue<SelectorList>.
Breaking change: The ModifiableCssValue class has been removed.
Add an InterpolationMap class which represents a mapping from an
interpolation's source to the string it generated.
Add an interpolationMap parameter to CssMediaQuery.parseList(),
AtRootQuery.parse(), ComplexSelector.parse, CompoundSelector.parse,
ListSelector.parse, and SimpleSelector.parse.
Add a SelectorSearchVisitor mixin, which can be used to return the first
instance of a selector in an AST matching a certain criterion.
* No user-visible changes.
Add BinaryOperation.isAssociative.
Add BinaryOperation.isAssociative.
Add a ReplaceExpressionVisitor, which recursively visits all expressions in
an AST and rebuilds them with replacement components.
* No user-visible changes.
Breaking change: Instead of a Tuple, findDependencies() now returns a DependencyReport object with named fields. This provides finer-grained access to…
Tuple, findDependencies() now returns a
DependencyReport object with named fields. This provides finer-grained
access to import URLs, as well as information about meta.load-css() calls
with non-interpolated string literal arguments.* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
* No user-visible changes.
Bump pub_api_client from 3.2.0 to 4.0.0
Bump pub_api_client from 3.2.0 to 4.0.0
Breaking change: The first argument to NumberExpression() is now a
double rather than a num.
Add an optional argumentName parameter to SassScriptException() to make it
easier to throw exceptions associated with particular argument names.
Most APIs that previously returned num now return double. All APIs
continue to accept num, although in Dart 2.0.0 most of these APIs will be
changed to accept only double.
UnaryOperationExpressions with operator not now include a correct span, covering the expression itself instead of just the operator.
UnaryOperationExpressions with operator not now include a correct span,
covering the expression itself instead of just the operator.* No user-visible changes.
* No user-visible changes.
* No user-visible chances.
Breaking change: Convert all visitor superclasses into mixins. This includes RecursiveAstVisitor, RecursiveSelectorVisitor, RecursiveStatementVisitor,…
Breaking change: Convert all visitor superclasses into mixins. This
includes RecursiveAstVisitor, RecursiveSelectorVisitor,
RecursiveStatementVisitor, and StatementSearchVisitor. This has several
effects;
You must use with to mix in visitors rather than extends.
It's now possible to mix multiple visitors into the same class, which wasn't
possible with extends.
Because mixins can't be composed, when mixing in RecursiveAstVisitor you
must explicitly mix in RecursiveStatementVisitor as well.
Breaking change: Replace the minSpecificity and maxSpecificity fields
on ComplexSelector, CompoundSelector, and SimpleSelector with a single
specificity field.
* No user-visible changes.
* No user-visible changes.
Your coding agent can read these notes before it upgrades. Set up the MCP server →