Sass Blog
Page 1 of 9
-
LibSass Has Reached End-Of-Life
Posted 23 October 2025 by Natalie Weizenbaum
LibSass and the packages built on top of it have been deprecated since October 2020. In the five years since we made that announcement, the Sass language has continued to evolve to support the latest CSS features like color spaces, and embedded sass made it easy to run Dart Sass across numerous different languages and platforms.[1] Dart Sass now meets essentially all the use-cases that LibSass once did.
At the same time, development of LibSass has faltered. There hasn’t been a new commit to the source code repository since December 2023, and there are numerous issues languishing unaddressed. The time has come to be clear: LibSass is no longer maintained and will receive no future updates.
Migrating AwayMigrating Away permalink
As they say, the best time to migrate away from LibSass was five years ago, but the second best time is now. There is a large and growing list of incompatibilities between it and Dart Sass, largely to more correctly support CSS features. You’ll need to make…
-
Request for Comments: Indented Syntax Improvements
Posted 3 December 2024 by James Stuckey Weber
For users of the indented syntax (
.sass), there has been a long standing request for the ability to have line breaks that don’t end a statement. Certain CSS syntaxes likegrid-templateand@font-facesrcdeclarations are long, and line breaks can greatly increase the readability of the styles.There have been many suggestions, several attempts, and numerous workarounds to address this pain point. We are proposing several new syntax options in the indented syntax that add considerable flexibility and look to address this as part of the language.
Multiline statementsMultiline statements permalink
We propose allowing statements in the indented syntax to span multiple lines, as long as line breaks occur in places where the statement can’t end.
A common way of using this syntax will be wrapping lists with line breaks in parentheses. This allows for a grid-template declaration on multiple lines.
.grid display: grid grid-template: ( "header" min-content "main" 1fr )As usual, these parentheses will not be included in the output.
.grid {... -
`@import` is Deprecated
Posted 17 October 2024 by Jennifer Thakar
Back in 2019, we released the Sass module system, adding new
@useand@forwardrules to the language that were designed to replace@importand make stylesheets more maintainable and less error-prone. We can now announce that@importis officially deprecated as of Dart Sass 1.80.0.The module system ensures that it’s easy for both developers and tooling to determine where a given Sass member is defined, adds namespacing to prevent the need to manually add long, awkward namespaces to names, and allows library authors to ensure their private helpers can’t be accessed by downstream users. Additionally, since each module is only ever loaded once, depending on the same stylesheet multiple times no longer results in duplicated CSS.
With 4.5 years since we released the module system and more than a year since we passed the 80% Dart Sass usage share threshold we set for starting this deprecation, we feel comfortable making this move. However, we understand that this is a big change to the language and not all…
-
Sass color spaces & wide gamut colors
Posted 11 September 2024 by Miriam Suzanne
Wide gamut colors are coming to Sass!
I should clarify. Wide gamut CSS color formats like
oklch(…)andcolor(display-p3 …)have been available in all major browsers since May, 2023. But even before that, these new color formats were allowed in Sass. This is one of my favorite features of Sass: most new CSS just works, without any need for “official” support or updates. When Sass encounters unknown CSS, it passes that code along to the browser. Not everything needs to be pre-processed.Often, that’s all we need. When Cascade Layers and Container Queries rolled out in browsers, there was nothing more for Sass to do. But the new CSS color formats are a bit different. Since colors are a first-class data type in Sass, we don’t always want to pass them along as-is. We often want to manipulate and manage colors before they go to the browser.
Already know all about color spaces? Skip ahead to the new Sass features!
The color format trade-offThe color…
-
Node Sass is end-of-life
Posted 24 July 2024 by Natalie Weizenbaum
The time has finally come to retire Node Sass. This Node.js wrapper for LibSass was the first official Sass compiler available in the JavaScript ecosystem and was a huge part of Sass growing beyond the scope of the Ruby community where it originated, but it hasn’t received a new release in a year and a half and the most recent set of maintainers no longer have the bandwidth to continue updating it.
The npm package has been marked as deprecated, and the GitHub repository has been archived to mitigate confusion about which Sass repositories are still being developed. If you’re still using Node Sass, we strongly recommend you take this opportunity to migrate to the primary implementation, Dart Sass, instead.
The LibSass implementation that Node Sass used remains deprecated but not yet end-of-life, as its maintainer Marcel Greter continues to make occasional fixes. However, there is no longer an officially-supported way to use this implementation from Node.js.
I want to take this opportunity to thank everyone who used Node…