Changelog
Changes Since 1.0.0-rc.1
!
in custom property values ([#260][]).render()
function.Errors are now subtypes of the Error
type.
Allow both the data
and file
options to be passed to render()
and
renderSync()
at once. The data
option will be used as the contents of the
stylesheet, and the file
option will be used as the path for error reporting
and relative imports. This matches Node Sass's behavior.
Changelog
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 and
in media queries in compressed mode.
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.
Changelog
1.0.0-beta.5.2
compressed
mode.Changelog
1.0.0-beta.5.1
Add a compressed
output 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 to rgb()
, rgba()
,
hsl()
and hsla()
.
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.
Add a functions
parameter to compile()
, compleString()
,
compileAsync()
, and compileStringAsync()
. This allows users to define
custom functions in Dart that can be invoked from Sass stylesheets.
Expose the Callable
and AsyncCallable
types, which represent functions
that can be invoked from Sass.
Expose the Value
type and its subclasses, as well as the top-level
sassTrue
, sassFalse
, and sassNull
values, which represent Sass values
that may be passed into or returned from custom functions.
Expose the OutputStyle
enum, and add a style
parameter to compile()
,
compleString()
, compileAsync()
, and compileStringAsync()
that allows
users to control the output style.
Support the functions
option.
Support the "compressed"
value for the outputStyle
option.
Changelog
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(...))
.
render()
and renderSync()
.Add compileAsync()
and compileStringAsync()
methods. These run
asynchronously, which allows them to take asynchronous importers (see below).
Add an AsyncImporter
class. This allows imports to be resolved
asynchronously in case no synchronous APIs are available. AsyncImporter
s are
only compatible with compileAysnc()
and compileStringAsync()
.
Changelog
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}: ...
).
importer
option to render()
and renderSync()
.
Only synchronous importers are currently supported.Added an Importer
class. This can be extended by users to provide support
for custom resolution for @import
rules.
Added built-in FilesystemImporter
and PackageImporter
implementations that
support resolving file:
and package:
URLs, respectively.
Added an importers
argument to the compile()
and compileString()
functions that provides Importer
s to use when resolving @import
rules.
Added a loadPaths
argument to the compile()
and compileString()
functions that provides paths to search for stylesheets when resolving
@import
rules. This is a shorthand for passing FilesystemImporter
s to the
importers
argument.
Changelog
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
than transparent
. This works around a bug wherein IE incorrectly handles the
latter format.
Add support for data
, includePaths
, indentedSyntax
, lineFeed
,
indentWidth
, and indentType
options to render()
and renderSync()
.
The result object returned by render()
and renderSync()
now includes the
stats
object which provides metadata about the compilation process.
The error object thrown by render()
and renderSync()
now includes line
,
column
, file
, status
, and formatted
fields. The message
field and
toString()
also provide more information.
renderString()
method for rendering Sass source that's not in a file
on disk.Changelog
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 @extend
were allowed outside of a style
rule in certain circumstances.
Fix not
in parentheses in @supports
conditions.
Allow url
as 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 @extend
bugs:
selector-extend()
and selector-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
][laws].
Fix selector specificity tracking to follow the
[second law of @extend
][laws].
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.