What changed
The Sass maintainers published their Dart Sass 2 roadmap, targeting December 2026 rather than announcing a completed release. Most deprecations introduced before Dart Sass 1.105.0 will become compilation errors in v2. Slash will be treated as a CSS-style separator instead of a division operator; numeric division must use math.div() or calc(). Crucially, @import, global-builtin, color-module-compat and legacy if() remain deprecations until Sass 3. The team published --fatal-deprecations=1.79.0,compile-string-relative-url,misplaced-rest,with-private,function-name,adjacent-compounds and equivalent JS API options for early compatibility checks.
Why it matters
Sass remains part of many frontend build pipelines. A major upgrade that turns tolerated warnings into errors can break CI and production asset builds unexpectedly. Teams can use the maintainer-provided flags and migrator now to identify incompatibilities while keeping Sass 1.x deployed.
A planned breaking release, not a new feature cycle
The project aims for December 2026, but has not promised an exact date. Most deprecations already emitted by Sass 1.x will become hard failures in Sass 2.
Important exceptions
@import and related global builtin and color-module compatibility warnings remain until Sass 3. The legacy Sass if() function also remains usable with a warning.
Slash semantics change
The / operator will follow CSS separator semantics; arithmetic should use math.div() or calc() instead. Existing styles relying on ambiguous slash division deserve tests.
Run the compatibility gate today
The Sass CLI's fatal-deprecations list and JS API fatalDeprecations option can elevate future errors in current builds. The official Sass migrator can automate common changes.