New operations that works consistently across sync: Mathematical addition/subtraction as well as adding or removing string or numbers from array properties.
Add to set
It is now possible to add items to an array property using a sync consistent operation "add":
microsoft/playwright#30779 - [REGRESSION]: When using video: 'on' with VSCode extension the browser got closed
microsoft/playwright#30755 - [REGRESSION]: Electron launch with spaces inside executablePath didn't work
microsoft/playwright#30770 - [REGRESSION]: Mask elements outside of viewport when creating fullscreen screenshots didn't work
microsoft/playwright#30858 - [REGRESSION]: ipv6 got shown instead of localhost in show-trace/show-report
Browser Versions
Chromium 125.0.6422.14
Mozilla Firefox 125.0.1
WebKit 17.4
This version was also tested against the following stable channels:
After executing the handler added with page.addLocatorHandler(), Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new noWaitAfter option.
You can use new times option in page.addLocatorHandler() to specify maximum number of times the handler should be run.
Update support for import assertions and import attributes in node (#3778)
Import assertions (the assert keyword) have been removed from node starting in v22.0.0. So esbuild will now strip them and generate a warning with --target=node22 or above:
▲ [WARNING] The "assert" keyword is not supported in the configured target environment ("node22") [assert-to-with]
example.mjs:1:40:
1 │ import json from "esbuild/package.json" assert { type: "json" }
│ ~~~~~~
╵ with
Did you mean to use "with" instead of "assert"?
Import attributes (the with keyword) have been backported to node 18 starting in v18.20.0. So esbuild will no longer strip them with --target=node18.N if N is 20 or greater.
Fix for await transform when a label is present
This release fixes a bug where the for await transform, which wraps the loop in a try statement, previously failed to also move the loop's label into the try statement. This bug only affects code that uses both of these features in combination. Here's an example of some affected code:
// Original code
async function test() {
outer: for await (const x of [Promise.resolve([0, 1])]) {
for (const y of x) if (y) break outer
throw 'fail'
}
}
// Old output (with --target=es6)
function test() {
return __async(this, null, function* () {
outer: try {
for (var iter = __forAwait([Promise.resolve([0, 1])]), more, temp, error; more = !(temp = yield iter.next()).done; more = false) {
const x = temp.value;
for (const y of x) if (y) break outer;
throw "fail";
}
} catch (temp) {
error = [temp];
} finally {
try {
more && (temp = iter.return) && (yield temp.call(iter));
} finally {
if (error)
throw error[0];
}
}
Update support for import assertions and import attributes in node (#3778)
Import assertions (the assert keyword) have been removed from node starting in v22.0.0. So esbuild will now strip them and generate a warning with --target=node22 or above:
▲ [WARNING] The "assert" keyword is not supported in the configured target environment ("node22") [assert-to-with]
example.mjs:1:40:
1 │ import json from "esbuild/package.json" assert { type: "json" }
│ ~~~~~~
╵ with
Did you mean to use "with" instead of "assert"?
Import attributes (the with keyword) have been backported to node 18 starting in v18.20.0. So esbuild will no longer strip them with --target=node18.N if N is 20 or greater.
Fix for await transform when a label is present
This release fixes a bug where the for await transform, which wraps the loop in a try statement, previously failed to also move the loop's label into the try statement. This bug only affects code that uses both of these features in combination. Here's an example of some affected code:
// Original code
async function test() {
outer: for await (const x of [Promise.resolve([0, 1])]) {
for (const y of x) if (y) break outer
throw 'fail'
}
}
// Old output (with --target=es6)
function test() {
return __async(this, null, function* () {
outer: try {
for (var iter = __forAwait([Promise.resolve([0, 1])]), more, temp, error; more = !(temp = yield iter.next()).done; more = false) {
const x = temp.value;
for (const y of x) if (y) break outer;
throw "fail";
}
} catch (temp) {
error = [temp];
} finally {
try {
more && (temp = iter.return) && (yield temp.call(iter));
} finally {
if (error)
throw error[0];
}
I made this a new major version because it includes a few changes that could in theory break something in some weird situations. But I think the vast majority of users (possibly all users?) won't have any issue upgrading.
#48 - Switched to using DOMException errors rather than normal errors, since that's what the IndexedDB spec says to use, and Node.js now has a built-in DOMException in all supported versions.
#93 - @bryan-codaio made the latest tweak to event scheduling, this time improving how setImmediate is used in some situations where people are mocking timers.
#99 - @sjnho fixed handling of Date objects to account for some edge cases, including jsdom overriding the native Date constructor.
I made this a new major version because it includes a few changes that could in theory break something in some weird situations. But I think the vast majority of users (possibly all users?) won't have any issue upgrading.
#48 - Switched to using DOMException errors rather than normal errors, since that's what the IndexedDB spec says to use, and Node.js now has a built-in DOMException in all supported versions.
#93 - @bryan-codaio made the latest tweak to event scheduling, this time improving how setImmediate is used in some situations where people are mocking timers.
#99 - @sjnho fixed handling of Date objects to account for some edge cases, including jsdom overriding the native Date constructor.
To install Sass 1.77.3, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
Dart API
Deprecation.duplicateVariableFlags has been deprecated and replaced with Deprecation.duplicateVarFlags to make it consistent with the duplicate-var-flags name used on the command line and in the JS API.
Support passing Version input for fatalDeprecations as string over
embedded protocol.
Fix a bug in the JS Embedded Host where Version could be incorrectly accepted
as input for silenceDeprecations and futureDeprecations in pure JS.
1.77.3
Dart API
Deprecation.duplicateVariableFlags has been deprecated and replaced with
Deprecation.duplicateVarFlags to make it consistent with the
duplicate-var-flags name used on the command line and in the JS API.
1.77.2
Don't emit deprecation warnings for functions and mixins beginning with __.
Allow user-defined functions whose names begin with _ and otherwise look
like 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.
1.77.1
Fix a crash that could come up with importers in certain contexts.
1.77.0
Don't throw errors for at-rules in keyframe blocks.
1.76.0
Throw errors for misplaced statements in keyframe blocks.
Mixins and functions whose names begin with -- are now deprecated for
forwards-compatibility with the in-progress CSS functions and mixins spec.
This deprecation is named css-function-mixin.
Commits
21eeb4d Parse Deprecation.forVersion on compiler side (#2248)
1073c7b Generate deprecations list from the language repo (#2253)
fc24fec Use pubspec_parse dependency equality (#2254)
5121eb1 Don't treat underscores as hyphens for the purpose of error checking (#2247)
bdc08fd Merge pull request #2246 from sass/deprecation-cli
9a9e483 Add a test to ensure the sass_api dartdoc version matches sass
8c48a01 Expand dartdoc range for sass_api to match sass
c9f0d3f Fix deprecation flags in the CLI and add tests
Most Recent Ignore Conditions Applied to This Pull Request
| Dependency Name | Ignore Conditions |
| --- | --- |
| jsdom | [>= 22.1.a, < 22.2] |
| @playwright/test | [>= 1.40.a, < 1.41] |
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the external-dependencies group with 13 updates in the / directory:
4.0.4
4.0.7
23.11.2
23.11.5
6.1.16
6.1.24
3.22.4
3.23.8
4.2.2
4.4.0
1.43.1
1.44.1
0.0.266
0.0.268
20.12.7
20.14.0
0.20.2
0.21.4
5.0.2
6.0.0
24.0.0
24.1.0
1.75.0
1.77.4
0.10.0
0.12.0
Updates
dexie
from 4.0.4 to 4.0.7Release notes
Sourced from dexie's releases.
... (truncated)
Commits
b38b1bf
Build output239d787
Merge remote-tracking branch 'origin/releases'49de2e1
Releasing v4.0.7d96ddcd
Bump version: 4.0.7. Align dexie and dexie-cloud-addon version numbers.c2d4d9d
Fixed identation076dc15
When consistent modify/delete operations get chunked, the additional chunks w...d4508e6
Releasing dexie-cloud-addon@4.0.6af1578e
Build outputfa41b3a
Releasing v4.0.56ba015c
Merge remote-tracking branch 'origin/releases'Updates
i18next
from 23.11.2 to 23.11.5Release notes
Sourced from i18next's releases.
Changelog
Sourced from i18next's changelog.
Commits
bfbb7d8
23.11.55021883
release5c63849
perf: use Array.isArray() (#2193)c5c6291
perf: trim keys once (#2194)20011af
types: add test for context with default value (#2192)d057e1d
types: add tests for context values (#2188)31f61e6
chore: update eslint and@typescript/eslint
packages (#2187)bf45865
types: add test for accessing a context default value (#2186)9ce9150
23.11.484f6194
releaseUpdates
tldts
from 6.1.16 to 6.1.24Release notes
Sourced from tldts's releases.
... (truncated)
Changelog
Sourced from tldts's changelog.
... (truncated)
Commits
6d135a7
Bump version to: v6.1.24 [skip ci]40afbb9
Update CHANGELOG.md [skip ci]47e8f46
Update upstream public suffix list (#2055)cf6e47c
Bump version to: v6.1.23 [skip ci]10abfad
Update CHANGELOG.md [skip ci]66660f8
Update upstream public suffix list (#2051)cf8fd11
Bump version to: v6.1.22 [skip ci]4e1b314
Update CHANGELOG.md [skip ci]43c4c93
Update upstream public suffix list (#2049)814ec40
Bump rollup from 4.17.2 to 4.18.0 (#2048)Updates
zod
from 3.22.4 to 3.23.8Release notes
Sourced from zod's releases.
... (truncated)
Commits
ca42965
v3.23.8eda7df3
Change RefinementCtx to interface1968731
Tweak tiers (#3471)0f4d403
Add Bronze logos (#3470)f985b5b
3.23.72239ff3
Add social crowd969423
Fix #3437: extendShape erases JSDoc property documentation (#3463)29d2ea2
Add copper93b480b
v3.23.6ce3711e
add VSCode dev container support and documenationUpdates
@fingerprintjs/fingerprintjs
from 4.2.2 to 4.4.0Release notes
Sourced from
@fingerprintjs/fingerprintjs
's releases.Commits
416b178
Bump the version to 4.4.0 (#1008)ff6b204
Revert audio fingerprint to the version from v4.1.0 (#1007)59401f4
docs(README): clarify community description (#1006)c975bbf
feat: AudioContext baseLatency entropy source (#1004)703ea10
Update ApplePay exports (#1005)45d3574
Bump the version to 4.3.0 (#1001)8591892
Bump express from 4.18.2 to 4.19.2 (#995)e2d11f3
Fix unsupported BrowserStack browser combinations (#994)193fb19
Bump webpack-dev-middleware from 5.3.3 to 5.3.4 (#993)a78043c
Bump follow-redirects from 1.15.4 to 1.15.6 (#991)Updates
@playwright/test
from 1.43.1 to 1.44.1Release notes
Sourced from
@playwright/test
's releases.... (truncated)
Commits
afacb84
chore: mark v1.44.1 (#30942)be13365
cherry-pick(#30853): chore: print friendly localhost address from http server...67b85e6
docs: cherry-pick dotnet docs enhancements + release-notes (#30927)32bde52
cherry-pick(#30832): chore(testServer): accept video parameter when running t...5d26230
cherry-pick(#30807): chore: do not close the reused context when video is on3867d55
cherry-pick(#30820): fix(electron): allow launching with spaces in path (#30830)01bf93c
cherry-pick(#30800): Revert "fix(highlight): highlight Top Layer elements (#3...1b2de3f
cherry-pick(#30708): docs(python): roll fixes (#30709)a6aa50b
chore: set version to 1.44.0 (#30680)54c157d
cherry-pick(#30677): chore: print resolved host in the http server te… (#30679)Updates
@types/chrome
from 0.0.266 to 0.0.268Commits
Updates
@types/node
from 20.12.7 to 20.14.0Commits
Updates
esbuild
from 0.20.2 to 0.21.4Release notes
Sourced from esbuild's releases.
... (truncated)
Changelog
Sourced from esbuild's changelog.
... (truncated)
Commits
67cbf87
publish 0.21.4 to npm4ad11c3
fix #3639, fix #3646: passwith
toonResolve
516ca31
fix #3343: allow bundle-internal string aliases9e2f304
fix #3416, fix #3425: better enum constant folding8f1faf7
implement late constant-folding for&& || ??
7d50a50
implement late constant-folding of string enums1b29ac7
fold equality checks after cross-module inliningd7a8bf3
formatting support for@position-try
(for #3773)5069410
fix #3778: import assertions/attributes for node11d568c
runmake update-compat-table
Updates
fake-indexeddb
from 5.0.2 to 6.0.0Release notes
Sourced from fake-indexeddb's releases.
Changelog
Sourced from fake-indexeddb's changelog.
Commits
fb0f04c
6.0.0ed05212
Changelog740284a
Use DOMException rather than Error, since all supported versions of Node.js h...f0c1e0f
Merge pull request #93 from bryan-codaio/fix-cached-set-immediate5bf419c
Merge pull request #99 from sjnho/issue-fix-986dcf2a8
Upgrade dependenciesec93e71
Switch to pnpm52dbff1
Update CId4f4178
Fix issue #98: workaround to check date objecta1c1488
TypoUpdates
jsdom
from 24.0.0 to 24.1.0Release notes
Sourced from jsdom's releases.
Changelog
Sourced from jsdom's changelog.
Commits
4555914
Version 24.1.0a693107
Fix elements with names from Object.prototype8738255
Add regression test for comma selectora343932
Implement the getSetCookie() method of Headersf2fa507
Update URLs and fix grammar error7dc7ab9
Fix getComputedStyle() not-implemented messagef5f2468
Update dependencies and most dev dependenciesb32d82b
Fix wpt failure in overwritten-customElements-global.htmlUpdates
sass
from 1.75.0 to 1.77.4Release notes
Sourced from sass's releases.
... (truncated)
Changelog
Sourced from sass's changelog.
Commits
21eeb4d
Parse Deprecation.forVersion on compiler side (#2248)1073c7b
Generate deprecations list from the language repo (#2253)fc24fec
Usepubspec_parse
dependency equality (#2254)5121eb1
Don't treat underscores as hyphens for the purpose of error checking (#2247)bdc08fd
Merge pull request #2246 from sass/deprecation-cli9a9e483
Add a test to ensure the sass_api dartdoc version matches sass8c48a01
Expand dartdoc range for sass_api to match sassc9f0d3f
Fix deprecation flags in the CLI and add tests54a6dec
Bump lints from 3.0.0 to 4.0.0 (#2242)372f15c
FixMapExtensions.getOption()
for nullable types (#2241)Updates
webextension-polyfill
from 0.10.0 to 0.12.0Release notes
Sourced from webextension-polyfill's releases.
Commits
1649d84
chore: bump version for release 0.12.008c7650
fix: Remove webpack and webpack-cli dependencies (#614)89a7281
chore: drop -g from npm install in ci config (#597)af051ff
chore: bump version for release 0.11.0338d75f
chore: chromedriver and geckodriver dependencies along with circleci config (...871b49d
fix: no-op check to work with Safari and support of old browsers. (#582)0cf8915
chore(deps-dev): bump chromedriver from 110.0.0 to 112.0.0 (#456)ff464da
Update dependabot.ymlfbe11ef
chore(deps-dev): bump grunt from 1.5.3 to 1.6.1 (#438)35faec3
chore(deps-dev): bump geckodriver from 3.0.2 to 3.2.0 (#427)Most Recent Ignore Conditions Applied to This Pull Request
| Dependency Name | Ignore Conditions | | --- | --- | | jsdom | [>= 22.1.a, < 22.2] | | @playwright/test | [>= 1.40.a, < 1.41] |Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show