github sass/libsass 3.1.0
Bulleit Bottle

latest releases: 3.6.6, 3.6.5, 3.6.4...
9 years ago

Happy new year! What better way to start the year than with a new Libsass release!

Capitalising on the 3.0 momentum @mgreter and @xzyfer, with help from the Libsass community, have been hard work on this massive release!

Libsass 3.1 brings us closer than ever to Sass feature parity! We've even got a back log of completed features ready to go for the next release!

I'd like to give a shoutout to node-sass team for helping us release and test our RC releases!

Features

  • implemented @debug - @mgreter
  • implemented @error - @mgreter
  • implemented inspect() - @mgreter
  • implemented feature-exists() - @xzyfer
  • implemented unique-id() - @xzyfer
  • implemented random() - @xzyfer
  • implemented negative @for loops - @mgreter
  • implemented the not operator - @xzyfer
  • implemented nth() for maps - @xzyfer
  • implemented custom functions and importers - @mgreter
  • implemented C API to fetch compiled version - @mgreter
  • implemented decrementing in for loops - @mgreter
  • improvements to the static value look ahead parser - @xzyfer
  • improvements handling of string quotes - @mgreter
  • added support for colors rebeccapurple and transparent - @mgreter
  • added/improved build scripts for windows - @mgreter
  • added AppVeyor for windows CI builds - @mgreter
  • added support for converting angle units - @mgreter
  • significant speed boost to map-get() - @xzyfer
  • better Windows compilation support - @mgreter @am11
  • emit @charset "UTF-8" when required - @mgreter
  • major updates to the C API - @mgreter

Fixes

  • no longer allow concatenating with null - @xzyfer (#698)
  • improved handling of colors - @mgreter (#558)
  • better support for BEM style selectors - @xzyfer (#738)
  • better support for IE properties - @mgreter (#683)
  • better support of interoplants in selectors - @xzyfer (#641)
  • normalize quotes map keys in keywords() - @xzyfer (#721)
  • normalize quotes in str-slice and str-insert - @xzyfer (#763)
  • normalize decimal output - @mgreter @xzyfer (#550, #623)
  • fixed allowing redefinition of reserved functions - @xzyfer (#713)
  • fixed keywords() crashing when no vararg is present - @xzyfer (#672)
  • fixed default arguments for function arguments - @mgreter (#708)
  • fixed colors and number as map keys - @xzyfer (#652, #534)
  • fixed incorrect content type for embedded sourcemaps - @xdissent (#723)
  • fixed evaluation of negative variables - @xzyfer (#344)
  • fixed @return sometimes not exiting functions - @xzyfer (#736)
  • fixed an edge case with str-slice - @xzyfer (#762)
  • fixed parsing of assignments with !default and !global flags - @xzyfer (#759)
  • fixed !default assignments not overriding null values - @xzyfer (#740)
  • fixed allowing maps to be instantiated with duplicate keys - @xzyfer (#628)
  • fixed empty css blocks sometimes being outputted - @xzyfer (#659)
  • fixed some cases where number comparisons would fail - @xzyfer (#590)
  • fixed crashes when multiple semicolons were encountered - @xzyfer (#502)
  • fixed a bug with maps and @each with only on variable - @xzyfer (#784)
  • fixed a bug with string interpolation in url()s - @mgreter (#644)
  • fixed some bugs with the C API - @mgreter (#776)

Documentation

This release saw a big increase in the amount of available documentation thanks to @mgreter and @drewwells!!

Sass spec

Sass spec got a major update bringing it up to date with Sass 3.4 thanks to @hcatlin and @xzyfer.

Know issues

  • !global is parsed but the scoping rules aren't respected - (#613)
  • nested media queries aren't combined - (#614)
  • operations in brackets like (1/2) are sometimes not treated as numbers - (#442, #590)
  • still some @extends edge cases - (#316, #317, #592)
  • still some sourcemaps issues - (#324)

Huge thanks to everyone that reported bugs, wrote specs and submitted patched. Honourable mentions to @hugogiraudel, @xdissent, @drewwells, @jakob-e, @lunelson, @am11, @hcatlin, @mgreter and @xzyfer for their multiple contributions which made this release possible!

Don't miss a new libsass release

NewReleases is sending notifications on new releases.