Skip to content

Conversation

@michijs
Copy link
Contributor

@michijs michijs bot commented Dec 22, 2025

@michijs
Copy link
Contributor Author

michijs bot commented Dec 22, 2025

Bump open from 10.2.0 to 11.0.0

Changelog:
Sourced from releases.
        ### v11.0.0### Breaking
  • Require Node.js 20 e789eec

Improvements

  • Automatically detect whether PowerShell is accessible in WSL 67109f8
  • Add chromium-browser fallback for Linux b40f4b8
  • Throw AggregateError instead of only latest error ([michijs/autofix] Linting changes #364) 2778ac6

Fixes

  • Fix app launch failure detection for fallback support ce31b94
  • Fix WSL access via remote SSH 8821bf7
  • Fix handling of import.meta.url not being available 8ce0f7d
  • Fix: Suppress PowerShell progress messages on Windows 2283000
  • Fix: Ignore stdio on Windows when not waiting for process e1af0ee
  • Fix WSL2 local file opening 269b5fd
  • Fix spawn handling 966239c
  • Fix PowerShell argument escaping 274d704

https://redirect.github.com/sindresorhus/open/compare/v10.2.0...v11.0.0

        ### v10.2.0- Add support for Brave browser (#362)  b62b99e

https://redirect.github.com/sindresorhus/open/compare/v10.1.2...v10.2.0

Commit history:

@michijs
Copy link
Contributor Author

michijs bot commented Dec 22, 2025

Bump sharp from 0.34.3 to 0.34.5

Changelog:
Sourced from releases.
        ### v0.34.5* Upgrade to libvips v8.17.3 for upstream bug fixes.
  • Add experimental support for prebuilt Linux RISC-V 64-bit binaries.

  • Support building from source with npm v12+, deprecate --build-from-source flag.
    #4458

  • Add support for BigTIFF output.
    #4459
    @​throwbi

  • Improve error messaging when only warnings issued.
    #4465

  • Simplify ICC processing when retaining input profiles.
    #4468

          ### v0.34.5-rc.1* Upgrade to libvips v8.17.3 for upstream bug fixes.
    
  • Add experimental support for prebuilt Linux RISC-V 64-bit binaries.

  • Support building from source with npm v12+, deprecate --build-from-source flag.
    #4458

  • Add support for BigTIFF output.
    #4459
    @​throwbi

  • Improve error messaging when only warnings issued.
    #4465

  • Simplify ICC processing when retaining input profiles.
    #4468

          ### v0.34.5-rc.0* Upgrade to libvips v8.17.3 for upstream bug fixes.
    
  • Add experimental support for prebuilt Linux RISC-V 64-bit binaries.

  • Support building from source with npm v12+, deprecate --build-from-source flag.
    #4458

  • Add support for BigTIFF output.
    #4459
    @​throwbi

  • Improve error messaging when only warnings issued.
    #4465

  • Simplify ICC processing when retaining input profiles.
    #4468

          ### v0.34.4* Upgrade to libvips v8.17.2 for upstream bug fixes.
    
  • Ensure TIFF subifd and OpenSlide level input options are respected (regression in 0.34.3).

  • Ensure autoOrient occurs before non-90 angle rotation.
    #4425

  • Ensure autoOrient removes existing metadata after shrink-on-load.
    #4431

  • TypeScript: Ensure KernelEnum includes linear.
    #4441
    @​BayanBennett

  • Ensure unlimited flag is passed upstream when reading TIFF images.
    #4446

  • Support Electron memory cage when reading XMP metadata (regression in 0.34.3).
    #4451

  • Add sharp-libvips rpath for yarn v5 support.
    #4452
    @​arcanis

          ### v0.34.4-rc.4* Upgrade to libvips v8.17.2 for upstream bug fixes.
    
  • Ensure TIFF subifd and OpenSlide level input options are respected (regression in 0.34.3).

  • Ensure autoOrient occurs before non-90 angle rotation.
    #4425

  • Ensure autoOrient removes existing metadata after shrink-on-load.
    #4431

  • TypeScript: Ensure KernelEnum includes linear.
    #4441
    @​BayanBennett

  • Ensure unlimited flag is passed upstream when reading TIFF images.
    #4446

  • Support Electron memory cage when reading XMP metadata (regression in 0.34.3).
    #4451

  • Add sharp-libvips rpath for yarn v5 support.
    #4452
    @​arcanis

          ### v0.34.4-rc.3* Upgrade to libvips v8.17.2 for upstream bug fixes.
    
  • Ensure autoOrient occurs before non-90 angle rotation.
    #4425

  • Ensure autoOrient removes existing metadata after shrink-on-load.
    #4431

  • TypeScript: Ensure KernelEnum includes linear.
    #4441
    @​BayanBennett

  • Ensure unlimited flag is passed upstream when reading TIFF images.
    #4446

  • Support Electron memory cage when reading XMP metadata (regression in 0.34.3).
    #4451

  • Add sharp-libvips rpath for yarn v5 support.
    #4452
    @​arcanis

          ### v0.34.4-rc.2* Upgrade to libvips v8.17.2 for upstream bug fixes.
    
  • Ensure autoOrient occurs before non-90 angle rotation.
    #4425

  • Ensure autoOrient removes existing metadata after shrink-on-load.
    #4431

  • TypeScript: Ensure KernelEnum includes linear.
    #4441
    @​BayanBennett

  • Ensure unlimited flag is passed upstream when reading TIFF images.
    #4446

  • Support Electron memory cage when reading XMP metadata (regression in 0.34.3).
    #4451

  • Add sharp-libvips rpath for yarn v5 support.
    #4452
    @​arcanis

          ### v0.34.4-rc.1* Ensure `autoOrient` occurs before non-90 angle rotation.
    

    #4425

  • Ensure autoOrient removes existing metadata after shrink-on-load.
    #4431

          ### v0.34.4-rc.0---
    

title: v0.34.4 - TBD
slug: changelog/v0.34.4

  • Ensure autoOrient occurs before non-90 angle rotation.
    #4425

  • Ensure autoOrient removes existing metadata after shrink-on-load.
    #4431

          ### v0.34.3
    
    
          ### v0.34.3-rc.1
    
    
          ### v0.34.3-rc.0
    
Commit history:
  • 7b4c47 CI: Update to latest FreeBSD 16
  • 084a30 Docs: clarify metadata 'format' property #4483
  • 3609c6 Tests: fix JP2 suite with global libvips (#4477)
  • dc6820 TypeScript: tag deprecated constructor properties (#4474)
  • f2a49d Fix invalid escape sequence (#4471)
  • e06245 Release v0.34.5
  • 6450c7 Prerelease v0.34.5-rc.1
  • f7c95d TypeScript: consolidate a few enum-like properties
  • ef86a7 Prerelease v0.34.5-rc.0
  • 6c1e84 Use structured binding for tuples where possible
  • e1628d Simplify ICC processing when retaining input profiles #4468

    Takes advantage of libvips' improved ICC handling

  • 4f9f81 Linter: apply all recommended biome settings

    Enforces previously-skipped useArrowFunction check

  • 09d5aa Docs: update internal and libvips doc links
  • 040b73 Upgrade to libvips v8.17.3
  • 1f2f33 Ensure licensing headers are retained by code bundlers
  • 69b2c4 Tests: migrate text suite to async (#4466)
  • 9e4e18 Add experimental support for prebuilt linux-riscv64 binaries
  • 206eb4 Limit colour strings to 200 chars, helps reduce effect of potential ReDoS
  • c1c16e Improve error messaging when only warnings issued #4465
  • b7fda6 Bump deps
  • 1bbee5 Separate build script from install script #4458

    The --build-from-source flag is now deprecated and will soon
    be removed along with the need to define an install script.

    This will remove a whole category of package manager
    warnings about install scripts and "built" dependencies.

    Most people don't need to build sharp from source, but for
    those that do, a suitable method is now something like:

    $ npm install package-that-depends-on-sharp
    $ npm explore sharp -- npm run build

  • 2324d7 CI: Upgrade to macOS 15 (Sequoia)
  • 5e72ad Docs: changelog entry for #4459
  • 6b922b Add support for BigTIFF output (#4459)
  • 54722d Modernise C++ linter using new @​cpplint/cli tooling
  • adb627 Remove licensing checker/linter

    This tool appears to no longer be maintained, but more
    importantly there are far fewer production dependencies now
    than when first introduced, and all are known/trusted.

  • f29786 Migrate from mocha to Node.js native test runner

    Includes coverage reports when using Node.js 22 onwards

  • c446d7 Docs: libvips manages its own thread pool (#4455)
  • 3498eb Docs: partially-revert 3009957, fix link to glibc malloc tunables
  • 300995 Docs: Add note about libvips thread pool sizing

@michijs
Copy link
Contributor Author

michijs bot commented Dec 22, 2025

Bump esbuild from 0.25.9 to 0.27.2

Changelog:
Sourced from releases.
        ### v0.27.2* Allow import path specifiers starting with `#/` ([#4361](https://redirect.github.com/evanw/esbuild/pull/4361))

Previously the specification for `package.json` disallowed import path specifiers starting with `#/`, but this restriction [has recently been relaxed](https://redirect.github.com/nodejs/node/pull/60864) and support for it is being added across the JavaScript ecosystem. One use case is using it for a wildcard pattern such as mapping `#/*` to `./src/*` (previously you had to use another character such as `#_*` instead, which was more confusing). There is some more context in [nodejs/node#49182](https://redirect.github.com/nodejs/node/issues/49182).

This change was contributed by [@​hybrist](https://redirect.github.com/hybrist).
  • Automatically add the -webkit-mask prefix (#4357, #4358)

    This release automatically adds the -webkit- vendor prefix for the mask CSS shorthand property:

    /* Original code */
    main {
      mask: url(x.png) center/5rem no-repeat
    }
    
    /* Old output (with --target=chrome110) */
    main {
      mask: url(x.png) center/5rem no-repeat;
    }
    
    /* New output (with --target=chrome110) */
    main {
      -webkit-mask: url(x.png) center/5rem no-repeat;
      mask: url(x.png) center/5rem no-repeat;
    }

    This change was contributed by @​BPJEnnova.

  • Additional minification of switch statements (#4176, #4359)

    This release contains additional minification patterns for reducing switch statements. Here is an example:

    // Original code
    switch (x) {
      case 0:
        foo()
        break
      case 1:
      default:
        bar()
    }
    
    // Old output (with --minify)
    switch(x){case 0:foo();break;case 1:default:bar()}
    
    // New output (with --minify)
    x===0?foo():bar();
  • Forbid using declarations inside switch clauses (#4323)

    This is a rare change to remove something that was previously possible. The Explicit Resource Management proposal introduced using declarations. These were previously allowed inside case and default clauses in switch statements. This had well-defined semantics and was already widely implemented (by V8, SpiderMonkey, TypeScript, esbuild, and others). However, it was considered to be too confusing because of how scope works in switch statements, so it has been removed from the specification. This edge case will now be a syntax error. See tc39/proposal-explicit-resource-management#215 and rbuckton/ecma262#14 for details.

    Here is an example of code that is no longer allowed:

    switch (mode) {
      case 'read':
        using readLock = db.read()
        return readAll(readLock)
    
      case 'write':
        using writeLock = db.write()
        return writeAll(writeLock)
    }

    That code will now have to be modified to look like this instead (note the additional { and } block statements around each case body):

    switch (mode) {
      case 'read': {
        using readLock = db.read()
        return readAll(readLock)
      }
      case 'write': {
        using writeLock = db.write()
        return writeAll(writeLock)
      }
    }

    This is not being released in one of esbuild's breaking change releases since this feature hasn't been finalized yet, and esbuild always tracks the current state of the specification (so esbuild's previous behavior was arguably incorrect).

          ### v0.27.1* Fix bundler bug with `var` nested inside `if` ([#4348](https://redirect.github.com/evanw/esbuild/issues/4348))
    

    This release fixes a bug with the bundler that happens when importing an ES module using require (which causes it to be wrapped) and there's a top-level var inside an if statement without being wrapped in a { ... } block (and a few other conditions). The bundling transform needed to hoist these var declarations outside of the lazy ES module wrapper for correctness. See the issue for details.

  • Fix minifier bug with for inside try inside label (#4351)

    This fixes an old regression from version v0.21.4. Some code was introduced to move the label inside the try statement to address a problem with transforming labeled for await loops to avoid the await (the transformation involves converting the for await loop into a for loop and wrapping it in a try statement). However, it introduces problems for cross-compiled JVM code that uses all three of these features heavily. This release restricts this transform to only apply to for loops that esbuild itself generates internally as part of the for await transform. Here is an example of some affected code:

    // Original code
    d: {
      e: {
        try {
          while (1) { break d }
        } catch { break e; }
      }
    }
    
    // Old output (with --minify)
    a:try{e:for(;;)break a}catch{break e}
    
    // New output (with --minify)
    a:e:try{for(;;)break a}catch{break e}
  • Inline IIFEs containing a single expression (#4354)

    Previously inlining of IIFEs (immediately-invoked function expressions) only worked if the body contained a single return statement. Now it should also work if the body contains a single expression statement instead:

    // Original code
    const foo = () => {
      const cb = () => {
        console.log(x())
      }
      return cb()
    }
    
    // Old output (with --minify)
    const foo=()=>(()=>{console.log(x())})();
    
    // New output (with --minify)
    const foo=()=>{console.log(x())};
  • The minifier now strips empty finally clauses (#4353)

    This improvement means that finally clauses containing dead code can potentially cause the associated try statement to be removed from the output entirely in minified builds:

    // Original code
    function foo(callback) {
      if (DEBUG) stack.push(callback.name);
      try {
        callback();
      } finally {
        if (DEBUG) stack.pop();
      }
    }
    
    // Old output (with --minify --define:DEBUG=false)
    function foo(a){try{a()}finally{}}
    
    // New output (with --minify --define:DEBUG=false)
    function foo(a){a()}
  • Allow tree-shaking of the Symbol constructor

    With this release, calling Symbol is now considered to be side-effect free when the argument is known to be a primitive value. This means esbuild can now tree-shake module-level symbol variables:

    // Original code
    const a = Symbol('foo')
    const b = Symbol(bar)
    
    // Old output (with --tree-shaking=true)
    const a = Symbol("foo");
    const b = Symbol(bar);
    
    // New output (with --tree-shaking=true)
    const b = Symbol(bar);
          ### v0.27.0**This release deliberately contains backwards-incompatible changes.** To avoid automatically picking up releases like this, you should either be pinning the exact version of `esbuild` in your `package.json` file (recommended) or be using a version range syntax that only accepts patch upgrades such as `^0.26.0` or `~0.26.0`. See npm's documentation about [semver](https://docs.npmjs.com/cli/v6/using-npm/semver/) for more information.
    
  • Use Uint8Array.fromBase64 if available (#4286)

    With this release, esbuild's binary loader will now use the new Uint8Array.fromBase64 function unless it's unavailable in the configured target environment. If it's unavailable, esbuild's previous code for this will be used as a fallback. Note that this means you may now need to specify target when using this feature with Node (for example --target=node22) unless you're using Node v25+.

  • Update the Go compiler from v1.23.12 to v1.25.4 (#4208, #4311)

    This raises the operating system requirements for running esbuild:

    • Linux: now requires a kernel version of 3.2 or later

    • macOS: now requires macOS 12 (Monterey) or later

        ### v0.26.0* Enable trusted publishing ([#4281](https://redirect.github.com/evanw/esbuild/issues/4281))
      

    GitHub and npm are recommending that maintainers for packages such as esbuild switch to trusted publishing. With this release, a VM on GitHub will now build and publish all of esbuild's packages to npm instead of me. In theory.

    Unfortunately there isn't really a way to test that this works other than to do it live. So this release is that live test. Hopefully this release is uneventful and is exactly the same as the previous one (well, except for the green provenance attestation checkmark on npm that happens with trusted publishing).

          ### v0.25.12* Fix a minification regression with CSS media queries ([#4315](https://redirect.github.com/evanw/esbuild/issues/4315))
    

    The previous release introduced support for parsing media queries which unintentionally introduced a regression with the removal of duplicate media rules during minification. Specifically the grammar for @&ZeroWidthSpace;media <media-type> and <media-condition-without-or> { ... } was missing an equality check for the <media-condition-without-or> part, so rules with different suffix clauses in this position would incorrectly compare equal and be deduplicated. This release fixes the regression.

  • Update the list of known JavaScript globals (#4310)

    This release updates esbuild's internal list of known JavaScript globals. These are globals that are known to not have side-effects when the property is accessed. For example, accessing the global Array property is considered to be side-effect free but accessing the global scrollY property can trigger a layout, which is a side-effect. This is used by esbuild's tree-shaking to safely remove unused code that is known to be side-effect free. This update adds the following global properties:

    From ES2017:

    • Atomics
    • SharedArrayBuffer

    From ES2020:

    • BigInt64Array
    • BigUint64Array

    From ES2021:

    • FinalizationRegistry
    • WeakRef

    From ES2025:

    • Float16Array
    • Iterator

    Note that this does not indicate that constructing any of these objects is side-effect free, just that accessing the identifier is side-effect free. For example, this now allows esbuild to tree-shake classes that extend from Iterator:

    // This can now be tree-shaken by esbuild:
    class ExampleIterator extends Iterator {}
  • Add support for the new @&ZeroWidthSpace;view-transition CSS rule (#4313)

    With this release, esbuild now has improved support for pretty-printing and minifying the new @&ZeroWidthSpace;view-transition rule (which esbuild was previously unaware of):

    /* Original code */
    @&ZeroWidthSpace;view-transition {
      navigation: auto;
      types: check;
    }
    
    /* Old output */
    @&ZeroWidthSpace;view-transition { navigation: auto; types: check; }
    
    /* New output */
    @&ZeroWidthSpace;view-transition {
      navigation: auto;
      types: check;
    }

    The new view transition feature provides a mechanism for creating animated transitions between documents in a multi-page app. You can read more about view transition rules here.

    This change was contributed by @​yisibl.

  • Trim CSS rules that will never match

    The CSS minifier will now remove rules whose selectors contain :is() and :where() as those selectors will never match. These selectors can currently be automatically generated by esbuild when you give esbuild nonsensical input such as the following:

    /* Original code */
    div:before {
      color: green;
      &.foo {
        color: red;
      }
    }
    
    /* Old output (with --supported:nesting=false --minify) */
    div:before{color:green}:is().foo{color:red}
    
    /* New output (with --supported:nesting=false --minify) */
    div:before{color:green}

    This input is nonsensical because CSS nesting is (unfortunately) not supported inside of pseudo-elements such as :before. Currently esbuild generates a rule containing :is() in this case when you tell esbuild to transform nested CSS into non-nested CSS. I think it's reasonable to do that as it sort of helps explain what's going on (or at least indicates that something is wrong in the output). It shouldn't be present in minified code, however, so this release now strips it out.

          ### v0.25.11* Add support for `with { type: 'bytes' }` imports ([#4292](https://redirect.github.com/evanw/esbuild/issues/4292))
    

    The import bytes proposal has reached stage 2.7 in the TC39 process, which means that although it isn't quite recommended for implementation, it's generally approved and ready for validation. Furthermore it has already been implemented by Deno and Webpack. So with this release, esbuild will also add support for this. It behaves exactly the same as esbuild's existing binary loader. Here's an example:

    import data from './image.png' with { type: 'bytes' }
    const view = new DataView(data.buffer, 0, 24)
    const width = view.getInt32(16)
    const height = view.getInt32(20)
    console.log('size:', width + '\xD7' + height)
  • Lower CSS media query range syntax (#3748, #4293)

    With this release, esbuild will now transform CSS media query range syntax into equivalent syntax using min-/max- prefixes for older browsers. For example, the following CSS:

    @&ZeroWidthSpace;media (640px <= width <= 960px) {
      main {
        display: flex;
      }
    }

    will be transformed like this with a target such as --target=chrome100 (or more specifically with --supported:media-range=false if desired):

    @&ZeroWidthSpace;media (min-width: 640px) and (max-width: 960px) {
      main {
        display: flex;
      }
    }
          ### v0.25.10* Fix a panic in a minification edge case ([#4287](https://redirect.github.com/evanw/esbuild/issues/4287))
    

    This release fixes a panic due to a null pointer that could happen when esbuild inlines a doubly-nested identity function and the final result is empty. It was fixed by emitting the value undefined in this case, which avoids the panic. This case must be rare since it hasn't come up until now. Here is an example of code that previously triggered the panic (which only happened when minifying):

    function identity(x) { return x }
    identity({ y: identity(123) })
  • Fix @&ZeroWidthSpace;supports nested inside pseudo-element (#4265)

    When transforming nested CSS to non-nested CSS, esbuild is supposed to filter out pseudo-elements such as ::placeholder for correctness. The CSS nesting specification says the following:

    The nesting selector cannot represent pseudo-elements (identical to the behavior of the ':is()' pseudo-class). We’d like to relax this restriction, but need to do so simultaneously for both ':is()' and '&', since they’re intentionally built on the same underlying mechanisms.

    However, it seems like this behavior is different for nested at-rules such as @&ZeroWidthSpace;supports, which do work with pseudo-elements. So this release modifies esbuild's behavior to now take that into account:

    /* Original code */
    ::placeholder {
      color: red;
      body & { color: green }
      @&ZeroWidthSpace;supports (color: blue) { color: blue }
    }
    
    /* Old output (with --supported:nesting=false) */
    ::placeholder {
      color: red;
    }
    body :is() {
      color: green;
    }
    @&ZeroWidthSpace;supports (color: blue) {
       {
        color: blue;
      }
    }
    
    /* New output (with --supported:nesting=false) */
    ::placeholder {
      color: red;
    }
    body :is() {
      color: green;
    }
    @&ZeroWidthSpace;supports (color: blue) {
      ::placeholder {
        color: blue;
      }
    }
          ### v0.25.9* Better support building projects that use Yarn on Windows ([#3131](https://redirect.github.com/evanw/esbuild/issues/3131), [#3663](https://redirect.github.com/evanw/esbuild/issues/3663))
    

    With this release, you can now use esbuild to bundle projects that use Yarn Plug'n'Play on Windows on drives other than the C: drive. The problem was as follows:

    1. Yarn in Plug'n'Play mode on Windows stores its global module cache on the C: drive
    2. Some developers put their projects on the D: drive
    3. Yarn generates relative paths that use ../.. to get from the project directory to the cache directory
    4. Windows-style paths don't support directory traversal between drives via .. (so D:\.. is just D:)
    5. I didn't have access to a Windows machine for testing this edge case

    Yarn works around this edge case by pretending Windows-style paths beginning with C:\ are actually Unix-style paths beginning with /C:/, so the ../.. path segments are able to navigate across drives inside Yarn's implementation. This was broken for a long time in esbuild but I finally got access to a Windows machine and was able to debug and fix this edge case. So you should now be able to bundle these projects with esbuild.

  • Preserve parentheses around function expressions (#4252)

    The V8 JavaScript VM uses parentheses around function expressions as an optimization hint to immediately compile the function. Otherwise the function would be lazily-compiled, which has additional overhead if that function is always called immediately as lazy compilation involves parsing the function twice. You can read V8's blog post about this for more details.

    Previously esbuild did not represent parentheses around functions in the AST so they were lost during compilation. With this change, esbuild will now preserve parentheses around function expressions when they are present in the original source code. This means these optimization hints will not be lost when bundling with esbuild. In addition, esbuild will now automatically add this optimization hint to immediately-invoked function expressions. Here's an example:

    // Original code
    const fn0 = () => 0
    const fn1 = (() => 1)
    console.log(fn0, function() { return fn1() }())
    
    // Old output
    const fn0 = () => 0;
    const fn1 = () => 1;
    console.log(fn0, function() {
      return fn1();
    }());
    
    // New output
    const fn0 = () => 0;
    const fn1 = (() => 1);
    console.log(fn0, (function() {
      return fn1();
    })());

    Note that you do not want to wrap all function expressions in parentheses. This optimization hint should only be used for functions that are called on initial load. Using this hint for functions that are not called on initial load will unnecessarily delay the initial load. Again, see V8's blog post linked above for details.

  • Update Go from 1.23.10 to 1.23.12 (#4257, #4258)

    This should have no effect on existing code as this version change does not change Go's operating system support. It may remove certain false positive reports (specifically CVE-2025-4674 and CVE-2025-47907) from vulnerability scanners that only detect which version of the Go compiler esbuild uses.

Commit history:
  • cd8329 publish 0.27.2 to npm
  • 275972 additional tests for `switch` with `break`
  • fd2b4b update release notes
  • c8d93a fix #4357: -webkit- prefix for mask shorthand (#4358)
  • 92ff12 compat table: update `@​types/node`
  • a35ece compat table: fix a type error with the new types
  • f59898 fix `make compat-table` to install dependencies
  • f7f6df release notes for #4361
  • 6f8ec1 fix: allow subpath imports that start with `#/` (#4361)

    This aligns with the upcoming behavior in node that also started landing
    in other bundlers (Vite, webpack).

    See: https://redirect.github.com/nodejs/node/pull/60864

  • f7ae61 minify some switch statements to if-else statement
  • f1faf5 fix #4176: improve switch statement partial-eval
  • cb0db3 introduce more helper methods
  • 2043fe fix some extremely subtle switch minification bugs
  • 5d491e introduce a helper method
  • add452 fix #4359: prune empty case before a default
  • 14fd59 fix #4323: forbid using inside switch clauses
  • 84a0b1 close #4362, close #4363: update to go 1.25.5
  • 5e0e56 publish 0.27.1 to npm
  • 5a8973 fix #4354: improve IIFE inlining for expressions
  • b94021 minify: move unused expr simplification later
  • c46d49 fix #4353: remove empty try/finally clauses
  • 7a7273 fix #4348: bundler bug with var inside if
  • 4e4e17 fix #4351: label + try + for minifier bug
  • d6427c fix: deno release url wrong comment (#4326)

    Signed-off-by: ysknsid25 <kengo071225@​gmail.com>

  • 48e3e1 calling Symbol.for with a primitive never throws
  • 4ff88d update decorator-tests.js snapshot
  • 1877e6 calling Symbol with a primitive will never throw
  • 2b9169 publish 0.27.0 to npm
  • 22b425 fix #4286: use Uint8Array.fromBase64 if present (#4295)
  • 6d187e update go 1.25.3 => 1.25.4

@michijs
Copy link
Contributor Author

michijs bot commented Dec 22, 2025

Bump @​michijs/shared-configs from 0.0.30 to 0.0.34

Changelog:
Sourced from releases.
        ### 0.0.34**Full Changelog**: https://redirect.github.com/michijs/shared-configs/compare/0.0.33...0.0.34


        ### 0.0.33**Full Changelog**: https://redirect.github.com/michijs/shared-configs/compare/0.0.32...0.0.33


        ### 0.0.32**Full Changelog**: https://redirect.github.com/michijs/shared-configs/compare/0.0.31...0.0.32


        ### 0.0.31**Full Changelog**: https://redirect.github.com/michijs/shared-configs/compare/0.0.30...0.0.31


        ### 0.0.30## What's Changed

Full Changelog: https://redirect.github.com/michijs/shared-configs/compare/0.0.29...0.0.30

Commit history:

@michijs
Copy link
Contributor Author

michijs bot commented Dec 22, 2025

Bump playwright-core from 1.55.0 to 1.57.0

Changelog:
Sourced from releases.
        ### v1.57.0## Speedboard

In HTML reporter, there's a new tab we call "Speedboard":

speedboard

It shows you all your executed tests sorted by slowness,
and can help you understand where your test suite is taking longer than expected.
Take a look at yours - maybe you'll find some tests that are spending a longer time waiting than they should!

Chrome for Testing

Starting with this release, Playwright switches from Chromium, to using Chrome for Testing builds. Both headed and headless browsers are subject to this. Your tests should still be passing after upgrading to Playwright 1.57.

We're expecting no functional changes to come from this switch. The biggest change is the new icon and title in your toolbar.

new and old logo

If you still see an unexpected behaviour change, please file an issue.

On Arm64 Linux, Playwright continues to use Chromium.

Waiting for webserver output

testConfig.webServer added a wait field. Pass a regular expression, and Playwright will wait until the webserver logs match it.

import { defineConfig } from '@&ZeroWidthSpace;playwright/test';

export default defineConfig({
  webServer: {
    command: 'npm run start',
    wait: {
      stdout: '/Listening on port (?<my_server_port>\\d+)/'
    },
  },
});

If you include a named capture group into the expression, then Playwright will provide the capture group contents via environment variables:

import { test, expect } from '@&ZeroWidthSpace;playwright/test';

test.use({ baseUrl: `http://localhost:${process.env.MY_SERVER_PORT ?? 3000}` });

test('homepage', async ({ page }) => {
  await page.goto('/');
});

This is not just useful for capturing varying ports of dev servers. You can also use it to wait for readiness of a service that doesn't expose an HTTP readiness check, but instead prints a readiness message to stdout or stderr.

Breaking Change

After 3 years of being deprecated, we removed Page#accessibility from our API. Please use other libraries such as Axe if you need to test page accessibility. See our Node.js guide for integration with Axe.

New APIs

  • New property testConfig.tag adds a tag to all tests in this run. This is useful when using merge-reports.
  • worker.on('console') event is emitted when JavaScript within the worker calls one of console API methods, e.g. console.log or console.dir. worker.waitForEvent() can be used to wait for it.
  • locator.description() returns locator description previously set with locator.describe(), and Locator.toString() now uses the description when available.
  • New option steps in locator.click() and locator.dragTo() that configures the number of mousemove events emitted while moving the mouse pointer to the target element.
  • Network requests issued by Service Workers are now reported and can be routed through the BrowserContext, only in Chromium. You can opt out using the PLAYWRIGHT_DISABLE_SERVICE_WORKER_NETWORK environment variable.
  • Console messages from Service Workers are dispatched through worker.on('console'). You can opt out of this using the PLAYWRIGHT_DISABLE_SERVICE_WORKER_CONSOLE environment variable.

Browser Versions

  • Chromium 143.0.7499.4

  • Mozilla Firefox 144.0.2

  • WebKit 26.0

          ### v1.56.1## Highlights
    

#37871 chore: allow local-network-access permission in chromium
#37891 fix(agents): remove workspaceFolder ref from vscode mcp
#37759 chore: rename agents to test agents
#37757 chore(mcp): fallback to cwd when resolving test config

Browser Versions

  • Chromium 141.0.7390.37

  • Mozilla Firefox 142.0.1

  • WebKit 26.0

          ### v1.56.0## Playwright Agents
    

Introducing Playwright Agents, three custom agent definitions designed to guide LLMs through the core process of building a Playwright test:

  • 🎭 planner explores the app and produces a Markdown test plan
  • 🎭 generator transforms the Markdown plan into the Playwright Test files
  • 🎭 healer executes the test suite and automatically repairs failing tests

Run npx playwright init-agents with your client of choice to generate the latest agent definitions:

# Generate agent files for each agentic loop
# Visual Studio Code
npx playwright init-agents --loop=vscode
# Claude Code
npx playwright init-agents --loop=claude
# opencode
npx playwright init-agents --loop=opencode

[!NOTE]
VS Code v1.105 (currently on the VS Code Insiders channel) is needed for the agentic experience in VS Code. It will become stable shortly, we are a bit ahead of times with this functionality!

Learn more about Playwright Agents

New APIs

UI Mode and HTML Reporter

  • Added option to 'html' reporter to disable the "Copy prompt" button
  • Added option to 'html' reporter and UI Mode to merge files, collapsing test and describe blocks into a single unified list
  • Added option to UI Mode mirroring the --update-snapshots options
  • Added option to UI Mode to run only a single worker at a time

Breaking Changes

Miscellaneous

  • Aria snapshots render and compare input placeholder
  • Added environment variable PLAYWRIGHT_TEST to Playwright worker processes to allow discriminating on testing status

Browser Versions

  • Chromium 141.0.7390.37

  • Mozilla Firefox 142.0.1

  • WebKit 26.0

          ### v1.55.1### Highlights
    

https://redirect.github.com/microsoft/playwright/issues/37479 - [Bug]: Upgrade Chromium to 140.0.7339.186.
https://redirect.github.com/microsoft/playwright/issues/37147 - [Regression]: Internal error: step id not found.
https://redirect.github.com/microsoft/playwright/issues/37146 - [Regression]: HTML reporter displays a broken chip link when there are no projects.
https://redirect.github.com/microsoft/playwright/pull/37137 - Revert "fix(a11y): track inert elements as hidden".
https://redirect.github.com/microsoft/playwright/pull/37532 - chore: do not use -k option

Browser Versions

  • Chromium 140.0.7339.186
  • Mozilla Firefox 141.0
  • WebKit 26.0

This version was also tested against the following stable channels:

  • Google Chrome 139

  • Microsoft Edge 139

          ### v1.55.0## New APIs
    
  • New Property testStepInfo.titlePath Returns the full title path starting from the test file, including test and step titles.

Codegen

  • Automatic toBeVisible() assertions: Codegen can now generate automatic toBeVisible() assertions for common UI interactions. This feature can be enabled in the Codegen settings UI.

Breaking Changes

  • ⚠️ Dropped support for Chromium extension manifest v2.

Miscellaneous

  • Added support for Debian 13 "Trixie".

Browser Versions

  • Chromium 140.0.7339.16
  • Mozilla Firefox 141.0
  • WebKit 26.0

This version was also tested against the following stable channels:

  • Google Chrome 139
  • Microsoft Edge 139
Commit history:
  • fbac4b feat(trace-viewer): Re-arrange network tabs (#38548)
  • 987f49 Fix typo in deprecation notice for 'port' option (#38555)
  • f0a3af chore(mcp): run relay server on 127.0.0.1 only (#38626)
  • a97216 Skip ESM loader registration in `bun` (to avoid a hang). (#38599)
  • 68eedd chore: remove Playwright.screencastFinished listener (#38618)
  • ee2773 fix(webkit): preserve window.orientation override after navigation (#38619)
  • a78864 chore(reporter): report shardIndex (#38608)
  • 139989 chore(merge): fix onEnd duration across shards (#38607)
  • 8777b0 chore: copy perform snapshtos on write (#38620)
  • 8dff40 fix(mcp): fix configs saveVideo option (#38621)
  • 326286 test: add logs to mcp tests (#38613)
  • 26bcc4 feat(api): expose connectOverCDP({ isLocal }) (#38614)
  • 0dbc68 fix(test runner): export _baseTest when imported as an esmodule (#38615)
  • e14ebe chore(firefox): switch to ffmpeg for video encoding (#38539)
  • db64fd test: update fill color expectation for wk win (#38611)
  • 3b5fe8 chore: fallback to Google mirror (#38573)
  • d810ea test: fix more tests (#38597)
  • 425a61 chore: do not run agents perform by default (#38596)
  • 177494 fix(test): provisional mcp video test fix (#38594)
  • b016ab fix(test): fix web-server tests (#38591)
  • 622ddd fix(range): "fix" range control on linux headless shell (#38592)
  • b4a9aa chore(bidi): ignore fileDialogOpened event from detached frame (#38589)
  • 8f6fd1 chore(bidi): improve deserialization of BiDi values (#38587)
  • 736921 feat(chromium-tip-of-tree): roll to r1392 (#38582)
  • 8914db fix: address TypeScript 6.0 deprecations (#38558)
  • 6731db chore: manage timeouts for perform expect (#38579)
  • ad9946 fix(esm): fix source maps in esm loader (#38584)
  • fa583d fix(snapshot): finalize snapshot before returning (#38583)
  • 185bfb fix(trace): operate trace uri, not path (#38566)
  • 2cbab7 fix: color input value is case-insensitive (#38580)

@michijs
Copy link
Contributor Author

michijs bot commented Dec 22, 2025

Bump @​types/node from 24.10.1 to 25.0.3

Commit history:
  • 930628 🤖 Merge PR #74251 bump create-torrent to 6.1 by @​trim21
  • 7f473f 🤖 Merge PR #74195 chore: update woosmap.map by @​wgsadmin

    Co-authored-by: manz <manz@​users.noreply.redirect.github.com>

  • 17a2dd 🤖 Merge PR #74247 feat: update create-torrent types and tests for version 6.1.0 by @​trim21
  • 6dc221 🤖 Merge PR #74246 [tabulator-tables] align validator and EditorParams typings with actual Tabulator behavior by @​Trash0101
  • b45ba9 🤖 Merge PR #74155 [@​types/plotly.js] Add zorder property to PlotData interface by @​ryan-williams

    Co-authored-by: Claude <noreply@​anthropic.com>

  • 2d215e 🤖 Merge PR #74241 [cacache] fix types and update version by @​hexchain
  • 67d26c 🤖 Merge PR #74235 [bun] update to 1.3.5 by @​robobun

    Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@​users.noreply.redirect.github.com>

  • 6b05df 🤖 Merge PR #74242 [w3c-direct-sockets] Mark members of OpenInfo dictionaries as required. by @​paulinagacek
  • 81b336 🤖 Merge PR #74177 Add support for additional DataSource fields to chartmogul-node by @​wscourge
  • 1e649a 🤖 Merge PR #74106 [aws-kcl] Add shutdownRequested to RecordProcessor by @​EeeasyCode
  • 0a14a5 [office-js][office-js-preview] (Outlook) Document contentId property for the read surface (#74233)
  • ee079a [office-js][office-js-preview] (Outlook) Document additional drag-and-drop properties (#74236)
  • 961f85 🤖 Merge PR #74214 [office-js][office-js-preview] (Outlook) Clarify values returned by from and sender properties by @​samantharamon
  • 11df58 🤖 Merge PR #74134 [googlepay] add support for ISO 3166-2 administrative area codes by @​dmengelt
  • 70c788 🤖 Merge PR #74234 [dom-chromium-ai] disallow prefix in initialPrompts by @​christianliebel
  • 122cf1 🤖 Merge PR #74220 Update proofread method to accept options parameter by @​shayc

    Co-authored-by: Christian Liebel <christian@​liebel.org>

  • b6bbd3 🤖 Merge PR #74232 node: revert polarity of EventEmitter ↔ NodeJS.EventEmitter heritage in v25 by @​Renegade334
  • 16c576 🤖 Merge PR #74222 [leaflet.vectorgrid] add other allowed tile layer style definitions by @​symsmith
  • c3b1e8 🤖 Merge PR #74095 React-highlight-words: update highlightClassName type to support Record<string, string> by @​fzscodes
  • 596664 🤖 dprint fmt
  • 4b5302 🤖 Merge PR #74179 Add types for s2-geometry by @​bilde2910
  • d6724f 🤖 Merge PR #74223 [Gimloader] Document commands api by @​TheLazySquid
  • de0a09 [office-js] [office-js-preview] (PowerPoint) Release 1.10 (#74212)
  • 8549f4 🤖 Update CODEOWNERS
  • ef8091 🤖 Merge PR #74215 feat(sharetribe-flex-integration-sdk): add missing SDK methods and fix parameter types by @​jayenashar
  • 0d7ace 🤖 Merge PR #74178 [dom-chromium-ai] Change languages from 'de' to 'en', remove prefix from initialPrompts by @​tomayac
  • 7a5d6b 🤖 Merge PR #74175 [uri-template-lite] Fix type definitions to match CommonJS exports by @​AndreasLoukakis

    Co-authored-by: LOUKAKIS Andreas Kaisar <p70840@​nrb.be>

  • 2b3f81 🤖 Merge PR #74167 Add types for libtess by @​jpt
  • 7cc618 🤖 Merge PR #74184 node/process: add process.noDeprecation by @​y-hsgw
  • b3cc72 🤖 Merge PR #74209 [papaparse] feat: add BYTE_ORDER_MARK constant by @​yuu-no

@lsegurado lsegurado merged commit 50c3ac8 into master Dec 22, 2025
10 checks passed
@lsegurado lsegurado deleted the michijs-dependabot branch December 22, 2025 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants