Update all dependencies #10
Loading…
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:
17.0.4
->22.9.1
8.4.12
->8.4.49
^2.6.2
->^3.0.0
^0.1.1
->^0.6.0
1.50.1
->1.81.0
3.0.24
->3.4.15
4.5.4
->5.6.3
Release Notes
postcss/postcss (postcss)
v8.4.49
Compare Source
source.offset
(by @romainmenke).v8.4.48
Compare Source
v8.4.47
Compare Source
v8.4.46
Compare Source
Cannot read properties of undefined (reading 'before')
.v8.4.45
Compare Source
v8.4.44
Compare Source
markClean is not a function
error.v8.4.43
Compare Source
markClean is not a function
error.v8.4.42
Compare Source
v8.4.41
Compare Source
v8.4.40
Compare Source
v8.4.39
Compare Source
CssSyntaxError
types (by @romainmenke).v8.4.38
Compare Source
endIndex: 0
in errors and warnings (by @romainmenke).v8.4.37
Compare Source
original.column are not numbers
error in another case.v8.4.36
Compare Source
original.column are not numbers
error on broken previous source map.v8.4.35
Compare Source
!
innode.parent.nodes
type.undefined
to node adding method to simplify types.v8.4.34
Compare Source
AtRule#nodes
type (by Tim Weißenfels).v8.4.33
Compare Source
NoWorkResult
behavior difference with normal mode (by Romain Menke).NoWorkResult
usage conditions (by @ahmdammarr).v8.4.32
Compare Source
postcss().process()
types (by Andrew Ferreira).v8.4.31
Compare Source
\r
parsing to fix CVE-2023-44270.v8.4.30
Compare Source
v8.4.29
Compare Source
Node#source.offset
(by Ido Rosenthal).v8.4.28
Compare Source
Root.source.end
for better source map (by Romain Menke).Result.root
types whenprocess()
has no parser.v8.4.27
Compare Source
Container
clone methods types.v8.4.26
Compare Source
v8.4.25
Compare Source
v8.4.24
Compare Source
Plugin
types.v8.4.23
Compare Source
v8.4.22
Compare Source
node16
(by Remco Haszing).v8.4.21
Compare Source
Input#error
types (by Aleks Hudochenkov).v8.4.20
Compare Source
@layer
.v8.4.19
Compare Source
v8.4.18
Compare Source
absolute: true
with emptysourceContent
(by Rene Haas).v8.4.17
Compare Source
Node.before()
unexpected behavior (by Romain Menke).v8.4.16
Compare Source
Root
AST migration.v8.4.15
Compare Source
v8.4.14
Compare Source
v8.4.13
Compare Source
append()
error after using.parent
(by Jordan Pittman).prettier/prettier (prettier)
v3.3.3
Compare 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
@let
declaration syntax (#16474 by @sosukesuzuki)Adds support for Angular v18
@let
declaration syntax.Please see the following code example. The
@let
declaration 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.2
Compare Source
diff
Fix handlebars path expressions starts with
@
(#16358 by @Princeyadav05)v3.3.1
Compare 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.0
Compare Source
diff
🔗 Release Notes
v3.2.5
Compare 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.json
by 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-languages
data.tsconfig.json
is a special file used by TypeScript, it uses.json
file 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.json
file 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.json
files, add the following to your.prettierrc
filev3.2.4
Compare Source
prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "jsonc" }
v3.2.3
Compare Source
diff
Throw errors for invalid code (#15881 by @fisker, @Josh-Cena, @auvred)
Fix parser inference (#15927 by @fisker)
v3.2.2
Compare 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.1
Compare Source
diff
Fix formatting error on member chain (#15915 by @sosukesuzuki)
v3.2.0
Compare Source
diff
🔗 Release Notes
v3.1.1
Compare 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-pattern
to simply skip symbolic links.Consistently use tabs in ternaries when
useTabs
istrue
(#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
--help
text) continued to claim otherwise, falsely. The documentation is now fixed.Keep curly braces and
from
keyword in emptyimport
statements (#15756 by @fisker)Keep empty import attributes and assertions (#15757 by @fisker)
v3.1.0
Compare Source
diff
🔗 Release Notes
v3.0.3
Compare Source
diff
Add
preferUnplugged: true
topackage.json
(#15169 by @fisker and @so1ve)Prettier v3 uses dynamic imports, user will need to unplug Prettier when Yarn's PnP mode is enabled, add
preferUnplugged: true
topackage.json
, so Yarn will install Prettier as unplug by default.Support shared config that forbids
require()
(#15233 by @fisker)If an external shared config package is used, and the package
exports
don't haverequire
ordefault
export.In Prettier 3.0.2 Prettier fails when attempt to
require()
the package, and throws an error.Allow argument of
require()
to break (#15256 by @fisker)Do not print trailing commas in arrow function type parameter lists in
ts
code blocks (#15286 by @sosukesuzuki)Support TypeScript 5.2
using
/await using
declaration (#15321 by @sosukesuzuki)Support for the upcoming Explicit Resource Management feature in ECMAScript.
using
/await using
declarationv3.0.2
Compare Source
diff
Break after
=
of assignment if RHS is poorly breakable AwaitExpression or YieldExpression (#15204 by @seiyab)Do not add trailing comma for grouped scss comments (#15217 by @auvred)
Print
declare
andexport
keywords for nested namespace (#15249 by @sosukesuzuki)v3.0.1
Compare Source
diff
Fix cursor positioning for a special case (#14812 by @fisker)
Fix plugins/estree.d.ts to make it a module (#15018 by @kingyue737)
Add
export {}
inplugins/estree.d.ts
to fix the "File is not a module" errorAdd parenthesis around leading multiline comment in return statement (#15037 by @auvred)
Add support for Vue "Generic Components" (#15066 by @auvred)
https://blog.vuejs.org/posts/vue-3-3#generic-components
Fix comments print in
IfStatement
(#15076 by @fisker)Add missing type definition for
printer.preprocess
(#15123 by @so1ve)Add missing
getVisitorKeys
method type definition forPrinter
(#15125 by @auvred)Add typing to support
readonly
array properties of AST Node (#15127 by @auvred)Add space before unary minus followed by a function call (#15129 by @pamelalozano)
v3.0.0
Compare Source
diff
🔗 Release Notes
v2.8.8
Compare Source
This version is a republished version of v2.8.7.
A bad version was accidentally published and it can't be unpublished, apologies for the churn.
v2.8.7
Compare Source
diff
Allow multiple decorators on same getter/setter (#14584 by @fisker)
v2.8.6
Compare Source
diff
Allow decorators on private members and class expressions (#14548 by @fisker)
v2.8.5
Compare Source
diff
Support TypeScript 5.0 (#14391 by @fisker, #13819 by @fisker, @sosukesuzuki)
TypeScript 5.0 introduces two new syntactic features:
const
modifiers for type parametersexport type *
declarationsAdd missing parentheses for decorator (#14393 by @fisker)
Add parentheses for
TypeofTypeAnnotation
to improve readability (#14458 by @fisker)Support
max_line_length=off
when parsing.editorconfig
(#14516 by @josephfrazier)If an .editorconfig file is in your project and it sets
max_line_length=off
for the file you're formatting,it will be interpreted as a
printWidth
ofInfinity
rather than being ignored(which previously resulted in the default
printWidth
of 80 being applied, if not overridden by Prettier-specific configuration).v2.8.4
Compare Source
diff
Fix leading comments in mapped types with
readonly
(#13427 by @thorn0, @sosukesuzuki)Group params in opening block statements (#14067 by @jamescdavis)
This is a follow-up to #13930 to establish wrapping consistency between opening block statements and else blocks by
grouping params in opening blocks. This causes params to break to a new line together and not be split across lines
unless the length of params exceeds the print width. This also updates the else block wrapping to behave exactly the
same as opening blocks.
Ignore files in
.sl/
(#14206 by @bolinfest)In Sapling SCM,
.sl/
is the folder where it stores its state, analogous to.git/
in Git. It should be ignored in Prettier like the other SCM folders.Recognize
@satisfies
in Closure-style type casts (#14262 by @fisker)Fix parens in inferred function return types with
extends
(#14279 by @fisker)v2.8.3
Compare Source
diff
Allow self-closing tags on custom elements (#14170 by @fisker)
See Angular v15.1.0 release note for details.
v2.8.2
Compare Source
diff
Don't lowercase link references (#13155 by @DerekNonGeneric & @fisker)
Preserve self-closing tags (#13691 by @dcyriller)
Allow custom "else if"-like blocks with block params (#13930 by @jamescdavis)
#13507 added support for custom block keywords used with
else
, but failed to allow block params. This updates printer-glimmer to allow block params with custom "else if"-like blocks.Preserve empty lines between nested SCSS maps (#13931 by @jneander)
Fix missing parentheses when an expression statement starts with
let[
(#14000, #14044 by @fisker, @thorn0)Fix semicolon duplicated at the end of LESS file (#14007 by @mvorisek)
Fix no space after unary minus when followed by opening parenthesis in LESS (#14008 by @mvorisek)
Do not change case of property name if inside a variable declaration in LESS (#14034 by @mvorisek)
Fix formatting for auto-accessors with comments (#14038 by @fisker)
Add parentheses for TSTypeQuery to improve readability (#14042 by @onishi-kohei)
Fix displacing of comments in default switch case (#14047 by @thorn0)
It was a regression in Prettier 2.6.0.
Support type annotations on auto accessors via
babel-ts
(#14049 by @sosukesuzuki)The bug that
@babel/parser
cannot parse auto accessors with type annotations has been fixed. So we now support it viababel-ts
parser.Fix formatting of empty type parameters (#14073 by @fisker)
Add parentheses to head of
ExpressionStatement
instead of the whole statement (#14077 by @fisker)Fix comments after directive (#14081 by @fisker)
Fix formatting for comments inside JSX attribute (#14082 by @fisker)
Quote numeric keys for json-stringify parser (#14083 by @fisker)
Fix removing commas from function arguments in maps (#14089 by @sosukesuzuki)
Do not insert space in LESS property access (#14103 by @fisker)
v2.8.1
Compare Source
diff
Fix SCSS map in arguments (#9184 by @agamkrbit)
Support auto accessors syntax (#13919 by @sosukesuzuki)
Support for Auto Accessors Syntax landed in TypeScript 4.9.
(Doesn't work well with
babel-ts
parser)v2.8.0
Compare Source
diff
🔗 Release Notes
v2.7.1
Compare Source
diff
Keep useful empty lines in description (#13013 by @chimurai)
v2.7.0
Compare Source
"""
First line
Second Line
"""
type Person {
name: String
}
tailwindlabs/prettier-plugin-tailwindcss (prettier-plugin-tailwindcss)
v0.6.9
Compare Source
tailwindStylesheet
option to replacetailwindEntryPoint
(#330)v0.6.8
Compare Source
v0.6.7
Compare Source
@plugin
and@config
in v4 (#316)v0.6.6
Compare Source
prettier-plugin-multiline-arrays
(#299)v4.0.0-alpha.19
(#310)v0.6.5
Compare Source
v0.6.4
Compare Source
PluginOptions
type (#292)v0.6.3
Compare Source
v0.6.2
Compare Source
Changed
v0.6.1
Compare Source
Added
tailwindPreserveDuplicates
option to disable removal of duplicate classes (#276)Fixed
v0.6.0
Compare Source
Changed
v0.5.14
Compare Source
Fixed
v0.5.13
Compare Source
Added
@zackad/prettier-plugin-twig-melody
(#255)v0.5.12
Compare Source
Added
prettier-plugin-sort-imports
(#241)v0.5.11
Compare Source
Changed
v0.5.10
Compare Source
Changed
v0.5.9
Compare Source
Fixed
v0.5.8
Compare Source
Added
prettier-plugin-marko
(#229)v0.5.7
Compare Source
Fixed
v0.5.6
Compare Source
Fixed
{{ … }}
expressions when using@shopify/prettier-plugin-liquid
v1.3+ (#222)v0.5.5
Compare Source
Fixed
className
in Astro (#215)v0.5.4
Compare Source
Fixed
tailwindFunctions
andtailwindAttributes
as optional (#206)@apply … #{'!important'}
sorting in SCSS (#212)v0.5.3
Compare Source
Fixed
__dirname
interop on Windows (#204)v0.5.2
Compare Source
Fixed
v0.5.1
Compare Source
Fixed
v0.5.0
Compare Source
Added
class:list
attribute (#192)v0.4.1
Compare Source
Fixed
v0.4.0
Compare Source
Added
Fixed
v0.3.0
Compare Source
Added
prettier-plugin-marko
(#151)Fixed
v0.2.8
Compare Source
Changed
@prettier/plugin-php
(#152)v0.2.7
Compare Source
Fixed
v0.2.6
Compare Source
Added
Fixed
tailwindcss
modules from nearest instance only (#139)v0.2.5
Compare Source
Fixed
capture
liquid tag (#131)v0.2.4
Compare Source
Fixed
class
attribute on components and custom elements in Astro (#129)v0.2.3
Compare Source
Fixed
concat
helper (#119)@ianvs/prettier-plugin-sort-imports
(#122)v0.2.2
Compare Source
Fixed
v0.2.1
Compare Source
Fixed
v0.2.0
Compare Source
Changed
prettier-plugin-svelte
(#101)Added
sass/dart-sass (sass)
v1.81.0
Compare 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.7
Compare Source
Embedded Host
0
asundefined
for thegreen
andblue
channels in theLegacyColor
constructor.v1.80.6
Compare Source
Command-Line Interface
@parcel/watcher
an optional dependency so this can still be installedon operating systems where it's unavailable.
v1.80.5
Compare Source
Embedded Host
@import
deprecations when using an importer with thelegacy API.
v1.80.4
Compare Source
v1.80.3
Compare 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.2
Compare Source
plain-CSS
invert()
function.v1.80.1
Compare Source
v1.80.0
Compare Source
@import
is 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.6
Compare 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
SassBoolean
type.v1.79.5
Compare Source
Changes to how
selector.unify()
and@extend
combine 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-linear
anddisplay-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/watcher
to 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 undefinedoptions
parameter, asthe types indicate.
Embedded Sass
v1.79.4
Compare Source
JS API
green
orblue
tocolor.change()
for legacycolors would fail.
v1.79.3
Compare Source
$channel
parameter 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.2
Compare Source
Add a
$space
parameter 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.1
Compare Source
v1.79.0
Compare Source
Breaking change: Passing a number with unit
%
to the$alpha
parameterof
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.
rgb
colors 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-d65
color spaces.Add new functions for working with color spaces:
color.to-space($color, $space)
converts$color
to 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
hsl
andhwb
spaces can't representout-of-gamut colors and so will be clamped.
color.channel($color, $channel, $space: null)
returns the value of thegiven
$channel
in$color
, after converting it to$space
if 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 == $color2
because==
never consider colors in different (non-legacy) spaces as equal.color.is-in-gamut($color, $space: null)
returns whether$color
isin-gamut for its color space (or
$space
if it's passed).color.to-gamut($color, $space: null)
returns$color
constrained 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$color
is in a legacy colorspace (
rgb
,hsl
, orhwb
).color.is-powerless($color, $channel, $space: null)
: Returns whether thegiven
$channel
of$color
is 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
none
and 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
$space
parameter. (For backwards-compatibility, thisdoesn't apply to legacy channels of legacy colors—for example, you can still
adjust an
rgb
color'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
$method
parameter. For polar color spaces likehsl
andoklch
,this parameter also allows you to specify how hue interpolation is handled.
color.complement()
now supports a$space
parameter that indicates whichcolor space should be used to take the complement.
color.grayscale()
now operates in theoklch
space for non-legacy colors.color.ie-hex-str()
now automatically converts its color to thergb
spaceand 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-builtin
future deprecation, which can be opted-into with the--future-deprecation
flag or thefutureDeprecations
option 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
@import
deprecation.Dart API
Added a
ColorSpace
class which represents the various color spaces definedin the CSS spec.
Added
SassColor.space
which returns a color's color space.Added
SassColor.channels
and.channelsOrNull
which 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.blackness
in 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
InterpolationMethod
andHueInterpolationMethod
which 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-api
insilenceDeprecations
when usingthe legacy API.
Modify
SassColor
to accept a newspace
option, with support for all thenew color spaces defined in Color Level 4.
Add
SassColor.space
which returns a color's color space.Add
SassColor.channels
and.channelsOrNull
which 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.blackness
in favor ofSassColor.channel()
.Embedded Sass
Add
Color
SassScript value, with support for all the new color spacesdefined in Color Level 4.
Remove
RgbColor
,HslColor
andHwbColor
SassScript values.v1.78.0
Compare Source
The
meta.feature-exists
function is now deprecated. This deprecation isnamed
feature-exists
.Fix a crash when using
@at-root
without 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.url
would crash when a relative URL waspassed to the Sass API.
Embedded Sass
Explicitly expose a
sass
executable from thesass-embedded
npm 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 sass
for local installs or justsass
whensass-embedded
is installed globally.Add linux-riscv64, linux-musl-riscv64, and android-riscv64 support for the
sass-embedded
npm 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.8
Compare Source
v1.77.7
Compare 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.6
Compare Source
between the end of Sass statements and the following semicolon.
v1.77.5
Compare Source
@extend
.v1.77.4
Compare Source
Embedded Sass
Support passing
Version
input forfatalDeprecations
as string overembedded protocol.
Fix a bug in the JS Embedded Host where
Version
could be incorrectly acceptedas input for
silenceDeprecations
andfutureDeprecations
in pure JS.v1.77.3
Compare Source
Dart API
Deprecation.duplicateVariableFlags
has been deprecated and replaced withDeprecation.duplicateVarFlags
to make it consistent with theduplicate-var-flags
name used on the command line and in the JS API.v1.77.2
Compare 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-deprecation
flag.Handle the
--fatal-deprecation
and--future-deprecation
flags for--interactive
mode.v1.77.1
Compare Source
v1.77.0
Compare Source
v1.76.0
Compare 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.0
Compare Source
when custom importers or the Node.js package importer made decisions based on
the URL of the containing stylesheet.
JS API
importer
to be passed withouturl
inStringOptionsWithImporter
.v1.74.1
Compare Source
v1.72.0
Compare Source
Support adjacent
/
s without whitespace in between when parsing plain CSSexpressions.
Allow the Node.js
pkg:
importer to load Sass stylesheets forpackage.json
exports
field 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.1
Compare Source
Command-Line Interface
JavaScript API
Export the
NodePackageImporter
class in ESM mode.Allow
NodePackageImporter
to 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.0
Compare Source
For more information about
pkg:
importers, see theannouncement on the Sass blog.
Command-Line Interface
--pkg-importer
flag 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
NodePackageImporter
importer that can be passed to theimporters
option. 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_modules
directories. It defaults topath.dirname(require.main.filename)
.Dart API
NodePackageImporter
importer that can be passed to theimporters
option. 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_modules
directories.v1.70.0
Compare Source
JavaScript API
Add a
sass.initCompiler()
function that returns asass.Compiler
objectwhich supports
compile()
andcompileString()
methods with the same API asthe global Sass object. On the Node.js embedded host, each
sass.Compiler
object uses a single long-lived subprocess, making compiling multiple
stylesheets much more efficient.
Add a
sass.initAsyncCompiler()
function that returns asass.AsyncCompiler
object which supports
compileAsync()
andcompileStringAsync()
methods withthe same API as the global Sass object. On the Node.js embedded host, each
sass.AsynCompiler
object uses a single long-lived subprocess, makingcompiling multiple stylesheets much more efficient.
Embedded Sass
Support the
CompileRequest.silent
field. 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
info
field.v1.69.7
Compare Source
Embedded Sass
ARM64 Windows.
v1.69.6
Compare 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
SourceSpan
s that didn'tfollow the documented
SourceSpan
API.v1.69.5
Compare Source
JS API
v1.69.4
Compare Source
v1.69.3
Compare Source
Embedded Sass
package.json
.v1.69.2
Compare Source
JS API
variable named
process
.v1.69.1
Compare Source
v1.69.0
Compare Source
Add a
meta.get-mixin()
function that returns a mixin as a first-class Sassvalue.
Add a
meta.apply()
mixin that includes a mixin value.Add a
meta.module-mixins()
function which returns a map from mixin names ina module to the first-class mixins that belong to those names.
Add a
meta.accepts-content()
function which returns whether or not a mixinvalue can take a content block.
Add support for the relative color syntax from CSS Color 5. This syntax
cannot be used to create Sass color values. It is always emitted as-is in the
CSS output.
Dart API
Deprecation.calcInterp
since it was never actually emitted as adeprecation.
Embedded Sass
protocol error was immediately followed by another request.
v1.68.0
Compare Source
abs-percent
deprecation.JS API
Non-filesystem importers can now set the
nonCanonicalScheme
field, whichdeclares that one or more URL schemes (without
:
) will never be used forURLs returned by the
canonicalize()
method.Add a
containingUrl
field to thecanonicalize()
andfindFileUrl()
methods of importers, which is set to the canonical URL of the stylesheet that
contains the current load. For filesystem importers, this is always set; for
other importers, it's set only if the current load has no URL scheme, or if
its URL scheme is declared as non-canonical by the importer.
Dart API
Add
AsyncImporter.isNonCanonicalScheme
, which importers (async or sync) canuse to indicate that a certain URL scheme will never be used for URLs returned
by the
canonicalize()
method.Add
AsyncImporter.containingUrl
, which is set during calls to thecanonicalize()
method to the canonical URL of the stylesheet that containsthe current load. This is set only if the current load has no URL scheme, or
if its URL scheme is declared as non-canonical by the importer.
Embedded Sass
The
CalculationValue.interpolation
field is deprecated and will be removedin a future version. It will no longer be set by the compiler, and if the host
sets it it will be treated as equivalent to
CalculationValue.string
exceptthat
"("
and")"
will be added to the beginning and end of the stringvalues.
Properly include TypeScript types in the
sass-embedded
package.v1.67.0
Compare Source
All functions defined in CSS Values and Units 4 are now once again parsed as
calculation objects:
round()
,mod()
,rem()
,sin()
,cos()
,tan()
,asin()
,acos()
,atan()
,atan2()
,pow()
,sqrt()
,hypot()
,log()
,exp()
,abs()
, andsign()
.Unlike in 1.65.0, function calls are not locked into being parsed as
calculations or plain Sass functions at parse-time. This means that
user-defined functions will take precedence over CSS calculations of the same
name. Although the function names
calc()
andclamp()
are still forbidden,users may continue to freely define functions whose names overlap with other
CSS calculations (including
abs()
,min()
,max()
, andround()
whosenames overlap with global Sass functions).
Breaking change: As a consequence of the change in calculation parsing
described above, calculation functions containing interpolation are now parsed
more strictly than before. However, almost all interpolations that would
have produced valid CSS will continue to work. The only exception is
#{$variable}%
which is not valid in Sass and is no longer valid incalculations. Instead of this, either use
$variable
directly and ensure italready has the
%
unit, or write($variable * 1%)
.Potentially breaking bug fix: The importer used to load a given file is no
longer used to load absolute URLs that appear in that file. This was
unintented behavior that contradicted the Sass specification. Absolute URLs
will now correctly be loaded only from the global importer list. This applies
to the modern JS API, the Dart API, and the embedded protocol.
Embedded Sass
files or files that require many importer or function call round-trips with
the embedded host.
v1.66.1
Compare Source
JS API
callback that threw a string, boolean, number, symbol, or bignum.
v1.66.0
Compare Source
Breaking change: Drop support for the additional CSS calculations defined
in CSS Values and Units 4. Custom Sass functions whose names overlapped with
these new CSS functions were being parsed as CSS calculations instead, causing
an unintentional breaking change outside our normal [compatibility policy] for
CSS compatibility changes.
Support will be added again in a future version, but only after Sass has
emitted a deprecation warning for all functions that will break for at least
three months prior to the breakage.
v1.65.1
Compare Source
1.65.0
.v1.65.0
Compare Source
All functions defined in CSS Values and Units 4 are now parsed as calculation
objects:
round()
,mod()
,rem()
,sin()
,cos()
,tan()
,asin()
,acos()
,atan()
,atan2()
,pow()
,sqrt()
,hypot()
,log()
,exp()
,abs()
, andsign()
.Deprecate explicitly passing the
%
unit to the globalabs()
function. Infuture releases, this will emit a CSS abs() function to be resolved by the
browser. This deprecation is named
abs-percent
.v1.64.2
Compare Source
v1.64.1
Compare Source
Embedded Sass
SassCalculation.clamp()
with less than 3 argumentswould throw an error.
v1.64.0
Compare Source
Comments that appear before or between
@use
and@forward
rules are nowemitted in source order as much as possible, instead of always being emitted
after the CSS of all module dependencies.
Fix a bug where an interpolation in a custom property name crashed if the file
was loaded by a
@use
nested in an@import
.JavaScript API
Add a new
SassCalculation
type that represents the calculation objects addedin Dart Sass 1.40.0.
Add
Value.assertCalculation()
, which returns the value if it's aSassCalculation
and throws an error otherwise.Produce a better error message when an environment that supports some Node.js
APIs loads the browser entrypoint but attempts to access the filesystem.
Embedded Sass
@imports
failed to load when using thedeprecated functions
render
orrenderSync
and those relative imports wereloaded multiple times across different files.
v1.63.6
Compare Source
JavaScript API
import sass from 'sass'
again after it was broken in the last release.Embedded Sass
exports
declaration inpackage.json
.v1.63.5
Compare Source
JavaScript API
require()
and ESMimport
could crash on Node.js.Embedded Sass
Fix a deadlock when running at high concurrency on 32-bit systems.
Fix a race condition where the embedded compiler could deadlock or crash if a
compilation ID was reused immediately after the compilation completed.
v1.63.4
Compare Source
JavaScript API
Re-enable support for
import sass from 'sass'
when loading the package froman ESM module in Node.js. However, this syntax is now deprecated; ESM users
should use
import * as sass from 'sass'
instead.On the browser and other ESM-only platforms, only
import * as sass from 'sass'
is supported.Properly export the legacy API values
TRUE
,FALSE
,NULL
, andtypes
fromthe ECMAScript module API.
Embedded Sass
Fix a race condition where closing standard input while requests are in-flight
could sometimes cause the process to hang rather than shutting down
gracefully.
Properly include the root stylesheet's URL in the set of loaded URLs when it
fails to parse.
v1.63.3
Compare Source
JavaScript API
v1.63.2
Compare Source
v1.63.1
Compare Source
v1.63.0
Compare Source
JavaScript API
instructions for use are in the README.
Embedded Sass
The Dart Sass embedded compiler is now included as part of the primary Dart
Sass distribution, rather than a separate executable. To use the embedded
compiler, just run
sass --embedded
from any Sass executable (other than thepure JS executable).
The Node.js embedded host will still be distributed as the
sass-embedded
package on npm. The only change is that it will now provide direct access to a
sass
executable with the same CLI as thesass
package.The Dart Sass embedded compiler now uses version 2.0.0 of the Sass embedded
protocol. See the spec for a full description of the
protocol, and the changelog for a summary of
changes since version 1.2.0.
The Dart Sass embedded compiler now runs multiple simultaneous compilations in
parallel, rather than serially.
v1.62.1
Compare Source
:has(+ &)
and related constructs would drop the leadingcombinator.
v1.62.0
Compare Source
Deprecate the use of multiple
!global
or!default
flags on the samevariable. This deprecation is named
duplicate-var-flags
.Allow special numbers like
var()
orcalc()
in the global functions:grayscale()
,invert()
,saturate()
, andopacity()
. These are alsonative CSS
filter
functions. This is in addition to number values which werealready allowed.
Fix a cosmetic bug where an outer rule could be duplicated after nesting was
resolved, instead of re-using a shared rule.
v1.61.0
Compare Source
Potentially breaking change: Drop support for End-of-Life Node.js 12.
Fix remaining cases for the performance regression introduced in 1.59.0.
Embedded Sass
legacy API.
v1.60.0
Compare Source
Add support for the
pi
,e
,infinity
,-infinity
, andNaN
constants incalculations. These will be interpreted as the corresponding numbers.
Add support for unknown constants in calculations. These will be interpreted
as unquoted strings.
Serialize numbers with value
infinity
,-infinity
, andNaN
tocalc()
expressions rather than CSS-invalid identifiers. Numbers with complex units
still can't be serialized.
v1.59.3
Compare Source
Fix a performance regression introduced in 1.59.0.
The NPM release of 1.59.0 dropped support for Node 12 without actually
indicating so in its pubspec. This release temporarily adds back support so
that the latest Sass version that declares it supports Node 12 actually does
so. However, Node 12 is now end-of-life, so we will drop support for it
properly in an upcoming release.
v1.59.2
Compare Source
v1.59.1
Compare Source
v1.59.0
Compare Source
Command Line Interface
Added a new
--fatal-deprecation
flag that lets you treat a deprecationwarning as an error. You can pass an individual deprecation ID
(e.g.
slash-div
) or you can pass a Dart Sass version to treat alldeprecations initially emitted in that version or earlier as errors.
New
--future-deprecation
flag that lets you opt into warning for use ofcertain features that will be deprecated in the future. At the moment, the
only option is
--future-deprecation=import
, which will emit warnings forSass
@import
rules, which are not yet deprecated, but will be in the future.Dart API
New
Deprecation
enum, which contains the different current and futuredeprecations used by the new CLI flags.
The
compile
methods now take infatalDeprecations
andfutureDeprecations
parameters, which work similarly to the CLI flags.
v1.58.3
Compare Source
v1.58.2
Compare Source
Command Line Interface
Add a timestamp to messages printed in
--watch
mode.Print better
calc()
-based suggestions for/
-as-division expression thatcontain calculation-incompatible constructs like unary minus.
v1.58.1
Compare Source
hsl()
colors. Thedeg
unit isincompatible with IE, and while that officially falls outside our
compatibility policy, it's better to lean towards greater compatibility.
v1.58.0
Compare Source
Remove sourcemap comments from Sass sources. The generated sourcemap comment
for the compiled CSS output remains unaffected.
Fix a bug in
@extend
logic where certain selectors with three or morecombinators were incorrectly considered superselectors of similar selectors
with fewer combinators, causing them to be incorrectly trimmed from the
output.
Produce a better error message for a number with a leading
+
or-
, adecimal point, but no digits.
Produce a better error message for a nested property whose name starts with
--
.Fix a crash when a selector ends in an escaped backslash.
Add the relative length units from CSS Values 4 and CSS Contain 3 as known
units to validate bad computation in
calc
.Command Line Interface
--watch
flag will now track loads through calls tometa.load-css()
aslong as their URLs are literal strings without any interpolation.
v1.57.1
Compare Source
v1.57.0
Compare Source
split($string, $separator, $limit: null)
function tosass:string
that splits a string into separate substrings based on a separator string.
JavaScript API
Potentially breaking bug fix: Custom functions in both the modern and
legacy API now properly reject signatures with whitespace between the function
name and parentheses.
Custom functions in the legacy API now allow signatures with whitespace before
the function name, to match a bug in Node Sass.
Dart API
Callable.fromSignature()
andAsyncCallable.fromSignature()
now reject signatures with whitespace betweenthe function name and parentheses.
v1.56.2
Compare Source
Embedded Sass
protocol.
v1.56.1
Compare Source
Embedded Sass
contents
is actually a string and whethersourceMapUrl
is an absolute URL.v1.56.0
Compare Source
Potentially breaking change: To match the CSS spec, SassScript expressions
beginning with
not
or(
are no longer supported at the beginning ofparenthesized sections of media queries. For example,
will now be emitted unchanged, instead of producing
See the Sass website for details.
Potentially breaking bug fix: Angle units like
rad
orturn
are nowproperly converted to equivalent
deg
values forhsl()
,hsla()
,adjust-hue()
,color.adjust()
, andcolor.change()
.See the Sass website for
details.
Fix indentation for selectors that span multiple lines in a
@media
query.Emit a deprecation warning when passing
$alpha
values with units tocolor.adjust()
orcolor.change()
. This will be an error in Dart Sass2.0.0.
See the Sass website for
details.
Emit a deprecation warning when passing a
$weight
value with no units orwith units other than
%
tocolor.mix()
. This will be an error in Dart Sass2.0.0.
See the Sass website for
details.
Emit a deprecation warning when passing
$n
values with units tolist.nth()
or
list.set-nth()
. This will be an error in Dart Sass 2.0.0.See the Sass website for
details.
Improve existing deprecation warnings to wrap
/
-as-division suggestions incalc()
expressions.Properly mark the warning for passing numbers with units to
random()
as adeprecation warning.
Fix a bug where
@extend
could behave unpredicatably when used along withmeta.load-css()
and shared modules that contained no CSS themselves butloaded CSS from other modules.
Dart API
sassIndex
with units toValue.sassIndexToListIndex()
. This will be an error in Dart Sass 2.0.0.JS API
Importer results now validate whether
contents
is actually a string type.Importer result argument errors are now rendered correctly.
v1.55.0
Compare Source
Potentially breaking bug fix: Sass numbers are now universally stored as
64-bit floating-point numbers, rather than sometimes being stored as integers.
This will generally make arithmetic with very large numbers more reliable and
more consistent across platforms, but it does mean that numbers between nine
quadrillion and nine quintillion will no longer be represented with full
accuracy when compiling Sass on the Dart VM.
Potentially breaking bug fix: Sass equality is now properly transitive.
Two numbers are now considered equal (after doing unit conversions) if they
round to the same
1e-11
th. Previously, numbers were considered equal if theywere within
1e-11
of one another, which led to some circumstances where$a == $b
and$b == $c
but$a != $b
.Potentially breaking bug fix: Various functions in
sass:math
no longertreat floating-point numbers that are very close (but not identical) to
integers as integers. Instead, these functions now follow the floating-point
specification exactly. For example,
math.pow(0.000000000001, -1)
now returns1000000000000
instead ofInfinity
.Emit a deprecation warning for
$a -$b
and$a +$b
, since these look likethey could be unary operations but they're actually parsed as binary
operations. Either explicitly write
$a - $b
or$a (-$b)
. Seehttps://sass-lang.com/d/strict-unary for more details.
Dart API
Add an optional
argumentName
parameter toSassScriptException()
to make iteasier to throw exceptions associated with particular argument names.
Most APIs that previously returned
num
now returndouble
. All APIscontinue to accept
num
, although in Dart 2.0.0 these APIs will be changedto accept only
double
.JS API
accessible by the JS API.
v1.54.9
Compare Source
@media
query deprecation warnings.v1.54.8
Compare Source
v1.54.7
Compare Source
v1.54.6
Compare Source
@media
query could be incorrectly omitted from astylesheet if it had multiple levels of nested
@media
queries within itand the inner queries were mergeable but the outer query was not.
v1.54.5
Compare Source
Properly consider
a ~ c
to be a superselector ofa ~ b ~ c
anda + b + c
.Properly consider
b > c
to be a superselector ofa > b > c
, and similarlyfor other combinators.
Properly calculate specificity for selector pseudoclasses.
Deprecate use of
random()
when$limit
has units to make it explicit thatrandom()
currently ignores units. A future version will no longer ignoreunits.
Don't throw an error when the same module is
@forward
ed multiple timesthrough a configured module.
Embedded Sass
install, the
sass-embedded
npm package now declares optional dependencies onplatform-specific embedded compiler packages.
v1.54.4
Compare Source
out-of-bounds to various color functions.
v1.54.3
Compare Source
v1.54.2
Compare Source
v1.54.1
Compare Source
@extend
andselector.unify()
, ensure that:root
,:scope
,:host
, and:host-context
only appear at the beginningof complex selectors.
v1.54.0
Compare Source
Deprecate selectors with leading or trailing combinators, or with multiple
combinators in a row. If they're included in style rules after nesting is
resolved, Sass will now produce a deprecation warning and, in most cases, omit
the selector. Leading and trailing combinators can still be freely used for
nesting purposes.
See https://sass-lang.com/d/bogus-combinators for more details.
Add partial support for new media query syntax from Media Queries Level 4. The
only exception are logical operations nested within parentheses, as these were
previously interpreted differently as SassScript expressions.
A parenthesized media condition that begins with
not
or an openingparenthesis now produces a deprecation warning. In a future release, these
will be interpreted as plain CSS instead.
Deprecate passing non-
deg
units tocolor.hwb()
's$hue
argument.Fix a number of bugs when determining whether selectors with pseudo-elements
are superselectors.
Treat
*
as a superselector of all selectors.Dart API
fakeFromImport()
function for testing custom importersthat use
AsyncImporter.fromImport
.JS API
Add a
charset
option that controls whether or not Sass emits a@charset
/BOM for non-ASCII stylesheets.Fix Sass npm package types for TS 4.7+ Node16 and NodeNext module resolution.
v1.53.0
Compare Source
var()
with an empty second argument, such asvar(--side, )
.JS API
meta.load-css()
would sometimes resolve relative URLsincorrectly when called from a mixin using the legacy JS API.
Embedded Sass
v1.52.3
Compare Source
/* ... */
) appear twice in a rowacross two different imports which themselves imported the same file each.
v1.52.2
Compare Source
/* ... */
) instead of pushingthe comment to the next line.
v1.52.1
Compare Source
Command Line Interface
--watch
mode would close immediately in TTY mode. This wascaused by our change to close
--watch
when stdin was closed outside of TTYmode, which has been reverted for now while we work on a fix.
v1.52.0
Compare Source
Add support for arbitrary modifiers at the end of plain CSS imports, in
addition to the existing
supports()
and media queries. Sass now allows anysequence of identifiers of functions after the URL of an import for forwards
compatibility with future additions to the CSS spec.
Fix an issue where source locations tracked through variable references could
potentially become incorrect.
Fix a bug where a loud comment in the source can break the source map when
embedding the sources, when using the command-line interface or the legacy JS
API.
JS API
SassNumber.assertUnit()
andSassNumber.assertNoUnits()
now correctlyreturn the number called on when it passes the assertion.
v1.51.0
Compare Source
Potentially breaking change: Change the order of maps returned by
map.deep-merge()
to match those returned bymap.merge()
. All keys thatappeared in the first map will now be listed first in the same order they
appeared in that map, followed by any new keys added from the second map.
Improve the string output of some AST nodes in error messages.
tailwindlabs/tailwindcss (tailwindcss)
v3.4.15
Compare Source
boxShadow
theme configuration allows arrays (#14856)selection:*
variant works in Chrome 131 (#15003)v3.4.14
Compare Source
Fixed
display: none
on elements that usehidden="until-found"
(#14625)v3.4.13
Compare Source
Fixed
v3.4.12
Compare Source
Fixed
@apply
with utilities that use@defaults
works with rules defined in the base layer when usingoptimizeUniversalDefaults
(#14427)v3.4.11
Compare Source
Fixed
anchor-size(…)
in arbitrary values (#14393)v3.4.10
Compare Source
Fixed
v3.4.9
Compare Source
Fixed
vendor
foldersv3.4.8
Compare Source
Fixed
v3.4.7
Compare Source
Fixed
data-*
andaria-*
modifiers are always quoted in the generated CSS (#14037)v3.4.6
Compare Source
Fixed
Changed
:is()
wrapping rules when using an important selector (#13900)v3.4.5
Compare Source
Fixed
var()
injection for anchor properties (#13826)blur(0px)
forbackdrop-blur-none
andblur-none
utilities (#13830).mts
and.cts
config file detection (#13940)px-1
unnecessarily when using utilities likepx-1.5
(#13959)-webkit-backdrop-filter
forbackdrop-*
utilities (#13997)v3.4.4
Compare Source
Fixed
<alpha-value>
placeholders in a single color definition (#13740)has-*
,group-has-*
, andpeer-has-*
variants (#13770){col,row}-{start,end}
utilities (#13781)v3.4.3
Compare Source
Fixed
v3.4.2
Compare Source
Fixed
0,0,1
for button and input Preflight rules (#12735)(
,)
,[
or]
in the file path (#12715):has
rules when usingexperimental.optimizeUniversalDefaults
(#12736)mix-blend-plus-darker
utility (#12923)import.meta.url
in config files (#13322)xx-large
and remove doublex-large
absolute size (#13324)@apply
a class that uses nesting (#13325)important
configuration (#13353)@apply
works correctly with pseudo elements (#13379)v3.4.1
Compare Source
Fixed
calc()
(#12704)class
dark mode strategy (#12717)Added
selector
andvariant
strategies for dark mode (#12717)Changed
rtl
andltr
variants on same element asdir
attribute (#12717)v3.4.0
Compare Source
Tailwind CSS v3.4 has arrived! Check out the announcement post for a guided tour through all of the highlights.
Added
svh
,lvh
, anddvh
values to defaultheight
/min-height
/max-height
theme (#11317)has-*
variants for:has(...)
pseudo-class (#11318)text-wrap
utilities includingtext-balance
andtext-pretty
(#11320, #12031)opacity
scale to include all steps of 5 (#11832)html
styles to include shadow DOM:host
pseudo-class (#11200)grid-rows-*
utilities from 1–6 to 1–12 (#12180)size-*
utilities (#12287)min-w-*
,min-h-*
, andmax-w-*
utilities (#12300)forced-color-adjust
utilities (#11931)forced-colors
variant (#11694, #12582)appearance-auto
utility (#12404)float
andclear
utilities (#12480)*
variant for targeting direct children (#12551)Changed
sans
font-family stack (#11748)rtl
,ltr
,forced-colors
, anddark
variants (#12584)v3.3.7
Compare Source
Fixed
v3.3.6
Compare Source
Fixed
@config
in CSS when watching via the CLI (#12327)resolveConfig
(#12272)font-feature-settings
formono
are included in Preflight (#12342)@layer
rule (#12508)v3.3.5
Compare Source
Fixed
-
incalc()
expression (#12283)v3.3.4
Compare Source
Fixed
calc()
-like functions (#11686)calc()
normalisation in nestedtheme()
calls (#11705)content
optional for presets in TypeScript types (#11730)too many open files
error (#12079):not(…)
when nested in an at-rule (#12105)Node16
module resolution (#12097)@apply
(#12112)tailwindcss/nesting
(#12269)jiti
,fast-glob
, andbrowserlist
dependencies (#11550)var
injection for properties that accept a<dashed-ident>
(#12236)v3.3.3
Compare Source
Fixed
theme()
insidecalc()
when there are no spaces around operators (#11157)repeating-conic-gradient
is detected as an image (#11180):is
by default (#11345)group
andpeer
variants (#11454)Added
aria-busy
utility (#10966)Changed
<dialog>
elements in preflight (#11069)v3.3.2
Compare Source
Fixed
to
position of gradient when using implicit transparent colors (#11002)@tailwindcss/oxide
doesn't leak in the stable engine (#10988)theme(spacing[5])
calls with bracket notation in arbitrary properties work (#11039)Changed
v3.3.1
Compare Source
Fixed
@apply
, andimportant
selectors when using:is()
or:has()
with pseudo-elements (#10903)safelist
config types (#10901)@tailwindcss/line-clamp
warning (#10915, #10919)v3.3.0
Compare Source
Tailwind CSS v3.3 is here! Check out the announcement post for a deep dive into all of the cool new stuff.
Added
line-height
modifier support tofont-size
utilities (#9875)var(...)
(#9880, #9962)hyphens
utilities (#10071)from-{position}
,via-{position}
andto-{position}
utilities (#10886)list-style-image
utilities (#10817)caption-side
utilities (#10470)line-clamp
utilities from@tailwindcss/line-clamp
to core (#10768, #10876, #10862)delay-0
andduration-0
utilities (#10294)justify-normal
andjustify-stretch
utilities (#10560)content-normal
andcontent-stretch
utilities (#10645)whitespace-break-spaces
utility (#10729)font-variation-settings
for afont-family
(#10034, #10515)Fixed
null
, is an emptySet
(#10877)Changed
rtl
andltr
variants as stable and remove warnings (#10764)inset
instead oftop
,right
,bottom
, andleft
properties (#10765)dark
andrtl
/ltr
variants insensitive to DOM order (#10766):is
to make important selector option insensitive to DOM order (#10835)v3.2.7
Compare Source
Fixed
:where(.btn)
when matching!btn
(#10601)outline-color
intransition
andtransition-colors
by default (#10604)v3.2.6
Compare Source
Fixed
oxide-api-shim
(add1636)v3.2.5
Compare Source
Added
node16-win-arm64
) (#10001)Fixed
variantOrder
(#9829)foo-[abc]/[def]
not being handled correctly (#9866)resolveConfig
, unwrapResolvableTo
(#9972)data
key to theme types (#10023)string[]
in thetheme.dropShadow
types (#10072)root
or@layer
nodes (#10229)blocklist
member in theConfig
type (#10239)layer
insidevariants
layer (#10505)--watch=always
option to prevent exit when stdin closes (#9966)Changed
theme
keys in default config (#9953)outline-color
intransition
andtransition-colors
utilities (#10385)v3.2.4
Compare Source
Added
blocklist
option to prevent generating unwanted CSS (#9812)Fixed
v3.2.3
Compare Source
Fixed
raw
content in the CLI (#9773)@apply
(#9765)!
) (#9791)v3.2.2
Compare Source
Fixed
font-feature-settings
are included in Preflight (#9707)@apply
in selectors with combinators and pseudos (#9722)v3.2.1
Compare Source
Fixed
supports
in types (#9616)micromatch
is a proper CLI dependency (#9620)modifiers
object formatchVariant
(ba6551d)v3.2.0
Compare Source
We just released Tailwind CSS v3.2! Read the announcement post for more details about the most exciting new features.
Added
@config
directive (#9405)relative: true
option to resolve content paths relative to the config file (#9396)supports-*
variant (#9453)min-*
andmax-*
variants (#9558)aria-*
variants (#9557, #9588)data-*
variants (#9559, #9588)break-keep
utility forword-break: keep-all
(#9393)collapse
utility forvisibility: collapse
(#9181)fill-none
utility forfill: none
(#9403)stroke-none
utility forstroke: none
(#9403)place-content-baseline
utility forplace-content: baseline
(#9498)place-items-baseline
utility forplace-items: baseline
(#9507)content-baseline
utility foralign-content: baseline
(#9507)font-feature-settings
for a font family (#9039)node16-linux-armv7
) (#9084)outline-offset
(#9136)matchUtilities
(#9541)min
/max
/clamp
(#9237)sort
function inmatchVariant
(#9423)postcss-nested
v6.0 (#9546)Fixed
respectDefaultRingColorOpacity
(#9070)@apply
-ing a selector with joined classes (#9107)outline-hidden
utility (#9147)hidden
attribute on elements in preflight (#9174)fontFamily
config TypeScript types (#9214):where()
and:has()
(#9309)null
orundefined
) when resolving the classList for intellisense (#9385)content
key in custom plugin configs (#9502, #9545)--content
is used in the CLI when passed (#9587)v3.1.8
Compare Source
Fixed
@apply
of user utilities when negative and non-negative versions both exist (#9027)v3.1.7
Compare Source
Fixed
@layer
rules (#8971)Added
resolveConfig
(#8924)v3.1.6
Compare Source
Fixed
theme()
in CSS (#8831)v3.1.5
Compare Source
Added
font-weight
for each font size utility (#8763)Fixed
tailwindcss
andautoprefixer
inpostcss.config.js
in standalone CLI (#8769)v3.1.4
Compare Source
Fixed
<alpha-value>
when usingtheme()
(#8652)/
that are preceded by numbers (#8688)v3.1.3
Compare Source
Fixed
corePluginList
type definition (#8587)addVariant
(#8608)theme()
function when using quotes (#8625)::marker
(#8622)v3.1.2
Compare Source
Fixed
\
is a valid arbitrary variant token (#8576)postcss-import
in the CLI by default in watch mode (#8574, #8580)v3.1.1
Compare Source
Fixed
::backdrop
into separate defaults group (#8567)v3.1.0
Compare Source
We just released Tailwind CSS v3.1 — the first new feature release since v3.0 came out last year!
Read the announcement post for all the details, and watch the YouTube video for a tour of some of the highlights.
Added
Document
nodes (#7291)text-start
andtext-end
utilities (#6656)darkMode: 'class'
(#5800)--poll
option to the CLI (#7725)border-spacing
utilities (#7102)enabled
variant (#7905)tailwind.config.js
file (#7891)backdrop
variant (#7924, #8526)grid-flow-dense
utility (#8193)mix-blend-plus-lighter
utility (#8288)matchVariant
API (#8310, 34fd0fb8)prefers-contrast
media query variants (#8410)theme
function (#8416)postcss-import
support to the CLI (#8437)optional
variant (#8486)<alpha-value>
placeholder support for custom colors (#8501)Fixed
@apply
(#8125)@apply
rules (#8213)[hidden]
style in preflight (#8248)important
selector to the front when@apply
-ing selector-modifying variants in custom utilities (#8313)matchVariants
that use at-rules and placeholders (#8392)tailwindcss/plugin
(#8400)addVariant
ormatchVariant
callback functions (#8455)postcss
installation first in the CLI (#8270)to
value from parent gradients (#8489)@import 'tailwindcss/...'
without node_modules (#8537)Changed
microsoft/TypeScript (typescript)
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:
v5.2.2
: TypeScript 5.2Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v5.1.6
: TypeScript 5.1.6Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on npm
v5.1.5
: TypeScript 5.1.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.1.3
: TypeScript 5.1.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.0.4
: TypeScript 5.0.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.0.3
: TypeScript 5.0.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.0.2
: TypeScript 5.0Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v4.9.5
: TypeScript 4.9.5Compare Source
For release notes, check out the release announcement.
Downloads are available on:
Changes:
69e88ef
Port ignore deprecations to 4.9 (#52419)daf4e81
Port timestamp fix to 4.9 (#52426)v4.9.4
: TypeScript 4.9.4Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
Changes:
e286821
Bump version to 4.9.4 and LKG.eb5419f
Cherry-pick #51704 to release 4.9 (#51712)b4d382b
Cherry-pick changes for narrowing to tagged literal types.e7a02f4
Port of #51626 and #51689 to release-4.9 (#51627)1727912
Cherry-pick fix aroundvisitEachChild
to release-4.9. (#51544)This list of changes was auto generated.
v4.9.3
: TypeScript 4.9Compare Source
For release notes, check out the release announcement.
Downloads are available on:
Changes:
93bd577
Bump version to 4.9.3 and LKG.107f832
Update LKG.31bee56
Cherry-pick PR #50977 into release-4.9 (#51363) [ #50872 ]1e2fa7a
Update version to 4.9.2-rc and LKG.7ab89e5
Merge remote-tracking branch 'origin/main' into release-4.9e5cd686
Update package-lock.json8d40dc1
Update package-lock.json5cfb3a2
Only call return() for an abrupt completion in user code (#51297)a7a9d15
Fix for broken baseline in yieldInForInInDownlevelGenerator (#51345)7f8426f
fix for-in enumeration containing yield in generator (#51295)See More
3d2b401
Fix assertion functions accessed via wildcard imports (#51324)64d0d5a
fix(51301): Fixing an unused import at the end of a line removes the newline (#51320)754eeb2
Update CodeQL workflow and configuration, fix found bugs (#51263)d8aad26
Update package-lock.jsond4f26c8
fix(51245): Class with parameter decorator in arrow function causes "convert to default export" refactoring failure (#51256)16faf45
Update package-lock.json8b1ecdb
fix(50654): "Move to a new file" breaks the declaration of referenced variable (#50681)170a17f
Dom update 2022-10-25 (#51300)9c4e14d
Remove "No type information for this code" from baseline (#51311)88d25b4
fix(50068): Refactors trigger debug failure when JSX text has a ' and a tag on the same line. (#51299)8bee69a
Update package-lock.json702de1e
Fix early call to return/throw on generator (#51294)2c12b14
Add a GH Action to file a new issue if we go a week without seeing a typescript-error-deltas issue (#51271)6af270d
Update package-lock.json2cc4c16
Update package-lock.json6093491
Fix apparent typo in getStringMappingType (#51248)61c2609
Update package-lock.jsonef69116
Generate shortestrootDirs
module specifier instead of first possible (#51244)bbb42f4
Fix typo in canWatchDirectoryOrFile found by CodeQL (#51262)a56b254
Include 'this' type parameter in isRelatedTo fast path (#51230)3abd351
Fix super property transform in async arrow in method (#51240)eed0511
Update package-lock.json2625c1f
Make the init config category order predictable (#51247)1ca99b3
fix(50551): Destructuring assignment with var bypasses "variable is used before being assigned" check (2454) (#50560)3f28fa1
Update package-lock.json906ebe4
Revert structuredTypeRelatedTo change and fix isUnitLikeType (#51076)8ac4652
change type (#51231)245a02c
fix(51222): Go-to-definition on return statements should jump to the containing function declaration (#51227)2dff34e
markAliasReferenced should include ExportValue as well (#51219)5ef2634
Update package-lock.jsond0f0e35
Remove old tslint comments (#51220)85d405a
Fixed a false positive "await has no effect on the type" diagnostic with mixed generic union (#50833)1f8959f
fix: avoid downleveled dynamic import closing over specifier expression (#49663)11066b2
Rename internal functions tonarrowTypeBySwitchOnTypeOf
andnarrowTypeByInKeyword
(#51215)4c9afe8
Update package-lock.jsonf25bcb7
fix(49196): add jsdoc snippet for interface member functions (#51135)7406ee9
fix(51170): Completing an unimplemented property overwrites rest of line (#51175)a1d82fc
Remove some unnecessary code discovered by rollup (#51204)0481773
LEGO: Merge pull request 5120098c19cb
LEGO: Merge pull request 5119013c9b05
Update package-lock.json673475e
Update package-lock.jsonf6cf510
Add more tracing to node16/nodenext resolution (#51168)83c5581
Update package-lock.jsonbe5f0fe
Add an extra regression test for awaited unresolvable recursive union (#51167)2cb7e77
fix(50416): correctly names disabled export refactors (#50663) [ #50416 ]2bcfed0
feat(37440): Provide a quick-fix for non-exported types (#51038)a24201c
Remove VSDevMode.ps1 and createPlaygroundBuild (#51166)2da62a7
fix(51112): omit parameter names that precede the type (#51142)cf1b6b7
feat(51163): show QF to fill in the missing properties for the mapped type. (#51165)bdcc240
Remove bug-causing carve-out in conditional type instantiation that hopefully is no longer required (#51151)37317a2
Check nested weak types in intersections on target side of relation (#51140)9f49f9c
Update package-lock.json4f54e7e
Fix isExhaustiveSwitchStatement to better handle circularities (#51095)503604c
Overloads shouldn't gain @deprecated tags of other overloads in quick info (#50904)e14a229
Update package-lock.json67256e5
Remove unused declarations array in extractSymbol's TargetRange (#51091)9c87ded
fix(51100): ensure tsserver shuts down when parent process is killed (#51107)c01ae01
Fix nightly publish oops in Gulpfile (#51131)a7d10f1
Update package-lock.jsond0bfd8c
fix(51072): ts.preProcessFile finds import in template string after conditional expression with template strings (#51082)ad56b5c
Convert scripts/Gulpfile to checked mjs/cjs so they can run without compilation (#50988)dbeae5d
fix(51017): Make lineText in the references response opt-out (#51081)d06a592
Properly defer resolution of mapped types with genericas
clauses (#51050)42b1049
Update package-lock.json5f3e6cc
Plugin probe location is higher priority than peer node_modules (#51079) [ #34616 ]2648f6a
Plugins in project were adding up after every config file reload (#51087)c18791c
Fix incorrect options type to WatchOptions (#51064)b0795e9
Update package-lock.json43c6fd4
Covert some of the config testing to baselines for easy validation (#51063)fc5e72b
Remove unused defaultWatchFileKind method since useFsEvents is default for tsserver and tsc (#51044)8af9a93
Use typescript.d.ts in APISample tests (#51061)4953316
Remove configureLanguageServiceBuild, instrumenter (#51048)9dfffd0
Update GitHub Actions (#51045)4635a5c
Update package-lock.json33a34e5
Adding a JSDoc comment to the es5 type declarations to describe the functionality of Date.now() (#50630)299745c
Fix crash in goto-def on@override
(#51016)7dcf11f
fix(50750): Object type literal with string literal property in contextual typing position causes language service error on all literal type references (#50757)5cd49f6
Update package-lock.json8a1b858
Update package-lock.json96894db
Include type parameter defaults in contextual typing (#50994) [ #51002 ]0d0a793
Allow Unicode extended escapes in ES5 and earlier (#50918)58bae8d
Update package-lock.json0ce72ef
Add option to OrganizeImports for removal only (#50931)42f9143
feat: codefix forfor await of
(#50623)ecf50e8
Properly computeSymbolFlags.Optional
for intersected properties (#50958)d1586de
Fully resolve aliases when checking symbol flags (#50853)45148dd
Update LKG to 4.8.4 (#50987)9a83f25
Update package-lock.json865848f
Fix<=
and>
comparisons when compared against prerelease versions (#50915)fbfe934
Fix comparability between type parameters related by a union constraint (#50978)b09e93d
Merge pull request #50041 from microsoft/fix/479690ac12bb
Update package-lock.json8192d55
Pick correct compilerOptions when checking if we can share emitSignatures (#50910) [ #50902 ]16faef1
During uptodate ness check with buildInfo, check if there are errors explicitly with noEmit (#50974) [ #50959 ]63791f5
Update package-lock.json09368bc
Handle if project for open file will get recollected because of pending cleanup from closed script info (#50908) [ #50868 ]c81bf4d
fix(49594): Typescript 4.7.3 bracketed class property compilation error strictPropertyInitialization:true (#49619)bc9cbbe
Merge pull request #49912 from microsoft/fix/475085a10f46
Update package-lock.json8e71f42
Fixing pr commentsc100c64
Update package-lock.json2a91107
Update package-lock.json4ab9e76
Use paths in package.json 'files' array that work with npm 6 and later. (#50930)549b542
Use paths in package.json 'files' array that work with npm 6 and later.7f37d25
Update version to 4.9.1-beta and LKG.f16ca7d
Remove 'async' dependency, used only in errorCheck.ts, modernize file (#50667)c6bef3f
LEGO: Merge pull request 509216753027
Update package-lock.json9740bcc
PluralizedhasInvalidatedResolution
->hasInvalidatedResolutions
(#50912)84c29cd
🤖 Pick PR #50912 (Pluralized `hasInvalidatedResolutio...) into release-4.9 (#50913)a26f634
Merge remote-tracking branch 'origin/main' into release-4.9a455955
Make hasInvalidatedResolution non internal for program and add it watchApi (#50776) [ #48057 ]645d1cd
Fix assert in addIndirectUser in FAR (#50905)bbec17d
LEGO: Merge pull request 50900a9ecc67
Update package-lock.json221cf55
package.jsonexports
should have priority overtypesVersions
(#50890)acb8977
Remove .github/tsc.json (#50664)7a3de81
fix(49993): skip the quick fix for an expression with an enum type (#50625)2644f28
fix(49200): skip duplicated method declarations (#50609)98652a3
Bump version to 4.9.0-beta and LKG.4d91204
fix(37030): Expand Selection in function and arrow function skips body block (#50711)e2dd508
DOM update 2022/09/21 (#50884)1d9ab83
fix(50866): emit modifiers from export declarations (#50874)92a1b12
LEGO: Merge pull request 50877e383db6
Fix debug.ts __debugKind check (#50871)01054e0
Consistently add undefined/missing to optional tuple element types (#50831)d90795e
Improve escape sequence handling in private names (#50856)938a69a
Fix import statement completions followed by interface declaration (#50350)e002159
feat(49962): Disallow comparison against NaN (#50626)80ae43d
Fixing spacesabc58bd
Fixing baseline errors305f4bd
Merge branch 'main' into fix/4796923746af
fix(50591): RangeError: Maximum call stack size exceeded (#50594)168186f
Allow a union property of a private/protected member and an intersection property including that same member (#50328)812ebcf
Update package-lock.json16156b1
Add rules from eslint's recommended set that triggered good lints (#50422)a11c416
Improve checking ofin
operator (#50666)67f2b62
Gabritto/jsemitfixsilly (#50849)3014dec
Don't elide imports when transforming JS files (#50404)57c7aa7
LEGO: Merge pull request 5084248a8e89
Improve check of whether type query node possibly contains reference to type parameter (#50070)af9ced1
LEGO: Merge pull request 50825a8e13f7
Fixed an issue with destructured bindings from a generic union constraint not being narrowed correctly (#50221)08af0b6
Update package-lock.json0df46e8
Fix test around RegExp match vs. exec results (#50813)906510e
Fixes for pr2970c5d
makeRegExpExecArray
always include index 0 (#50713)0507192
Accepting baselines29e50b3
Rewording documentation01cae69
fix(50796): omit questionToken in object literal method completions (#50802)3b84f76
Fix crash caused by incorrect bounds check (regression in 4.8) (#50797)7e51306
Update package-lock.json8b35c13
The error "Object is possibly null or undefined" is ambiguous. (#49797)a3f51b3
Update user baselines +cc @sandersn (#43554)ba10a0d
Removing duplicated codeec6ae1c
Partially revert #41044, restoring parameter destructurings in d.ts files (#50779)28232ca
LEGO: Merge pull request 5078349cfa1d
Update package-lock.json4110b80
Fix equality narrowing and comparable relation for intersections with {} (#50735)b23f1d6
LEGO: Merge pull request 50771618fb2d
Update package-lock.json08b91f6
fix(50717): tsc crashes when it sees a JSDoc tag inside an @override annotation (#50724)60963d7
Discriminant of typenever
should never be matched (#50755)e37ea53
Update package-lock.jsona88c366
Fix test baselining for tsserver host timeouts (#50748)6d38487
Fix workflow typo (#50746)6b890f9
Handle more places where package direcroy is converted to canonical file path (#50740)f5f2923
Revert removal of nonInferrableAnyType (#50691)7120b52
Update twoslash workflow (#50738)68d526c
Don't run linter after tests runs (#50597)8e5e2e0
Fix backticks in our JSDoc comments (#50737)a4cabe7
Support for auto-accessor fields from the Stage 3 Decorators proposal (#49705)7737473
Update package-lock.json12ab0fe
Update package-lock.jsoneb40134
Don't leave space for property access on non-integer literals (#50703)a70bb9d
Preserve special intersections in mapped types (#50704)1a1c271
Don't remove space before dot if in property access on numeric literal (#50695)7c918fb
Baseline host state when baselining tsserver tests (#50678)2f1ba45
Update LKG and devDep of typescript to v4.8.3 (#50689)be4e9ba
Update package-lock.jsonf46a680
Remove error message in node16 (#50673)ab831d0
Ignore--help
and-?
intsc init
generatedcompilerOptions
(#50628)bb6f36f
Forward intersection state flag to conditional type target check (#50620)b58721f
Update package-lock.json3c3820b
Simplify CI detection (#50661)9ac1fce
Fix eslint not looking at certain scripts, fix lints (#50660)fd05c0c
Make useFsEvents as default strategy for the watching (#50366)5c2f770
Remove unused cancellation from build (#50658)66fbf05
Update package-lock.json7910c50
Update package-lock.jsonfd3a84c
Report every instance of TS1208 (#50101)62f980a
Check if its same buildinfo only for directly referenced projects and not recursively (#50617) [ #50545 ]856c7c5
Allow{}
to narrow in same special cases asunknown
(#50601)854d448
in
operator shouldn't narrow{}
originating inunknown
(#50610)549e61d
Update package-lock.jsonbcf9949
fix(50079): show deprecated on JSX attributes (#50084)5df09a5
Use bidirectional comparability in narrowing (#50592)891cdc5
Remove unused baselines (#50593)6db2c88
{} & null and {} & undefined should always be never (#50553)238c341
Defer distributing index over generic object types (#50540)2983092
Do not canonicalize the file names when getting absolute paths during nodenext resolution (#50557) [ #50544 ]dcade77
Update package-lock.jsona9797d2
fix(50340): typeof ... === "undefined" check on discriminated union of undefined and object type doesn't narrow correctly (#50344)43f8ae6
Only normalize intersections that include {} (#50535)d293e72
Rename API to importPlugin (#50554)cd312d3
Managing control flow19defbf
Update package-lock.jsonf071d30
Move contributing related info out of README to CONTRIBUTING (#50543)488d0ee
Retain name and propertyName in declaration emit copies of binding patterns if property name is a keyword (#50537)8b482b5
Update package-lock.jsonc89f355
Remove redundant pretest script (#50518)6d170b4
Handle intersections in isGenericTypeWithoutNullableConstraint (#50497)ed6889c
LEGO: Merge pull request 5050629cbfe9
LEGO: Merge pull request 504936faa291
LEGO: Merge pull request 5048471b2ba6
Reuse computed type of condition expressions (#49881)8778c1d
Update package-lock.json4579245
fix(50427): allow convert function expressions (#50430)cbc0b17
Push package-lock.json updates via typescript-bot token (#50476)bb3a7ae
fix(50415): Language server debug failure - Did not expect GetAccessor to have an Identifier in its trivia (#50470)3557092
Rephrase error message to be 100% technically correct (#50471)71d1911
add unknown to DateTimeFormatTypes (#50402)8f89599
Don't include .gitattributes in package (#50475)6e8337e
Optimize substitution types (#50397)226dd0b
Fix typechecking related lints that changed post 4.8, update LKG to 4.8.2 (#50472)164dddc
feat(7481): Operator to ensure an expression is contextually typed by, and satisfies, some type (#46827)0715791
Update package-lock.jsone675ea8
Remove AUTHORS.md, .mailmap, authors.ts script (#50410)38076df
Fix auto import crash due to difference inpaths
handling (#50419)12eb519
fix(50435): Duplicate seeming Code Actions for convert const to let (#50442)a08b045
Jsdoc property description (#50269) [ #47933 ]5ba22e0
Remove top level loc folder (#50421)c4eb37c
Update package-lock.json8d7ad8c
fix(50375): Errors for missing enum-named properties should attempt to preserve names (#50382)fb717df
Discard union types before considering weak type checks on unit-like types (#50423)b9a5bbc
Syntax operations also need to ensure project is present for the open script infos since update could be pending to make sure open script info has project (#50418) [ #50131 ]1d4fbbb
Update package-lock.json44ce3cf
fix(50224): Intellisense for strings within a type's Union doesn't work properly for JSX (#50231)6ee5db9
Use package.json files array instead of .npmignore (#50408)This list of changes was auto generated.
v4.8.4
: TypeScript 4.8.4Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v4.8.3
: TypeScript 4.8.3Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v4.8.2
: TypeScript 4.8Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v4.7.4
: TypeScript 4.7.4Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v4.7.3
: TypeScript 4.7.3Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v4.7.2
: TypeScript 4.7.2Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v4.6.4
: TypeScript 4.6.4Compare Source
This release includes a bug fix for text formatting on certain ranges, which was impacting Visual Studio users.
For the complete list of fixed issues, check out the
Downloads are available on:
v4.6.3
: TypeScript 4.6.3Compare Source
This release includes fixes for
preProcessFile
functionFor the complete list of fixed issues, check out the
Downloads are available on:
v4.6.2
: TypeScript 4.6.2Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
v4.5.5
: TypeScript 4.5.5Compare Source
This patch release includes a number of fixes to language service crashes and assertion violations, along with improvements to JSX attribute snippets.
For the complete list of fixed issues, check out the
Downloads are available on:
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, 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.
4aeb3e1254
tob5edadf8c1
b5edadf8c1
to079e655c29
079e655c29
to1dfc1e82a3
1dfc1e82a3
toaa569988ab
aa569988ab
to7559e78312
7559e78312
to1ae55235ec
1ae55235ec
to2123cd7661
2123cd7661
to387b6886c7
387b6886c7
toda410e9afa
da410e9afa
tof59c995c03
f59c995c03
to508fc0bbdc
508fc0bbdc
tod19098eacd
d19098eacd
to5a93659e9c
5a93659e9c
to3684f22e29
3684f22e29
to0e2efeda26
0e2efeda26
to4b25b44677
4b25b44677
toc9e1aa7534
c9e1aa7534
to106a9eb69b
106a9eb69b
to15675486d5
15675486d5
tob8ad605919
b8ad605919
to303141bf86
303141bf86
to2174de3a29
2174de3a29
to80e0f29115
80e0f29115
toa1dd294762
a1dd294762
tod4d246585f
d4d246585f
toece8a75462
ece8a75462
to40696ffe8e
40696ffe8e
todbc9c3f204
dbc9c3f204
to48abafa0f8
48abafa0f8
to650998adc4
650998adc4
to0537579f8c
0537579f8c
to0313f9b55a
0313f9b55a
toe44325e818
e44325e818
to4daae7e218
4daae7e218
to9ea03c71ea
9ea03c71ea
to53776b6693
53776b6693
toe7529d9a75
e7529d9a75
to6e7e7aa7df
6e7e7aa7df
to221be1e382
221be1e382
tof7e8287088
f7e8287088
to446a0c5372
446a0c5372
toa739736bf1
a739736bf1
to92a28c3b30
92a28c3b30
to012c0e0920
012c0e0920
toa2d7e3cb78
a2d7e3cb78
toa7aacb1364
a7aacb1364
to59e411ecf9
59e411ecf9
to497c6eaed5
497c6eaed5
to9b648134d7
9b648134d7
to67390aed48
67390aed48
to334d8f4845
334d8f4845
to58010ddb68
58010ddb68
todc0893629e
dc0893629e
tob017ec636c
b017ec636c
to71385ff3a7
71385ff3a7
to638218c19a
638218c19a
to83a60a5213
83a60a5213
toe60009a3bf
e60009a3bf
to5306ca85b6
5306ca85b6
to0228772a4b
0228772a4b
tob815eafe3a
b815eafe3a
toae607af3d3
ae607af3d3
to042790a70c
042790a70c
todbeb9a8bf1
dbeb9a8bf1
to8778e875d7
8778e875d7
toa6b7357b58
a6b7357b58
toa5f92ebca9
a5f92ebca9
to708c9da19e
708c9da19e
to48ac922421
48ac922421
to0e5a1dd041
0e5a1dd041
tod7b23514ed
d7b23514ed
to23abb17536
23abb17536
to9d40e5cc3e
9d40e5cc3e
to255d28afc2
255d28afc2
to02c1d6ad50
02c1d6ad50
to3cb0c5805a
3cb0c5805a
to5a9fcdf25e
5a9fcdf25e
toc4e81ec743
c4e81ec743
to4d503526bc
4d503526bc
to43989ee939
43989ee939
to4a2f49d98c
4a2f49d98c
to583712288b
583712288b
to3cad270bad
3cad270bad
to1203f30e50
1203f30e50
tofd304e984b
fd304e984b
toc5f4b9fe02
c5f4b9fe02
to61d4e0d857
61d4e0d857
toe1d7bda924
e1d7bda924
toda64516d4a
da64516d4a
tod0dc23b0e1
d0dc23b0e1
to8bf02d10b0
8bf02d10b0
to5b362cdb0b
5b362cdb0b
tob1ba73a86b
b1ba73a86b
to5273117c4e
5273117c4e
toe5e9f3f37a
e5e9f3f37a
to9cae6da0c6
9cae6da0c6
tod3fb1082d1
d3fb1082d1
to9e7aeffe4b
9e7aeffe4b
to7f9501db26
7f9501db26
to10043b79e2
10043b79e2
to82f06d8e22
82f06d8e22
to2229965274
2229965274
to1f802c81e0
1f802c81e0
to6cf0f351e5
6cf0f351e5
to10d27be79f
10d27be79f
to452343cf9b
452343cf9b
to97445bd944
97445bd944
to2bab372ed3
2bab372ed3
to818822ba60
818822ba60
tof254c37541
f254c37541
to3e14a9d0d8
3e14a9d0d8
to538692f7fd
⚠ 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
538692f7fd
to4831a97c70
4831a97c70
toa4ea3f39a1
a4ea3f39a1
to14255c3786
14255c3786
to8ecd47d840
8ecd47d840
to53a205676d
53a205676d
toe442a4e447
e442a4e447
to8be4c15e77
8be4c15e77
to6426c62f71
6426c62f71
to64abc4bf2d
64abc4bf2d
to7bcd25639e
7bcd25639e
to6496f95d0f
6496f95d0f
to1153cc1ba6
1153cc1ba6
to15e5fbfc25
15e5fbfc25
tob57d628727
b57d628727
to92afc3ef29
92afc3ef29
to346a8aff66
346a8aff66
tof4ed4c318a
f4ed4c318a
toff5d77c471
ff5d77c471
to78cff24831
78cff24831
to3e8d5a12d5
3e8d5a12d5
tob0be9e8e49
b0be9e8e49
to926c73501d
926c73501d
to300ddbef93
300ddbef93
to5c41b6f1fe
5c41b6f1fe
to323876765f
323876765f
tob8339f5433
b8339f5433
to23e95b8eaf
23e95b8eaf
toa688cb4274
a688cb4274
toa55c1093d5
a55c1093d5
to2e9df4c208
2e9df4c208
to2f3c12fde0
2f3c12fde0
to7f6a3eee5e
7f6a3eee5e
to24c2b9fca2
24c2b9fca2
to620f92dfda
620f92dfda
tob1c8dd488c
b1c8dd488c
tof89d621de6
f89d621de6
to9b850a2e83
9b850a2e83
toc4b5cfc4af
c4b5cfc4af
to2edd62e395
2edd62e395
tof98d2ab73f
f98d2ab73f
to5060d63660
5060d63660
tofaf13de85f
faf13de85f
to53086e9096
53086e9096
to7601ed8e1a
7601ed8e1a
toeb883265c2
eb883265c2
to67d2125645
67d2125645
to12142867a7
12142867a7
tob8f0e90524
b8f0e90524
to6a83457ef0
6a83457ef0
to62432f68c2
62432f68c2
to9e4940a114
9e4940a114
to72438da32d
72438da32d
tob0144d2e21
b0144d2e21
to3d8a9c6199
3d8a9c6199
to8634f98c49
8634f98c49
to45e6c20fba
45e6c20fba
to41e3fad0dc
41e3fad0dc
to46e823e350
46e823e350
toa667e886fe
a667e886fe
toc57afe4ee5
c57afe4ee5
to246721a9d8
246721a9d8
to3a119779cf
3a119779cf
tod0495da0eb
d0495da0eb
to5717e5fe0e
5717e5fe0e
toa6094b5be2
a6094b5be2
tocb9253ccbb
cb9253ccbb
to3bd1d53bc6
3bd1d53bc6
toa15320c038
a15320c038
to2c7e2e2b4c
2c7e2e2b4c
to70e0776196
70e0776196
toa711b599c2
a711b599c2
to73d3b0c38d
73d3b0c38d
to6fda536bc0
6fda536bc0
to70652ef053
70652ef053
to029f2e197d
⚠️ 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
029f2e197d
toe50f2900f3
e50f2900f3
to08e28ac2b7
08e28ac2b7
to4808c97560
4808c97560
to28e1096eb3
28e1096eb3
toad678f9bb1
ad678f9bb1
to6fbd315c60
6fbd315c60
to28eb516c47
28eb516c47
to9d29f30dff
9d29f30dff
toe72bfaa09c
e72bfaa09c
toc4f5b6101e
c4f5b6101e
toa82211e4ec
a82211e4ec
to5ba74f9051
5ba74f9051
toc41353b88c
c41353b88c
to10b01d3376
10b01d3376
to71aeb3b83c
71aeb3b83c
to5da4d28e90
5da4d28e90
to2cf44ec933
2cf44ec933
to65d04a8a19
65d04a8a19
toaed9d6bc82
aed9d6bc82
to0ce430bc8f
0ce430bc8f
to8d8f2537a7
8d8f2537a7
to56f698949a
56f698949a
to1146aff83a
1146aff83a
toae2d497142
ae2d497142
toa04be7f82d
a04be7f82d
toea8cb726cc
Checkout
From your project repository, check out a new branch and test the changes.