Update all dependencies #192
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/all"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
18.18.6->24.10.19.0.6->11.0.010.4.16->10.4.228.4.31->8.5.63.0.3->3.7.40.5.6->0.7.21.69.4->1.94.25.2.2->5.9.39.0.1->13.0.0Release Notes
postcss/autoprefixer (autoprefixer)
v10.4.22Compare Source
stretchprefixes on new Can I Use database.fraction.js.v10.4.21Compare Source
-moz-prefix for:placeholder-shown(by @Marukome0743).v10.4.20Compare Source
fit-contentprefix for Firefox.v10.4.19Compare Source
end value has mixed support, consider using flex-endwarningsince
end/startnow have good support.v10.4.18Compare Source
-webkit-box-orienton-webkit-line-clamp(@Goodwine).v10.4.17Compare Source
user-select: containprefixes.postcss/postcss (postcss)
v8.5.6Compare Source
ContainerWithChildrentype discriminating (by @Goodwine).v8.5.5Compare Source
package.json→exportscompatibility with some tools (by @JounQin).v8.5.4Compare Source
v8.5.3Compare Source
Unknown worderror (by @hiepxanh).v8.5.2Compare Source
v8.5.1Compare Source
v8.5.0: 8.5 “Duke Alloces”Compare Source
PostCSS 8.5 brought API to work better with non-CSS sources like HTML, Vue.js/Svelte sources or CSS-in-JS.
@romainmenke during his work on Stylelint added
Input#documentin additional toInput#css.Thanks to Sponsors
This release was possible thanks to our community.
If your company wants to support the sustainability of front-end infrastructure or wants to give some love to PostCSS, you can join our supporters by:
v8.4.49Compare Source
source.offset(by @romainmenke).v8.4.48Compare Source
v8.4.47Compare Source
v8.4.46Compare Source
Cannot read properties of undefined (reading 'before').v8.4.45Compare Source
v8.4.44Compare Source
markClean is not a functionerror.v8.4.43Compare Source
markClean is not a functionerror.v8.4.42Compare Source
v8.4.41Compare Source
v8.4.40Compare Source
v8.4.39Compare Source
CssSyntaxErrortypes (by @romainmenke).v8.4.38Compare Source
endIndex: 0in errors and warnings (by @romainmenke).v8.4.37Compare Source
original.column are not numberserror in another case.v8.4.36Compare Source
original.column are not numberserror on broken previous source map.v8.4.35Compare Source
!innode.parent.nodestype.undefinedto node adding method to simplify types.v8.4.34Compare Source
AtRule#nodestype (by Tim Weißenfels).v8.4.33Compare Source
NoWorkResultbehavior difference with normal mode (by Romain Menke).NoWorkResultusage conditions (by @ahmdammarr).v8.4.32Compare Source
postcss().process()types (by Andrew Ferreira).prettier/prettier (prettier)
v3.7.4Compare Source
diff
LWC: Avoid quote around interpolations (#18383 by @kovsu)
TypeScript: Fix comment inside union type gets duplicated (#18393 by @fisker)
TypeScript: Fix unstable comment print in union type comments (#18395 by @fisker)
v3.7.3Compare Source
diff
API: Fix
prettier.getFileInfo()change that breaks VSCode extension (#18375 by @fisker)An internal refactor accidentally broke the VSCode extension plugin loading.
v3.7.2Compare Source
diff
JavaScript: Fix string print when switching quotes (#18351 by @fisker)
JavaScript: Preserve quote for embedded HTML attribute values (#18352 by @kovsu)
TypeScript: Fix comment in empty type literal (#18364 by @fisker)
v3.7.1Compare Source
diff
API: Fix performance regression in doc printer (#18342 by @fisker)
Prettier 3.7.0 can be very slow when formatting big files, the regression has been fixed.
v3.7.0Compare Source
diff
🔗 Release Notes
v3.6.2Compare Source
diff
Markdown: Add missing blank line around code block (#17675 by @fisker)
v3.6.1Compare Source
diff
TypeScript: Allow const without initializer (#17650, #17654 by @fisker)
Miscellaneous: Avoid closing files multiple times (#17665 by @43081j)
When reading a file to infer the interpreter from a shebang, we use the
n-readlineslibrary to read the first line in order to get the shebang.This library closes files when it reaches EOF, and we later try close the same
files again. We now close files only if
n-readlinesdid not already closethem.
v3.6.0Compare Source
diff
🔗 Release Notes
v3.5.3Compare Source
diff
Flow: Fix missing parentheses in
ConditionalTypeAnnotation(#17196 by @fisker)v3.5.2Compare Source
diff
Remove
module-synccondition (#17156 by @fisker)In Prettier 3.5.0, we added
module-synccondition topackage.json, so thatrequire("prettier")can use ESM version, but turns out it doesn't work if CommonJS and ESM plugins both imports builtin plugins. To solve this problem, we decide simply remove themodule-synccondition, sorequire("prettier")will still use the CommonJS version, we'll revisit untilrequire(ESM)feature is more stable.v3.5.1Compare Source
diff
Fix CLI crash when cache for old version exists (#17100 by @sosukesuzuki)
Prettier 3.5 uses a different cache format than previous versions, Prettier 3.5.0 crashes when reading existing cache file, Prettier 3.5.1 fixed the problem.
Support dockercompose and github-actions-workflow in VSCode (#17101 by @remcohaszing)
Prettier now supports the
dockercomposeandgithub-actions-workflowlanguages in Visual Studio Code.v3.5.0Compare Source
diff
🔗 Release Notes
v3.4.2Compare Source
diff
Treat U+30A0 & U+30FB in Katakana Block as CJK (#16796 by @tats-u)
Prettier doesn't treat U+30A0 & U+30FB as Japanese. U+30FB is commonly used in Japanese to represent the delimitation of first and last names of non-Japanese people or “and”. The following “C言語・C++・Go・Rust” means “C language & C++ & Go & Rust” in Japanese.
U+30A0 can be used as the replacement of the
-in non-Japanese names (e.g. “Saint-Saëns” (Charles Camille Saint-Saëns) can be represented as “サン゠サーンス” in Japanese), but substituted by ASCII hyphen (U+002D) or U+FF1D (full width hyphen) in many cases (e.g. “サン=サーンス” or “サン=サーンス”).Fix comments print on class methods with decorators (#16891 by @fisker)
Fix non-idempotent formatting (#16899 by @seiyab)
This bug fix is not language-specific. You may see similar change in any languages. This fixes regression in 3.4.0 so change caused by it should yield same formatting as 3.3.3.
v3.4.1Compare Source
diff
Remove unnecessary parentheses around assignment in
v-on(#16887 by @fisker)v3.4.0Compare Source
diff
🔗 Release Notes
v3.3.3Compare Source
diff
Add parentheses for nullish coalescing in ternary (#16391 by @cdignam-segment)
This change adds clarity to operator precedence.
Add parentheses for decorator expressions (#16458 by @y-schneider)
Prevent parentheses around member expressions or tagged template literals from being removed to follow the stricter parsing rules of TypeScript 5.5.
Support
@letdeclaration syntax (#16474 by @sosukesuzuki)Adds support for Angular v18
@letdeclaration syntax.Please see the following code example. The
@letdeclaration allows you to define local variables within the template:For more details, please refer to the excellent blog post by the Angular Team: Introducing @let in Angular.
We also appreciate the Angular Team for kindly answering our questions to implement this feature.
v3.3.2Compare Source
diff
Fix handlebars path expressions starts with
@(#16358 by @Princeyadav05)v3.3.1Compare Source
diff
Preserve empty lines in front matter (#16347 by @fisker)
Preserve explicit language in front matter (#16348 by @fisker)
Avoid line breaks in import attributes (#16349 by @fisker)
v3.3.0Compare Source
diff
🔗 Release Notes
v3.2.5Compare Source
diff
Support Angular inline styles as single template literal (#15968 by @sosukesuzuki)
Angular v17 supports single string inline styles.
Unexpected embedded formatting for Angular template (#15969 by @JounQin)
Computed template should not be considered as Angular component template
Use
"json"parser fortsconfig.jsonby default (#16012 by @sosukesuzuki)In v3.2.0, we introduced
"jsonc"parser which adds trailing comma by default.When adding a new parser we also define how it will be used based on the
linguist-languagesdata.tsconfig.jsonis a special file used by TypeScript, it uses.jsonfile extension, but it actually uses the JSON with Comments syntax. However, we found that there are many third-party tools not recognize it correctly because of the confusing.jsonfile extension.We decide to treat it as a JSON file for now to avoid the extra configuration step.
To keep using the
"jsonc"parser for yourtsconfig.jsonfiles, add the following to your.prettierrcfilev3.2.4Compare Source
prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "jsonc" }
v3.2.3Compare Source
diff
Throw errors for invalid code (#15881 by @fisker, @Josh-Cena, @auvred)
Fix parser inference (#15927 by @fisker)
v3.2.2Compare Source
diff
Fix crash when parsing template literal CSS in a JSX style tag using a spread attribute (#15896 by @eelco)
For example this code would crash before:
Fix formatting error on optional call expression and member chain (#15920 by @sosukesuzuki)
v3.2.1Compare Source
diff
Fix formatting error on member chain (#15915 by @sosukesuzuki)
v3.2.0Compare Source
diff
🔗 Release Notes
v3.1.1Compare Source
diff
Fix config file search (#15363 by @fisker)
Previously, we start search for config files from the filePath as a directory, if it happened to be a directory and contains config file, it will be used by mistake.
Skip explicitly passed symbolic links with
--no-error-on-unmatched-pattern(#15533 by @sanmai-NL)Since Prettier v3, we stopped following symbolic links, however in some use cases, the symbolic link patterns can't be filtered out, and there is no way to prevent Prettier from throwing errors.
In Prettier 3.1.1, you can use
--no-error-on-unmatched-patternto simply skip symbolic links.Consistently use tabs in ternaries when
useTabsistrue(#15662 by @auvred)Improve config file search (#15663 by @fisker)
The Prettier config file search performance has been improved by more effective cache strategy.
Fix unstable and ugly formatting for comments in destructuring patterns (#15708 by @sosukesuzuki)
Support "Import Attributes" (#15718 by @fisker)
TypeScript 5.3 supports the latest updates to the import attributes proposal.
Fix false claim in docs that cursorOffset is incompatible with rangeStart/rangeEnd (#15750 by @ExplodingCabbage)
The cursorOffset option has in fact been compatible with rangeStart/rangeEnd for over 5 years, thanks to work by @ds300. However, Prettier's documentation (including the CLI
--helptext) continued to claim otherwise, falsely. The documentation is now fixed.Keep curly braces and
fromkeyword in emptyimportstatements (#15756 by @fisker)Keep empty import attributes and assertions (#15757 by @fisker)
v3.1.0Compare Source
diff
🔗 Release Notes
tailwindlabs/prettier-plugin-tailwindcss (prettier-plugin-tailwindcss)
v0.7.2Compare Source
Fixed
prettier-plugin-sveltewhen using Prettier v3.7+ (#418)v0.7.1Compare Source
Fixed
v0.7.0Compare Source
Added
@source,@plugin, and@config(#387)Changed
ParserOptionsandRequiredOptionstypes (#354)prettier-plugin-import-sort(#385)Fixed
@apply(#392)v0.6.14Compare Source
v0.6.13Compare Source
prettier-plugin-multiline-arraysandprettier-plugin-jsdocwork when used together with this plugin (#372)v0.6.12Compare Source
v0.6.11Compare Source
v0.6.10Compare Source
@zackad/prettier-plugin-twig(#327)@zackad/prettier-plugin-twig-melody(#327)v0.6.9Compare Source
tailwindStylesheetoption to replacetailwindEntryPoint(#330)v0.6.8Compare Source
v0.6.7Compare Source
@pluginand@configin v4 (#316)v0.6.6Compare Source
prettier-plugin-multiline-arrays(#299)v4.0.0-alpha.19(#310)v0.6.5Compare Source
v0.6.4Compare Source
PluginOptionstype (#292)v0.6.3Compare Source
v0.6.2Compare Source
Changed
v0.6.1Compare Source
v0.6.0Compare Source
Changed
v0.5.14Compare Source
Fixed
v0.5.13Compare Source
Added
@zackad/prettier-plugin-twig-melody(#255)v0.5.12Compare Source
Added
prettier-plugin-sort-imports(#241)v0.5.11Compare Source
Changed
v0.5.10Compare Source
Changed
v0.5.9Compare Source
Fixed
v0.5.8Compare Source
Added
prettier-plugin-marko(#229)v0.5.7Compare Source
Fixed
sass/dart-sass (sass)
v1.94.2Compare Source
Command-Line Interface
--fatal-deprecation <version>no longer emits warnings aboutdeprecations that are obsolete.
Dart API
Deprecation.forVersionnow excludes obsolete deprecations from the set itreturns.
JS API
fatalDeprecationswhen aVersionispassed.
Node.js Embedded Host
async compilation.
v1.94.1Compare Source
v1.94.0Compare Source
Potentially breaking compatibility fix:
@functionrules whose namesbegin with
--are now parsed as unknown at-rules to support the plain CSS@functionrule. Within this rule, theresultproperty is parsed as rawCSS just like custom properties.
Potentially breaking compatibility fix:
@mixinrules whose names beginwith
--are now errors. These are not yet parsed as unknown at-rules becauseno browser currently supports CSS mixins.
v1.93.3Compare Source
v1.93.2Compare Source
JavaScript API
@sass/types.v1.93.1Compare Source
JavaScript API
@sass/types.v1.93.0Compare Source
@import, and the loaded file@uses a user-defined module as well as@includes a top-level mixin whichemits top-level declarations.
JavaScript API
@sass/typespackage which contains the type annotations used byboth the
sassandsass-embeddedpackage without any additional code ordependencies.
v1.92.1Compare Source
would not be passed as implicit configuration to a later imported, forwarded
module.
v1.92.0Compare Source
Breaking change: Emit declarations, childless at-rules, and comments in
the order they appear in the source even when they're interleaved with nested
rules. This obsoletes the
mixed-declsdeprecation.Breaking change: The function name
type()is now fully reserved for theplain CSS function. This means that
@functiondefinitions with the nametypewill produce errors, while function calls will be parsed as specialfunction strings.
Configuring private variables using
@use ... with,@forward ... with, andmeta.load-css(..., $with: ...)is now deprecated. Private variables werealways intended to be fully encapsulated within the module that defines them,
and this helps enforce that encapsulation.
Fix a bug where
@extendrules loaded through a mixture of@importand@userules could fail to apply correctly.Command-Line Interface
--watchmode, delete the source map when the associated source file isdeleted.
v1.91.0Compare Source
Potentially breaking change:
meta.inspect()(as well as other systemsthat use it such as
@debugand certain error messages) now emits numberswith as high precision as is available instead of rounding to the nearest
1e⁻¹⁰ as we do when serializing to CSS. This better fits the purpose of
meta.inspect(), which is to provide full information about the structure ofa Sass value.
Passing a rest argument (
$arg...) before a positional or named argument whencalling a function or mixin is now deprecated. This was always outside the
specified syntax, but it was historically treated the same as passing the rest
argument at the end of the argument list whether or not that matched the
visual order of the arguments.
v1.90.0Compare Source
@forwarded module to be loaded with a configuration when that modulehas already been loaded with a different configuration and the module
doesn't define any variables that would have been configured anyway.
v1.89.2Compare Source
Embedded Host
bufdependency.v1.89.1Compare Source
v1.89.0Compare Source
potential resolutions, as long as those resolutions all point to the same
file.
v1.88.0Compare Source
Allow custom properties with empty values (such as
--var:;).Fix a bug when calculating source spans for interpolations.
Dart and JS APIs
mixin object from one compilation to another.
Dart API
compileString()and related functions.v1.87.0Compare Source
nesting selector
&is loaded into a nested Sass context viameta.load-css()or@import, Sass now emits plain CSS nesting rather thanincorrectly combining it with the parent selector using a descendant
combinator.
v1.86.3Compare Source
a
..segment.v1.86.2Compare Source
v1.86.1Compare Source
file:URL case canonicalization on Windows andMac OS.
v1.86.0Compare Source
Add support for
%as an expression in its own right. It will still be parsedas the modulo operator when between two other expressions, but in any other
context it will be an expression whose value is the unquoted string
%.Consider
attr()to be a special number function that can be used as achannel in color functions.
Deprecate user-defined functions named
type()so that we can eventuallysupport the new CSS
type()function.Dart API
v1.85.1Compare Source
functions could incorrectly be treated as CSS math functions even though they
used Sass-only features, causing compilation failures. For example,
round(-$var / 2)previously threw an error but now works as intended.v1.85.0Compare Source
@extend. This causedunacceptable performance issues for certain heavy users of
@extend. We'lltry to find a more performant way to accomplish it in the future.
v1.84.0Compare Source
Allow newlines in whitespace in the indented syntax.
Potentially breaking bug fix: Selectors with unmatched brackets now always
produce a parser error. Previously, some edge cases like
[foo#{"]:is(bar"}) {a: b}would compile without error, but this was an unintentional bug.Fix a bug in which various Color Level 4 functions weren't allowed in plain
CSS.
Fix the error message for
@extendwithout a selector and possibly otherparsing edge-cases in contexts that allow interpolation.
Embedded Host
SassBooleantype to adhere to the spec,now using a class instead of an interface.
v1.83.4Compare Source
v1.83.3Compare Source
v1.83.2Compare Source
Properly display deprecation IDs for the JS Sass API.
Don't display deprecation IDs for user-defined deprecations.
v1.83.1Compare Source
Fix a bug where
--quiet-depswould get deactivated for@contentblocks,even when those blocks were entirely contained within dependencies.
Include deprecation IDs in deprecation warnings to make it easier to determine
what to pass to
--silence-deprecationor--fatal-deprecation.v1.83.0Compare Source
v1.82.0Compare Source
Command-Line Interface
Improve
--watchmode reliability when making multiple changes at once, suchas checking out a different Git branch.
Parse the
calc-size()function as a calculation now that it's supported insome browsers.
Dart API
SassCalculation.calcSize()function.v1.81.1Compare Source
v1.81.0Compare Source
Fix a few cases where deprecation warnings weren't being emitted for global
built-in functions whose names overlap with CSS calculations.
Add support for the CSS
round()calculation with a single argument, as longas that argument might be a unitless number.
v1.80.7Compare Source
Embedded Host
0asundefinedfor thegreenandbluechannels in theLegacyColorconstructor.v1.80.6Compare Source
Command-Line Interface
@parcel/watcheran optional dependency so this can still be installedon operating systems where it's unavailable.
v1.80.5Compare Source
Embedded Host
@importdeprecations when using an importer with thelegacy API.
v1.80.4Compare Source
v1.80.3Compare Source
Fix a bug where
@import url("...")would crash in plain CSS files.Improve consistency of how warnings are emitted by different parts of the
compiler. This should result in minimal user-visible changes, but different
types of warnings should now respond more reliably to flags like
--quiet,--verbose, and--silence-deprecation.v1.80.2Compare Source
plain-CSS
invert()function.v1.80.1Compare Source
v1.80.0Compare Source
@importis now officially deprecated, as are global built-in functions thatare available within built-in modules. See the Sass blog post for more
details on the deprecation process.
Embedded Host
emitted when using a custom importer with the legacy API.
v1.79.6Compare Source
Fix a bug where Sass would add an extra
*/after loud comments withwhitespace after an explicit
*/in the indented syntax.Potentially breaking bug fix: Adding text after an explicit
*/in theindented syntax is now an error, rather than silently generating invalid CSS.
Embedded Host
SassBooleantype.v1.79.5Compare Source
Changes to how
selector.unify()and@extendcombine selectors:The relative order of pseudo-classes (like
:hover) and pseudo-elements(like
::before) within each original selector is now preserved whenthey're combined.
Pseudo selectors are now consistently placed at the end of the combined
selector, regardless of which selector they came from. Previously, this
reordering only applied to pseudo-selectors in the second selector.
Tweak the color transformation matrices for OKLab and OKLCH to match the
newer, more accurate values in the CSS spec.
Fix a slight inaccuracy case when converting to
srgb-linearanddisplay-p3.Potentially breaking bug fix:
math.unit()now wraps multiple denominatorunits in parentheses. For example,
px/(em*em)instead ofpx/em*em.Command-Line Interface
@parcel/watcherto watch the filesystem when running from JavaScript andnot using
--poll. This should mitigate more frequent failures users havebeen seeing since version 4.0.0 of Chokidar, our previous watching tool, was
released.
JS API
SassColor.interpolate()to allow an undefinedoptionsparameter, asthe types indicate.
Embedded Sass
v1.79.4Compare Source
JS API
greenorbluetocolor.change()for legacycolors would fail.
v1.79.3Compare Source
$channelparameter in the suggested replacement forcolor.red(),color.green(),color.blue(),color.hue(),color.saturation(),color.lightness(),color.whiteness(), andcolor.blackness()to use a quoted string.v1.79.2Compare Source
Add a
$spaceparameter to the suggested replacement forcolor.red(),color.green(),color.blue(),color.hue(),color.saturation(),color.lightness(),color.whiteness(), andcolor.blackness().Update deprecation warnings for the legacy JS API to include a link to
relevant documentation.
v1.79.1Compare Source
v1.79.0Compare Source
Breaking change: Passing a number with unit
%to the$alphaparameterof
color.change(),color.adjust(),change-color(), andadjust-color()is now interpreted as a percentage, instead of ignoring the unit. For example,
color.change(red, $alpha: 50%)now returnsrgb(255 0 0 / 0.5).Potentially breaking compatibility fix: Sass no longer rounds RGB channels
to the nearest integer. This means that, for example,
rgb(0 0 1) != rgb(0 0 0.6). This matches the latest version of the CSS spec and browser behavior.Potentially breaking compatibility fix: Passing large positive or negative
values to
color.adjust()can now cause a color's channels to go outside thatcolor's gamut. In most cases this will currently be clipped by the browser and
end up showing the same color as before, but once browsers implement gamut
mapping it may produce a different result.
Add support for CSS Color Level 4 color spaces. Each color value now tracks
its color space along with the values of each channel in that color space.
There are two general principles to keep in mind when dealing with new color
spaces:
With the exception of legacy color spaces (
rgb,hsl, andhwb), colorswill always be emitted in the color space they were defined in unless
they're explicitly converted.
The
color.to-space()function is the only way to convert a color toanother color space. Some built-in functions may do operations in a
different color space, but they'll always convert back to the original space
afterwards.
rgbcolors can now have non-integer channels and channels outside the normalgamut of 0-255. These colors are always emitted using the
rgb()syntax sothat modern browsers that are being displayed on wide-gamut devices can
display the most accurate color possible.
Add support for all the new color syntax defined in Color Level 4, including:
oklab(),oklch(),lab(), andlch()functions;hwb()function that matches the space-separated CSS syntax;color()function that supports thesrgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyz,xyz-d50, andxyz-d65color spaces.Add new functions for working with color spaces:
color.to-space($color, $space)converts$colorto the given$space. Inmost cases this conversion is lossless—the color may end up out-of-gamut for
the destination color space, but browsers will generally display it as best
they can regardless. However, the
hslandhwbspaces can't representout-of-gamut colors and so will be clamped.
color.channel($color, $channel, $space: null)returns the value of thegiven
$channelin$color, after converting it to$spaceif necessary.It should be used instead of the old channel-specific functions such as
color.red()andcolor.hue().color.same($color1, $color2)returns whether two colors represent the samecolor even across color spaces. It differs from
$color1 == $color2because==never consider colors in different (non-legacy) spaces as equal.color.is-in-gamut($color, $space: null)returns whether$colorisin-gamut for its color space (or
$spaceif it's passed).color.to-gamut($color, $space: null)returns$colorconstrained to itsspace's gamut (or to
$space's gamut, if passed). This is generally notrecommended since even older browsers will display out-of-gamut colors as
best they can, but it may be necessary in some cases.
color.space($color): Returns the name of$color's color space.color.is-legacy($color): Returns whether$coloris in a legacy colorspace (
rgb,hsl, orhwb).color.is-powerless($color, $channel, $space: null): Returns whether thegiven
$channelof$coloris powerless in$space(or its own colorspace). A channel is "powerless" if its value doesn't affect the way the
color is displayed, such as hue for a color with 0 chroma.
color.is-missing($color, $channel): Returns whether$channel's value ismissing in
$color. Missing channels can be explicitly specified using thespecial value
noneand can appear automatically whencolor.to-space()returns a color with a powerless channel. Missing channels are usually
treated as 0, except when interpolating between two colors and in
color.mix()where they're treated as the same value as the other color.Update existing functions to support color spaces:
hsl()andcolor.hwb()no longer forbid out-of-bounds values. Instead,they follow the CSS spec by clamping them to within the allowed range.
color.change(),color.adjust(), andcolor.scale()now support allchannels of all color spaces. However, if you want to modify a channel
that's not in
$color's own color space, you have to explicitly specify thespace with the
$spaceparameter. (For backwards-compatibility, thisdoesn't apply to legacy channels of legacy colors—for example, you can still
adjust an
rgbcolor's saturation without passing$space: hsl).color.mix()andcolor.invert()now support the standard CSS algorithmfor interpolating between two colors (the same one that's used for gradients
and animations). To use this, pass the color space to use for interpolation
to the
$methodparameter. For polar color spaces likehslandoklch,this parameter also allows you to specify how hue interpolation is handled.
color.complement()now supports a$spaceparameter that indicates whichcolor space should be used to take the complement.
color.grayscale()now operates in theoklchspace for non-legacy colors.color.ie-hex-str()now automatically converts its color to thergbspaceand gamut-maps it so that it can continue to take colors from any color
space.
The following functions are now deprecated, and uses should be replaced with
the new color-space-aware functions defined above:
The
color.red(),color.green(),color.blue(),color.hue(),color.saturation(),color.lightness(),color.whiteness(), andcolor.blackness()functions, as well as their global counterparts, shouldbe replaced with calls to
color.channel().The global
adjust-hue(),saturate(),desaturate(),lighten(),darken(),transaprentize(),fade-out(),opacify(), andfade-in()functions should be replaced by
color.adjust()orcolor.scale().Add a
global-builtinfuture deprecation, which can be opted-into with the--future-deprecationflag or thefutureDeprecationsoption in the JS orDart API. This emits warnings when any global built-in functions that are
now available in
sass:modules are called. It will become active by defaultin an upcoming release alongside the
@importdeprecation.Dart API
Added a
ColorSpaceclass which represents the various color spaces definedin the CSS spec.
Added
SassColor.spacewhich returns a color's color space.Added
SassColor.channelsand.channelsOrNullwhich returns a listof channel values, with missing channels converted to 0 or exposed as null,
respectively.
Added
SassColor.isLegacy,.isInGamut,.channel(),.isChannelMissing(),.isChannelPowerless(),.toSpace(),.toGamut(),.changeChannels(), and.interpolate()which do the same thing as the Sass functions of thecorresponding names.
SassColor.rgb()now allows out-of-bounds and non-integer arguments.SassColor.hsl()and.hwb()now allow out-of-bounds arguments.Added
SassColor.hwb(),.srgb(),.srgbLinear(),.displayP3(),.a98Rgb(),.prophotoRgb(),.rec2020(),.xyzD50(),.xyzD65(),.lab(),.lch(),.oklab(),.oklch(), and.forSpace()constructors.Deprecated
SassColor.red,.green,.blue,.hue,.saturation,.lightness,.whiteness, and.blacknessin favor ofSassColor.channel().Deprecated
SassColor.changeRgb(),.changeHsl(), and.changeHwb()infavor of
SassColor.changeChannels().Added
SassNumber.convertValueToUnit()as a shorthand forSassNumber.convertValue()with a single numerator.Added
InterpolationMethodandHueInterpolationMethodwhich collectivelyrepresent the method to use to interpolate two colors.
JS API
While the legacy API has been deprecated since we released the modern API, we
now emit warnings when the legacy API is used to make sure users are aware
that it will be removed in Dart Sass 2.0.0. In the meantime, you can silence
these warnings by passing
legacy-js-apiinsilenceDeprecationswhen usingthe legacy API.
Modify
SassColorto accept a newspaceoption, with support for all thenew color spaces defined in Color Level 4.
Add
SassColor.spacewhich returns a color's color space.Add
SassColor.channelsand.channelsOrNullwhich returns a list of channelvalues, with missing channels converted to 0 or exposed as null, respectively.
Add
SassColor.isLegacy,.isInGamut(),.channel(),.isChannelMissing(),.isChannelPowerless(),.toSpace(),.toGamut(),.change(), and.interpolate()which do the same thing as the Sass functions of thecorresponding names.
Deprecate
SassColor.red,.green,.blue,.hue,.saturation,.lightness,.whiteness, and.blacknessin favor ofSassColor.channel().Embedded Sass
Add
ColorSassScript value, with support for all the new color spacesdefined in Color Level 4.
Remove
RgbColor,HslColorandHwbColorSassScript values.v1.78.0Compare Source
The
meta.feature-existsfunction is now deprecated. This deprecation isnamed
feature-exists.Fix a crash when using
@at-rootwithout any queries or children in theindented syntax.
JS API
Backport the deprecation options (
fatalDeprecations,futureDeprecations,and
silenceDeprecations) to the legacy JS API. The legacy JS API is itselfdeprecated, and you should move off of it if possible, but this will allow
users of bundlers and other tools that are still using the legacy API to
still control deprecation warnings.
Fix a bug where accessing
SourceSpan.urlwould crash when a relative URL waspassed to the Sass API.
Embedded Sass
Explicitly expose a
sassexecutable from thesass-embeddednpm package.This was intended to be included in 1.63.0, but due to the way
platform-specific dependency executables are installed it did not work as
intended. Now users can run
npx sassfor local installs or justsasswhensass-embeddedis installed globally.Add linux-riscv64, linux-musl-riscv64, and android-riscv64 support for the
sass-embeddednpm package.Fix an edge case where the Dart VM could hang when shutting down when requests
were in flight.
Fix a race condition where the embedded host could fail to shut down if it was
closed around the same time a new compilation was started.
Fix a bug where parse-time deprecation warnings could not be controlled by
the deprecation options in some circumstances.
v1.77.8Compare Source
v1.77.7Compare Source
Declarations that appear after nested rules are deprecated, because the
semantics Sass has historically used are different from the semantics
specified by CSS. In the future, Sass will adopt the standard CSS semantics.
See the Sass website for details.
Potentially breaking bug fix:
//in certain places such as unknownat-rule values was being preserved in the CSS output, leading to potentially
invalid CSS. It's now properly parsed as a silent comment and omitted from the
CSS output.
v1.77.6Compare Source
between the end of Sass statements and the following semicolon.
v1.77.5Compare Source
@extend.v1.77.4Compare Source
Embedded Sass
Support passing
Versioninput forfatalDeprecationsas string overembedded protocol.
Fix a bug in the JS Embedded Host where
Versioncould be incorrectly acceptedas input for
silenceDeprecationsandfutureDeprecationsin pure JS.v1.77.3Compare Source
Dart API
Deprecation.duplicateVariableFlagshas been deprecated and replaced withDeprecation.duplicateVarFlagsto make it consistent with theduplicate-var-flagsname used on the command line and in the JS API.v1.77.2Compare Source
Don't emit deprecation warnings for functions and mixins beginning with
__.Allow user-defined functions whose names begin with
_and otherwise looklike vendor-prefixed functions with special CSS syntax.
Command-Line Interface
Properly handle the
--silence-deprecationflag.Handle the
--fatal-deprecationand--future-deprecationflags for--interactivemode.v1.77.1Compare Source
v1.77.0Compare Source
v1.76.0Compare Source
Throw errors for misplaced statements in keyframe blocks.
Mixins and functions whose names begin with
--are now deprecated forforwards-compatibility with the in-progress CSS functions and mixins spec.
This deprecation is named
css-function-mixin.v1.75.0Compare Source
when custom importers or the Node.js package importer made decisions based on
the URL of the containing stylesheet.
JS API
importerto be passed withouturlinStringOptionsWithImporter.v1.74.1Compare Source
v1.72.0Compare Source
Support adjacent
/s without whitespace in between when parsing plain CSSexpressions.
Allow the Node.js
pkg:importer to load Sass stylesheets forpackage.jsonexportsfield entries without extensions.When printing suggestions for variables, use underscores in variable names
when the original usage used underscores.
JavaScript API
pkg:imports with the Node.js package importer whenarguments are passed to the JavaScript process.
v1.71.1Compare Source
Command-Line Interface
JavaScript API
Export the
NodePackageImporterclass in ESM mode.Allow
NodePackageImporterto locate a default directory even when theentrypoint is an ESM module.
Dart API
NodePackageImporter()a static error ratherthan just a runtime error.
Embedded Sass
when running on musl Linux.
v1.71.0Compare Source
For more information about
pkg:importers, see theannouncement on the Sass blog.
Command-Line Interface
--pkg-importerflag to enable built-inpkg:importers. Currentlythis only supports the Node.js package resolution algorithm, via
--pkg-importer=node. For example,@use "pkg:bootstrap"will loadnode_modules/bootstrap/scss/bootstrap.scss.JavaScript API
NodePackageImporterimporter that can be passed to theimportersoption. This loads files using the
pkg:URL scheme according to the Node.jspackage resolution algorithm. For example,
@use "pkg:bootstrap"will loadnode_modules/bootstrap/scss/bootstrap.scss. The constructor takes a singleoptional argument, which indicates the base directory to use when locating
node_modulesdirectories. It defaults topath.dirname(require.main.filename).Dart API
NodePackageImporterimporter that can be passed to theimportersoption. This loads files using the
pkg:URL scheme according to the Node.jspackage resolution algorithm. For example,
@use "pkg:bootstrap"will loadnode_modules/bootstrap/scss/bootstrap.scss. The constructor takes a singleargument, which indicates the base directory to use when locating
node_modulesdirectories.v1.70.0Compare Source
JavaScript API
Add a
sass.initCompiler()function that returns asass.Compilerobjectwhich supports
compile()andcompileString()methods with the same API asthe global Sass object. On the Node.js embedded host, each
sass.Compilerobject uses a single long-lived subprocess, making compiling multiple
stylesheets much more efficient.
Add a
sass.initAsyncCompiler()function that returns asass.AsyncCompilerobject which supports
compileAsync()andcompileStringAsync()methods withthe same API as the global Sass object. On the Node.js embedded host, each
sass.AsynCompilerobject uses a single long-lived subprocess, makingcompiling multiple stylesheets much more efficient.
Embedded Sass
Support the
CompileRequest.silentfield. This allows compilations with nologging to avoid unnecessary request/response cycles.
The Dart Sass embedded compiler now reports its name as "dart-sass" rather
than "Dart Sass", to match the JS API's
infofield.v1.69.7Compare Source
Embedded Sass
ARM64 Windows.
v1.69.6Compare Source
Produce better output for numbers with complex units in
meta.inspect()anddebugging messages.
Escape U+007F DELETE when serializing strings.
When generating CSS error messages to display in-browser, escape all code
points that aren't in the US-ASCII region. Previously only code points U+0100
LATIN CAPITAL LETTER A WITH MACRON were escaped.
Provide official releases for musl LibC and for Android.
Don't crash when running
meta.apply()in asynchronous mode.JS API
SourceSpans that didn'tfollow the documented
SourceSpanAPI.v1.69.5Compare Source
JS API
microsoft/TypeScript (typescript)
v5.9.3: TypeScript 5.9.3Compare Source
Note: this tag was recreated to point at the correct commit. The npm package contained the correct content.
For release notes, check out the release announcement
Downloads are available on:
v5.9.2: TypeScript 5.9Compare Source
Note: this tag was recreated to point at the correct commit. The npm package contained the correct content.
For release notes, check out the release announcement
Downloads are available on:
v5.8.3: TypeScript 5.8.3Compare Source
Note: this tag was recreated to point at the correct commit. The npm package contained the correct content.
For release notes, check out the release announcement.
Downloads are available on:
v5.8.2: TypeScript 5.8Compare Source
For release notes, check out the release announcement.
Downloads are available on:
v5.7.3: TypeScript 5.7.3Compare Source
For release notes, check out the release announcement.
Downloads are available on npm
v5.7.2: TypeScript 5.7Compare Source
For release notes, check out the release announcement.
Downloads are available on:
v5.6.3: TypeScript 5.6.3Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v5.6.2: TypeScript 5.6Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v5.5.4: TypeScript 5.5.4Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v5.5.3: TypeScript 5.5.3Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v5.5.2: TypeScript 5.5Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v5.4.5: TypeScript 5.4.5Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v5.4.4: TypeScript 5.4.4Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v5.4.3: TypeScript 5.4.3Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v5.4.2: TypeScript 5.4Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v5.3.3: TypeScript 5.3.3Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v5.3.2: TypeScript 5.3Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
uuidjs/uuid (uuid)
v13.0.0Compare Source
⚠ BREAKING CHANGES
Bug Fixes
v12.0.0Compare Source
⚠ BREAKING CHANGES
Features
Bug Fixes
v11.1.0Compare Source
Features
Uint8Arraysubtypes forbufferoption (#865) (a5231e7)v11.0.5Compare Source
Bug Fixes
v11.0.4Compare Source
Bug Fixes
v1(),v4(), andv7()(#845) (e0ee900)v11.0.3Compare Source
Bug Fixes
v11.0.2Compare Source
Bug Fixes
v11.0.1Compare Source
Bug Fixes
v11.0.0Compare Source
⚠ BREAKING CHANGES
Features
Bug Fixes
v10.0.0Compare Source
⚠ BREAKING CHANGES
Features
Bug Fixes
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.
44d8cedcc6tob37a4c314dUpdate Node.js to v21to Update all dependencies⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below:
File name: pnpm-lock.yaml
b37a4c314dtoe7204556f6e7204556f6to1a9df0fe721a9df0fe72to904999b693904999b693tof8ca7bc9adf8ca7bc9adto5c9dc2d8715c9dc2d871toe8242366d4e8242366d4todc3881974ddc3881974dto71ab4297ff71ab4297fftoaf5bb7d3cfaf5bb7d3cftof4ab2cda05f4ab2cda05tocb9e22313fcb9e22313ftocab5b1bda3cab5b1bda3to5f36ddcd9e5f36ddcd9eto2d46aedb382d46aedb38toff0ad54a7dff0ad54a7dto9ebec9eef59ebec9eef5tofe1b3bfc00fe1b3bfc00tof82934f300f82934f300tocfd7b3f74ecfd7b3f74eto3b90c22e2a3b90c22e2ato1a115a28691a115a2869to34b0eb6e9834b0eb6e98toaa281960dcaa281960dcto127c89d54d127c89d54dto0c3f4062f70c3f4062f7to421efcaa7e421efcaa7eto34058d488334058d4883tod434d72560d434d72560tocdd20d81a1cdd20d81a1to886d14d218886d14d218to51f6a8119551f6a81195tof2eb5ad158f2eb5ad158to5d4a08b3085d4a08b308toac1a29c417ac1a29c417to1e8021ae381e8021ae38to43771e16ff43771e16ffto428d1a1f78428d1a1f78to91d414641291d4146412to1099f235d41099f235d4to20d98eb0af20d98eb0aftofebf212212febf212212tof4d44e8043f4d44e8043to9bf67748d29bf67748d2to37dddc875137dddc8751tof1249f453cf1249f453cto8928867c678928867c67tobfbd2ae6c0bfbd2ae6c0todff1578d8adff1578d8ato75d51738de75d51738detoe065de6bdae065de6bdatof80150467ef80150467etode17da0837de17da0837to6d871f218e6d871f218eto1cadf261e71cadf261e7to3066339ff93066339ff9to04aee705c604aee705c6to4c3ffee5664c3ffee566toe152112038e152112038toe9796d01e9e9796d01e9to0f953345a00f953345a0tob16d6a2ab6b16d6a2ab6tod36e71f52dd36e71f52dto371ab29723371ab29723todc39017364dc39017364tof06c18a3bef06c18a3beto74ca6ffa9b74ca6ffa9bto1297b899921297b89992to87009e6c7887009e6c78toe133d1b6ace133d1b6acto05297471b005297471b0to29c818e58f29c818e58ftof6dc58ba15f6dc58ba15to81e197552e81e197552etoa4de6d497aa4de6d497atoa88ed3206aa88ed3206ato32f958d36932f958d369to31e9973bca31e9973bcato8c8ff7b9e58c8ff7b9e5todf7a08d0cfdf7a08d0cfto0ca749f7af0ca749f7aftod6eb04817ad6eb04817atoe3cebfae0ce3cebfae0cto5adfb19bf05adfb19bf0to2dea02e4642dea02e464to53bcaaec9d53bcaaec9dto171132d857171132d857to22e7b08fd122e7b08fd1to697d132bfe697d132bfetoe261d1d7a9e261d1d7a9tof862a1b7e3f862a1b7e3tof8f26b058af8f26b058atobfe1f65fc3bfe1f65fc3tof6b5f2577ef6b5f2577etod79eb2e79bd79eb2e79btof913fbc23df913fbc23dto526f87973c526f87973cto97ade99a5597ade99a55to1219e9d9031219e9d903to54057bbbed54057bbbedtoc1307aa02cc1307aa02ctofaa214b3fdfaa214b3fdtob698a7f69fb698a7f69fto87c3663c3b87c3663c3bto236aea3347236aea3347to9689e8d7e59689e8d7e5to3ff896821b3ff896821bto3f2682e7473f2682e747to6a7798e9c66a7798e9c6to6c0b61385d6c0b61385dto7d6a8b8f387d6a8b8f38toaa3b7ed582aa3b7ed582to095a8f058d095a8f058dto105e14d4ba105e14d4bato5381da19c55381da19c5to9db7c9f36d9db7c9f36dto14ad5fdfce14ad5fdfcetocbc14ddfa9cbc14ddfa9to3994eae74c3994eae74cto302f73d6d1302f73d6d1to9acdc9059a9acdc9059ato5671c14c825671c14c82to4219bcaca04219bcaca0to2f3e2c24db2f3e2c24dbto285d06a96e285d06a96eto8ec06aa806⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below:
File name: pnpm-lock.yaml
8ec06aa806to9db0a3d8ce9db0a3d8ceto71332a421e71332a421etoc370a0f5a1c370a0f5a1to33a80b325a33a80b325ato1b980618791b98061879to7b6a930f3f7b6a930f3ftod51555684dd51555684dto0436e9815a0436e9815ato15cadd4ce315cadd4ce3to96f941391b96f941391btocc3c58cfe6cc3c58cfe6toc8851359bfc8851359bfto351e301dec351e301decto0ed483c89a0ed483c89ato371474a003371474a003tobc3f43d731bc3f43d731to9b5f65c8919b5f65c891to32ad398dd532ad398dd5to02c9fb36d302c9fb36d3to16bb4d9e6a16bb4d9e6ato1d4d9934f91d4d9934f9to88df83503688df835036toe2ca8bd339e2ca8bd339to288dfcfd2c288dfcfd2cto86fc64948e86fc64948eto1be0fa4b521be0fa4b52to96f3a150fc96f3a150fcto3dee30996a3dee30996ato7eaa94eb567eaa94eb56to5f3b7ceb375f3b7ceb37to556fd4a2d8556fd4a2d8to417990febb417990febbtobf4bec59c2bf4bec59c2to9409cff4639409cff463to9a412caa409a412caa40tob1ac73d17bb1ac73d17bto126dfd024d126dfd024dtoab7b1221ecab7b1221ecto98b3e96cac98b3e96cacto083e61aae7083e61aae7to5856934c9e5856934c9etod8a2c44cfdd8a2c44cfdtobe36d85c4fbe36d85c4ftoa363a8ead4a363a8ead4to3f38e951583f38e95158toc768c75cc6c768c75cc6to1c789cecfa1c789cecfato4c2f49b3dd4c2f49b3ddto1aa9ef0c251aa9ef0c25to8b00a376a98b00a376a9tofcddcf34a1fcddcf34a1tof3943433f8f3943433f8to24b525912224b5259122tod1832c9579d1832c9579toc8c9381e66c8c9381e66todc998e0034dc998e0034tof5cc6b1c46f5cc6b1c46tobd5e2bbf85bd5e2bbf85to1317e87ca41317e87ca4toa5a1a6b5a6a5a1a6b5a6to28421a44a928421a44a9to5c4feca6ce5c4feca6ceto85662cf31685662cf316to3215b7daaa3215b7daaatod6db98a2a4d6db98a2a4to786a0186b6786a0186b6toca3fd067d7ca3fd067d7toc215d32828c215d32828to8db3c92cc58db3c92cc5to442f00f9e9442f00f9e9toe8c9146640e8c9146640to907382d7e9907382d7e9to9740f1b2449740f1b244toe1c5cc8d74e1c5cc8d74to68109609486810960948to8ab06148ae8ab06148aeto535ad7275b535ad7275btofb45b56918fb45b56918to7ad433349b7ad433349bto11ebea95de11ebea95deto6d7d1ee33c6d7d1ee33cto0e44f8646d0e44f8646dto30ef028c2b30ef028c2btoa9402cb4faa9402cb4fato3ccb39ddad3ccb39ddadto342a0a59b3342a0a59b3toc9569c1da0c9569c1da0tod7e20f2943d7e20f2943to337c1c9cf8337c1c9cf8to641816bde1641816bde1to0c6611ab8e0c6611ab8eto645d5d9536645d5d9536toc794edd8f1c794edd8f1to0e0bf558910e0bf55891tof18e6f9238f18e6f9238tofa80c2d7d3fa80c2d7d3to7c023ace497c023ace49tofd354d6bdefd354d6bdeto3dd965c49a3dd965c49ato86d01ed40786d01ed407tof87b54328bf87b54328bto815d998a8c815d998a8ctof1c810b4a6f1c810b4a6to1408d6c6cd1408d6c6cdtoccd3574e37ccd3574e37to93f88040a093f88040a0to9b0031c93f9b0031c93ftoc7c48d85a5c7c48d85a5toe3446242e3e3446242e3tofc142bd575fc142bd575toc33e1c0a20c33e1c0a20tobd952b5e46bd952b5e46to25189f6ca825189f6ca8to86bca5798386bca57983toaf11766a19af11766a19to02d21067f802d21067f8to71089a858971089a8589to6b59f8074b6b59f8074bto0f3a6001300f3a600130to4ab43f1e604ab43f1e60todfb0322ac8dfb0322ac8to4c8cd348f14c8cd348f1toed9127b1aeed9127b1aeto9a6231df969a6231df96to9877b26c549877b26c54to3b8974d3403b8974d340toa60f303f7ba60f303f7bto4e607b2a3b4e607b2a3bto1b0415022e1b0415022eto27120532382712053238to078fb3fd9b078fb3fd9bto03fcd7f5be03fcd7f5beto085da085a2085da085a2to8f4b8cd3c28f4b8cd3c2to4d86fe4e8e4d86fe4e8eto1ae731b5661ae731b566to251939a158251939a158tof681febb8af681febb8ato1401c95de31401c95de3to06a3a7c84f06a3a7c84fto915f6df024915f6df024to018726e626View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.