Bulleit Bottle
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
andtransparent
- @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
andstr-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 overridingnull
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!