Sass Blog

Page 4 of 6

Previous page

Sass and Browser Compatibility

Posted 11 February 2017 by Natalie Weizenbaum

One of the core design principles of Sass has always been to understand CSS as little as possible. As a CSS preprocessor of course we have to understand the syntax of CSS, but as much as we can we try to avoid caring about the semantics—the meaning behind the styles. This means that Sass has no idea which properties are valid, which HTML elements actually exist, or even to a large extent what the syntax of most @-rules is.

We get a lot of benefit from this. The less built-in knowledge Sass has about CSS, the less likely it is to work poorly with new CSS features. Imagine having to file a feature request every time you want to use a new CSS property—that would suck! Instead, older versions of Sass will happily keep working unless the actual syntax changes, which is much rarer.

Because of this decoupling, we’ve never needed to worry much about browser compatibility. Sass just passes whatever CSS its given on through. It’s up to the user to determine what works where, which gives them…

Dart Sass is On Chocolatey

Posted 13 January 2017 by Natalie Weizenbaum

One of the quieter benefits of moving to Dart is how easy it is to distribute Dart applications. The Dart VM is able to bundle all the sources for an application into one easy-to-load binary snapshot, which means running a Dart application requires only three files: the dart executable, the snapshot file, and a tiny shell script to invoke the app1. This is a huge relief coming from Ruby, which required a whole installation of executables and libraries in order to run a single app.

Those three files are what we distribute today on our GitHub release page. But finding, downloading, and opening an archive and adding it to the command-line path is still a barrier to entry that we’d like to avoid where possible. Today we’re taking a step in that direction by releasing a Dart Sass package on Chocolatey, the Windows package manager. You can install it now using:

$ choco install sass -prerelease

This will give you a sass executable that runs Dart Sass on the (really fast) Dart VM.

A large…

Announcing Dart Sass

Posted 31 October 2016 by Natalie Weizenbaum

Over the past few months, I’ve been quietly working on a new project. Today I’m ready to announce Dart Sass to the world. It’s a totally new implementation of Sass, designed to be fast, easy to install, and easy to hack on. It’s not yet complete—I’m steadily working my way through sass-spec—so today I’m just releasing version 1.0.0-alpha.1. But it’s solid enough for you to download, play with, and start filing issues.

You can download a standalone archive from the release page—just extract it, add the folder to your path, and run dart-sass. Dart also compiles to JavaScript, so if you have npm installed you can install the JS version by running npm install -g dart-sass. And, if you happen to be a Dart user yourself, you can install it using pub global install sass.

Why Rewrite Sass? permalinkWhy Rewrite Sass? permalink Why Rewrite Sass? permalinkWhy Rewrite Sass?

Over the past few years, there have been two primary implementations of Sass. Ruby Sass was the original, written mostly by me with substantial help from Chris. It’s high-level…

Sass 3.5 Release Candidate

Posted 30 August 2016 by Natalie Weizenbaum

I’ve just pushed the button to release Sass 3.5.0-rc.1. If it seems like it’s been a while since the last release, that’s true! But there’s a good reason. We decided to enter feature freeze after the 3.5 release to give libsass, the super-speedy C++ implementation of Sass, time to reach feature parity with Sass 3.4. Libsass is much younger than Sass, and C++ is generally a slower language to work in than Ruby, so this took some time. But it paid off: libsass is now almost 100% compatible with Ruby Sass, differing only in a few small bugs.

After the feature freeze lifted, we were primarily focused on designing the new module system that will be the central feature of Sass 4.0. But we also found some time to add some new features, which are the focus of this release.

CSS Custom Property Support permalinkCSS Custom Property Support permalink CSS Custom Property Support permalinkCSS Custom Property Support

Sass 3.5 now fully supports CSS custom properties. These posed a particular challenge for us, since the custom property syntax is extremely broad. You can…

Dropping Support For Old Ruby Versions

Posted 24 May 2016 by Natalie Weizenbaum

You may not know Marcel Greter, but you almost certainly know his work. For more than two years, he has been the #1 contributor on LibSass and is the #2 contributor for the history of the project. His monumental efforts, together with Michael Mifsud, are what has kept LibSass thriving recently and why it has reached feature parity with Ruby Sass and is now used by more users than Ruby Sass every day.

Presently, as we are pivoting to a new development model and release cadence, Marcel has decided it is the best time for him to exit the LibSass core team. We are truly sad to see him go, but we wish him well in all his new endeavors. Please join us in thanking him for all his hard work. You can follow and tweet him @mgreter.


Unfortunately, this leaves the LibSass project with some big shoes to fill. LibSass is a popular project that has more than 1.5 Million downloads a month and as of right now, it is in desparate need of new contributors.

We have a bunch of new features planned for…

Next page