Skip to content

Dragon Master

Compare
Choose a tag to compare
@HamptonMakes HamptonMakes released this 16 Oct 15:54
· 2388 commits to master since this release

Overview

This is @hcatlin reporting in with the libsass 3.0 release. It's been a wild month here at libsass HQ (currently an airbnb in NYC). Just before SassConf I was made aware of some great work going on with the @extends feature and was able to get it merged in during SassConf just last week here in NYC. Since then, we've been doing 3.0 release candidates and testing with the major upstream projects. And, awesomely, a ton of great contributors have shown up to help! Mostly, I'll point out @mgreter and @xzyfer for their tireless work on this release, fixing a ton of issues.

I'd also like to call out the work of @uberska @jaddessi and @michaek for finally writing a decent @extends implementation. There are still some edgecases to work out (listed here: https://github.com/sass/sass-spec/tree/master/spec/libsass-todo-tests/extend-tests), but the implementation is really solid now and works very well for us mere humans.

LibSass 3.0 is officially targeting Sass 3.4 (s3.4 in libsass parlance) features in this release instead of s3.2 which was our main target for libsass 2.0 and before. libsass 3.1 will be the release where we more strictly follow 3.4 guidelines (see the list of known issues below)

NOTE: LibSass now requires GCC version 4.7 or higher. OS X users should be fine, but Linux users with an older OS might need to update or build the package and install it as a binary.

Features:

Bug Fixes:

API Changes:

  • Moved source_map_file from context to options.
  • Fix for omit_source_map_url (propagate to cpp_ctx).
  • Removed superfluous source_maps from struct, generate
  • Source maps when source_map_file string contains data.
  • Added in quote and unquote functions by @mgreter
  • sass2scss is now part of the project, officially by @mgreter. No need to deal with pulling it individually.

Known Issues

  • Support for @each with maps. There are workarounds for now.
  • Scoped Variables. Everything is still global, which is more like 3.2.
  • !global is an allowed keyword, but does nothing at the moment.
  • Can't use numbers as keys in maps
  • Foundation support is temporarily broken until they make a small change. Should be released soon! See a quick fix for it here. foundation/foundation-sites#5932
  • Sass Spec is currently not passing all tests against Ruby Sass 3.4. In the next phase, we will be working to fix all tests to match 3.4 behaviour exactly.

Special Thanks To...

Xzyfer @xzyfer
Scott Douglas @uberska
Jamie Addessi @jaddessi
Michael Hellein @themichaek
Brian Jones @benesch
Aaron Leung @akhleung
Wonja Fairbrother @wonja
Ian Carrico @iamcarrico
Nikhil Benesch @benesch
Carson McDonald @carsonmcdonald
and everyone else who pitched in!

Also, special thanks to @bdkjones for helping to coordinate CodeKit releases and work with the Foundation team to fix and for never letting us slide on quality. ;)