Sass 2.4 will now be Sass 3.0

Posted February 1, 2010

It’s been more than half a year since the release of Haml and Sass 2.2, and a lot of work has been going on in preparation for the new version. A lot has changed in these past few months, too: there’s been an explosion of interest in Sass and other CSS compilers, a huge amount of work has been put into Compass, and the community is generally abuzz with ideas and excitement.

Because of this surge of energy, the goals for the next version of Sass have shifted dramatically. When we released version 2.2, we were expecting the biggest addition to version 2.4 to be some output-optimization features. Now those have been pushed to a later release in favor of much more major improvements. I’ve talked about some of these improvements already, such as a much more powerful way of dealing with colors and auto-compilation of CSS files. And there are even bigger, more exciting ones in the works.

Since we’re making such huge changes – ones that will in some ways reshape the face of Sass - a minor change from 2.2 to 2.4 feels inadequate. Thus, the next release of Sass will be version 3.0.

What About Haml?

Although Haml and Sass have been growing steadily more distant in terms of their goals, their appeal, and their philosophies, at the moment we have no immediate plans to un-bundle the two of them. This means that (unless Chris convinces me otherwise) the next Haml release will be 3.0 as well.

For various reasons, including both the maturity of Haml as a language and the increased community focus on Sass, Haml has not had development nearly as major as Sass. Moreover, it’s unlikely that it will before the release. Thus, version 3 is a bit of a misnomer, as the changes in Haml will be closer to those expected for a minor release than a major release.

That’s not to say that there aren’t exciting things going on in Haml-land, of course. There are already several neat treats available in the master branch, such as a much-improved html2haml tool, and there are more in the works, including some juicy speed improvements.

When?

I’ve been holding the end of my school’s spring break in my head as a tentative deadline for Sass 3. That puts the tentative release date at March 28. However, I work on Sass in my spare time, so it’s easy for unforseen events and duties to get in the way of expectations.

In the meantime, you can play around with the new features that are in the master branch of the Sass repository. There are two options for using these. The easiest way is probably to install the haml-edge gem by running gem install haml-edge. You can also install Sass by downloading it from GitHub and running rake install in the haml directory.

James Bebbington said February 01, 2010:

Thanks for the update, it’s good to see the developments in Compass getting pushed back down into Sass.

Incidently, for help deciding which version number to go with for this and future releases may I recommend taking a gander at Tom Preston-Werner’s Semantic Versioning specification.

Zach Bailey said February 01, 2010:

I certainly feel like Sass and Compass are seeing much more widespread adoption outside of the RoR community than Haml and for that reason alone it makes sense to me that Sass and Haml should be unbundled.

For someone that wants to use sass + compass for a java/python/etc project it seems weird to have the Haml cruft coming along for the ride when really they’re just interested in improving their stylesheets.

Put another way, most web app stacks already have a good, platform/language-specific way of doing markup. However they all lack a good way for managing stylesheets in the manner that Sass + Compass accomplishes, hence why Sass is seeing the adoption outside of RoR.

Wolf said February 01, 2010:

Seconding Zach’s opinion. Keep up the good work!

Andrew Vit said February 01, 2010:

Awesome work, Nathan. I’m already on haml-edge, but looking forward to the final release.

I also think it’s a good point about splitting up haml and sass, although I do use both myself.

Nathan said February 01, 2010:

We’ll probably unbundle Sass and Haml at some point in the future. However, doing so would require quite a bit of work, as we have a fair amount of infrastructure that assumes they’re packaged together. This means it’s not likely to happen by the time Sass 3 is released, for fear of pushing back the release further than we’d like.

Eric Meyer said February 01, 2010:

Fantastic. I can’t wait (and I’m not waiting – yay for edge).

Thanks for the great work.

Will Leinweber said February 01, 2010:

Instead of having a separate haml-edge gem, if you add a letter to the version number, rubygems will treat it as a prerelease gem, and will only install if users add the --prerelease flag. Take a look at how rspec does it on gemcutter.

Nathan said February 01, 2010:

I’m aware of prerelease gems, and I’d like to move Haml over to that system at some point. The most immediate problem there is that the huge number of prerelease versions that would be released would completely dwarf the actual releases on the Gemcutter listings.

GlennR said February 02, 2010:

Great news.

We can’t tell you how much we love using Sass & Haml on our projects.

vanderkerkoff said February 24, 2010:

Congratulations all on the upgrades, and the decision to leave haml and sass ‘coupled’ for now.

Are these versions rails3 and bundler 0.9 friendly?

v

Nathan said February 27, 2010:

The current Haml/Sass release, 2.2.20, should be both Rails- and Bundler-compatible. The same goes for the master branch.

Make your comments snazzy with Textile!