Skip to content

LibSass 2.0

Compare
Choose a tag to compare
@HamptonMakes HamptonMakes released this 05 Jun 10:34
· 2818 commits to master since this release

After 6 months of coding, and over 200 commits, we're proud to release libsass 2.0. Since the last release, some of the internals have gotten a major rewrite and we have some exciting features rolling out with this release. As with any libsass release, none of it would be possible without Aaron Leung's awesome work on the project, and without Moovweb sponsoring his work and time on this project.

Let's go through what's changed...

NEW! Indented Syntax Support (.sass files)

First, and biggest of these features is the beta support for .sass files, aka, the original indented syntax that I created years and years and years ago. As I've been touring the world giving talks about libsass (why we're doing it and how freaking hard it is) the number one thing people have asked for is this feature. Thanks to the work of Marcel Greter, we now have this feature! It's in a separate repository and, at least for now, will be managed as a side project of sass2scss.

NEW! Expanded Selector Support (BEM!)

In Ruby Sass 3.2, selectors got pickier and the new stylish BEM-selectors broke. ;( As we were developing against 3.2 as a target syntax, we followed suite. Well, with Sass 3.3, the team over at the other project decided to change it back and support crazier selectors. So! We've done it too. Now, you can BEM your projects to your heart content.

NEW! String Functions

Thanks to Wonja Fairbrother (another Moovweb'er), we now have support for all the major string functions that Sass supports. That's including support for.....

FIXED! UTF-8 Support

I'm not sure if this one counts as "new" or "fixed", but we now don't barf on UTF-8 characters thanks again to Marcel Greter. This support is pretty limited, since we aren't including any external libraries... so don't expect to go sorting your emoji or any such non-sense. But now we allow characters that would have previously blown up the house. See the discussion here: #244

FIXED! Tons of Shit!

We've covered way more edge-cases and fixed way more small bugs that don't get a direct mention. But, the project has never been more stable.

BROKEN! extends

When we started this insane project, we had no freaking idea how complicated extends is. It's one of those big hairy problems that keeps falling to the bottom of the todo list. If you want to read up on the status, #146 go for it.

We know this is a big issue and sorry that it's been so long. I mean, it works sometimes, but it's not super stable to say the least.

Next Up

Obviously, extends is majorly on our radar, but maybe more than that is support for Sass 3.3-style Maps. It seems that all the major libraries are using this feature now, and so it's really important that we get this feature into the next release and get it out to you all, so you can use the newest versions of the awesome Sass frameworks out there.

How you can help!

The biggest help we could get is someone to really own and maintain Sass-Spec. It's the project that I started by pulling out the test suite from Ruby Sass and try and build a test-runner-harness thing so that it's easier to test compatibility. But, at this point, it's really limited. It would be amazing to be able to have a grid of features and show text failure and passing based on features and version compatibility. It shouldn't be that technically hard (not like coding a compiler) and would really help with the future of Sass.

This is definitely one of those "opportunities to get famous" kind of deal to whoever takes it over and starts making it awesome.

Again, special thanks goes out to Aaron Leung (@akhleung), Marcel Greeter (@mgreeter), Wonja Fairbrother (@wonja), Nick Schonning (@nschonni), Rowan Beentje (@rowanbeentje), Stijn Van Nieuwenhuyse (@svnieuw), Niko Sams (@nsams), tons of people I'm forgetting, and myself for not committing any code.

Love and Hugs,
Hampton Catlin (@hcatlin)