Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 4043 lines (2799 sloc) 139.39 kB
04658ce @chriseppstein [Sass] Add a changelog.
chriseppstein authored
1 # Sass Changelog
2
3 * Table of contents
4 {:toc}
5
14d88e3 @nex3 Better unify selectors containing unique simple selectors.
nex3 authored
6 ## 4.0.0 (Unreleased)
7
8 * Combine ids and `:root` when unifying selectors with `@extend` and selector
9 functions.
10
90e7515 @nex3 Changelog for 8091bcea.
nex3 authored
11 * Add a `$weight` parameter to `invert()`.
12
cc96f0c @chriseppstein Handle floating point errors more gracefully.
chriseppstein authored
13 ## 3.4.19 (UNRELEASED)
14
15 * Sass numeric equality now better handles float-point errors. Any
16 numbers that are within `1 / (10 ^ (precision + 1))` of each other are
17 now considered equal.
18
3761650 @chriseppstein 3.4.18
chriseppstein authored
19 ## 3.4.18 (25 August 2015)
20
21 * A fix in 3.4.17 to address unecessary semi-colons in compressed mode
22 was too aggressive and removed some that *were* necessary. This is now
23 fixed.
24
58578bd @chriseppstein Update CHANGELOG for 3.4.17
chriseppstein authored
25 ## 3.4.17 (21 August 2015)
26
27 * Allow passing calc values to rgb/hsl color constructors.
28
29 * The source map end character for lists now correctly uses the end of
30 the list instead of the end of the first element in the list.
845605a @nex3 Merge remote-tracking branch 'origin/stable' into stable
nex3 authored
31
32 * Fix up some edge cases where extra semicolons could be added to unknown
33 directives in compressed mode.
34
58578bd @chriseppstein Update CHANGELOG for 3.4.17
chriseppstein authored
35 * If you try to do a stupid color operation with a stupid value, the
36 error message will now be less stupid than it was.
37
1fc8d6d @nex3 Fix an @extend edge case with child selectors.
nex3 authored
38 * Make `is-superselector("a > c d", "a > b c d")` return `false`. This also
39 fixes some related `@extend` behavior.
40
215581a @nex3 Be consistent about forcing division in lists.
nex3 authored
41 * A `/` in a parenthesized list is consistently treated as a plain `/` unless it
42 meets the criteria for being treated as division.
43
fdd9021 @nex3 Fix literal /es in sass-convert.
nex3 authored
44 * In `sass-convert`, ensure that literal `/`es are preserved.
45
b4bbd96 @nex3 Bump VERSION to 3.4.16.
nex3 authored
46 ## 3.4.16 (10 July 2015)
fec183e @nex3 Add a changelog entry.
nex3 authored
47
48 * When converting from Sass to SCSS or vice versa, double-space around nested
49 rules the same as around top-level rules.
50
dc1f4f8 @nex3 Add compatibility with listen 3.
nex3 authored
51 * Compatibility with listen 3.
52
91e01d0 @nex3 Fix minus/hyphen ambiguity again.
nex3 authored
53 * Parse a minus operator with no surrounding whitespace (e.g. 20px-10px) the
54 same regardless of whether it's being used in a static property.
7d3c6c3 @xzyfer Fix some separator issues in compressed mode.
xzyfer authored
55
9d1000d @nex3 Bump VERSION to 3.4.15.
nex3 authored
56 ## 3.4.15 (22 June 2015)
2c537b1 @nex3 Further improve rounding.
nex3 authored
57
58 * Further improve rounding for various numeric operations.
59
70d302e @nex3 Be more explicit about immutable functions.
nex3 authored
60 * Be more explicit in the function documentation about functions being
61 immutable.
62
14ec0d0 @nex3 Properly round in operator-based color operations.
nex3 authored
63 * Improve rounding in operator-based color operations.
64
eb0c8ce @nex3 Deprecate working directory imports for stdin.
nex3 authored
65 ### Deprecations -- Must Read!
66
67 * When using `--stdin` with the `sass` or `scss` executables, importing relative
68 to the working directory is deprecated. Having the working directory on the
69 load path was deprecated in 3.3 and removed in 3.4, but due to an oversight
70 the deprecation process never happened for files read over standard input in
71 particular. This is the first step of that process.
72
2e0f33b @nex3 Bump VERSION to 3.4.14.
nex3 authored
73 ## 3.4.14 (22 May 2015)
e9fa4e3 @nex3 Add a CHANGELOG entry.
nex3 authored
74
75 * Further avoid race conditions when caching.
76
b7dce00 @nex3 Don't emit multiple unquote() warnings for the same line.
nex3 authored
77 * Only emit one warning for each line that uses the deprecated form of
78 `unquote()`.
79
e000e98 @nex3 Fix @supports parsing and emitting.
nex3 authored
80 * Stop parsing and emitting invalid `@supports` directives.
81
abb1543 @nex3 Deprecate 1em != 1 as well.
nex3 authored
82 * Add a deprecation warning for using `!=` to compare a number with units to a
83 number without. Such a warning already existed for `==`.
84
ac2dc4e @nex3 Round, don't truncate, color operation results.
nex3 authored
85 * Improve rounding of the results of color operations.
86
d26e6fa @nex3 Bump VERSION to 3.4.13.
nex3 authored
87 ## 3.4.13 (26 February 2015)
88
89 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.13).
4a97cea @nex3 Add text about hyphens and underscores to the reference.
nex3 authored
90
91 * Be clearer in the reference about hyphen/underscore equivalence.
92
4e41909 @nex3 Fix @keyframes parsing in CSS.
nex3 authored
93 * `@keyframes` rules are now converted from CSS properly.
94
787b6ef @nex3 Fix an @extend edge-case crash.
nex3 authored
95 * Extending a selector that contains a non-final pseudo-class no longer crashes.
96
cc3a41a @nex3 Unify :root when extending.
nex3 authored
97 * When `@extending`, only a single `:root` element will be retained.
98
ddb2aa1 @nex3 Bump VERSION to 3.4.12.
nex3 authored
99 ## 3.4.12 (13 February 2015)
100
101 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.12).
cda7a32 @nex3 Fix interpolation in interpolation.
nex3 authored
102
103 * Non-string interpolation within string interpolation is now parsed correctly.
104
54c9ee4 @nex3 Fix random() with an integer represented by a float.
nex3 authored
105 * `random()` now returns the correct result if it has an integer value
106 but a float representation.
107
57513c6 @nex3 Bump VERSION to 3.4.11.
nex3 authored
108 ## 3.4.11 (30 January 2015)
109
110 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.11).
a487d27 @nex3 Fix parent selectors both in and out of function pseudos.
nex3 authored
111
112 * Parent selectors used both outside and inside a pseudo selector
113 (e.g. `&:not(&--foo)`) now compile correctly.
b6f455a @nex3 Fix interpolation in multiline indented selectors.
nex3 authored
114
115 * Interpolation in a multiline indented-syntax selector is no longer
116 omitted.
4214c81 @nex3 Add a stack trace to the unquote() deprecation warning.
nex3 authored
117
118 * Add a stack trace to the `unquote()` deprecation warning.
7203510 @nex3 Add extra parens when converting space lists.
nex3 authored
119
120 * When converting a space-separated list with `sass-convert`, add
121 parentheses when they make it easier to read even if they aren't
122 strictly required.
625fb60 @nex3 Deprecate update semantics without --update.
nex3 authored
123
124 ### Deprecations -- Must Read!
125
126 * Compiling directories on the command line without using either
127 `--watch` or `--update` is deprecated. This only worked
128 inconsistently before.
a487d27 @nex3 Fix parent selectors both in and out of function pseudos.
nex3 authored
129
57513c6 @nex3 Bump VERSION to 3.4.11.
nex3 authored
130 ## 3.4.10 (16 January 2015)
9bc12a9 @nex3 Bump VERSION to 3.4.10.
nex3 authored
131
132 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.10).
fbb689c @nex3 Add a changelog entry for previous.
nex3 authored
133
134 * `inspect()` no longer adds extra parentheses to nested maps.
490c2f4 @nex3 Fix the docs for random().
nex3 authored
135
136 * Update the documentation of the `random()` function to accurate reflect its
137 behavior.
138
dc44975 @nex3 Deprecate passing non-string values to unquote().
nex3 authored
139 ### Deprecations -- Must Read!
140
141 * Passing a non-string value to the `unquote()` function didn't do
142 anything useful and is now deprecated. In future, this function will
143 follow its documentation and emit an error if a non-string value is
144 passed.
145
a28061e @nex3 Deprecate functions name calc, element, expression, or url.
nex3 authored
146 * Defining a function named `calc`, `element`, `expression`, or `url`
147 (or the former two with a vendor-style prefix) is now deprecated.
148 These functions were already shadowed by CSS functions with special
149 parsing rules, and so were impossible to use anyway. In the future,
150 attempting to define these functions will throw an error.
151
008d13e @nex3 Bump VERSION to 3.4.9.
nex3 authored
152 ## 3.4.9 (24 November 2014)
153
154 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.9).
d45ab0b @nex3 Fix interpolation conversion in calc().
nex3 authored
155
4c003d3 @nex3 Compatibility with listen >=2.7.12.
nex3 authored
156 * Fix an incompatibility with listen 2.7.12 and later.
157
d45ab0b @nex3 Fix interpolation conversion in calc().
nex3 authored
158 * Properly handle interpolation within `calc()` and similar functions
159 with `sass-convert`.
160
a62f817 @nex3 Fix @extend !optional conversion to SCSS.
nex3 authored
161 * Properly handle conversion of `@extend` with `!optional` to SCSS.
162
900038f @nex3 Don't add extra whitespace when converting @at-root to SCSS.
nex3 authored
163 * Properly handle conversion of `@at-root` with a selector to SCSS.
164
4c003d3 @nex3 Compatibility with listen >=2.7.12.
nex3 authored
165 * Don't crash on selectors containing escape codes.
166
ea254a0 @nex3 Bump VERSION to 3.4.8.
nex3 authored
167 ## 3.4.8 (14 November 2014)
168
169 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.8).
a128ada @nex3 Don't add complex selectors to :not() if that would break browsers.
nex3 authored
170
171 * When `@extending` selectors inside `:not()`, don't add a complex
172 selector where none existed before to avoid breaking selectors on
173 browsers that don't support that.
174
85b3be9 @nex3 Add a deprecation warning for using units in rgba/hsla alpha parameters.
nex3 authored
175 * Add a deprecation warning for passing numbers with units to the alpha
176 arguments to `rgba()` and `hsla()`. In a future release, a percentage will be
177 interpreted according to [the spec][alpha value] and other units will produce
178 errors.
179
180 [alpha value]: http://dev.w3.org/csswg/css-color/#typedef-alpha-value
181
92e3b02 @nex3 Bump VERSION to 3.4.7.
nex3 authored
182 ## 3.4.7 (31 October 2014)
d7a986b @nex3 Fix superselector detection for non-descendant selectors.
nex3 authored
183
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
184 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.7).
185
b330e15 @nex3 Fix selector pseudoclass extension.
nex3 authored
186 * Stop crashing when extending selector pseudoclasses such as `:not()`.
187
d7a986b @nex3 Fix superselector detection for non-descendant selectors.
nex3 authored
188 * `@extend` resolution and `is-superselector()` no longer consider `.foo > .baz`
189 to be a superselector of `.foo > .bar > .baz`.
190
979482a @xzyfer Add set-nth to the list functions group in the function documentation
xzyfer authored
191 * Update documentation for `set-nth`
192
ec90542 @nex3 Deprecate unitless numbers equaling unitful numbers.
nex3 authored
193 ### Deprecations -- Must Read!
194
195 * Sass will now print a warning when `==` is used for numbers when one
196 number doesn't have units, the other does, and their numeric values
197 are equal. In the future, unitless numbers will never be equal to
198 numbers with units.
199
5389942 @nex3 Bump VERSION to 3.4.6.
nex3 authored
200 ## 3.4.6 (16 October 2014)
7ac9669 @nex3 Make parent selectors work in selector pseudoclasses.
nex3 authored
201
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
202 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.6).
203
7ac9669 @nex3 Make parent selectors work in selector pseudoclasses.
nex3 authored
204 * Parent selectors now work in selector pseudoclasses (for example, `:not(&)`).
205
7ac58c2 @nex3 Fix a crash for @for loops.
nex3 authored
206 * `@for` loops no longer crash when one bound is an integer-like float.
207
11e60d8 @nitoyon Fix exception on Sass::Importers::Filesystem#eql?
nitoyon authored
208 * Fix exception on `Sass::Importers::Filesystem#eql?`.
209
899fb25 @nex3 Bump VERSION to 3.4.5.
nex3 authored
210 ## 3.4.5 (19 September 2014)
ff9fd27 @nex3 Fix sass-convert --recursive.
nex3 authored
211
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
212 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.5).
213
ff9fd27 @nex3 Fix sass-convert --recursive.
nex3 authored
214 * Fix `sass-convert --recursive`.
215
e68d72b @nex3 Watch the working directory for changed partials with sass --watch.
nex3 authored
216 * When using `sass --watch`, imported stylesheets within the working directory
217 will be watched for changes. This matches the behavior of Sass 3.3.
218
a603f00 @nex3 Set exit code 65 when the compiler fails due to a Sass error.
nex3 authored
219 * Set exit code 65, indicating a [data error][], when the compiler fails due to
220 a Sass error.
221
222 [data error]: http://www.freebsd.org/cgi/man.cgi?query=sysexits
223
d0dbe59 @nex3 Bump VERSION to 3.4.4.
nex3 authored
224 ## 3.4.4 (12 September 2014)
93232f4 @nex3 Work around ruby/ruby#713.
nex3 authored
225
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
226 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.4).
227
93232f4 @nex3 Work around ruby/ruby#713.
nex3 authored
228 * Produce more useful error messages when paths have incompatible encodings on
229 Windows.
230
4fabedf @nex3 Support arbitrary identifiers in keyframes selectors.
nex3 authored
231 * Allow `@keyframes` selectors to use arbitrary identifiers to support libraries
232 like Skrollr.
233
1d8dc02 @nex3 Preserve double-star comments in sass-convert.
nex3 authored
234 * `sass-convert` now preserves double-star mutliline comments (e.g.
235 `/** foo */`).
236
56a8987 @nex3 Bump VERSION to 3.4.3.
nex3 authored
237 ## 3.4.3 (4 September 2014)
12b6ef6 @nex3 Add a CHANGELOG entry for the previous fix.
nex3 authored
238
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
239 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.3).
240
12b6ef6 @nex3 Add a CHANGELOG entry for the previous fix.
nex3 authored
241 * Don't crash when a non-existent directory is on the load path.
242
a1865aa @nex3 Fix --watch on Windows.
nex3 authored
243 * Fix `--watch` on Windows.
244
159990d @nex3 Add a warning for too many varargs.
nex3 authored
245 * Passing too many arguments to a function via `...` is now a warning rather
246 than silently discarding additional arguments. In future versions of Sass,
247 this will become an error.
248
33010e4 @nex3 Bump VERSION to 3.4.2.
nex3 authored
249 ## 3.4.2 (28 August 2014)
0f06861 @nex3 Fix sass-convert output format detection.
nex3 authored
250
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
251 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.2).
252
0f06861 @nex3 Fix sass-convert output format detection.
nex3 authored
253 * Properly detect the output format from the output filename for `sass-convert`.
254
1081acf @nex3 Properly parse interpolation immediately following a string.
nex3 authored
255 * Properly parse interpolation immediately following a string.
256
d8ac7a4 @nex3 Fix --watch with symlinks.
nex3 authored
257 * Fix `--watch` for symlinked files and directories.
258
ca2f302 @nex3 Bump VERSION to 3.4.1.
nex3 authored
259 ## 3.4.1 (22 August 2014)
97bedb1 @nex3 Fix attribute selector parsing in almost_any_value.
nex3 authored
260
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
261 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.1).
262
ea9a556 @nex3 Fix --watch.
nex3 authored
263 * Fix `--watch`.
264
c717726 @nex3 Avoid generating :not selectors that fail on older browsers.
nex3 authored
265 * Don't generate `:not()` selectors that contain more than one complex selector.
266
97bedb1 @nex3 Fix attribute selector parsing in almost_any_value.
nex3 authored
267 * Fix a parsing bug with attribute selectors containing single quotes.
268
16a88c9 @nex3 Don't bubble rulesets into @keyframes.
nex3 authored
269 * Don't put rulesets inside `@keyframes` directives when bubbling them up to the
270 top level.
271
a14866b @nex3 Don't emit busted property-less @keyframes rules.
nex3 authored
272 * Properly handle `@keyframes` rules that contain no properties.
273
a1e4fd4 @nex3 Handle --sourcemap=none when updating individual files.
nex3 authored
274 * Properly handle `--sourcemap=none` with `--update`.
275
9744829 @nex3 Don't notify when unwatched templates are deleted.
nex3 authored
276 * Silence "template deleted" notifications for templates that weren't being
277 watched.
278
510770f @nex3 Fix variable assignment semantics in top-level control structures.
nex3 authored
279 * Top-level control structures can assign to global variables without needing
280 `!global`. Variables first defined in these structures will still be local
281 without `!global`.
282
84e5525 @nex3 Bump VERSION to 3.4.0.
nex3 authored
283 ## 3.4.0 (18 August 2014)
e6f0edb @nex3 Revert "Remove support for script &."
nex3 authored
284
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
285 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.4.0).
286
e6f0edb @nex3 Revert "Remove support for script &."
nex3 authored
287 ### Using `&` in SassScript
288
289 For a long time, Sass has supported a special
290 {file:SASS_REFERENCE.md#parent-selector "parent selector", `&`}, which is used
291 when nesting selectors to describe how a nested selector relates to the
292 selectors above it. Until now, this has only been usable in selectors, but now
293 it can be used in SassScript as well.
294
295 In a SassScript expression, `&` refers to the current parent selector. It's a
296 comma-separated list of space-separated lists. For example:
297
298 .foo.bar .baz.bang, .bip.qux {
299 $selector: &;
300 }
301
302 The value of `$selector` is now `((".foo.bar" ".baz.bang"), ".bip.qux")`. The
303 compound selectors are quoted here to indicate that they're strings, but in
304 reality they would be unquoted.
305
306 If there is no parent selector, the value of `&` will be null. This means you
307 can use it in a mixin to detect whether a parent selector exists:
308
309 @mixin does-parent-exist {
310 @if & {
311 &:hover {
312 color: red;
313 }
467bd89 @chriseppstein Fix typo
chriseppstein authored
314 } @else {
e6f0edb @nex3 Revert "Remove support for script &."
nex3 authored
315 a {
316 color: red;
317 }
318 }
319 }
320
f701698 @nex3 Add a CHANGELOG entry about selector functions.
nex3 authored
321 ### Selector Functions
322
323 Complementing the ability to use `&` in SassScript, there's a new suite of
324 functions that use Sass's powerful `@extend` infrastructure to allow users to
325 manipulate selectors. These functions take selectors in the fully-parsed format
326 returned by `&`, plain strings, or anything in between. Those that return
327 selectors return them in the same format as `&`.
328
329 * The {Sass::Script::Functions#selector_nest `selector-nest($selectors...)`
330 function} nests each selector within one another just like they would be
331 nested in the stylesheet if you wrote them separated by spaces. For example,
332 `selector-nest(".foo, .bar", ".baz")` returns `.foo .baz, .bar .baz` (well,
333 technically `(("foo" ".baz") (".bar" ".baz"))`).
334
335 * The {Sass::Script::Functions#selector_append `selector-append($selectors...)`
336 function} concatenates each selector without a space. It handles selectors
337 with commas gracefully, so it's safer than just concatenating the selectors
338 using `#{}`. For example, `selector-append(".foo, .bar", "-suffix")` returns
339 `.foo-suffix, .bar-suffix`.
340
341 * The {Sass::Script::Functions#selector_extend `selector-extend($selector,
342 $extendee, $extender)` function} works just like `@extend`. It adds new
343 selectors to `$selector` as though you'd written `$extender { @extend
344 $extendee; }`.
345
346 * The {Sass::Script::Functions#selector_replace `selector-replace($selector,
347 $original, $replacement)` function} replaces all instances of `$original` in
348 `$selector` with `$replacement`. It uses the same logic as `@extend`, so you
349 can replace complex selectors with confidence.
350
351 * The {Sass::Script::Functions#selector_unify `selector-unify($selector1,
352 $selector2)` function} returns a selector that matches only elements matched
353 by both `$selector1` and `$selector2`.
354
355 * The {Sass::Script::Functions#is_superselector `is-superselector($super, $sub)`
356 function} returns whether or not `$super` matches a superset of the elements
357 `$sub` matches.
358
359 * The {Sass::Script::Functions#simple_selectors `simple-selectors($selector)`
360 function} takes only a selector with no commas or spaces (that is, a [compound
361 selector](http://dev.w3.org/csswg/selectors4/#structure)). It returns the list
362 of simple selectors that make up that compound selector.
363
364 * The {Sass::Script::Functions#selector_parse `selector-parse($selector)`
365 function} takes a selector in any format accepted by selector functions and
366 returns it in the same format returned by `&`. It's useful for getting a
367 selector into a consistent format before manually manipulating its contents.
368
369 One of the most straightforward applications of selector functions and `&` is
370 adding multiple suffixes to the same parent selector. For example:
371
372 .list {
373 @at-root #{selector-append(&, "--big", &, "--active")} {
374 color: red;
375 }
376 }
377
4e9d149 @nex3 Add support for all the Values and Units level 3 units.
nex3 authored
378 ### Smaller Improvements
379
4da1c1a @nex3 Enable sourcemaps by default.
nex3 authored
380 * Sourcemaps are now generated by default when using the `sass` or `scss`
381 executables and when using Sass as a plugin. This can be disabled by passing
382 `--sourcemap=none` on the command line or setting the `:sourcemap` option to
383 `:none` in Ruby.
384
385 * If a relative URI from a sourcemap to a Sass file can't be generated, it will
386 now fall back to using an absolute "file:" URI. In addition,
387 `--sourcemap=file` can be passed on the command line to force all URIs to Sass
388 files to be absolute.
389
dd48bb9 @nex3 Support --sourcemap=inline for sourcesContent source maps.
nex3 authored
390 * To guarantee that a sourcemap will be portable, `--sourcemap=inline` can be
391 passed to include the full source text in the sourcemap. Note that this can
392 cause very large sourcemaps to be generated for large projects.
393
2a69d19 @nex3 Add a changelog entry.
nex3 authored
394 * `@extend` can now extend selectors within selector pseudoclasses such as
395 `:not` and `:matches`. This also means that placeholder selectors can be used
3bd7fc0 @nex3 Add several features detectable via feature-exists.
nex3 authored
396 within selector pseudoclasses. This behavior can be detected using
397 `feature-exists(extend-selector-pseudoclass)`.
2a69d19 @nex3 Add a changelog entry.
nex3 authored
398
f7d1439 @nex3 Add an @error directive.
nex3 authored
399 * Sass now supports an `@error` directive that prints a message as a fatal
400 error. This is useful for user-defined mixins and functions that want to
082c26b @nex3 Add a feature-exists feature for @error.
nex3 authored
401 validate arguments and throw useful errors for unexpected conditions. Support
402 for this directive can be detected using `feature-exists(at-error)`.
f7d1439 @nex3 Add an @error directive.
nex3 authored
403
b80a77a @nex3 Add a CHANGELOG entry for color representation preservation.
nex3 authored
404 * When using colors in SassScript, the original representation of the color will
405 be preserved wherever possible. If you write `#f00`, it will be rendered as
406 `#f00`, not as `red` or `#ff0000`. In compressed mode, Sass will continue to
407 choose the most compact possible representation for colors.
408
4e9d149 @nex3 Add support for all the Values and Units level 3 units.
nex3 authored
409 * Add support for unit arithmetic with many more units, including angles, times,
3bd7fc0 @nex3 Add several features detectable via feature-exists.
nex3 authored
410 frequencies, and resolutions. This behavior can be detected using
411 `feature-exists(units-level-3)`.
4e9d149 @nex3 Add support for all the Values and Units level 3 units.
nex3 authored
412
2b87b83 @nex3 Update encoding support to match the Syntax Level 3 spec.
nex3 authored
413 * Sass now follows the [CSS Syntax Level 3][encodings level 3]
414 specification for determining a stylesheet's encoding. In addition,
ef0a258 @alanhogan Correct changelog typo: “not only” → “now only”
alanhogan authored
415 it now only emits UTF-8 CSS rather than trying to match the source
2b87b83 @nex3 Update encoding support to match the Syntax Level 3 spec.
nex3 authored
416 encoding.
417
418 [encodings level 3]: http://www.w3.org/TR/2013/WD-css-syntax-3-20130919/#determine-the-fallback-encoding
419
ac554ff @nex3 Support scientific notation and identifier units in numbers.
nex3 authored
420 * Sass now allows numbers to be written using scientific notation. It will not
421 emit numbers in scientific notation until it's more widely supported in
422 browsers.
423
424 * Sass now allows almost any identifier to be used as a custom numeric unit.
425 Identifiers that are ambiguous with subtraction, such as `px-1px`, are
426 disallowed.
427
6434174 @nex3 Support ids in SassScript.
nex3 authored
428 * Sass now supports using ids as values in SassScript as defined in the CSS
429 Basic User Interface Module. They're treated as unquoted strings.
430
c24ed3c @nex3 Follow the CSS spec when parsing strings.
nex3 authored
431 * SassScript strings and `@import` directives now support the full CSS string
432 grammar. This includes handling escape codes and ignoring backslashes followed
433 by newlines.
434
f2946e1 @nex3 Support writing CSS exception information when not using --watch.
nex3 authored
435 * When the `sass` and `scss` executables encounter an error, they will now
436 produce a CSS file describing that error. Previously this was enabled only for
437 `--watch` and `--update` mode; now it's enabled whenever a CSS file is being
438 written to disk.
439
6c1613a @nex3 Add a changelog entry for command-line option changes.
nex3 authored
440 * The command-line `--help` documentation for the `sass`, `scss`, and
441 `sass-convert` executables is revised and re-organized.
442
c02feeb @nex3 Add a changelog entry and some more docs for the new map-remove.
nex3 authored
443 * The `map-remove` function now allows multiple map keys to be removed at once.
444
3db2df6 @nex3 Add a CHANGELOG entry for rebeccapurple.
nex3 authored
445 * The new `rebeccapurple` color is now supported.
446
100e4e8 @nex3 Clamp arguments to rgb/rgba/hsl/hsla.
nex3 authored
447 * The `rgb()`, `rgba()`, `hsl()`, and `hsla()` functions now follow the CSS spec
448 by clamping their arguments to the valid ranges rather than emitting an error.
449 Sass-specific color functions still throw errors for out-of-range values.
450
3fa938e @nex3 Add a CHANGELOG entry.
nex3 authored
451 * Sass will now emit a warning when a named color is used directly in
452 interpolation (`#{}`) in a context where the hex representation would likely
453 be invalid. This should help users avoid having their stylesheets break in
454 compressed output mode.
57c47ce @nex3 Avoid emitting newlines for bubbled media queries in compressed mode.
nex3 authored
455
456 * Fix a bug where some `@media` queries would be followed by newlines in
457 compressed mode.
458
85c7160 @nex3 Add a changelog entry about index() returning null.
nex3 authored
459 ### Backwards Incompatibilities -- Must Read!
460
2283d29 @nex3 Rip out the deprecated addition of . to the load path.
nex3 authored
461 * The current working directory will no longer be placed onto the Sass load path
462 by default. If you need the current working directory to be available,
463 set `SASS_PATH=.` in your shell's environment.
464
f16ef47 @nex3 Rip out support for passing lists of pairs to map functions.
nex3 authored
465 * Sass will now throw an error when a list of pairs is passed to a map function.
466
f2e6e22 @nex3 Rip out deprecated argument names.
nex3 authored
467 * `mix()`'s deprecated argument names, `$color-1` and `$color-2`, will now throw
468 errors. Use `$color1` and `$color2` instead.
469
470 * `comparable()`'s deprecated argument names, `$number-1` and `$number-2`, will
471 now throw errors. Use `$number1` and `$number2` instead.
472
473 * `percentage()`'s, `round()`'s, `ceil()`'s, `floor()`'s, and `abs()`'s
474 deprecated argument name, `$value`, will now throw an error. Use `$number`
475 instead.
476
85c7160 @nex3 Add a changelog entry about index() returning null.
nex3 authored
477 * `index()` now returns `null` rather than `false` if the value isn't found in
478 the list.
479
f0698e1 @nex3 Make local variables shadow globals by default.
nex3 authored
480 * All variable assignments not at the top level of the document are now local by
481 default. If there's a global variable with the same name, it won't be
482 overwritten unless the `!global` flag is used. For example, `$var: value
3bd7fc0 @nex3 Add several features detectable via feature-exists.
nex3 authored
483 !global` will assign to `$var` globally. This behavior can be detected using
484 `feature-exists(global-variable-shadowing)`.
f0698e1 @nex3 Make local variables shadow globals by default.
nex3 authored
485
e8b1fb7 @nex3 Deprecate rather than disallow raw newlines in strings.
nex3 authored
486 * Unescaped newlines in SassScript strings in SCSS are deprecated, since they're
487 invalid according to the CSS string grammar. To include a newline in a string,
488 use "\a" or "\a " as in CSS.
c24ed3c @nex3 Follow the CSS spec when parsing strings.
nex3 authored
489
fe6b984 @nex3 Deprecate the subject selector operator.
nex3 authored
490 * The subject selector operator, `!`, is deprecated and will produce a warning
491 if used. The `:has()` selector should be used instead.
492
e4fc7f6 @nex3 Propagate quote-removal down through interpolated structures.
nex3 authored
493 * Quoted strings in lists will now be unquoted when those lists are interpolated
494 in anything else. This makes it much easier to add user-defined strings to
495 selector lists returned by `&`. This is unlikely to be behavior anyone's
496 relying on and would be difficult to deprecate gracefully, so there will be no
497 deprecation period for this change.
498
86e991a @nex3 Bump VERSION to 3.3.14.
nex3 authored
499 ## 3.3.14 (1 August 2014)
071b4b5 @nex3 Fix special function parsing.
nex3 authored
500
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
501 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.14).
502
071b4b5 @nex3 Fix special function parsing.
nex3 authored
503 * Improved edge-case parsing of special-syntax functions like `calc()` and
504 `expression()`.
505
f3d2dbd @nex3 Fix --update with absolute Windows paths.
nex3 authored
506 * Fixed a bug when using `--update` with absolute paths on Windows.
507
bfb8d0d @chriseppstein Version 3.3.13
chriseppstein authored
508 ## 3.3.13 (31 July 2014)
509
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
510 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.13).
511
bfb8d0d @chriseppstein Version 3.3.13
chriseppstein authored
512 * Fixed a bug on ruby 2.0 where watching several folders was broken.
513 Work around for a [bug in listen](https://github.com/guard/listen/issues/243).
514
bccfc70 @chriseppstein 3.3.12
chriseppstein authored
515 ## 3.3.12 (29 July 2014)
e5c73b0 @chriseppstein CHANGELOG updates for sass compiler improvements.
chriseppstein authored
516
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
517 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.12).
518
e5c73b0 @chriseppstein CHANGELOG updates for sass compiler improvements.
chriseppstein authored
519 * The Sass::Compiler class has a number of new minor features to support
6210346 @chriseppstein Merge remote-tracking branch 'nex3/stable' into stable
chriseppstein authored
520 Compass's compilation needs:
e5c73b0 @chriseppstein CHANGELOG updates for sass compiler improvements.
chriseppstein authored
521
522 * The template_deleted event of the Sass Compiler class now runs before the
523 side-effect events.
524 * The Sass Compiler class can now be used to clean output files.
525 * The Sass Compiler class now exposes an updating_stylesheets callback
526 that runs before stylesheets are mass-updated.
527 * The Sass Compiler class now exposes a the compilation_starting callback
528 that runs before an individual stylesheet is compiled.
529 * The Sass Compiler class now runs the updated_stylesheets callback
530 after stylesheets are mass-updated.
531 * The Sass Compiler can now be made to skip the initial update
532 when watching.
533
7389dba @nex3 Bump VERSION to 3.3.11.
nex3 authored
534 ## 3.3.11 (25 July 2014)
74e8157 @nex3 Correctly handle 0 in str-slice.
nex3 authored
535
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
536 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.11).
537
74e8157 @nex3 Correctly handle 0 in str-slice.
nex3 authored
538 * `str-slice()` now correctly returns an empty string when `$end-at` is 0.
539
0592350 @nex3 Bump VERSION to 3.3.10
nex3 authored
540 ## 3.3.10 (11 July 2014)
adc12b9 @nex3 Properly URL-encode URLs in sourcemaps.
nex3 authored
541
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
542 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.10).
543
adc12b9 @nex3 Properly URL-encode URLs in sourcemaps.
nex3 authored
544 * Properly encode URLs in sourcemaps.
545
9202b95 @nex3 Bump VERSION to 3.3.9.
nex3 authored
546 ## 3.3.9 (27 June 2014)
9e58d2e @nex3 Disallow functions named "and", "or", or "not".
nex3 authored
547
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
548 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.9).
549
9e58d2e @nex3 Disallow functions named "and", "or", or "not".
nex3 authored
550 * Defining a function named "and", "or", or "not" is now an error at
551 definition-time. This isn't considered a backwards-incompatible change because
552 although these functions could be defined previously, they could never be
553 successfully invoked.
554
21366e5 @nex3 Add a changelog entry for File.exists?
nex3 authored
555 * Fix deprecation warnings for using `File.exists?` on recent Ruby versions.
556
1f4c5a2 @nex3 Properly check nesting within @at-root.
nex3 authored
557 * Fix a bug where `@extend` within `@at-root` could crash the compiler.
558
759090a @nex3 Don't crash if we get an Errno::EPERM when chmodding.
nex3 authored
559 * Gracefully handle the inability to change cache files' permissions.
560
a2fd37e @nex3 Bump VERSION to 3.3.8.
nex3 authored
561 ## 3.3.8 (20 May 2014)
b5c2c53 @nex3 Don't split a block with @at-root unless necessary.
nex3 authored
562
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
563 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.8).
564
b5c2c53 @nex3 Don't split a block with @at-root unless necessary.
nex3 authored
565 * When a use of `@at-root` doesn't add any new rules, it will no longer split
566 its containing block in two ([issue 1239][]).
567
1675d67 @nex3 Fix a sass-convert comma-folding bug.
nex3 authored
568 * Fix a `sass-convert` bug where rules would occasionally be folded together
569 incorrectly when converting from CSS to Sass.
570
274cd1b @nex3 Fix @media interpolation errors.
nex3 authored
571 * Fix error messages for dynamically-generated `@media` queries with empty
572 queries.
573
b5c2c53 @nex3 Don't split a block with @at-root unless necessary.
nex3 authored
574 [issue 1239]: https://github.com/nex3/sass/issues/1239
575
03fe0c9 @nex3 Bump VERSION to 3.3.7.
nex3 authored
576 ## 3.3.7 (2 May 2014)
1059b98 @nex3 Properly set default options in Rails 3.0.
nex3 authored
577
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
578 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.7).
579
1059b98 @nex3 Properly set default options in Rails 3.0.
nex3 authored
580 * Properly set the default `Sass::Plugin` options in Rails 3.0.
581
2833775 @nex3 Add a changelog entry.
nex3 authored
582 * Fix a few cases where source ranges were being computed incorrectly for
583 SassScript expressions.
584
4e1d0ce @nex3 Bump VERSION to 3.3.6.
nex3 authored
585 ## 3.3.6 (25 April 2014)
d45d0d2 @nex3 Respect CSS "/" in Number#inspect.
nex3 authored
586
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
587 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.6).
588
d45d0d2 @nex3 Respect CSS "/" in Number#inspect.
nex3 authored
589 * The `inspect()` function will only interpret `/` between numbers as division
590 under the same circumstances that it would be interpreted as division when
591 used in a property.
592
fd0718d @nex3 Fix another comment-parsing bug.
nex3 authored
593 * Fix several cases where parsing pathological comments would cause Sass to take
fb36e65 @nex3 Fix a comment-parsing bug.
nex3 authored
594 exponential time and consume all available CPU.
595
48f303d @nex3 Bump VERSION to 3.3.5.
nex3 authored
596 ## 3.3.5 (14 April 2014)
66f4e76 @nex3 Bundle a fork of listen that falls back to polling.
nex3 authored
597
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
598 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.5).
599
66f4e76 @nex3 Bundle a fork of listen that falls back to polling.
nex3 authored
600 * Fix `LoadError`s when using `--watch` with the bundled version of Listen.
601
0cc2437 @nex3 Properly parse negative numbers preceded by a comment.
nex3 authored
602 * Properly parse negative numbers preceded by a comment.
603
dafaa32 @nex3 Avoid unnecessary interpolation in `sass-convert`.
nex3 authored
604 * Avoid unnecessary interpolation when running `sass-convert` on media queries.
605
ded47cb @nex3 Add a changelog entry.
nex3 authored
606 * Avoid freezing Ruby's `true` or `false` values.
607
e267c43 @nex3 Bump VERSION to 3.3.4.
nex3 authored
608 ## 3.3.4 (21 March 2014)
b5e20db @nex3 Improve the warning message for index(...) == false.
nex3 authored
609
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
610 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.4).
611
b5e20db @nex3 Improve the warning message for index(...) == false.
nex3 authored
612 * Improve the warning message for `index(...) == false`.
613
e72c6d7 @nex3 Fix the use of unknown directives within @at-root.
nex3 authored
614 * Fix the use of directives like `@font-face` within `@at-root`.
615
9b10d43 @nex3 Fix a Windows path canonicalization bug.
nex3 authored
616 * Fix a `sass --watch` issue on Windows where too many files would be updated
617 on every change.
618
63bc4a2 @nex3 Add a changelog entry for freezing nil.
nex3 authored
619 * Avoid freezing Ruby's `nil` value.
620
274bebd @nex3 Bump VERSION to 3.3.3.
nex3 authored
621 ## 3.3.3 (14 March 2014)
4fefedb @nex3 Add a changelog entry for the marshaling fix.
nex3 authored
622
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
623 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.3).
624
4fefedb @nex3 Add a changelog entry for the marshaling fix.
nex3 authored
625 * Fix a bug in Sass that was causing caching errors when unserializable objects
626 were in the Ruby options hash. Note that these errors may persist when using
627 Sass with Sprockets until the Sprockets importer is made serializable.
628
827e186 @nex3 Bump VERSION to 3.3.2.
nex3 authored
629 ## 3.3.2 (11 March 2014)
fedf159 @nex3 Fix a Listen loading bug.
nex3 authored
630
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
631 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.2).
632
fedf159 @nex3 Fix a Listen loading bug.
nex3 authored
633 * Fix a bug with loading the bundled version of Listen.
634
bd070e2 @nex3 Bump VERSION to 3.3.1.
nex3 authored
635 ## 3.3.1 (10 March 2014)
c6ebdfd @nex3 Add changelog entries.
nex3 authored
636
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
637 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.1).
638
c6ebdfd @nex3 Add changelog entries.
nex3 authored
639 This release includes a number of fixes for issues that popped up in the
640 immediate aftermath of the 3.3.0 release.
641
642 ### Re-bundle [listen](http://github.com/guard/listen)
643
644 With 3.3.0, we un-bundled the listen library from Sass. We did so hoping that it
645 would make it easier for users to keep up to date with the latest features and
646 bug fixes, but unfortunately listen 2.0 and on have dropped support for Ruby
647 1.8.7, which Sass continues to support. Further complicating things, RubyGems
648 lacks the ability to install only the version of listen supported by the current
649 Ruby installation, so we were unable to use a standard Gem dependency on listen.
650
651 To work around this, we tried to piggyback on RubyGems' native extension support
652 to install the correct version of listen when Sass was installed. This is what
653 we released in 3.3.0. However, this caused numerous problems in practice,
654 especially for users on Windows. It quickly became clear that this wasn't a
655 viable long-term solution.
656
657 As such, we're going back to the bundling strategy. While not perfect, this
658 worked well enough for the duration of the Sass 3.2 release, and we expect it to
659 cause much less havoc than un-bundling. We'll bundle listen 1.3.1, the most
660 recent version that retains Ruby 1.8.7 compatibility. If a user of Sass has a
661 more recent version of listen installed, that will be preferred to the bundled
662 version. Listen versions through 2.7.0 have been tested, and we expect the code
663 to work without modification on versions up to 3.0.0, assuming no major API
664 changes.
665
666 ### Smaller Changes
667
668 * Fixed a small interface incompatibility with listen 2.7.0.
669
670 * Fix some corner cases of path handling on Windows.
671
672 * Avoid errors when trying to watch read-only directories using listen 1.x.
673
bd8d8db @nex3 Bump VERSION to 3.3.0.
nex3 authored
674 ## 3.3.0 (7 March 2014)
d19e769 @nex3 Consider files with the same name to be an error.
nex3 authored
675
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
676 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.3.0).
677
442bef5 @nex3 Add a changelog entry about maps and @each.
nex3 authored
678 ### SassScript Maps
679
680 SassScript has a new data type: maps. These are associations from SassScript
681 values (often strings, but potentially any value) to other SassScript values.
682 They look like this:
683
684 $map: (key1: value1, key2: value2, key3: value3);
685
686 Unlike lists, maps must always be surrounded by parentheses. `()` is now an
687 empty map in addition to an empty list.
688
689 Maps will allow users to collect values into named groups and access those
690 groups dynamically. For example, you could use them to manage themes for your
691 stylesheet:
692
693 $themes: (
694 mist: (
695 header: #DCFAC0,
696 text: #00968B,
697 border: #85C79C
698 ),
699 spring: (
700 header: #F4FAC7,
701 text: #C2454E,
702 border: #FFB158
703 ),
704 // ...
705 );
706
707 @mixin themed-header($theme-name) {
708 h1 {
709 color: map-get(map-get($themes, $theme-name), header);
710 }
711 }
712
713 There are a variety of functions for working with maps:
714
715 * The {Sass::Script::Functions#map_get `map-get($map, $key)` function} returns
716 the value in the map associated with the given key. If no value is found, it
717 returns `null`.
718
719 * The {Sass::Script::Functions#map_merge `map-merge($map1, $map2)` function}
720 merges two maps together into a new map. If there are any conflicts, the
721 second map takes precedence, making this a good way to modify values in a map
722 as well.
723
f5b5409 @nex3 Add a map-remove() function for removing keys from a map.
nex3 authored
724 * The {Sass::Script::Functions#map_remove `map-remove($map, $key)` function}
725 returns a new map with a key removed.
726
442bef5 @nex3 Add a changelog entry about maps and @each.
nex3 authored
727 * The {Sass::Script::Functions#map_keys `map-keys($map)` function} returns all
728 the keys in a map as a comma-separated list.
729
730 * The {Sass::Script::Functions#map_values `map-values($map)` function} returns
731 all the values in a map as a comma-separated list.
732
733 * The {Sass::Script::Functions#map_has_key `map-has-key($map, $key)` function}
734 returns whether or not a map contains a pair with the given key.
735
736 All the existing list functions also work on maps, treating them as lists of
737 pairs. For example, `nth((foo: 1, bar: 2), 1)` returns `foo 1`. Maps can also be
738 used with `@each`, using the new multiple assignment feature (see below):
739
740 @each $header, $size in (h1: 2em, h2: 1.5em, h3: 1.2em) {
741 #{$header} {
742 font-size: $size;
743 }
744 }
745
746 Produces:
747
748 h1 {
749 font-size: 2em;
750 }
751
752 h2 {
753 font-size: 1.5em;
754 }
755
756 h3 {
757 font-size: 1.2em;
758 }
759
a900629 @nex3 Add changelog and reference documentation about variable argument maps.
nex3 authored
760 #### Variable Keyword Arguments
761
762 Maps can be passed as variable arguments, just like lists. For example, if
763 `$map` is `(alpha: -10%, "blue": 30%)`, you can write `scale-color($color,
764 $map...)` and it will do the same thing as `scale-color($color, $alpha: -10%,
765 $blue: 30%)`. To pass a variable argument list and map at the same time, just do
766 the list first, then the map, as in `fn($list..., $map...)`.
767
768 You can also access the keywords passed to a function that accepts a variable
769 argument list using the new {Sass::Script::Functions#keywords `keywords($args)`
770 function}. For example:
771
772 @function create-map($args...) {
773 @return keywords($args);
774 }
775
776 create-map($foo: 10, $bar: 11); // returns (foo: 10, bar: 11)
777
778 #### Lists of Pairs as Maps
779
5eed7dd @nex3 Allow lists of pairs to be passed to map functions.
nex3 authored
780 The new map functions work on lists of pairs as well, for the time being. This
781 feature exists to help libraries that previously used lists of pairs to simulate
782 maps. These libraries can now use map functions internally without introducing
783 backwards-incompatibility. For example:
784
785 $themes: (
786 mist (
787 header #DCFAC0,
788 text #00968B,
789 border #85C79C
790 ),
791 spring (
792 header #F4FAC7,
793 text #C2454E,
794 border #FFB158
795 ),
796 // ...
797 );
798
799 @mixin themed-header($theme-name) {
800 h1 {
801 color: map-get(map-get($themes, $theme-name), header);
802 }
803 }
804
805 Since it's just a migration feature, using lists of pairs in place of maps is
806 already deprecated. Library authors should encourage their users to use actual
807 maps instead.
808
267aa0d @nex3 Re-organize the changelog.
nex3 authored
809 ### Source Maps
810
811 Sass now has the ability to generate standard JSON [source maps][] of a format
812 that will soon be supported in most major browsers. These source maps tell the
813 browser how to find the Sass styles that caused each CSS style to be generated.
814 They're much more fine-grained than the old Sass-specific debug info that was
815 generated; rather than providing the source location of entire CSS rules at a
816 time, source maps provide the source location of each individual selector and
817 property.
818
819 Source maps can be generated by passing the `--sourcemap` flag to the `sass`
820 executable, by passing the {file:SASS_REFERENCE.md#sourcemap-option `:sourcemap`
821 option} to \{Sass::Plugin}, or by using the
822 \{Sass::Engine#render\_with\_sourcemap} method. By default, Sass assumes that
823 the source stylesheets will be made available on whatever server you're using,
824 and that their relative location will be the same as it is on the local
825 filesystem. If this isn't the case, you'll need to make a custom class that
826 extends \{Sass::Importers::Base} or \{Sass::Importers::Filesystem} and overrides
827 \{Sass::Importers::Base#public\_url `#public_url`}.
828
829 Thanks to Alexander Pavlov for implementing this.
830
831 [source maps]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?hl=en_US&pli=1&pli=1
832
833 #### `@at-root`
834
835 Sass 3.3 adds the `@at-root` directive, which is a way to tell Sass to
836 put a collection of rules at the top-level root of the document. The
837 easiest way to use it is with a selector:
838
839 .badge {
840 @at-root .info { ... }
841 @at-root .header { ... }
842 }
843
844 In addition to using `@at-root` on a single selector, you can also use it on a
845 whole block of them. For example:
846
847 .badge {
848 @at-root {
849 .info { ... }
850 .header { ... }
851 }
852 }
853
854 Also produces:
855
856 .info { ... }
857 .header { ... }
858
859 #### `@at-root (without: ...)` and `@at-root (with: ...)`
860
861 By default, `@at-root` just excludes selectors. However, it's also
862 possible to use `@at-root` to move outside of nested directives such
863 as `@media` as well. For example:
864
865 @media print {
866 .page {
867 width: 8in;
868 @at-root (without: media) {
869 color: red;
870 }
871 }
872 }
873
874 produces:
875
876 @media print {
877 .page {
878 width: 8in;
879 }
880 }
881 .page {
882 color: red;
883 }
884
885 You can use `@at-root (without: ...)` to move outside of any
886 directive. You can also do it with multiple directives separated by a
887 space: `@at-root (without: media supports)` moves outside of both
888 `@media` and `@supports` queries.
889
890 There are two special values you can pass to `@at-root`. "rule" refers
891 to normal CSS rules; `@at-root (without: rule)` is the same as
892 `@at-root` with no query. `@at-root (without: all)` means that the
893 styles should be moved outside of *all* directives and CSS rules.
894
895 If you want to specify which directives or rules to include, rather
896 than listing which ones should be excluded, you can use `with` instead
897 of `without`. For example, `@at-root (with: rule)` will move outside
898 of all directives, but will preserve any CSS rules.
899
bf5b30f @nex3 Add documentation for source maps.
nex3 authored
900 ### Smaller Improvements
901
3f1498a @nex3 Support &-suffix.
nex3 authored
902 * The parent selector, `&`, can be used with an identifier suffix. For
903 example, `&-suffix` and `&_suffix` are now legal. The suffix will be
904 added to the end of the parent selector, and will throw an error if
905 this isn't possible. `&` must still appear at the beginning of a
906 compound selector -- that is, `.foo-&` is still illegal.
907
a81052e @nex3 Add an extension script to install listen along with Sass.
nex3 authored
908 * [listen](http://github.com/guard/listen) is no longer bundled with
909 Sass, nor is it a standard RubyGems dependency. Instead, it's
910 automatically installed along with Sass in order to ensure that the
911 user ends up with a version of Listen that works with their local
912 Ruby version.
1db7476 @nex3 Various small tweaks.
nex3 authored
913
914 * Sass now has numerous functions for working with strings:
915 \{Sass::Script::Functions#str_length `str-length`} will return the length of a
916 string; \{Sass::Script::Functions#str_insert `str-insert`} will insert one
917 string into another; \{Sass::Script::Functions#str_index `str-index`} will
918 return the index of a substring within another string;
919 \{Sass::Script::Functions#str_slice `str-slice`} will slice a substring from a
920 string; \{Sass::Script::Functions#to_upper_case `to-upper-case`} will
921 transform a string to upper case characters; and
922 \{Sass::Script::Functions#to_lower_case `to-lower-case`} will transform a
923 string to lower case characters.
924
6a11a37 @nex3 Add a changelog entry for list-separator.
nex3 authored
925 * A \{Sass::Script::Functions#list_separator `list-separator`} function has been
926 added to determine what separator a list uses. Thanks to [Sam
927 Richard](https://github.com/Snugug).
928
1db7476 @nex3 Various small tweaks.
nex3 authored
929 * Custom Ruby functions can now access the global environment, which
930 allows them the same power as Sass-based functions with respect to
931 reading and setting variables defined elsewhere in the stylesheet.
932
f890339 @chriseppstein Set the nth element in a list.
chriseppstein authored
933 * The `set-nth($list, $n, $value)` function lets you construct a new
934 list based on `$list`, with the nth element changed to the value
935 specified.
936
054b486 @nex3 Allow mixin recursion.
nex3 authored
937 * In order to make it easier for mixins to process maps, they may now
938 recursively call themselves and one another. It is no longer an
939 error to have a mixin `@include` loop.
940
0b86e2b @nex3 Support "transparent" as a color name.
nex3 authored
941 * Add "grey" and "transparent" as recognized SassScript colors. Thanks to [Rob
54ea0d4 @robwierzbowski Add grey to the list of Sass Script colors.
robwierzbowski authored
942 Wierzbowski](https://github.com/robwierzbowski).
943
3815575 @chriseppstein Cleanup YARD documentation.
chriseppstein authored
944 * Add a function \{Sass::Script::Functions#unique\_id `unique-id()`} that will
a4bb6c0 @nex3 Clean up f3be0f40b7c5072635b2d6dab772f2c29e8d629a a little.
nex3 authored
945 return a CSS identifier that is unique within the scope of a single CSS file.
f3be0f4 @chriseppstein Added Sass Function: unique-id()
chriseppstein authored
946
2f83fec @ggilder Allow negative indices in `nth` list function
ggilder authored
947 * Allow negative indices into lists when using `nth()`.
948
e3f1f9c @chriseppstein Sass feature detection.
chriseppstein authored
949 * You can now detect the presence of a Sass feature using the new function
0c5a551 @chriseppstein Rename sass-supports() to feature-exists().
chriseppstein authored
950 `feature-exists($feature-name)`. There are no detectable features in this
3f4b81a @chriseppstein Don't have any known features in the 3.3 release.
chriseppstein authored
951 release, this is provided so that subsequent releases can begin to
1b45a55 @chriseppstein Allow plugins to expose their features too.
chriseppstein authored
952 use it. Additionally, plugins can now expose their functionality
0c5a551 @chriseppstein Rename sass-supports() to feature-exists().
chriseppstein authored
953 through `feature-exists` by calling `Sass.add_feature(feature_name)`. Features
1b45a55 @chriseppstein Allow plugins to expose their features too.
chriseppstein authored
954 exposed by plugins must begin with a dash to distinguish them from
955 official features.
8738d59 @chriseppstein Sass function to test if a mixin exists.
chriseppstein authored
956
957 * It is now possible to determine the existence of different Sass
958 constructs using these new functions:
959
67af938 @chriseppstein Address code review comments
chriseppstein authored
960 * `variable-exists($name)` checks if a variable resolves in the
8738d59 @chriseppstein Sass function to test if a mixin exists.
chriseppstein authored
961 current scope.
67af938 @chriseppstein Address code review comments
chriseppstein authored
962 * `global-variable-exists($name)` checks if a global variable of the
8738d59 @chriseppstein Sass function to test if a mixin exists.
chriseppstein authored
963 given name exists.
67af938 @chriseppstein Address code review comments
chriseppstein authored
964 * `function-exists($name)` checks if a function exists.
965 * `mixin-exists($name)` checks if a mixin exists.
e3f1f9c @chriseppstein Sass feature detection.
chriseppstein authored
966
7cd4753 @nex3 Allow function calls via a script expression.
nex3 authored
967 * You can call a function by name by passing the function name to the
2376ba9 @nex3 Small changelog copy edit.
nex3 authored
968 call function. For example, `call(nth, a b c, 2)` returns `b`.
7cd4753 @nex3 Allow function calls via a script expression.
nex3 authored
969
8c564fa @fblee Properly convert comments after selectors in the indented syntax.
fblee authored
970 * Comments following selectors in the indented syntax will be correctly
971 converted using `sass-convert`.
972
442bef5 @nex3 Add a changelog entry about maps and @each.
nex3 authored
973 * `@each` now supports "multiple assignment", which makes it easier to iterate
974 over lists of lists. If you write `@each $var1, $var2, $var3 in a b c, d e f,
975 g h i`, the elements of the sub-lists will be assigned individually to the
976 variables. `$var1`, `$var2`, and `$var3` will be `a`, `b` and `c`; then `d`,
977 `e`, and `f`; and then `g`, `h`, and `i`. For more information, see
978 {file:SASS_REFERENCE.md#each-multi-assign the `@each` reference}.
979
23d3440 @nex3 Move decrementing @for into the "smaller changes" changelog section.
nex3 authored
980 * `@for` loops can now go downward as well as upward. For example,
981 `@for $var from 5 through 1` will set `$var` to `5`, `4`, `3`, `2`,
982 and `1`. Thanks to [Robin Roestenburg](http://twitter.com/robinroest).
983
04fcd6b @chriseppstein CHANGLELOG entry for value helpers.
chriseppstein authored
984 * There is a new {Sass::Script::Value::Helpers convenience API} for creating
985 Sass values from within ruby extensions.
986
da06d68 @chriseppstein Make the if() function work as expected.
chriseppstein authored
987 * The `if()` function now only evaluates the argument corresponding to
988 the value of the first argument.
989
4d79f20 @nex3 Support trailing commas in lists and maps.
nex3 authored
990 * Comma-separated lists may now have trailing commas (e.g. `1, 2,
991 3,`). This also allows you to use a trailing comma to distinguish a
992 list with a single element from that element itself -- for example,
993 `(1,)` is explicitly a list containing the value `1`.
994
b8f4bab @nex3 Bubble unknown nested directives.
nex3 authored
995 * All directives that are nested in CSS rules or properties and that
996 contain more CSS rules or properties are now bubbled up through
997 their parent rules.
998
c7e9d1e @nex3 Clean up random() and its tests and docs.
nex3 authored
999 * A new `random()` function returns a random number.
1000
1001 * A new function inspect($value) is provided for debugging the current
1002 sass representation of a value.
a4bc2e7 @chriseppstein Update changelog.
chriseppstein authored
1003
625100d @nex3 Changelog cleanups.
nex3 authored
1004 * The `@debug` directive now automatically inspects sass objects that are not
a4bc2e7 @chriseppstein Update changelog.
chriseppstein authored
1005 strings.
1006
d9ff64e @nex3 Don't emit numbers in scientific notation.
nex3 authored
1007 * Numbers will no longer be emitted in scientific notation.
1008
e92c472 @nex3 Fix up the internal representation of indented-syntax silent comments.
nex3 authored
1009 * `sass-convert` will now correctly handle silent (`//`-style) comments
1010 contained within loud (`/* */`-style) comments.
1011
8030459 @nex3 Move the changelog entry for mod with units.
nex3 authored
1012 * Allow modulo arithmetic for numbers with compatible units. Thanks to
1013 [Isaac Devine](http://www.devinesystems.co.nz).
1014
43e8b37 @nex3 Preserve hyphens in keyword arguments to mixins in sass-convert.
nex3 authored
1015 * Keyword arguments to mixins and functions that contain hyphens will have the
1016 hyphens preserved when using `sass-convert`.
1017
d19e769 @nex3 Consider files with the same name to be an error.
nex3 authored
1018 ### Backwards Incompatibilities -- Must Read!
1019
c5e5500 @nex3 Disallow cross-directive @extends wholesale.
nex3 authored
1020 * Sass will now throw an error when `@extend` is used to extend a selector
1021 outside the `@media` context of the extending selector. This means the
1022 following will be an error:
1023
1024 @media screen {
1025 .foo { @extend .bar; }
1026 }
1027 .bar { color: blue; }
1028
6b1a36d @nex3 Throw an error for failing @extends.
nex3 authored
1029 * Sass will now throw an error when an `@extend` that has no effect is used. The
1030 `!optional` flag may be used to avoid this behavior for a single `@extend`.
1031
d19e769 @nex3 Consider files with the same name to be an error.
nex3 authored
1032 * Sass will now throw an error when it encounters a single `@import` statement
1033 that tries to import more than one file. For example, if you have `@import
1034 "screen"` and both `screen.scss` and `_screen.scss` exist, a warning will be
c5e5500 @nex3 Disallow cross-directive @extends wholesale.
nex3 authored
1035 printed.
d19e769 @nex3 Consider files with the same name to be an error.
nex3 authored
1036
1560055 @nex3 Add a changelog entry about the script refactor.
nex3 authored
1037 * `grey` and `transparent` are no longer interpreted as strings; they're now
1038 interpreted as colors, as per the CSS spec.
1039
76df5a0 @chriseppstein Deprecated: Current working directory on the load path automatically.
chriseppstein authored
1040 * The automatic placement of the current working directory onto the Sass
1041 load path is now deprecated as this causes unpredictable build
1042 processes. If you need the current working directory to be available,
a64a10d @chriseppstein It is SASS_PATH, not SASSPATH
chriseppstein authored
1043 set `SASS_PATH=.` in your shell's environment.
76df5a0 @chriseppstein Deprecated: Current working directory on the load path automatically.
chriseppstein authored
1044
b1d8381 @nex3 Remove on_updating_stylesheet.
nex3 authored
1045 * `Sass::Compiler.on_updating_stylesheet` has been removed.
1046
d00211c @nex3 Remove Sass::Plugin.options=.
nex3 authored
1047 * `Sass::Plugin.options=` has been removed.
1048
2da3d3b @nex3 Remove Sass::Script::Number::PRECISION.
nex3 authored
1049 * `Sass::Script::Number::PRECISION` has been removed.
1050
99f544a @chriseppstein Mention some internal code changes that could break sass plugins and …
chriseppstein authored
1051 * The methods in the `Sass::Util` module can no longer be used by
1052 including it. They must be invoked on the module itself for
1053 performance reasons.
1054
1055 * Sass values have always been immutable. The ruby object that backs
1056 each sass value is now "frozen" to prevent accidental modification and
1057 for performance.
1058
1560055 @nex3 Add a changelog entry about the script refactor.
nex3 authored
1059 * Many classes in the \{Sass::Script} have been rearranged. All the value
1060 classes have been moved into \{Sass::Script::Value} (e.g.
1061 \{Sass::Script::Value::Color}, \{Sass::Script::Value::String}, etc). Their
1062 base class is now \{Sass::Script::Value::Base} instead of
1063 `Sass::Script::Literal`. All the parse tree classes have been moved into
1064 \{Sass::Script::Tree} (e.g. \{Sass::Script::Tree::Node},
1065 \{Sass::Script::Tree::Operation}, etc).
1066
1067 The old names will continue to work for the next couple releases, but they
1068 will be removed eventually. Any code using them should upgrade to the new
1069 names.
54ea0d4 @robwierzbowski Add grey to the list of Sass Script colors.
robwierzbowski authored
1070
7cd0572 @nex3 Make the first step towards new variable semantics.
nex3 authored
1071 * As part of a migration to cleaner variable semantics, assigning to
1072 global variables in a local context by default is deprecated. If
1073 there's a global variable named `$color` and you write `$color:
1074 blue` within a CSS rule, Sass will now print a warning; in the
1075 future, it will create a new local variable named `$color`. You may
1076 now explicitly assign to global variables using the `!global` flag;
1077 for example, `$color: blue !global` will always assign to the global
1078 `$color` variable.
1079
8d3ff3f @nex3 Fix the parsing of hyphens with no surrounding whitespace.
nex3 authored
1080 * Two numbers separated by a hyphen with no whitespace will now be
1081 parsed as a subtraction operation rather than two numbers in a list.
1082 That is, `2px-1px` will parse the same as `2px - 1px` rather than
1083 `2px -1px`.
1084
6607785 @nex3 Make index() return a DeprecatedFalse object rather than null.
nex3 authored
1085 * `index()`'s `false` return value when a value isn't found is deprecated. In
1086 future Sass releases it will be `null` instead, so it should be used in ways
1087 that are compatible with both `false` and `null`.
79bad1f @nex3 Have index() return null instead of false.
nex3 authored
1088
605d56e @nex3 Merge remote-tracking branch 'JonathanTR/issue-833'
nex3 authored
1089 * `mix()`'s arguments are now `$color1` and `$color2` rather than
1090 `$color-1` and `$color-2`, in keeping with other functions.
1091
1092 * `comparable()`'s arguments are now `$number1` and `$number2` rather than
1093 `$number-1` and `$number-2`, in keeping with other functions.
1094
1095 * `percentage()`, `round()`, `ceil()`, `floor()`, and `abs()` now
1096 take arguments named '$number' instead of '$value'.
1097
607608a @chriseppstein Merge branch 'stable_3_2' into stable
chriseppstein authored
1098 ## 3.2.16 (17 March 2014)
0a70483 @chriseppstein Update changelog for race condition fix.
chriseppstein authored
1099
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1100 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.16).
1101
0a70483 @chriseppstein Update changelog for race condition fix.
chriseppstein authored
1102 * Handle a race condition in the filesystem cache store when a cache
1103 entry becomes invalidated.
1104
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1105 ## 3.2.15 (7 March 2014)
4cee8ac @nex3 Fix parent selector resolutions with newlines + commas.
nex3 authored
1106
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1107 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.15).
1108
4cee8ac @nex3 Fix parent selector resolutions with newlines + commas.
nex3 authored
1109 * Support `&.foo` when the parent selector has a newline followed by a comma.
1110
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1111 ## 3.2.14 (24 January 2014)
7272135 @nex3 Add a changelog entry for da0269e7.
nex3 authored
1112
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1113 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.14).
1114
7272135 @nex3 Add a changelog entry for da0269e7.
nex3 authored
1115 * Don't crash when parsing a directive with no name in the indented syntax.
1116
53263e3 @nex3 Clean up file paths when importing.
nex3 authored
1117 * Clean up file paths when importing to avoid errors for overlong path
1118 names.
1119
439db92 @nex3 Allow functions named `true`, `false`, and `null`.
nex3 authored
1120 * Parse calls to functions named `true`, `false`, and `null` as function calls.
1121
18ed5bc @nex3 Be more conservative about moving @imports to the top.
nex3 authored
1122 * Don't move CSS `@import`s to the top of the file unless it's necessary.
1123
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1124 ## 3.2.13 (19 December 2013)
d8ae9b1 @nex3 Always perform division on numbers returned by functions.
nex3 authored
1125
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1126 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.13).
1127
d8ae9b1 @nex3 Always perform division on numbers returned by functions.
nex3 authored
1128 * Numbers returned by user-defined functions now trigger division, just like
1129 numbers stored in variables.
1130
59d3e9d @nex3 Properly escape file paths passed to Dir#[] in the FS importer.
nex3 authored
1131 * Support importing files in paths with open brackets.
1132
15e7a9e @nex3 Fix sass-convert with empty CSS rules.
nex3 authored
1133 * Fix `sass-convert`'s handling of rules with empty bodies when converting from
1134 CSS.
1135
a6f6bf5 @nex3 Fix CSS url("...") imports with media queries.
nex3 authored
1136 * Fix CSS imports using `url()` with a quoted string and media queries.
1137
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1138 ## 3.2.12 (4 October 2013)
5976d19 @nex3 Add a CHANGELOG entry for the require "thread" change.
nex3 authored
1139
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1140 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.12).
1141
5976d19 @nex3 Add a CHANGELOG entry for the require "thread" change.
nex3 authored
1142 * Add a couple missing `require`s, fixing some load errors, especially when
1143 using the command-line interface.
1144
1c7a50b @nex3 Be a little less aggressive about redundant selector elimination.
nex3 authored
1145 * Tune up some heuristics for eliminating redundant generated selectors. This
1146 will prevent some selector elimination in cases where multi-layered `@extend`
1147 is being used and where it seems intuitively like selectors shouldn't be
1148 eliminated.
1149
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1150 ## 3.2.11 (27 September 2013)
004b1bd @nex3 Teach @extend that pseudo-elements don't work like pseudo-classes.
nex3 authored
1151
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1152 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.11).
1153
004b1bd @nex3 Teach @extend that pseudo-elements don't work like pseudo-classes.
nex3 authored
1154 * Fix `@extend`'s semantics with respect to pseudo-elements. They are no longer
1155 treated identically to pseudo-classes.
5c60410 @chriseppstein Revert "Revert "Handle unary minus and plus in lists during convert.""
chriseppstein authored
1156
03af20f @chriseppstein CHANGELOG entry for issue #885's fix.
chriseppstein authored
1157 * A more understandable error is now provided when the `-E` option is
1158 passed to the Sass command line in ruby 1.8
004b1bd @nex3 Teach @extend that pseudo-elements don't work like pseudo-classes.
nex3 authored
1159
5c60410 @chriseppstein Revert "Revert "Handle unary minus and plus in lists during convert.""
chriseppstein authored
1160 * Fixed a bug in the output of lists containing unary plus or minus
1161 operations during sass <=> scss conversion.
1162
adf11a2 @mondoreale Avoid another CSS counters bug on IE7.
mondoreale authored
1163 * Avoid the [IE7 `content: counter` bug][cc bug] with `content: counters` as
1164 well.
1165
8f5d24c @nex3 Add a changelog entry about thread-safety fixes.
nex3 authored
1166 * Fix some thread-safety issues.
1167
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1168 ## 3.2.10 (26 July 2013)
651c1da @nex3 Use sass_warn for @debug.
nex3 authored
1169
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1170 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.10).
1171
651c1da @nex3 Use sass_warn for @debug.
nex3 authored
1172 * Use the Sass logger infrastructure for `@debug` directives.
1173
b575ad1 @nex3 Escape "*/" in full exceptions.
nex3 authored
1174 * When printing a Sass error into a CSS comment, escape `*/` so the comment
1175 doesn't end prematurely.
1176
0c52f5a @nex3 Preserve the bang in /*! comments.
nex3 authored
1177 * Preserve the `!` in `/*! ... */`-style comments.
1178
16eea67 @nex3 Fix an @extend trimming bug.
nex3 authored
1179 * Fix a bug where selectors were being incorrectly trimmed when using `@extend`.
1180
7842fc7 @ranvis Fix --unix-newlines/--in-place not working on Windows.
ranvis authored
1181 * Fix a bug where `sass --unix-newlines` and `sass-convert --in-place` are not
1182 working on Windows (thanks [SATO Kentaro](http://www.ranvis.com)).
1183
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1184 ## 3.2.9 (10 May 2013)
5bc6769 @nex3 Fix a mutability bug.
nex3 authored
1185
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1186 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.9).
1187
5bc6769 @nex3 Fix a mutability bug.
nex3 authored
1188 * Fix a bug where `@extend`s would occasionally cause a selector to be generated
1189 with the incorrect specificity.
1190
bea480b @nex3 Don't load guard/listen 1.0.
nex3 authored
1191 * Avoid loading [listen](http://github.com/guard/listen) v1.0, even if it's
1192 installed as a Gem (see [issue 719](https://github.com/nex3/sass/issues/719)).
1193
d7277c4 @nex3 Update the vendored listen to 0.7.3.
nex3 authored
1194 * Update the bundled version of [listen](http://github.com/guard/listen) to
1195 0.7.3.
1196
1556fe2 @nex3 Avoid IE7's content: counter bug.
nex3 authored
1197 * Automatically avoid the [IE7 `content: counter` bug][cc bug].
1198
1199 [cc bug]: http://jes.st/2013/ie7s-css-breaking-content-counter-bug/
1200
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1201 ## 3.2.8 (22 April 2013)
5ce407b @nex3 Merge remote-tracking branch 'origin/stable' into stable
nex3 authored
1202
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1203 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.8).
1204
5ce407b @nex3 Merge remote-tracking branch 'origin/stable' into stable
nex3 authored
1205 * Fix some edge cases where redundant selectors were emitted when using
1206 `@extend`.
1207
ff67c3d @nex3 Fix a list parsing bug.
nex3 authored
1208 * Fix a bug where comma-separated lists with interpolation could lose elements.
1209
5f4c6c9 @nex3 Fix a list conversion bug.
nex3 authored
1210 * Fix a bug in `sass-convert` where lists being passed as arguments to functions
1211 or mixins would lose their surrounding parentheses.
1212
9571704 @nex3 Fix conversion of null.
nex3 authored
1213 * Fix a bug in `sass-convert` where `null` wasn't being converted correctly.
1214
b2864aa @nex3 Fix a bug where multiple spaces in a string literal would sometimes b…
nex3 authored
1215 * Fix a bug where multiple spaces in a string literal would sometimes be folded
1216 together.
1217
a7bdf61 @nex3 Don't open a file for writing until we have something to write to it.
nex3 authored
1218 * `sass` and `sass-convert` won't create an empty file before writing to it.
1219 This fixes a flash of unstyled content when using LiveReload and similar
1220 tools.
1221
563158b @nex3 Fix an invalid mixin-loop report.
nex3 authored
1222 * Fix a case where a corrupted cache could produce fatal errors on some versions
1223 of Ruby.
1224
1225 * Fix a case where a mixin loop error would be incorrectly reported when using
1226 `@content`.
f7d8f35 @nex3 Always return nil in case of errors in cache store/retrieve.
nex3 authored
1227
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1228 ## 3.2.7 (8 March 2013)
ba45f7b @nex3 Allow index() and zip() to take single-item lists.
nex3 authored
1229
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1230 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.7).
1231
ba45f7b @nex3 Allow index() and zip() to take single-item lists.
nex3 authored
1232 * The \{Sass::Script::Functions#index `index`} and \{Sass::Script::Functions#zip
1233 `zip`} functions now work like all other list functions and treat individual
1234 values as single-element lists.
1235
0e6155f @nex3 Don't use recursion when parsing arglists.
nex3 authored
1236 * Avoid stack overflow errors caused by very long function or mixin argument
1237 lists.
1238
5ba41b6 @nex3 Emit relative paths when using --line-numbers.
nex3 authored
1239 * Emit relative paths when using the `--line-comments` flag of the `sass`
1240 executable.
1241
e7bd796 @nex3 Fix an exponential-parsing bug.
nex3 authored
1242 * Fix a case where very long numbers would cause the SCSS parser to
1243 take exponential time.
3700884 @nex3 Fix minimum-specificity calculation when trimming @extend output.
nex3 authored
1244
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1245 ## 3.2.6 (22 February 2013)
381625b @nex3 Fix ArgumentError handling on Rubinius.
nex3 authored
1246
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1247 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.6).
1248
0955e97 @nex3 Add a changelog entry about Rubinius stuff.
nex3 authored
1249 * Support for Rubinius 2.0.0.rc1. All tests pass in 1.8 mode. 1.9 mode has some
1250 tests blocked on [Rubinius issue
1251 2139](https://github.com/rubinius/rubinius/issues/2139).
381625b @nex3 Fix ArgumentError handling on Rubinius.
nex3 authored
1252
0e50859 @nex3 Support JRuby 1.7.
nex3 authored
1253 * Support for JRuby 1.7.2.
1254
75479e4 @nex3 Mention previous commit in the changelog.
nex3 authored
1255 * Support for symlinked executables. Thanks to [Yin-So
1256 Chen](http://yinsochen.com/).
1257
68d4805 @nex3 Bubble @supports in the indented syntax.
nex3 authored
1258 * Support for bubbling `@supports` queries in the indented syntax.
1259
fbcb3c5 @nex3 Fix @extend in nested @media queries.
nex3 authored
1260 * Fix an incorrect warning when using `@extend` from within nested `@media`
1261 queries.
1262
245bddf @nex3 Update listen to 0.7.2.
nex3 authored
1263 * Update the bundled version of [listen](http://github.com/guard/listen) to
1264 0.7.2.
1265
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1266 ## 3.2.5 (4 January 2013)
88f1719 @nex3 Don't generate bogus @extend warnings.
nex3 authored
1267
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1268 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.5).
1269
88f1719 @nex3 Don't generate bogus @extend warnings.
nex3 authored
1270 * Fix a bug where bogus `@extend` warnings were being generated.
1271
3ed77ef @dlmiles @import 'file' on windows fails with more than 1 subdir in the path
dlmiles authored
1272 * Fix an `@import` bug on Windows. Thanks to [Darryl
1273 Miles](https://github.com/dlmiles).
1274
d2d40ed @nex3 Add a changelog entry about Ruby 2.0.0 compatibility.
nex3 authored
1275 * Ruby 2.0.0-preview compatibility. Thanks to [Eric
1276 Saxby](http://www.livinginthepast.org/).
1277
ba7bd68 @nex3 Fix indented syntax line numbering with DOS lines.
nex3 authored
1278 * Fix incorrect line numbering when using DOS line endings with the indented
1279 syntax.
1280
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1281 ## 3.2.4 (21 December 2012)
9c95538 @argv-minus-one Strip out './' when looking up relative @imports.
argv-minus-one authored
1282
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1283 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.4).
1284
9c95538 @argv-minus-one Strip out './' when looking up relative @imports.
argv-minus-one authored
1285 * Fix imports from `.jar` files in JRuby. Thanks to [Alex
1286 Hvostov](https://github.com/argv-minus-one).
1287
e8c1147 @nex3 Support comments within @imports in SCSS.
nex3 authored
1288 * Allow comments within `@import` statements in SCSS.
1289
bfc4803 @nex3 Fix an exponential parsing bug.
nex3 authored
1290 * Fix a parsing performance bug where long decimals would occasionally take many
1291 minutes to parse.
1292
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1293 ## 3.2.3 (9 November 2012)
7b9a61b @nex3 Fix sass --watch with deleted files.
nex3 authored
1294
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1295 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.3).
1296
7b9a61b @nex3 Fix sass --watch with deleted files.
nex3 authored
1297 * `sass --watch` no longer crashs when a file in a watched directory is deleted.
1298
b5ff11c @nex3 Fix @extend in bubbling @media.
nex3 authored
1299 * Allow `@extend` within bubbling nodes such as `@media`.
1300
1029637 @nex3 Add a changelog entry about JRuby changes.
nex3 authored
1301 * Fix various JRuby incompatibilities and test failures.
1302
0ba3109 @nex3 Work around #495
nex3 authored
1303 * Work around a performance bug that arises from using `@extend` with
1304 deeply-nested selectors.
1305
00004e6 @nex3 Add dates to CHANGELOG release entries.
nex3 authored
1306 ## 3.2.2 (2 November 2012)
c1c50b7 @nex3 Add a `--poll` command-line flag to force a polling backend.
nex3 authored
1307
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1308 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.2).
1309
c1c50b7 @nex3 Add a `--poll` command-line flag to force a polling backend.
nex3 authored
1310 * Add a `--poll` option to force `sass --watch` to use the polling backend to
1311 [Listen](https://github.com/guard/listen).
1312
26846f0 @nex3 Make sure @import errors have the correct line and file info.
nex3 authored
1313 * Fix some error reporting bugs related to `@import`.
1314
6b30c51 @nex3 Fix a CHANGELOG bug.
nex3 authored
1315 * Treat [protocol-relative URLs][pru] in `@import`s as static URLs, just like
3fc9279 @nex3 Support protocol-relative URLs.
nex3 authored
1316 `http` and `https` URLs.
1317
50a7b8c @nex3 Improve the error message for misplaced simple selectors.
nex3 authored
1318 * Improve the error message for misplaced simple selectors.
1319
1a2af8a @nex3 Fix an option-handling bug.
nex3 authored
1320 * Fix an option-handling bug that was causing errors with the Compass URL
1321 helpers.
1322
527e2f4 @nex3 Fix a Rails perf issue.
nex3 authored
1323 * Fix a performance issue with `@import` that only appears when
1324 ActiveSupport is loaded.
1325
3815575 @chriseppstein Cleanup YARD documentation.
chriseppstein authored
1326 * Fix flushing of actions to stdout. Thanks to
1327 [Russell Davis](http://github.com/russelldavis).
527e2f4 @nex3 Fix a Rails perf issue.
nex3 authored
1328
03be7d3 @nex3 Fix the examples for max().
nex3 authored
1329 * Fix the documentation for the `max()` function.
1330
47483ae @nex3 Fix a @media parsing bug.
nex3 authored
1331 * Fix a `@media` parsing bug.
1332
3fc9279 @nex3 Support protocol-relative URLs.
nex3 authored
1333 [pru]: http://paulirish.com/2010/the-protocol-relative-url/
1334
6cc0196 @nex3 Print a warning for ambiguous @imports.
nex3 authored
1335 ### Deprecations -- Must Read!
1336
1337 * Sass will now print a warning when it encounters a single `@import` statement
1338 that tries to import more than one file. For example, if you have `@import
1339 "screen"` and both `screen.scss` and `_screen.scss` exist, a warning will be
1340 printed. This will become an error in future versions of Sass.
1341
78c02f9 @nex3 Bump VERSION to 3.2.1.
nex3 authored
1342 ## 3.2.1 (15 August 2012)
3629c3b @nex3 Add a changelog entry now that the previous commit is confirmed to fi…
nex3 authored
1343
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1344 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.1).
1345
3629c3b @nex3 Add a changelog entry now that the previous commit is confirmed to fi…
nex3 authored
1346 * Fix a buggy interaction with Pow and Capybara that caused `EOFError`s.
1347
40b3181 @nex3 Bump VERSION to 3.2.0.
nex3 authored
1348 ## 3.2.0 (10 August 2012)
7a31fea @nex3 Disallow `&foo` wholesale.
nex3 authored
1349
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1350 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.2.0).
1351
911e3bc @nex3 Move the @content changelog docs into their own subsection.
nex3 authored
1352 ### `@content`
8ee5a8c @chriseppstein More docs on passing style blocks to mixins.
chriseppstein authored
1353
911e3bc @nex3 Move the @content changelog docs into their own subsection.
nex3 authored
1354 A mixin include can now accept a block of content ({file:SASS_REFERENCE.md#mixin-content Reference Documentation}).
1355 The style block will be passed to the mixin and can be placed at the point @content is used. E.g.:
a5746f3 Add Sass::Script::Functions#ie_hex_str.
Tom Miller authored
1356
911e3bc @nex3 Move the @content changelog docs into their own subsection.
nex3 authored
1357 @mixin iphone {
8ee5a8c @chriseppstein More docs on passing style blocks to mixins.
chriseppstein authored
1358 @media only screen and (max-width: 480px) {
911e3bc @nex3 Move the @content changelog docs into their own subsection.
nex3 authored
1359 @content;
8ee5a8c @chriseppstein More docs on passing style blocks to mixins.
chriseppstein authored
1360 }
911e3bc @nex3 Move the @content changelog docs into their own subsection.
nex3 authored
1361 }
a5746f3 Add Sass::Script::Functions#ie_hex_str.
Tom Miller authored
1362
911e3bc @nex3 Move the @content changelog docs into their own subsection.
nex3 authored
1363 @include iphone {
1364 body { color: red }
1365 }
1366
1367 Or in `.sass` syntax:
1368
1369 =iphone
1370 @media only screen and (max-width: 480px)
1371 @content
a5746f3 Add Sass::Script::Functions#ie_hex_str.
Tom Miller authored
1372
911e3bc @nex3 Move the @content changelog docs into their own subsection.
nex3 authored
1373 +iphone
1374 body
1375 color: red
1376
1377 Produces:
1378
1379 @media only screen and (max-width: 480px) {
1380 body { color: red }
1381 }
1382
1383 Note that the contents passed to the mixin are evaluated in the scope they are used,
1384 not the scope of the mixin. {file:SASS_REFERENCE.md#variable_scope_and_content_blocks More on variable scoping.}
7a31fea @nex3 Disallow `&foo` wholesale.
nex3 authored
1385
f1dc284 @nex3 Add changelog docs for placeholder selectors.
nex3 authored
1386 ### Placeholder Selectors: `%foo`
1387
1388 Sass supports a new, special type of selector called a "placeholder selector".
1389 These look like class and id selectors, except the `#` or `.` is replaced by `%`.
1390 They're meant to be used with the {file:SASS_REFERENCE.md#extend `@extend` directive},
1391 when you want to write styles to be extended
1392 but you don't want the base styles to appear in the CSS.
1393
1394 On its own, a placeholder selector just causes a ruleset not to be rendered.
1395 For example:
1396
1397 // This ruleset won't be rendered on its own.
1398 #context a%extreme {
1399 color: blue;
1400 font-weight: bold;
1401 font-size: 2em;
1402 }
1403
1404 However, placeholder selectors can be extended, just like classes and ids.
1405 The extended selectors will be generated, but the base placeholder selector will not.
1406 For example:
1407
1408 .notice { @extend %extreme; }
1409
1410 Is compiled to:
1411
1412 #context a.notice {
1413 color: blue;
1414 font-weight: bold;
1415 font-size: 2em;
1416 }
1417
d4e07b6 @nex3 Add a changelog entry for variable arguments.
nex3 authored
1418 ### Variable Arguments
1419
1420 Mixins and functions now both support variable arguments. When defining a mixin
1421 or function, you can add `...` after the final argument to have it accept an
1422 unbounded number of arguments and package them into a list. When calling a mixin
1423 or function, you can add `...` to expand the final argument (if it's a list) so
1424 that each value is passed as a separate argument. For example:
1425
1426 @mixin box-shadow($shadows...) {
1427 // $shadows is a list of all arguments passed to box-shadow
1428 -moz-box-shadow: $shadows;
1429 -webkit-box-shadow: $shadows;
1430 box-shadow: $shadows;
1431 }
1432
1433 // This is the same as "@include spacing(1, 2, 3);"
1434 $values: 1, 2, 3;
1435 @include spacing($values...);
1436
1437 Finally, if a variable argument list is passed directly on to another mixin or
1438 function, it will also pass along any keyword arguments. This means that you can
1439 wrap a pre-existing mixin or function and add new functionality without changing
1440 the call signature.
1441
c56ecdb @nex3 Changelog entries.
nex3 authored
1442 ### Directive Interpolation
1443
1444 `#{}` interpolation is now allowed in all plain CSS directives
1445 (such as `@font-face`, `@keyframes`, and of course `@media`).
1446
1447 In addition, `@media` gets some special treatment.
1448 In addition to allowing `#{}` interpolation,
f19a88c @nex3 Disable "@media $var".
nex3 authored
1449 expressions may be used directly in media feature queries.
c56ecdb @nex3 Changelog entries.
nex3 authored
1450 This means that you can write e.g.:
1451
1452 $media: screen;
1453 $feature: -webkit-min-device-pixel-ratio;
1454 $value: 1.5;
1455
f19a88c @nex3 Disable "@media $var".
nex3 authored
1456 @media #{$media} and ($feature: $value) {
c56ecdb @nex3 Changelog entries.
nex3 authored
1457 ...
1458 }
1459
1460 This is intended to allow authors to easily write mixins
1461 that make use of `@media` and other directives dynamically.
1462
fe99497 @nex3 Restructure the changelog a little.
nex3 authored
1463 ### Smaller Improvements
516a0c5 @nex3 Support :any.
nex3 authored
1464
9b1820a @nex3 Allow mixins and functions to be defined in nested contexts.
nex3 authored
1465 * Mixins and functions may now be defined in a nested context, for example
1466 within `@media` rules. This also allows files containing them to be imported
1467 in such contexts.
1468
fe99497 @nex3 Restructure the changelog a little.
nex3 authored
1469 * Previously, only the `:-moz-any` selector was supported; this has been
1470 expanded to support any vendor prefix, as well as the plain `:any` selector.
516a0c5 @nex3 Support :any.
nex3 authored
1471
01d62fa @nex3 Mention CSS4 selector support in the changelog.
nex3 authored
1472 * All proposed [CSS4 selectors](http://dev.w3.org/csswg/selectors4/) are now
1473 supported, including reference selectors (e.g. `.foo /attr/ .bar`) and subject
1474 selectors (e.g. `.foo!`).
1475
fe99497 @nex3 Restructure the changelog a little.
nex3 authored
1476 * Sass now supports a global list of load paths, accessible via
1477 {Sass.load_paths}. This allows plugins and libraries to easily register their
1478 Sass files such that they're accessible to all {Sass::Engine} instances.
5c93cbf @nex3 Add Sass.load_paths.
nex3 authored
1479
83bc989 @piouPiouM Update SASS_CHANGELOG.md: missing space
piouPiouM authored
1480 * `Sass.load_paths` is initialized to the value of the `SASS_PATH` environment
fe99497 @nex3 Restructure the changelog a little.
nex3 authored
1481 variable. This variable should contain a colon-separated list of load paths
1482 (semicolon-separated on Windows).
5c93cbf @nex3 Add Sass.load_paths.
nex3 authored
1483
db51415 @nex3 Don't generate redundant selectors with multiple extends in an extender.
nex3 authored
1484 * In certain cases, redundant selectors used to be created as a result of a
1485 single rule having multiple `@extend`s. That redundancy has been eliminated.
1486
8f4869e @nex3 Eliminate more @extend output redundancy.
nex3 authored
1487 * Redundant selectors were also sometimes created by nested selectors
1488 using `@extend`. That redundancy has been eliminated as well.
1489
fe99497 @nex3 Restructure the changelog a little.
nex3 authored
1490 * There is now much more comprehensive support for using `@extend` alongside
1491 CSS3 selector combinators (`+`, `~`, and `>`). These combinators will now be
1492 merged as much as possible.
7e97574 @nex3 Support the SASS_PATH environment variable.
nex3 authored
1493
fe99497 @nex3 Restructure the changelog a little.
nex3 authored
1494 * The full set of [extended color keywords](http://www.w3.org/TR/css3-color/#svg-color)
1495 are now supported by Sass. They may be used to refer to color objects, and
1496 colors will render using those color names when appropriate.
7e97574 @nex3 Support the SASS_PATH environment variable.
nex3 authored
1497
fe99497 @nex3 Restructure the changelog a little.
nex3 authored
1498 * Sass 3.2 adds the \{Sass::Script::Functions#ie_hex_str `ie-hex-str`} function
1499 which returns a hex string for a color suitable for use with IE filters.
08a7399 @nex3 Some changes to ie-hex-str.
nex3 authored
1500
40099da @nex3 Add min and max functions.
nex3 authored
1501 * Sass 3.2 adds the \{Sass::Script::Functions#min `min`} and
1502 \{Sass::Script::Functions#max `max`} functions, which return the minimum and
1503 maximum of several values.
1504
6efc235 @nex3 Make keyword argument parsing stricter.
nex3 authored
1505 * Sass functions are now more strict about how keyword arguments can be passed.
1506
edc2634 @nex3 Add two more digits of decimal precision.
nex3 authored
1507 * Decimal numbers now default to five digits of precision after the decimal
1508 point.
1509
3815575 @chriseppstein Cleanup YARD documentation.
chriseppstein authored
1510 * The \{Sass::Script::Functions::EvaluationContext#options options hash}
e36aedc @nex3 Have EvaluationContext.options[:filename] give the current file.
nex3 authored
1511 available to Sass functions now contains the filename of the file that the
1512 function was executed in, rather than the top-level file.
1513
7a31fea @nex3 Disallow `&foo` wholesale.
nex3 authored
1514 ### Backwards Incompatibilities -- Must Read!
1515
1d77774 @nex3 Document @extend warnings.
nex3 authored
1516 #### `@extend` Warnings
1517
1518 Any `@extend` that doesn't match any selectors in the document will now print a
1519 warning. These warnings will become errors in future versions of Sass. This will
1520 help protect against typos and make it clearer why broken styles aren't working.
1521 For example:
1522
1523 h1.notice {color: red}
1524 a.important {@extend .notice}
1525
1526 This will print a warning, since the only use of `.notice` can't be merged with
1527 `a`.
1528
1529 You can declare that you don't want warnings for a specific `@extend` by using
1530 the `!optional` flag. For example:
1531
1532 h1.notice {color: red}
1533 a.important {@extend .notice !optional}
1534
1535 This will not print a warning.
1536
1537 #### Smaller Incompatibilities
1538
7a31fea @nex3 Disallow `&foo` wholesale.
nex3 authored
1539 * Parent selectors followed immediately by identifiers (e.g. `&foo`)
1540 are fully disallowed.
1541 They were deprecated in 3.1.8.
1542
870d200 @nex3 Get rid of //! and allow #{} in comments everywhere.
nex3 authored
1543 * `#{}` interpolation is now allowed in all comments.
1544
1545 * The `!` flag may not be used with `//` comments (e.g. `//!`).
1546
c56ecdb @nex3 Changelog entries.
nex3 authored
1547 * `#{}` interpolation is now disallowed in all `@import` statements
1548 except for those using `url()`.
1549
0db3cb6 @nex3 Disable less support for sass-convert.
nex3 authored
1550 * `sass-convert` no longer supports converting files from LessCSS.
1551
287abb9 @nex3 Bump VERSION to 3.1.21.
nex3 authored
1552 ## 3.1.21 (10 August 2012)
1dc0321 @nex3 Update vendor/listen.
nex3 authored
1553
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1554 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.1.21).
1555
34059b2 @nex3 Preserve single-line comments in multi-line comments.
nex3 authored
1556 * Preserve single-line comments that are embedded within multi-line comments.
644da82 @nex3 Preserve newlines in nested selectors.
nex3 authored
1557 * Preserve newlines in nested selectors when those selectors are used multiple
1558 times in the same document.
4d615d6 @nex3 Don't die when running tests with LANG=.
nex3 authored
1559 * Allow tests to be run without the `LANG` environment variable set.
1dc0321 @nex3 Update vendor/listen.
nex3 authored
1560 * Update the bundled version of [Listen](https://github.com/guard/listen) to
1561 0.4.7.
a241c3b @chriseppstein Mention px conversions in the changelog.
chriseppstein authored
1562 * Sass will now convert `px` to other absolute units using the
1563 conversion ratio of `96px == 1in` as dictated by the
1564 [CSS Spec](http://www.w3.org/TR/CSS21/syndata.html#length-units)
1dc0321 @nex3 Update vendor/listen.
nex3 authored
1565
02947c9 @nex3 Bump VERSION to 3.1.20.
nex3 authored
1566 ## 3.1.20
3bd21ab @nex3 Add a changelog entry for previous commit.
nex3 authored
1567
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1568 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.1.20).
1569
3bd21ab @nex3 Add a changelog entry for previous commit.
nex3 authored
1570 * Don't crash if a UTF encoding isn't found. Thanks to [Andrew
1571 Garbutt](http://github.com/techsplicer).
a6db98c @nex3 Add a changelog entry for previous.
nex3 authored
1572 * Properly watch files recursively with `sass --watch`. Thanks to [Sébastien
1573 Tisserant](https://github.com/sebweaver).
7b6b001 @nex3 Fix append() docs.
nex3 authored
1574 * Fix the documentation for the \{Sass::Script::Functions#append append()}
1575 function.
219ce6d @nex3 Support Filter Effects versions of opacity and invert as well.
nex3 authored
1576 * Support the `saturate()`, `opacity()`, and `invert()` functions when used as
1577 in the [Filter Effects][filter] spec.
e702961 @nex3 Add a changelog entry for previous.
nex3 authored
1578 * Support MacRuby. Thanks to [Will Glynn](http://github.com/delta407).
26bdc20 @nex3 Clean up #saturate docs.
nex3 authored
1579
1580 [filter]: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
3bd21ab @nex3 Add a changelog entry for previous commit.
nex3 authored
1581
609fb94 @nex3 Bump VERSION to 3.1.19.
nex3 authored
1582 ## 3.1.19
553f0e0 @nex3 Fix a constant-resolution error.
nex3 authored
1583
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1584 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.1.19).
1585
553f0e0 @nex3 Fix a constant-resolution error.
nex3 authored
1586 * Fix an `uninitialized constant Sass::Exec::Sass::Util` error when using the
1587 command-line tool.
7608f2b @nex3 Document new @extend-in-directive semantics.
nex3 authored
1588 * Allow `@extend` within directives such as `@media` as long as it only extends
1589 selectors that are within the same directive.
553f0e0 @nex3 Fix a constant-resolution error.
nex3 authored
1590
f0c840f @nex3 Bump VERSION to 3.1.18.
nex3 authored
1591 ## 3.1.18
a3b1b45 @jeremy Check for private visitor methods.
jeremy authored
1592
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1593 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.1.18).
1594
a3b1b45 @jeremy Check for private visitor methods.
jeremy authored
1595 * Ruby 2.0 compatibility. Thanks to [Jeremy
1596 Kemper](https://github.com/jeremy).
1597
99d8836 @nex3 Deprecate @extend within @media.
nex3 authored
1598 ### Deprecations -- Must Read!
1599
1600 * Deprecate the use of `@extend` within directives such as `@media`. This has
1601 never worked correctly, and now it's officially deprecated. It will be an
1602 error in 3.2.
1603
62e38c1 @nex3 Bump VERSION to 3.1.17.
nex3 authored
1604 ## 3.1.17
60a9db3 @nex3 Fix Tree#inspect on Ruby 1.9.
nex3 authored
1605
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1606 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.1.17).
1607
60a9db3 @nex3 Fix Tree#inspect on Ruby 1.9.
nex3 authored
1608 * Don't crash when calling `#inspect` on an internal Sass tree object in Ruby
1609 1.9.
ca4ad92 @nex3 Use my listen repo for the time being.
nex3 authored
1610 * Fix some bugs in `sass --watch` introduced in 3.1.16. Thanks to [Maher
0a2eafd @Maher4Ever Fix the Listen plugin.
Maher4Ever authored
1611 Sallam](https://github.com/Maher4Ever).
7536aee @nex3 Merge remote branch 'origin/stable' into stable
nex3 authored
1612 * Support bare interpolation in the value portion of attribute
1613 selectors (e.g. `[name=#{$value}]`).
1614 * Support keyword arguments for the `invert()` function.
3ee3411 @nex3 Fix Dir.glob with backslash paths on Windows.
nex3 authored
1615 * Handle backslash-separated paths better on Windows.
339d325 @nex3 Fix rake package/install on Ruby 1.9.
nex3 authored
1616 * Fix `rake install` on Ruby 1.9.
cb84d9f @nex3 Fix nested @if conversion.
nex3 authored
1617 * Properly convert nested `@if` statements with `sass-convert`.
60a9db3 @nex3 Fix Tree#inspect on Ruby 1.9.
nex3 authored
1618
425a472 @nex3 Bump VERSION to 3.1.16.
nex3 authored
1619 ## 3.1.16
1cbf18c @nex3 Properly parse selectors in css2sass.
nex3 authored
1620
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1621 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.1.16).
1622
1cbf18c @nex3 Properly parse selectors in css2sass.
nex3 authored
1623 * Fix some bugs in `sass-convert` selector parsing when converting from CSS.
abe0981 @nex3 Big improvement to perf on 1.8.
nex3 authored
1624 * Substantially improve compilation performance on Ruby 1.8.
9a03953 @nex3 Support @-moz-document.
nex3 authored
1625 * Support the `@-moz-document` directive's non-standard `url-prefix` and
1626 `domain` function syntax.
b0367a3 @nex3 Support @supports.
nex3 authored
1627 * Support the [`@supports` directive](http://www.w3.org/TR/css3-conditional/#at-supports).
a69ebc6 @nex3 Fix a perf bug with CommentNode#normalize_indentation.
nex3 authored
1628 * Fix a performance issue when using `/*! */` comments with the Rails asset
1629 pipeline.
1c75982 @nex3 Support -moz-element.
nex3 authored
1630 * Support `-moz-element`.
09134ca @nex3 Properly convert empty lists.
nex3 authored
1631 * Properly handle empty lists in `sass-convert`.
91f5553 @nex3 Move from FSSM -> guard/listen.
nex3 authored
1632 * Move from [FSSM](https://github.com/ttilley/fssm) to
1633 [Listen](https://github.com/guard/listen) for file-system monitoring.
1cbf18c @nex3 Properly parse selectors in css2sass.
nex3 authored
1634
8a7194a @nex3 Bump VERSION to 3.1.15.
nex3 authored
1635 ## 3.1.15
dd594c3 @nex3 Officially support "@extend .foo, .bar".
nex3 authored
1636
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1637 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.1.15).
1638
dd594c3 @nex3 Officially support "@extend .foo, .bar".
nex3 authored
1639 * Support extending multiple comma-separated selectors (e.g. `@extend .foo, .bar`).
1640 This is just a terser way to write multiple `@extend`s
1641 (e.g. `@extend .foo; @extend .bar`).
1642 This wasn't previously intended to work, but it did in the indented syntax only.
70dddf1 @nex3 Fix an import loop stack overflow in StalenessChecker.
nex3 authored
1643 * Avoid more stack overflows when there are import loops in files.
b5316b4 @nex3 Update FSSM to 0.2.8.1.
nex3 authored
1644 * Update the bundled [FSSM](https://github.com/ttilley/fssm) to version 0.2.8.1.
cf995b4 @nex3 Fix grayscale with -webkit-filter.
nex3 authored
1645 * Make the `grayscale` function work with `-webkit-filter`.
75ada6c @nex3 Fix error for "/ foo" in Sass.
nex3 authored
1646 * Provide a better error message for selectors beginning with `/`
1647 in the indented syntax.
78968ff @nex3 Note sass --watch flushing in the changelog.
nex3 authored
1648 * Flush standard output after printing notifications in `sass --watch`.
cefa607 @nex3 Fix the REPL.
nex3 authored
1649 * Fix variable definitions in the REPL.
dd594c3 @nex3 Officially support "@extend .foo, .bar".
nex3 authored
1650
445559d @nex3 Bump VERSION to 3.1.14.
nex3 authored
1651 ## 3.1.14
55cab69 @nex3 Fix a dumb bug.
nex3 authored
1652
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1653 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.1.14).
1654
55cab69 @nex3 Fix a dumb bug.
nex3 authored
1655 * Fix a typo that was causing crashes on Ruby 1.9.
1656
d5dab66 @nex3 Bump VERSION to 3.1.13.
nex3 authored
1657 ## 3.1.13
0e292dd @nex3 Use the multibyte scanner pervasively.
nex3 authored
1658
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1659 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.1.13).
1660
0e292dd @nex3 Use the multibyte scanner pervasively.
nex3 authored
1661 * Fix a smattering of subtle bugs that would crop up when using multibyte
1662 character sets.
619b168 @nex3 Properly handle initial operators when extending selectors.
nex3 authored
1663 * Fix a bug when using `@extend` with selectors containing newlines.
b7bde56 @nex3 Short-circuiting boolean ops.
nex3 authored
1664 * Make boolean operators short-circuit.
d688c56 @nex3 Remove excess selector whitespace under :compressed.
nex3 authored
1665 * Remove unnecessary whitespace in selectors in `:compressed` mode.
ed2247a @nex3 Don't put debug info in unknown directives.
nex3 authored
1666 * Don't output debug info within non-`@media` directives.
ad70200 @nex3 Fix :after and :before with @extend.
nex3 authored
1667 * Make sure `:after` and `:before` selectors end up on the end of
1668 selectors resulting from `@extend`.
26e0380 @nex3 Escape cache filenames so they don't break on Windows.
nex3 authored
1669 * Fix a bug when using imports containing invalid path characters on Windows.
f0ca6ba @nex3 Bubble up CSS @imports.
nex3 authored
1670 * Bubble CSS `@import` statements to the top of stylesheets.
ad70200 @nex3 Fix :after and :before with @extend.
nex3 authored
1671
fb5cb05 @nex3 Bump VERSION to 3.1.12.
nex3 authored
1672 ## 3.1.12
4c2bb22 @nex3 Add a changelog entry about mathn compatibility.
nex3 authored
1673
1dd6504 @zessx Fix GitHub tag links, and add missing ones.
zessx authored
1674 [Tagged on GitHub](https://github.com/sass/sass/releases/tag/3.1.12).
1675
17c5b26 @nex3 Changelog formatting.
nex3 authored
1676 * Compatibility with the `mathn` library
1677 (thanks to [Thomas Walpole](https://github.com/twalpole)).
645d170 @nex3 Fix some infinite mixin loops.
nex3 authored
1678 * Fix some infinite loops with mixins that were previously uncaught.
9ffd9af @nex3 Catch infinite import loops.
nex3 authored
1679 * Catch infinite `@import` loops.
39e7ee7 @Marzelpan Use on_updated_stylesheet instead of on_updating_stylesheet in Exec
Marzelpan authored
1680 * Fix a deprecation warning in `sass --update` and `--watch`
1681 (thanks to [Marcel Köppen](https://github.com/Marzelpan)).
dcf37c8 @nex3 Don't make $important special.
nex3 authored