To install Sass 1.45.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
JS API
This release includes an entirely new JavaScript API, designed to be more idiomatic, performant, and usable. The old API will continue to be supported until Dart Sass 2.0.0, but it is now considered deprecated and should be avoided for new code.
The new API includes:
compile() and compileAsync() functions that take Sass file paths and return the result of compiling them to CSS. The async function returns a Promise rather than using a callback-based API.
compileString() and compileStringAsync() functions that take a string of Sass source and compiles it to CSS. As above, the async function returns a Promise.
A new importer API that more closely matches the Sass specification's logic for resolving loads. This makes it much easier for Sass to cache information across @import and @use rules, which substantially improves performance for applications that rely heavily on repeated @imports.
A new custom function API, including much more usable JS representations of Sass value types complete with type-assertion functions, easy map and list lookups, and compatibility with the immutable package. Unlike in the legacy API, function callbacks now take one argument which contains an array of Sass values (rather than taking a separate JS argument for each Sass argument).
For full documentation of this API, please see the Sass website.
This release also adds TypeScript type definitions.
This release includes an entirely new JavaScript API, designed to be more
idiomatic, performant, and usable. The old API will continue to be supported
until Dart Sass 2.0.0, but it is now considered deprecated and should be avoided
for new code.
The new API includes:
compile() and compileAsync() functions that take Sass file paths and
return the result of compiling them to CSS. The async function returns a
Promise rather than using a callback-based API.
compileString() and compileStringAsync() functions that take a string of
Sass source and compiles it to CSS. As above, the async function returns a
Promise.
A new importer API that more closely matches the Sass specification's logic
for resolving loads. This makes it much easier for Sass to cache information
across @import and @use rules, which substantially improves performance
for applications that rely heavily on repeated @imports.
A new custom function API, including much more usable JS representations of
Sass value types complete with type-assertion functions, easy map and list
lookups, and compatibility with the immutable package. Unlike in the
legacy API, function callbacks now take one argument which contains an array
of Sass values (rather than taking a separate JS argument for each Sass
argument).
For full documentation of this API, please see the Sass website.
This release also adds TypeScript type definitions.
1.44.0
Suggest calc() as an alternative in /-as-division deprecation messages.
Dart API
Add SassNumber.convert() and SassNumber.convertValue(). These work like
SassNumber.coerce() and SassNumber.coerceValue(), except they don't treat
unitless numbers as universally compatible.
Fix a bug where SassNumber.coerceToMatch() and
... (truncated)
Commits
c59fee0 Merge pull request #1569 from sass/release
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps sass from 1.32.8 to 1.45.0.
Release notes
Sourced from sass's releases.
... (truncated)
Changelog
Sourced from sass's changelog.
... (truncated)
Commits
c59fee0
Merge pull request #1569 from sass/releasee86897b
Fix new analysis issues from Dart 2.15f31d154
Release 1.45.0fcdaa4e
Add TypeScript type declarations to the npm package (#1563)7954190
Release a release candidate for the new JS API (#1562)98a9470
Add support for custom functions in the new JS API (#1558)3e231f7
Improve the deprecation message for /-as-division (#1561)97c51d6
Add support for the JS API value types (#1552)926781b
Add support for css empty namespace attribute selector (#1554)da67438
Update the contribution guidelines regarding behaviors not supported by libsa...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)