Releases: sass/libsass
Bulleit Bottle (beta2)
This is the second beta RC for Libsass 3.1.0.
Features
- improvements to the static value look ahead parser - @xzyfer
- improvements handling of string quotes - @mgreter
Fixes
- fixed an edge case with
str-slice
- @xzyfer (#762) - normalise quotes in
str-slice
andstr-insert
- @xzyfer (#763) - fixed parsing of assignments with
!default
and!global
flags - @xzyfer (#759) - fixed
!default
assignments not overridingnull
values - @xzyfer (#740) - error if a map is instantiated with a duplicate key - @xzyfer (#628)
- don't output empty css block - @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)
Bulleit Bottle (beta)
This is the first beta RC for LibSass 3.1.
Hot on the heels of 3.0 and in time for the feature packed 3.1!
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 - Better Windows compilation support - @mgreter @am11
- emit
@charset "UTF-8"
when required - @mgreter - major updates to the C API - @mgreter
- implemented custom functions and importers - @mgreter
- added support for colors
rebeccapurple
andtransparent
- @mgreter - added/improved build scripts for windows - @mgreter
- added AppVeyor for windows CI builds - @mgreter
- implemented C API to fetch compiled version - @mgreter
- support converting angle units - @mgreter
- significant speed boost to
map-get()
- @xzyfer
Bug fixes
- BEM style selectors wouldn't work in come cases i.e.
&--1foo
- @xzyfer (#738) @return
would sometimes not exit functions - @xzyfer (#736)- no longer allow concatenating with
null
- @xzyfer (#698) - better handling of
-$foo
- @xzyfer (#344) - don't allow redefining of reserved functions - @xzyfer (#713)
- correctly handle quoted map keys and
keywords()
- @xzyfer (#721) - use correct content type for embedded sourcemaps - @xdissent (#723)
- improved handling of colours - @mgreter (#558)
- normalize decimal output - @mgreter @xzyfer (#550, #623)
keywords()
fails gracefully - @xzyfer (#672)- allow colors and number as map keys - @xzyfer (#652, #534)
- better support for ie properties - @mgreter (#683)
- better handling of interoplants in selectors - @xzyfer (#641)
- default arguments for function arguments - @mgreter (#708)
- decrementing in for loops fixed - @mgreter (#703)
- improvements to sourcemap generation - @mgreter
Documentation
This release saw a big increase in the amount of available documentation thanks to @mgreter and @drewwells!!
Know issues
!global
is parsed but the scoping rules aren't respected - (#613)- nested media queries aren't combined - (#614)
- opertions 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, @mgreter and @xzyfer for their multiple contributions which make this release possible!
Bulleit Bottle (alpha2)
This is the second RC for LibSass 3.1. We have a new interface available that all downstream projects should be using.
_Please use this to test the new interface... this does not represent the final list of features! Do not use in production environments!_
Bulleit Bottle (alpha)
This is the first RC for LibSass 3.1. We have a new interface available that all downstream projects should be using.
_Please use this to test the new interface... this does not represent the final list of features! Do not use in production environments!_
Daughter of Dragon
Well, @xzyfer and @mgreter continue their non-stop onslaught on libsass' shortcomings. We wanted to get these fixes out ASAP again, instead of waiting for 3.1.
Main fixes / features:
- Support for keyword arguments and var-args (@xzyfer)
- Source maps now include comments and the source code itself (@mgreter)
- Basic support for...
@supports
(@xzyfer) - Fixed bug where blocks errored when ended with a
;
- Travis testing improvements (@mgreter)
- support for interpolated strings as map keys (@xzyfer)
- Allow map keys to be functions (@xzyfer)
- Allow
\
in identifiers (@xzyfer)
Definitely recommend upgrading as soon as possible.
Son of Dragon
Hark! Hereth is Son of DRAGON!!!!!
Oh, okay, sorry about that. I'm getting carried away. This is a minor release that adds one major feature, fixes some dastardly bugs, and improves performance.
- Looping over maps should now work w/ each #492 (@xzyfer)
- variables are now more permissive in their names #561 (@benesch)
- custom precision is back in working order (@mgreter)
- str-slice() now works #565 (@kaishin)
- map-merge() bug is fixed #554 (@xzyfer)
- media query w/ compressed output bug is fixed #566 (@xzyfer)
- memory leak fixing duty (@mgreter)
- compiler warning duty (@am11)
- maps were given a speed boost (@xzyfer)
Also, I'm proud to announce that @xzyfer and @mgreter are now officially part of the development team here at libsass headquarters. Most of the code and fixes in this release (and, let's be honest, a ton in the release before) and their dedication to making this project better in all ways makes me very comfortable letting them into the tent.
Special thanks this release to @ericam for his tireless work getting the test cases setup so we can get Susy support going!
KNOWN ISSUES:
- not behaviour is still not correct
- numeric keys in maps can get tricky
- some extends edgecases remain
- the release is still a 3.2/3.3/3.4 mongrel when it comes to behaviours.
Dragon Master
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:
- Decent extends support by @uberska, @jaddessi, @themichaek
- Basic Sass Maps Support by @xzyfer
- Better UTF-8 Support @mgreter
- call() function by @wonja
- Better Windows Support by @mgreter
- Spec Enhancements by @themichaek
Bug Fixes:
- Lot's of fixes to compressed output (@xzyfer)
- Whitespace fixes (@xzyfer)
- map-remove() function fix (@xzyfer)
- color name fixes (@SparkyBluefang)
- css-filter names now supported (@benesch)
- "----" interpolant bug fixed (@carsonmcdonald)
- "null" stops printing out in compressed output (@xzyfer)
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
andunquote
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. ;)
Small Dragons Only
Hot on the heels of rc3, which had an issue compiling with gcc that I totally missed because I'm an idiot (@hcatlin), I've reverted the -V feature and we can revisit that later. rc4!
Hoping to get this tested with node-sass.
A Couple Dragons!
This is probably the last release before 3.0. Made a small change to the sass_interface.h file, requiring a source_string in the sass context.
- Lot's of fixes to compressed output (@xzyfer)
- New -V option to sassc (@jlinton)
- Maps now far more robust (@xzyfer)
- Whitespace fixes (@xzyfer)
- map-remove() function fix (@xzyfer)
- color name fixes (@SparkyBluefang)
- css-filter names now supported (@benesch)
- "----" interpolant bug fixed (@carsonmcdonald)
Thar Be Less Dragons!
We've closed a lot of bugs and should be getting close to releasing 3.0 officially. The main change in this is there is a change in the sass_interface.h files. This is important for downstream projects as it will change the API.
- 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.
See: #505 for more info.