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.
const locator = page.getByText('This interstitial covers the button');
await page.addLocatorHandler(locator, async overlay => {
await overlay.locator('#close').click();
}, { times: 3, noWaitAfter: true });
// Run your tests that can be interrupted by the overlay.
// ...
await page.removeLocatorHandler(locator);
Miscellaneous options
multipart option in apiRequestContext.fetch() now accepts FormData and supports repeating fields with the same name.
const formData = new FormData();
formData.append('file', new File(['let x = 2024;'], 'f1.js', { type: 'text/javascript' }));
formData.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' }));
context.request.post('https://example.com/uploadFiles', {
multipart: formData
Correct this in field and accessor decorators (#3761)
This release changes the value of this in initializers for class field and accessor decorators from the module-level this value to the appropriate this value for the decorated element (either the class or the instance). It was previously incorrect due to lack of test coverage. Here's an example of a decorator that doesn't work without this change:
const dec = () => function() { this.bar = true }
class Foo { @dec static foo }
console.log(Foo.bar) // Should be "true"
TypeScript recently added es2023 as a compilation target, so esbuild now supports this too. There is no difference between a target of es2022 and es2023 as far as esbuild is concerned since the 2023 edition of JavaScript doesn't introduce any new syntax features.
The previous release introduced a regression with the --keep-names setting and object literals with get/set accessor methods, in which case the generated code contained syntax errors. This release fixes the regression:
// Original code
x = { get y() {} }
// Output from version 0.21.0 (with --keep-names)
x = { get y: /* @PURE */ __name(function() {
}, "y") };
// Output from this version (with --keep-names)
x = { get y() {
} };
v0.21.0
This release doesn't contain any deliberately-breaking changes. However, it contains a very complex new feature and while all of esbuild's tests pass, I would not be surprised if an important edge case turns out to be broken. So I'm releasing this as a breaking change release to avoid causing any trouble. As usual, make sure to test your code when you upgrade.
Implement the JavaScript decorators proposal (#104)
With this release, esbuild now contains an implementation of the upcoming JavaScript decorators proposal. This is the same feature that shipped in TypeScript 5.0 and has been highly-requested on esbuild's issue tracker. You can read more about them in that blog post and in this other (now slightly outdated) extensive blog post here: https://2ality.com/2022/10/javascript-decorators.html. Here's a quick example:
const log = (fn, context) => function() {
console.log(`before ${context.name}`)
const it = fn.apply(this, arguments)
console.log(`after ${context.name}`)
return it
}
Correct this in field and accessor decorators (#3761)
This release changes the value of this in initializers for class field and accessor decorators from the module-level this value to the appropriate this value for the decorated element (either the class or the instance). It was previously incorrect due to lack of test coverage. Here's an example of a decorator that doesn't work without this change:
const dec = () => function() { this.bar = true }
class Foo { @dec static foo }
console.log(Foo.bar) // Should be "true"
TypeScript recently added es2023 as a compilation target, so esbuild now supports this too. There is no difference between a target of es2022 and es2023 as far as esbuild is concerned since the 2023 edition of JavaScript doesn't introduce any new syntax features.
The previous release introduced a regression with the --keep-names setting and object literals with get/set accessor methods, in which case the generated code contained syntax errors. This release fixes the regression:
// Original code
x = { get y() {} }
// Output from version 0.21.0 (with --keep-names)
x = { get y: /* @PURE */ __name(function() {
}, "y") };
// Output from this version (with --keep-names)
x = { get y() {
} };
0.21.0
This release doesn't contain any deliberately-breaking changes. However, it contains a very complex new feature and while all of esbuild's tests pass, I would not be surprised if an important edge case turns out to be broken. So I'm releasing this as a breaking change release to avoid causing any trouble. As usual, make sure to test your code when you upgrade.
Implement the JavaScript decorators proposal (#104)
With this release, esbuild now contains an implementation of the upcoming JavaScript decorators proposal. This is the same feature that shipped in TypeScript 5.0 and has been highly-requested on esbuild's issue tracker. You can read more about them in that blog post and in this other (now slightly outdated) extensive blog post here: https://2ality.com/2022/10/javascript-decorators.html. Here's a quick example:
const log = (fn, context) => function() {
console.log(`before ${context.name}`)
const it = fn.apply(this, arguments)
console.log(`after ${context.name}`)
return it
}
To install Sass 1.76.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
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.
Bumps the external-dependencies group with 12 updates in the / directory:
23.11.2
23.11.4
6.1.16
6.1.20
3.22.4
3.23.8
4.2.2
4.3.0
1.43.1
1.44.0
0.0.266
0.0.268
20.12.7
20.12.11
0.20.2
0.21.2
8.57.0
9.2.0
10.3.12
10.3.15
1.75.0
1.77.1
0.10.0
0.11.0
Updates
i18next
from 23.11.2 to 23.11.4Release notes
Sourced from i18next's releases.
Changelog
Sourced from i18next's changelog.
Commits
9ce9150
23.11.484f6194
released4bc164
perf(interpolator): use object deconstruction and optional chaining (#2181)99d6d69
23.11.3462525a
buildc1e2f91
fix: Unsupported language is automatically added to preload option #2178Updates
tldts
from 6.1.16 to 6.1.20Release notes
Sourced from tldts's releases.
... (truncated)
Changelog
Sourced from tldts's changelog.
... (truncated)
Commits
82ed457
Bump version to: v6.1.20 [skip ci]8313756
Update CHANGELOG.md [skip ci]cbc72dd
Update upstream public suffix list (#2035)8fd1eb4
Bump rimraf from 5.0.5 to 5.0.7 (#2039)5e697a3
Bump@types/node
from 20.12.8 to 20.12.11 (#2037)7b5695a
Bump version to: v6.1.19 [skip ci]8b44a38
Update CHANGELOG.md [skip ci]3f082b1
Update upstream public suffix list (#2031)e95a419
Bump@typescript-eslint/parser
from 7.7.1 to 7.8.0 (#2030)8496419
Bump ejs from 3.1.9 to 3.1.10 (#2034)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.3.0Release notes
Sourced from
@fingerprintjs/fingerprintjs
's releases.Commits
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)5792a80
Bugfix: values of canvas geometry and text returned in reverse order. (#990)5ae80b7
README Correction (#988)fb161e6
Fix the timezone test and a missing minus in the timezone fallback (#986)872bb49
chore: Supportyarn build
on Windows machines (#985)Updates
@playwright/test
from 1.43.1 to 1.44.0Release notes
Sourced from
@playwright/test
's releases.... (truncated)
Commits
a6aa50b
chore: set version to 1.44.0 (#30680)54c157d
cherry-pick(#30677): chore: print resolved host in the http server te… (#30679)2d437e8
cherry-pick(#30646): feat(chromium): roll to r1117 (#30652)7637399
cherry-pick(#30636): fix(role): extract tagName safely (#30639)9e091e7
cherry-pick(#30611): chore: add common env vars for junit and json re… (#30624)154694b
chore: update playwright-browsers to Mar 19 (#30599)fa7d4e5
docs: releae notes 1.44 for js (#30596)b9f70f4
docs(junit): document existing options and env (#30595)fb90797
fix(last-run): remove globalOutputDir (#30571)96f3d19
feat(ctrl_or_meta): add a universal ctrl-meta modifier (#30572)Updates
@types/chrome
from 0.0.266 to 0.0.268Commits
Updates
@types/node
from 20.12.7 to 20.12.11Commits
Updates
esbuild
from 0.20.2 to 0.21.2Release notes
Sourced from esbuild's releases.
... (truncated)
Changelog
Sourced from esbuild's changelog.
... (truncated)
Commits
b24180e
publish 0.21.2 to npmf82e0ad
fix #3761:this
in field and accessor decorators46ea596
fix #3762: addes2023
as an alias fores2022
e876394
publish 0.21.1 to npm4abc387
adjust decorator source map locationse7a9256
fix #3756: regression with--keep-names
33cbbea
runmake update-compat-table
c6da2c3
publish 0.21.0 to npm4bc834c
initial implementation of the decorators proposal (#3754)07cdbe0
some small adjustments to runtime library codeUpdates
eslint
from 8.57.0 to 9.2.0Release notes
Sourced from eslint's releases.
... (truncated)
Changelog
Sourced from eslint's changelog.
... (truncated)
Commits
271e7ab
9.2.0989ac9d
Build: changelog update for 9.2.0b346605
chore: upgrade@eslint/js
@9
.2.0 (#18413)c4c18e0
chore: package.json update for@eslint/js
release284722c
chore: package.json update for eslint-config-eslint release0f5df50
docs: Update README347d44f
chore: remove eslintrc export from eslint-config-eslint (#18400)8485d76
feat:no-case-declarations
add suggestions (#18388)a498f35
feat: update Unicode letter detection in capitalized-comments rule (#18375)1579ce0
docs: update wording regarding indirect eval (#18394)Updates
glob
from 10.3.12 to 10.3.15Commits
921c4b9
10.3.1557f5551
engines: need 14.18, where 'node:path' shows up4da30cd
10.3.140e7f0cf
path-scurry@1.11.0d6a9d05
10.3.13435d1f7
fix: usenode:
-prefixed requires for builtins7732ea3
fix test-regen bugUpdates
sass
from 1.75.0 to 1.77.1Release notes
Sourced from sass's releases.
Changelog
Sourced from sass's changelog.
Superseded by #2540.