sass 1.0.0-rc.1
sass: ^1.0.0-rc.1 copied to clipboard
A Sass implementation in Dart.
1.0.0-rc.1 #
-
Add support for importing an
_index.scssor_index.sassfile when importing a directory. -
Add a
--load-pathcommand-line option (alias-I) for passing additional paths to search for Sass files to import. -
Add a
--quietcommand-line option (alias-q) for silencing warnings. -
Add an
--indentedcommand-line option for using the indented syntax with a stylesheet from standard input. -
Don't merge the media queries
not typeand(feature). We had previously been generatingnot type and (feature), but that's not actually the intersection of the two queries. -
Don't crash on
$x % 0. -
The standalone executable distributed on GitHub is now named
sassrather thandart-sass. Thedart-sassexecutable will remain, with a deprecation message, until 1.0.0 is released.
Dart API #
-
Add a
Loggerclass that allows users to control how messages are printed by stylesheets. -
Add a
loggerparameter tocompile(),compileAsync(),compileString(), andcompileStringAsync().
Node JS API #
- Import URLs passed to importers are no longer normalized. For example, if a
stylesheet contains
@import "./foo.scss", importers will now receive"./foo.scss"rather than"foo.scss".
1.0.0-beta.5.3 #
-
Support hard tabs in the indented syntax.
-
Improve the formatting of comments that don't start on the same line as the opening
/*. -
Preserve whitespace after
andin media queries in compressed mode.
Indented Syntax #
-
Properly parse multi-line selectors.
-
Don't deadlock on
/*comments. -
Don't add an extra
*/to comments that already have it. -
Preserve empty lines in
/*comments.
1.0.0-beta.5.2 #
- Fix a bug where some colors would crash
compressedmode.
1.0.0-beta.5.1 #
-
Add a
compressedoutput style. -
Emit a warning when
&&is used, since it's probably not what the user means. -
round()now returns the correct results for negative numbers that should round down. -
var()may now be passed in place of multiple arguments torgb(),rgba(),hsl()andhsla(). -
Fix some cases where equivalent numbers wouldn't count as the same keys in maps.
-
Fix a bug where multiplication like
(1/1px) * (1px/1)wouldn't properly cancel out units. -
Fix a bug where dividing by a compatible unit would produce an invalid result.
-
Remove a non-
sh-compatible idiom from the standalone shell script.
Dart API #
-
Add a
functionsparameter tocompile(),compleString(),compileAsync(), andcompileStringAsync(). This allows users to define custom functions in Dart that can be invoked from Sass stylesheets. -
Expose the
CallableandAsyncCallabletypes, which represent functions that can be invoked from Sass. -
Expose the
Valuetype and its subclasses, as well as the top-levelsassTrue,sassFalse, andsassNullvalues, which represent Sass values that may be passed into or returned from custom functions. -
Expose the
OutputStyleenum, and add astyleparameter tocompile(),compleString(),compileAsync(), andcompileStringAsync()that allows users to control the output style.
Node JS API #
-
Support the
functionsoption. -
Support the
"compressed"value for theoutputStyleoption.
1.0.0-beta.4 #
-
Support unquoted imports in the indented syntax.
-
Fix a crash when
:not(...)extends a selector that appears in:not(:not(...)).
Node JS API #
- Add support for asynchronous importers to
render()andrenderSync().
Dart API #
-
Add
compileAsync()andcompileStringAsync()methods. These run asynchronously, which allows them to take asynchronous importers (see below). -
Add an
AsyncImporterclass. This allows imports to be resolved asynchronously in case no synchronous APIs are available.AsyncImporters are only compatible withcompileAysnc()andcompileStringAsync().
1.0.0-beta.3 #
-
Properly parse numbers with exponents.
-
Don't crash when evaluating CSS variables whose names are entirely interpolated (for example,
#{--foo}: ...).
Node JS API #
- Add support for the
importeroption torender()andrenderSync(). Only synchronous importers are currently supported.
Dart API #
-
Added an
Importerclass. This can be extended by users to provide support for custom resolution for@importrules. -
Added built-in
FilesystemImporterandPackageImporterimplementations that support resolvingfile:andpackage:URLs, respectively. -
Added an
importersargument to thecompile()andcompileString()functions that providesImporters to use when resolving@importrules. -
Added a
loadPathsargument to thecompile()andcompileString()functions that provides paths to search for stylesheets when resolving@importrules. This is a shorthand for passingFilesystemImporters to theimportersargument.
1.0.0-beta.2 #
-
Add support for the
::slotted()pseudo-element. -
Generated transparent colors will now be emitted as
rgba(0, 0, 0, 0)rather thantransparent. This works around a bug wherein IE incorrectly handles the latter format.
Command-Line Interface #
- Improve the logic for whether to use terminal colors by default.
Node JS API #
-
Add support for
data,includePaths,indentedSyntax,lineFeed,indentWidth, andindentTypeoptions torender()andrenderSync(). -
The result object returned by
render()andrenderSync()now includes thestatsobject which provides metadata about the compilation process. -
The error object thrown by
render()andrenderSync()now includesline,column,file,status, andformattedfields. Themessagefield andtoString()also provide more information.
Dart API #
- Add a
renderString()method for rendering Sass source that's not in a file on disk.
1.0.0-beta.1 #
-
Drop support for the reference combinator. This has been removed from the spec, and will be deprecated and eventually removed in other implementations.
-
Trust type annotations when compiling to JavaScript, which makes it substantially faster.
-
Compile to minified JavaScript, which decreases the code size substantially and makes startup a little faster.
-
Fix a crash when inspecting a string expression that ended in "\a".
-
Fix a bug where declarations and
@extendwere allowed outside of a style rule in certain circumstances. -
Fix
notin parentheses in@supportsconditions. -
Allow
urlas an identifier name. -
Properly parse
/***/in selectors. -
Properly parse unary operators immediately after commas.
-
Match Ruby Sass's rounding behavior for all functions.
-
Allow
\at the beginning of a selector in the indented syntax. -
Fix a number of
@extendbugs:-
selector-extend()andselector-replace()now allow compound selector extendees. -
Remove the universal selector
*when unifying with other selectors. -
Properly unify the result of multiple simple selectors in the same compound selector being extended.
-
Properly handle extensions being extended.
-
Properly follow the first law of
@extend. -
Fix selector specificity tracking to follow the second law of
@extend. -
Allow extensions that match selectors but fail to unify.
-
Partially-extended selectors are no longer used as parent selectors.
-
Fix an edge case where both the extender and the extended selector have invalid combinator sequences.
-
Don't crash with a "Bad state: no element" error in certain edge cases.
-
1.0.0-alpha.9 #
-
Elements without a namespace (such as
div) are no longer unified with elements with the empty namespace (such as|div). This unification didn't match the results returned byis-superselector(), and was not guaranteed to be valid. -
Support
&within@at-root. -
Properly error when a compound selector is followed immediately by
&. -
Properly handle variable scoping in
@at-rootand nested properties. -
Properly handle placeholder selectors in selector pseudos.
-
Properly short-circuit the
orandandoperators. -
Support
--$variable. -
Don't consider unitless numbers equal to numbers with units.
-
Warn about using named colors in interpolation.
-
Don't emit loud comments in functions.
-
Detect import loops.
-
Fix
@importwith asupports()clause. -
Forbid functions named "and", "or", and "not".
-
Fix
type-of()with a function. -
Emit a nicer error for invalid tokens in a selector.
-
Fix
invert()with a$weightparameter. -
Fix a unit-parsing edge-cases.
-
Always parse imports with queries as plain CSS imports.
-
Support
&followed by a non-identifier. -
Properly handle split media queries.
-
Properly handle a placeholder selector that isn't at the beginning of a compound selector.
-
Fix more
str-slice()bugs. -
Fix the
%operator. -
Allow whitespace between
=and the mixin name in the indented syntax. -
Fix some slash division edge cases.
-
Fix
notwhen used like a function. -
Fix attribute selectors with single-character values.
-
Fix some bugs with the
call()function. -
Properly handle a backslash followed by a CRLF sequence in a quoted string.
-
Fix numbers divided by colors.
-
Support slash-separated numbers in arguments to plain CSS functions.
-
Error out if a function is passed an unknown named parameter.
-
Improve the speed of loading large files on Node.
-
Don't consider browser-prefixed selector pseudos to be superselectors of differently- or non-prefixed selector pseudos with the same base name.
-
Fix an
@extendedge case involving multiple combinators in a row. -
Fix a bug where a
@contentblock could get incorrectly passed to a mixin. -
Properly isolate the lexical environments of different calls to the same mixin and function.
1.0.0-alpha.8 #
-
Add the
content-exists()function. -
Support interpolation in loud comments.
-
Fix a bug where even valid semicolons and exclamation marks in custom property values were disallowed.
-
Disallow invalid function names.
-
Disallow extending across media queries.
-
Properly parse whitespace after
...in argument declaration lists. -
Support terse mixin syntax in the indented syntax.
-
Fix
@at-rootquery parsing. -
Support special functions in
@-moz-document. -
Support
...after a digit. -
Fix some bugs when treating a map as a list of pairs.
1.0.0-alpha.7 #
-
Fix
function-exists(),variable-exists(), andmixin-exists()to use the lexical scope rather than always using the global scope. -
str-index()now correctly inserts at negative indices. -
Properly parse
url()s that contain comment-like text. -
Fix a few more small
@extendbugs. -
Fix a bug where interpolation in a quoted string was being dropped in some circumstances.
-
Properly handle
@forrules where each bound has a different unit. -
Forbid mixins and functions from being defined in control directives.
-
Fix a superselector-computation edge case involving
:not(). -
Gracefully handle input files that are invalid UTF-8.
-
Print a Sass stack trace when a file fails to load.
1.0.0-alpha.6 #
-
Allow
var()to be passed torgb(),rgba(),hsl(), andhsla(). -
Fix conversions between numbers with
dpi,dpcm, anddppxunits. Previously these conversions were inverted. -
Don't crash when calling
str-slice()with an$end-atindex lower than the$start-atindex. -
str-slice()now correctly returns""when$end-atis negative and points before the beginning of the string. -
Interpolation in quoted strings now properly preserves newlines.
-
Don't crash when passing only
$hueor no keyword arguments toadjust-color(),scale-color(), orchange-color(). -
Preserve escapes in identifiers. This used to only work for identifiers in SassScript.
-
Fix a few small
@extendbugs.
1.0.0-alpha.5 #
-
Fix bounds-checking for
opacify(),fade-in(),transparentize(), andfade-out(). -
Fix a bug with
@extendsuperselector calculations. -
Fix some cases where
#{...}--would fail to parse in selectors. -
Allow a single number to be passed to
saturate()for use in filter contexts. -
Fix a bug where
**/would fail to close a loud comment. -
Fix a bug where mixin and function calls could set variables incorrectly.
-
Move plain CSS
@imports to the top of the document.
1.0.0-alpha.4 #
-
Add support for bracketed lists.
-
Add support for Unicode ranges.
-
Add support for the Microsoft-style
=operator. -
Print the filename for
@debugrules. -
Fix a bug where
1 + - 2and similar constructs would crash the parser. -
Fix a bug where
@extendproduced the wrong result when used with selector combinators. -
Fix a bug where placeholder selectors were not allowed to be unified.
-
Fix the
mixin-exists()function. -
Fix
:nth-child()and:nth-last-child()parsing when they containof selector.
1.0.0-alpha.3 #
-
Fix a bug where color equality didn't take the alpha channel into account.
-
Fix a bug with converting some RGB colors to HSL.
-
Fix a parent selector resolution bug.
-
Properly declare the arguments for
opacify()and related functions. -
Add a missing dependency on the
stack_tracepackage. -
Fix broken Windows archives.
-
Emit colors using their original representation if possible.
-
Emit colors without an original representation as names if possible.
1.0.0-alpha.2 #
- Fix a bug where variables, functions, and mixins were broken in imported files.
1.0.0-alpha.1 #
- Initial alpha release.