@xzyfer xzyfer released this Dec 7, 2016 · 124 commits to master since this release

LibSass started almost 4 years ago with the singular goal to be a drop in
replacment for Ruby Sass. Since then @hcatlin, @akhleung, @mgreter, and @xzyfer
have been chasing the lofty goal of Sass 3.4. compatibility.

This release marks the completion of that major milestone, and we couldn't be
more excited to release LibSass 3.4 today! 🎉

Sass 3.4

Over the last couple years we've worked very closely with the Ruby Sass team to
reach Sass 3.4 compatibility.

It's become clear that need to draw a line in sand with exactly how exactly
we can match Sass 3.4, especially in the face of changes in Sass 3.5.

With this release the LibSass team is marking the completion of active
development on Sass 3.4 compatibility. From today we'll focus our efforts on
Sass 3.5 compatibility, first prioritising CSS compatibility features like
support for CSS custom property and CSS grids.

Improves to @at-root

@at-root has mostly worked since it's introduction to LibSass but there have
always been issue when it was combined with conditions (like @if) or mixins.
These issues were due to a fundamental difference in the LibSass implementation.
The difference has been addressed, so @at-root is now fully supported.

You can read more about the specifics of this issue in #2089

Delayed Values

Knowing when to evaluate a string, function, do concatenation, or perform math
is a complicated problem with many edge cases. @mgreter has continued his work
on improving the accuracy of these decisions.

Continued improvements to @extend

@extend is hard. With every release we get better at it and this release is no

Memory improvments

@mgreter has done some great work on improving our memory usage when dealing
with large maps, and lists. He's not done yet, keep your eyes peeled for further
improvments in upcomming releases.

  • Improve memory footprint when evaluating in loops (@mgreter, #2171)

Support list functions on maps

Implementing Sass maps was my first major contribution to LibSass. A couple
year later I can finally all the job complete with support for maps in list


@mgreter and @nschonni have made some significant improvements to our
sourcemaps. You can read more about the specifics in the bug links below.

  • Bugfixes for source maps (@mgreter, #2216)
    • Fixes parent selector mappings
    • Fixes media block/query mappings
    • Fixes range over binary expressions
    • Don't include semicolon for statics
    • Fixes variable assignment mappings
  • Make paths in source comments relative to CWD (@mgreter, #2219)
  • Implement source_map_file_urls option (@mgreter, #2220)
  • Re-order the sourcemap writing to match spec (@nschonni, #2193)