Welcome the stable 3.5 LibSass release 🎉 🎉 🎉
This release contains most Sass 3.5 features, and many many bug fixes and optimisations.
Features
- Implement trailing commas in parameters and arguments (#2070, @xzyfer)
- Implement deprecation warning for ID strings that look like colors (#2302, @xzyfer)
- Implement
content-exists
function (#2266, @xzyfer) - Implement support for passing
var()
to CSS functions (#2244, @xzyfer) - Implement first class functions (#2277 #2275, @xzyfer)
- Implement nesting guard to avoid "out of stack space" (#2438, @mgreter)
- Implement exponents for numbers (#2465, @mgreter)
- Implement long file path support for Windows (#2477, @mgreter)
- Implement case modifier for attribute selector (#2509, @mgreter)
- Implement warning for double parent selectors (#2522, @mgreter)
- Implement support for custom property syntax (#2076, @xzyfer)
- Implement support for custom-property feature flag (#2076, @xzyfer)
Optimisations
- Performance improvements (#2339, @mgreter)
- Fix memory leak by removing previously unused code (#2505, @mgreter)
- Fix memory leak of custom functions signature (#2553, @mgreter)
Community
- Add libsass-python to Readme (#2546, @asottile)
- Update link to go-libsass (#2340 #2410, @drewwells)
Fixes
- Fix media query stack and eval issue (#2341, @mgreter)
- Fix Attribute Selector equal compare operator (#2347, @mgreter)
- Fix segfault for varargs with non-string keys (#2352, @mgreter)
- Fix Element Selector compare operators (#2347, @mgreter)
- Fix compiler issue with spec regression on NetBSD 6.1 (#2357, @mgreter)
- Fix some segfaults caused by the parser being too forgiving (#2367, @xzyfer)
- Fix segfault with invalid map keys (#2368, @xzyfer)
- Fix null pointer dereference in css_error (#2369, @xzyfer)
- Fix bug when parsing selector schemas (#2371, @xzyfer)
- Fix null pointer dereference when parsing selector schemas (#2371, @2372)
- Fix
.editorconfig
(#2380, @brucek) - Fix compiler issue with spec regression on NetBSD 6.1 (#2357, @mgreter)
- Fix segfault when extending pseudo selectors failed (#2366, @mgreter)
- Fix parser for urls looking like ruleset selectors (#2376, @mgreter)
- Fix use of non-portable
std::to_string
(#2385, @mgreter) - Fix use of non-portable
strdup
(#2459, @asottile) - Fix unary slash expressions (#2349 #2384, @mgreter)
- Fix missing error for trailing comma in selector list (#2365, @mgreter)
- Fix selector and binominal look ahead (#2346, @mgreter)
- Fix hex escape handling in interpolation (#2320, @mgreter)
- Fix wrong parsing of calc functions as number units (#2382, @mgreter)
- Fix incorrect comment evaluation for compressed output (#2359, @mgreter)
- Fix parent selector handling in selector schema (#2358, @mgreter)
- Fix parameter vararg and keyword handling (#2394, @mgreter)
- Fix a few minor memory leaks (#2400, @mgreter)
- Fix issue with invalid error indicator (#2404, @mgreter)
- Fix selector parsing and url regression (#2429, @mgreter)
- Fix null ptr segv on invalid vararg (#2437, @mgreter)
- Fix segfault in selector extend edge-case (#2437, @mgreter)
- Fix segfault in selector extend edge-case (#2437, @mgreter)
- Fix segfault in selector append edge-case (#2437, @mgreter)
- Fix ref-counted value handling in
if
function (#2437, @mgreter) - Fix segfault in at-root cssize edge-case (#2439, @mgreter)
- Fix file content malloc to avoid reading beyond buffer (#2440, @mgreter)
- Fix case-sensitive lookup to named color map (#2462, @asottile)
- Fix shebang for tap-driver (#2466, @naroga)
- Fix segfault in parser edge case (#2446, @mgreter)
- Fix memory corruption on error in parse_selector_schema (#2484, @mgreter)
- Fix autoconf path for sassc tester (#2492, @mgreter)
- Fix output of invisible
@support
blocks (#2488, @mgreter) - Fix
to_value
for bracketed lists (#2467, @mgreter) - Fix propagation of named rest arguments (#2480, @mgreter)
- Fix
@extend
of wrapped selectors (#2468, @mgreter) - Fix wrapped pseudo selector handling (#2464 #2383, @mgreter)
- Fix minor issue with attribute selector unification (#2053, @mgreter)
- Fix issue when passing restargs to call (#2472, @mgreter)
- Fix compressing of colors in selectors (#2232, @mgreter)
- Fix missing error on selector with invalid quote mark (#2082, @mgreter)
- Fix travis-ci mac OSX builds (#2527, @mgreter)
- Fix endless loop comparing Selector_List to List (#2516 #2517, @mgreter)
- Fix SmartOS/Solaris build regression (#2519, @mgreter)
- Fix to connect parent selector only once (#2520, @mgreter)
- Fix whitespace issue for wrapped selectors (#2366, @mgreter)
- Fix missing error if cwd goes missing (#2513, @mgreter)
- Fix missing error when mixin ruleset in root has parent selector (#2482, @mgreter)
- Fix sourcemap crutch once again (#2312, @mgreter)
- Fix parser state column following static values (#2542, @mgreter)
- Fix error indicator not being Unicode aware (#2404, @mgreter)
- Fix error sourcemaps not being fully Unicode aware (#2319, @mgreter)
- Fix some compiler warnings (#2547, @mgreter)
- Fix math with multiple units (#2549, @mgreter)
- Fix css test for interpolated numbers (#2560, @mgreter)
- Fix null pointer access in nesting check (sass/sassc#222 sass/sassc#223, @mgreter)
- Fix
@else
possibly producing invalid output (#2569, @xzyfer) - Fix parsing of @supports declarations (#2452, @xzyfer)