chore(deps): update npm dependencies #11

Merged
Athemis merged 1 commit from renovate/npm-dependencies into v13-appv2 2025-11-22 12:18:21 +00:00
Collaborator

This PR contains the following updates:

Package Change Age Confidence Type Update
@foundryvtt/foundryvtt-cli (source) 3.0.2 -> 1.1.0 age confidence devDependencies minor
@guanghechen/rollup-plugin-copy (source) 6.0.4 -> 6.0.9 age confidence devDependencies patch
@types/jquery (source) 3.5.32 -> 3.5.33 age confidence devDependencies patch
@types/node (source) 18.19.76 -> 18.19.130 age confidence devDependencies patch
eslint-config-prettier 10.0.1 -> 10.1.8 age confidence devDependencies minor
fs-extra 11.3.0 -> 11.3.2 age confidence devDependencies patch
globals 16.0.0 -> 16.5.0 age confidence devDependencies minor
npm-run-allnpm-run-all2 4.1.5 -> 5.0.0 devDependencies replacement
pnpm (source) 10.4.1 -> 10.23.0 age confidence packageManager minor
prettier (source) 3.5.2 -> 3.6.2 age confidence devDependencies minor
rimraf 6.0.1 -> 6.1.2 age confidence devDependencies minor
rollup (source) 4.34.8 -> 4.53.3 age confidence devDependencies minor
sass 1.85.0 -> 1.94.2 age confidence devDependencies minor
semver 7.7.1 -> 7.7.3 age confidence devDependencies patch
typescript (source) 5.7.3 -> 5.9.3 age confidence devDependencies minor
vite (source) 7.2.4 -> 6.4.1 age confidence devDependencies minor

This is a special PR that replaces npm-run-all with the community suggested minimal stable replacement version.


Release Notes

foundryvtt/foundryvtt-cli (@​foundryvtt/foundryvtt-cli)

v1.1.0

Compare Source

Improvements
  • Attempting to unpack a directory that is not a valid LevelDB database now throws an error.
  • (BoltsJ) Added the --config command-line flag. Configuration options read from this file will be merged with the global .fvttrc.yml configuration options.
  • (Jeff Hitchcock) Added the --folders command-line flag, and corresponding folders parameter to extractPack. When used, this option writes the pack's entries to a directory structure matching the pack's internal Folder document structure.
  • (Jeff Hitchcock) Added the --expandAdventures command-line flag, and corresponding expandAdventures parameter to extractPack. When used, this option writes each Adventure document's embedded documents to their own files.
Fixes
  • (Jakob Törmä) Fixed launch command assuming electron directory structure.
  • Fixed packing and unpacking ignoring CombatantGroups.
guanghechen/node-scaffolds (@​guanghechen/rollup-plugin-copy)

v6.0.9

Compare Source

  • 🔧 chore: upgrade dependencies & update the node requirement from (8ddfde1)

v6.0.8

Compare Source

v6.0.7

Compare Source

v6.0.6

Compare Source

v6.0.5

Compare Source

prettier/eslint-config-prettier (eslint-config-prettier)

v10.1.8

Compare Source

republish latest version

Full Changelog: https://github.com/prettier/eslint-config-prettier/compare/v10.1.5...v10.1.8

v10.1.5

Compare Source

Patch Changes

v10.1.4

Compare Source

Patch Changes

v10.1.3

Compare Source

Patch Changes

v10.1.2

Compare Source

Patch Changes

v10.1.1

Compare Source

Patch Changes
  • #​309 eb56a5e Thanks @​JounQin! - fix: separate the /flat entry for compatibility

    For flat config users, the previous "eslint-config-prettier" entry still works, but "eslint-config-prettier/flat" adds a new name property for config-inspector, we just can't add it for the default entry for compatibility.

    See also #​308

    // before
    import eslintConfigPrettier from "eslint-config-prettier";
    
    // after
    import eslintConfigPrettier from "eslint-config-prettier/flat";
    

v10.1.0

Compare Source

Minor Changes

v10.0.3

Compare Source

Patch Changes

v10.0.2

Compare Source

Patch Changes
jprichardson/node-fs-extra (fs-extra)

v11.3.2

Compare Source

  • Fix spurrious UnhandledPromiseRejectionWarning that could occur when calling .copy() in some cases (#​1056, #​1058)

v11.3.1

Compare Source

  • Fix case where move/moveSync could incorrectly think files are identical on Windows (#​1050)
sindresorhus/globals (globals)

v16.5.0

Compare Source


v16.4.0

Compare Source


v16.3.0

Compare Source


v16.2.0

Compare Source


v16.1.0

Compare Source


pnpm/pnpm (pnpm)

v10.23.0: pnpm 10.23

Compare Source

Minor Changes

  • Added --lockfile-only option to pnpm list #​10020.

Patch Changes

  • pnpm self-update should download pnpm from the configured npm registry #​10205.
  • pnpm self-update should always install the non-executable pnpm package (pnpm in the registry) and never the @pnpm/exe package, when installing v11 or newer. We currently cannot ship @pnpm/exe as pkg doesn't work with ESM #​10190.
  • Node.js runtime is not added to "dependencies" on pnpm add, if there's a engines.runtime setting declared in package.json #​10209.
  • The installation should fail if an optional dependency cannot be installed due to a trust policy check failure #​10208.
  • pnpm list and pnpm why now display npm: protocol for aliased packages (e.g., foo npm:is-odd@3.0.1) #​8660.
  • Don't add an extra slash to the Node.js mirror URL #​10204.
  • pnpm store prune should not fail if the store contains Node.js packages #​10131.

Platinum Sponsors

Bit

Gold Sponsors

Discord CodeRabbit Workleap
Stackblitz Vite

v10.22.0: pnpm 10.22

Compare Source

Minor Changes

  • Added support for trustPolicyExclude #​10164.

    You can now list one or more specific packages or versions that pnpm should allow to install, even if those packages don't satisfy the trust policy requirement. For example:

    trustPolicy: no-downgrade
    trustPolicyExclude:
      - chokidar@4.0.3
      - webpack@4.47.0 || 5.102.1
    
  • Allow to override the engines field on publish by the publishConfig.engines field.

Patch Changes

  • Don't crash when two processes of pnpm are hardlinking the contents of a directory to the same destination simultaneously #​10179.

Platinum Sponsors

Bit

Gold Sponsors

Discord CodeRabbit Workleap
Stackblitz Vite

v10.21.0: pnpm 10.21

Compare Source

Minor Changes

  • Node.js Runtime Installation for Dependencies. Added support for automatic Node.js runtime installation for dependencies. pnpm will now install the Node.js version required by a dependency if that dependency declares a Node.js runtime in the "engines" field. For example:

    {
      "engines": {
        "runtime": {
          "name": "node",
          "version": "^24.11.0",
          "onFail": "download"
        }
      }
    }
    

    If the package with the Node.js runtime dependency is a CLI app, pnpm will bind the CLI app to the required Node.js version. This ensures that, regardless of the globally installed Node.js instance, the CLI will use the compatible version of Node.js.

    If the package has a postinstall script, that script will be executed using the specified Node.js version.

    Related PR: #​10141

  • Added a new setting: trustPolicy.

    When set to no-downgrade, pnpm will fail installation if a package’s trust level has decreased compared to previous releases — for example, if it was previously published by a trusted publisher but now only has provenance or no trust evidence.
    This helps prevent installing potentially compromised versions of a package.

    Related issue: #​8889.

  • Added support for pnpm config get globalconfig to retrieve the global config file path #​9977.

Patch Changes

  • When a user runs pnpm update on a dependency that is not directly listed in package.json, none of the direct dependencies should be updated #​10155.
  • Don't crash when two processes of pnpm are hardlinking the contents of a directory to the same destination simultaneously #​10160.
  • Setting gitBranchLockfile and related settings via pnpm-workspace.yaml should work #​9651.

Platinum Sponsors

Bit

Gold Sponsors

Discord CodeRabbit Workleap
Stackblitz Vite

v10.20.0

Compare Source

Minor Changes
  • Support --all option in pnpm --help to list all commands #​8628.
Patch Changes
  • When the latest version doesn't satisfy the maturity requirement configured by minimumReleaseAge, pick the highest version that is mature enough, even if it has a different major version #​10100.
  • create command should not verify patch info.
  • Set managePackageManagerVersions to false, when switching to a different version of pnpm CLI, in order to avoid subsequent switches #​10063.

v10.19.0

Compare Source

Minor Changes
  • You can now allow specific versions of dependencies to run postinstall scripts. onlyBuiltDependencies now accepts package names with lists of trusted versions. For example:

    onlyBuiltDependencies:
      - nx@21.6.4 || 21.6.5
      - esbuild@0.25.1
    

    Related PR: #​10104.

  • Added support for exact versions in minimumReleaseAgeExclude #​9985.

    You can now list one or more specific versions that pnpm should allow to install, even if those versions don’t satisfy the maturity requirement set by minimumReleaseAge. For example:

    minimumReleaseAge: 1440
    minimumReleaseAgeExclude:
      - nx@21.6.5
      - webpack@4.47.0 || 5.102.1
    

v10.18.3

Compare Source

Patch Changes
  • Fix a bug where pnpm would infinitely recurse when using verifyDepsBeforeInstall: install and pre/post install scripts that called other pnpm scripts #​10060.
  • Fixed scoped registry keys (e.g., @scope:registry) being parsed as property paths in pnpm config get when --location=project is used #​9362.
  • Remove pnpm-specific CLI options before passing to npm publish to prevent "Unknown cli config" warnings #​9646.
  • Fixed EISDIR error when bin field points to a directory #​9441.
  • Preserve version and hasBin for variations packages #​10022.
  • Fixed pnpm config set --location=project incorrectly handling keys with slashes (auth tokens, registry settings) #​9884.
  • When both pnpm-workspace.yaml and .npmrc exist, pnpm config set --location=project now writes to pnpm-workspace.yaml (matching read priority) #​10072.
  • Prevent a table width error in pnpm outdated --long #​10040.
  • Sync bin links after injected dependencies are updated by build scripts. This ensures that binaries created during build processes are properly linked and accessible to consuming projects #​10057.

v10.18.2

Compare Source

Patch Changes
  • pnpm outdated --long should work #​10040.
  • Replace ndjson with split2. Reduce the bundle size of pnpm CLI #​10054.
  • pnpm dlx should request the full metadata of packages, when minimumReleaseAge is set #​9963.
  • pnpm version switching should work when the pnpm home directory is in a symlinked directory #​9715.
  • Fix EPIPE errors when piping output to other commands #​10027.

v10.18.1

Compare Source

Patch Changes
  • Don't print a warning, when --lockfile-only is used #​8320.
  • pnpm setup creates a command shim to the pnpm executable. This is needed to be able to run pnpm self-update on Windows #​5700.
  • When using pnpm catalogs and running a normal pnpm install, pnpm produced false positive warnings for "skip adding to the default catalog because it already exists". This warning now only prints when using pnpm add --save-catalog as originally intended.

v10.18.0

Compare Source

Minor Changes
  • Added network performance monitoring to pnpm by implementing warnings for slow network requests, including both metadata fetches and tarball downloads.

    Added configuration options for warning thresholds: fetchWarnTimeoutMs and fetchMinSpeedKiBps.
    Warning messages are displayed when requests exceed time thresholds or fall below speed minimums

    Related PR: #​10025.

Patch Changes
  • Retry filesystem operations on EAGAIN errors #​9959.
  • Outdated command respects minimumReleaseAge configuration #​10030.
  • Correctly apply the cleanupUnusedCatalogs configuration when removing dependent packages.
  • Don't fail with a meaningless error when scriptShell is set to false #​8748.
  • pnpm dlx should not fail when minimumReleaseAge is set #​10037.

v10.17.1

Compare Source

Patch Changes
  • When a version specifier cannot be resolved because the versions don't satisfy the minimumReleaseAge setting, print this information out in the error message #​9974.
  • Fix state.json creation path when executing pnpm patch in a workspace project #​9733.
  • When minimumReleaseAge is set and the latest tag is not mature enough, prefer a non-deprecated version as the new latest #​9987.

v10.17.0

Compare Source

Minor Changes
  • The minimumReleaseAgeExclude setting now supports patterns. For instance:

    minimumReleaseAge: 1440
    minimumReleaseAgeExclude:
      - "@​eslint/*"
    

    Related PR: #​9984.

Patch Changes
  • Don't ignore the minimumReleaseAge check, when the package is requested by exact version and the packument is loaded from cache #​9978.
  • When minimumReleaseAge is set and the active version under a dist-tag is not mature enough, do not downgrade to a prerelease version in case the original version wasn't a prerelease one #​9979.

v10.16.1

Compare Source

Patch Changes
  • The full metadata cache should be stored not at the same location as the abbreviated metadata. This fixes a bug where pnpm was loading the abbreviated metadata from cache and couldn't find the "time" field as a result #​9963.
  • Forcibly disable ANSI color codes when generating patch diff #​9914.

v10.16.0

Compare Source

Minor Changes
  • There have been several incidents recently where popular packages were successfully attacked. To reduce the risk of installing a compromised version, we are introducing a new setting that delays the installation of newly released dependencies. In most cases, such attacks are discovered quickly and the malicious versions are removed from the registry within an hour.

    The new setting is called minimumReleaseAge. It specifies the number of minutes that must pass after a version is published before pnpm will install it. For example, setting minimumReleaseAge: 1440 ensures that only packages released at least one day ago can be installed.

    If you set minimumReleaseAge but need to disable this restriction for certain dependencies, you can list them under the minimumReleaseAgeExclude setting. For instance, with the following configuration pnpm will always install the latest version of webpack, regardless of its release time:

    minimumReleaseAgeExclude:
      - webpack
    

    Related issue: #​9921.

  • Added support for finders #​9946.

    In the past, pnpm list and pnpm why could only search for dependencies by name (and optionally version). For example:

    pnpm why minimist
    

    prints the chain of dependencies to any installed instance of minimist:

    verdaccio 5.20.1
    ├─┬ handlebars 4.7.7
    │ └── minimist 1.2.8
    └─┬ mv 2.1.1
      └─┬ mkdirp 0.5.6
        └── minimist 1.2.8
    

    What if we want to search by other properties of a dependency, not just its name? For instance, find all packages that have react@17 in their peer dependencies?

    This is now possible with "finder functions". Finder functions can be declared in .pnpmfile.cjs and invoked with the --find-by=<function name> flag when running pnpm list or pnpm why.

    Let's say we want to find any dependencies that have React 17 in peer dependencies. We can add this finder to our .pnpmfile.cjs:

    module.exports = {
      finders: {
        react17: (ctx) => {
          return ctx.readManifest().peerDependencies?.react === "^17.0.0";
        },
      },
    };
    

    Now we can use this finder function by running:

    pnpm why --find-by=react17
    

    pnpm will find all dependencies that have this React in peer dependencies and print their exact locations in the dependency graph.

    @&#8203;apollo/client 4.0.4
    ├── @&#8203;graphql-typed-document-node/core 3.2.0
    └── graphql-tag 2.12.6
    

    It is also possible to print out some additional information in the output by returning a string from the finder. For example, with the following finder:

    module.exports = {
      finders: {
        react17: (ctx) => {
          const manifest = ctx.readManifest();
          if (manifest.peerDependencies?.react === "^17.0.0") {
            return `license: ${manifest.license}`;
          }
          return false;
        },
      },
    };
    

    Every matched package will also print out the license from its package.json:

    @&#8203;apollo/client 4.0.4
    ├── @&#8203;graphql-typed-document-node/core 3.2.0
    │   license: MIT
    └── graphql-tag 2.12.6
        license: MIT
    
Patch Changes
  • Fix deprecation warning printed when executing pnpm with Node.js 24 #​9529.
  • Throw an error if nodeVersion is not set to an exact semver version #​9934.
  • pnpm publish should be able to publish a .tar.gz file #​9927.
  • Canceling a running process with Ctrl-C should make pnpm run return a non-zero exit code #​9626.

v10.15.1

Compare Source

Patch Changes
  • Fix .pnp.cjs crash when importing subpath #​9904.
  • When resolving peer dependencies, pnpm looks whether the peer dependency is present in the root workspace project's dependencies. This change makes it so that the peer dependency is correctly resolved even from aliased npm-hosted dependencies or other types of dependencies #​9913.

v10.15.0

Compare Source

Minor Changes
  • Added the cleanupUnusedCatalogs configuration. When set to true, pnpm will remove unused catalog entries during installation #​9793.
  • Automatically load pnpmfiles from config dependencies that are named @*/pnpm-plugin-* #​9780.
  • pnpm config get now prints an INI string for an object value #​9797.
  • pnpm config get now accepts property paths (e.g. pnpm config get catalog.react, pnpm config get .catalog.react, pnpm config get 'packageExtensions["@&#8203;babel/parser"].peerDependencies["@&#8203;babel/types"]'), and pnpm config set now accepts dot-leading or subscripted keys (e.g. pnpm config set .ignoreScripts true).
  • pnpm config get --json now prints a JSON serialization of config value, and pnpm config set --json now parses the input value as JSON.
Patch Changes
  • Semi-breaking. When automatically installing missing peer dependencies, prefer versions that are already present in the direct dependencies of the root workspace package #​9835.
  • When executing the pnpm create command, must verify whether the node version is supported even if a cache already exists #​9775.
  • When making requests for the non-abbreviated packument, add */* to the Accept header to avoid getting a 406 error on AWS CodeArtifact #​9862.
  • The standalone exe version of pnpm works with glibc 2.26 again #​9734.
  • Fix a regression in which pnpm dlx pkg --help doesn't pass --help to pkg #​9823.

v10.14.0

Compare Source

Minor Changes
  • Added support for JavaScript runtime resolution

    Declare Node.js, Deno, or Bun in devEngines.runtime (inside package.json) and let pnpm download and pin it automatically.

    Usage example:

    {
      "devEngines": {
        "runtime": {
          "name": "node",
          "version": "^24.4.0",
          "onFail": "download" (we only support the "download" value for now)
        }
      }
    }
    

    How it works:

    1. pnpm install resolves your specified range to the latest matching runtime version.
    2. The exact version (and checksum) is saved in the lockfile.
    3. Scripts use the local runtime, ensuring consistency across environments.

    Why this is better:

    1. This new setting supports also Deno and Bun (vs. our Node-only settings useNodeVersion and executionEnv.nodeVersion)
    2. Supports version ranges (not just a fixed version).
    3. The resolved version is stored in the pnpm lockfile, along with an integrity checksum for future validation of the Node.js content's validity.
    4. It can be used on any workspace project (like executionEnv.nodeVersion). So, different projects in a workspace can use different runtimes.
    5. For now devEngines.runtime setting will install the runtime locally, which we will improve in future versions of pnpm by using a shared location on the computer.

    Related PR: #​9755.

  • Add --cpu, --libc, and --os to pnpm install, pnpm add, and pnpm dlx to customize supportedArchitectures via the CLI #​7510.

Patch Changes
  • Fix a bug in which pnpm add downloads packages whose libc differ from pnpm.supportedArchitectures.libc.
  • The integrities of the downloaded Node.js artifacts are verified #​9750.
  • Allow dlx to parse CLI flags and options between the dlx command and the command to run or between the dlx command and -- #​9719.
  • pnpm install --prod should removing hoisted dev dependencies #​9782.
  • Fix an edge case bug causing local tarballs to not re-link into the virtual store. This bug would happen when changing the contents of the tarball without renaming the file and running a filtered install.
  • Fix a bug causing pnpm install to incorrectly assume the lockfile is up to date after changing a local tarball that has peers dependencies.

v10.13.1

Compare Source

Patch Changes
  • Run user defined pnpmfiles after pnpmfiles of plugins.

v10.13.0

Compare Source

Minor Changes
  • Added the possibility to load multiple pnpmfiles. The pnpmfile setting can now accept a list of pnpmfile locations #​9702.

  • pnpm will now automatically load the pnpmfile.cjs file from any config dependency named @pnpm/plugin-* or pnpm-plugin-* #​9729.

    The order in which config dependencies are initialized should not matter — they are initialized in alphabetical order. If a specific order is needed, the paths to the pnpmfile.cjs files in the config dependencies can be explicitly listed using the pnpmfile setting in pnpm-workspace.yaml.

Patch Changes
  • When patching dependencies installed via pkg.pr.new, treat them as Git tarball URLs #​9694.
  • Prevent conflicts between local projects' config and the global config in dangerouslyAllowAllBuilds, onlyBuiltDependencies, onlyBuiltDependenciesFile, and neverBuiltDependencies #​9628.
  • Sort keys in pnpm-workspace.yaml with deep #​9701.
  • The pnpm rebuild command should not add pkgs included in ignoredBuiltDependencies to ignoredBuilds in node_modules/.modules.yaml #​9338.
  • Replaced shell-quote with shlex for quoting command arguments #​9381.

v10.12.4

Compare Source

Patch Changes

v10.12.3

Compare Source

Patch Changes
  • Restore hoisting of optional peer dependencies when installing with an outdated lockfile.
    Regression introduced in v10.12.2 by #​9648; resolves #​9685.

v10.12.2

Compare Source

Patch Changes
  • Fixed hoisting with enableGlobalVirtualStore set to true #​9648.
  • Fix the --help and -h flags not working as expected for the pnpm create command.
  • The dependency package path output by the pnpm licenses list --json command is incorrect.
  • Fix a bug in which pnpm deploy fails due to overridden dependencies having peer dependencies causing ERR_PNPM_OUTDATED_LOCKFILE #​9595.

v10.12.1

Minor Changes
  • Experimental. Added support for global virtual stores. When enabled, node_modules contains only symlinks to a central virtual store, rather to node_modules/.pnpm. By default, this central store is located at <store-path>/links (you can find the store path by running pnpm store path).

    In the central virtual store, each package is hard linked into a directory whose name is the hash of its dependency graph. This allows multiple projects on the system to symlink shared dependencies from this central location, significantly improving installation speed when a warm cache is available.

    This is conceptually similar to how NixOS manages packages, using dependency graph hashes to create isolated and reusable package directories.

    To enable the global virtual store, set enableGlobalVirtualStore: true in your root pnpm-workspace.yaml, or globally via:

    pnpm config -g set enable-global-virtual-store true
    

    NOTE: In CI environments, where caches are typically cold, this setting may slow down installation. pnpm automatically disables the global virtual store when running in CI.

    Related PR: #​8190

  • The pnpm update command now supports updating catalog: protocol dependencies and writes new specifiers to pnpm-workspace.yaml.
  • Added two new CLI options (--save-catalog and --save-catalog-name=<name>) to pnpm add to save new dependencies as catalog entries. catalog: or catalog:<name> will be added to package.json and the package specifier will be added to the catalogs or catalog[<name>] object in pnpm-workspace.yaml #​9425.
  • Semi-breaking. The keys used for side-effects caches have changed. If you have a side-effects cache generated by a previous version of pnpm, the new version will not use it and will create a new cache instead #​9605.
  • Added a new setting called ci for explicitly telling pnpm if the current environment is a CI or not.
Patch Changes
  • Sort versions printed by pnpm patch using semantic versioning rules.
  • Improve the way the error message displays mismatched specifiers. Show differences instead of 2 whole objects #​9598.
  • Revert #​9574 to fix a regression #​9596.

v10.11.1

Compare Source

Patch Changes
  • Fix an issue in which pnpm deploy --legacy creates unexpected directories when the root package.json has a workspace package as a peer dependency #​9550.
  • Dependencies specified via a URL that redirects will only be locked to the target if it is immutable, fixing a regression when installing from GitHub releases. (#​9531)
  • Installation should not exit with an error if strictPeerDependencies is true but all issues are ignored by peerDependencyRules #​9505.
  • Use pnpm_config_ env variables instead of npm_config_ #​9571.
  • Fix a regression (in v10.9.0) causing the --lockfile-only flag on pnpm update to produce a different pnpm-lock.yaml than an update without the flag.
  • Let pnpm deploy work in repos with overrides when inject-workspace-packages=true #​9283.
  • Fixed the problem of path loss caused by parsing URL address. Fixes a regression shipped in pnpm v10.11 via #​9502.
  • pnpm -r --silent run should not print out section #​9563.

v10.11.0

Compare Source

Minor Changes
  • A new setting added for pnpm init to create a package.json with type=module, when init-type is module. Works as a flag for the init command too #​9463.

  • Added support for Nushell to pnpm setup #​6476.

  • Added two new flags to the pnpm audit command, --ignore and --ignore-unfixable #​8474.

    Ignore all vulnerabilities that have no solution:

    > pnpm audit --ignore-unfixable
    

    Provide a list of CVE's to ignore those specifically, even if they have a resolution.

    > pnpm audit --ignore=CVE-2021-1234 --ignore=CVE-2021-5678
    
  • Added support for recursively running pack in every project of a workspace #​4351.

    Now you can run pnpm -r pack to pack all packages in the workspace.

Patch Changes
  • pnpm version management should work, when dangerouslyAllowAllBuilds is set to true #​9472.
  • pnpm link should work from inside a workspace #​9506.
  • Set the default workspaceConcurrency to Math.min(os.availableParallelism(), 4) #​9493.
  • Installation should not exit with an error if strictPeerDependencies is true but all issues are ignored by peerDependencyRules #​9505.
  • Read updateConfig from pnpm-workspace.yaml #​9500.
  • Add support for recursive pack
  • Remove url.parse usage to fix warning on Node.js 24 #​9492.
  • pnpm run should be able to run commands from the workspace root, if ignoreScripts is set tot true #​4858.

v10.10.0

Compare Source

Minor Changes
  • Allow loading the preResolution, importPackage, and fetchers hooks from local pnpmfile.
Patch Changes
  • Fix cd command, when shellEmulator is true #​7838.
  • Sort keys in pnpm-workspace.yaml #​9453.
  • Pass the npm_package_json environment variable to the executed scripts #​9452.
  • Fixed a mistake in the description of the --reporter=silent option.

v10.9.0

Compare Source

Minor Changes
  • Added support for installing JSR packages. You can now install JSR packages using the following syntax:

    pnpm add jsr:<pkg_name>
    

    or with a version range:

    pnpm add jsr:<pkg_name>@&#8203;<range>
    

    For example, running:

    pnpm add jsr:@&#8203;foo/bar
    

    will add the following entry to your package.json:

    {
      "dependencies": {
        "@&#8203;foo/bar": "jsr:^0.1.2"
      }
    }
    

    When publishing, this entry will be transformed into a format compatible with npm, older versions of Yarn, and previous pnpm versions:

    {
      "dependencies": {
        "@&#8203;foo/bar": "npm:@&#8203;jsr/foo__bar@^0.1.2"
      }
    }
    

    Related issue: #​8941.

    Note: The @jsr scope defaults to https://npm.jsr.io/ if the @jsr:registry setting is not defined.

  • Added a new setting, dangerouslyAllowAllBuilds, for automatically running any scripts of dependencies without the need to approve any builds. It was already possible to allow all builds by adding this to pnpm-workspace.yaml:

    neverBuiltDependencies: []
    

    dangerouslyAllowAllBuilds has the same effect but also allows to be set globally via:

    pnpm config set dangerouslyAllowAllBuilds true
    

    It can also be set when running a command:

    pnpm install --dangerously-allow-all-builds
    
Patch Changes
  • Fix a false negative in verifyDepsBeforeRun when nodeLinker is hoisted and there is a workspace package without dependencies and node_modules directory #​9424.
  • Explicitly drop verifyDepsBeforeRun support for nodeLinker: pnp. Combining verifyDepsBeforeRun and nodeLinker: pnp will now print a warning.

v10.8.1

Compare Source

Patch Changes
  • Removed bright white highlighting, which didn't look good on some light themes #​9389.
  • If there is no pnpm related configuration in package.json, onlyBuiltDependencies will be written to pnpm-workspace.yaml file #​9404.

v10.8.0

Compare Source

Minor Changes
  • Experimental. A new hook is supported for updating configuration settings. The hook can be provided via .pnpmfile.cjs. For example:

    module.exports = {
      hooks: {
        updateConfig: (config) => ({
          ...config,
          nodeLinker: "hoisted",
        }),
      },
    };
    
  • Now you can use the pnpm add command with the --config flag to install new configurational dependencies #​9377.

Patch Changes
  • Do not hang indefinitely, when there is a glob that starts with !/ in pnpm-workspace.yaml. This fixes a regression introduced by #​9169.
  • pnpm audit --fix should update the overrides in pnpm-workspace.yaml.
  • pnpm link should update overrides in pnpm-workspace.yaml, not in package.json #​9365.

v10.7.1

Compare Source

Patch Changes
  • pnpm config set should convert the settings to their correct type before adding them to pnpm-workspace.yaml #​9355.
  • pnpm config get should read auth related settings via npm CLI #​9345.
  • Replace leading ~/ in a path in .npmrc with the home directory #​9217.

v10.7.0

Compare Source

Minor Changes
  • pnpm config get and list also show settings set in pnpm-workspace.yaml files #​9316.

  • It should be possible to use env variables in pnpm-workspace.yaml setting names and value.

  • Add an ability to patch dependencies by version ranges. Exact versions override version ranges, which in turn override name-only patches. Version range * is the same as name-only, except that patch application failure will not be ignored.

    For example:

    patchedDependencies:
      foo: patches/foo-1.patch
      foo@^2.0.0: patches/foo-2.patch
      foo@2.1.0: patches/foo-3.patch
    

    The above configuration would apply patches/foo-3.patch to foo@2.1.0, patches/foo-2.patch to all foo versions which satisfy ^2.0.0 except 2.1.0, and patches/foo-1.patch to the remaining foo versions.

    [!WARNING]
    The version ranges should not overlap. If you want to specialize a sub range, make sure to exclude it from the other keys. For example:

    # pnpm-workspace.yaml
    patchedDependencies:
      # the specialized sub range
      'foo@2.2.0-2.8.0': patches/foo.2.2.0-2.8.0.patch
      # the more general patch, excluding the sub range above
      'foo@>=2.0.0 <2.2.0 || >2.8.0': 'patches/foo.gte2.patch
    

    In most cases, however, it's sufficient to just define an exact version to override the range.

  • pnpm config set --location=project saves the setting to a pnpm-workspace.yaml file if no .npmrc file is present in the directory #​9316.

  • Rename pnpm.allowNonAppliedPatches to pnpm.allowUnusedPatches. The old name is still supported but it would print a deprecation warning message.

  • Add pnpm.ignorePatchFailures to manage whether pnpm would ignore patch application failures.

    If ignorePatchFailures is not set, pnpm would throw an error when patches with exact versions or version ranges fail to apply, and it would ignore failures from name-only patches.

    If ignorePatchFailures is explicitly set to false, pnpm would throw an error when any type of patch fails to apply.

    If ignorePatchFailures is explicitly set to true, pnpm would print a warning when any type of patch fails to apply.

Patch Changes
  • Remove dependency paths from audit output to prevent out-of-memory errors #​9280.

v10.6.5

Compare Source

Patch Changes
  • Remove warnings after having explicitly approved no builds #​9296.
  • When installing different dependency packages, should retain the ignoredBuilds field in the .modules.yaml file #​9240.
  • Fix usages of the catalog: protocol in injected local workspace packages. This previously errored with ERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER. #​8715
  • Setting workspace-concurrency to less than or equal to 0 should work #​9297.

v10.6.4

Compare Source

Patch Changes
  • Fix pnpm dlx with --allow-build flag #​9263.
  • Invalid Node.js version in use-node-version should not cause pnpm itself to break #​9276.
  • The max amount of workers running for linking packages from the store has been reduced to 4 to achieve optimal results #​9286. The workers are performing many file system operations, so increasing the number of CPUs doesn't help performance after some point.

v10.6.3

Compare Source

Patch Changes
  • pnpm install --prod=false should not crash, when executed in a project with a pnpm-workspace.yaml file #​9233. This fixes regression introduced via #​9211.

  • Add the missing node-options config to recursive run #​9180.

  • Removed a branching code path that only executed when dedupe-peer-dependents=false. We believe this internal refactor will not result in behavior changes, but we expect it to make future pnpm versions behave more consistently for projects that override dedupe-peer-dependents to false. There should be less unique bugs from turning off dedupe-peer-dependents.

    See details in #​9259.

v10.6.2

Compare Source

Patch Changes
  • pnpm self-update should always update the version in the packageManager field of package.json.
  • Fix running pnpm CLI from pnpm CLI on Windows when the CLI is bundled to an executable #​8971.
  • pnpm patch-commit will now use the same filesystem as the store directory to compare and create patch files.
  • Don't show info output when --loglevel=error is used.
  • peerDependencyRules should be set in pnpm-workspace.yaml to take effect.

v10.6.1

Compare Source

Patch Changes
  • The pnpm CLI process should not stay hanging, when --silent reporting is used.
  • When --loglevel is set to error, don't show installation summary, execution time, and big tarball download progress.
  • Don't ignore pnpm.patchedDependencies from package.json #​9226.
  • When executing the approve-builds command, if package.json contains onlyBuiltDependencies or ignoredBuiltDependencies, the selected dependency package will continue to be written into package.json.
  • When a package version cannot be found in the package metadata, print the registry from which the package was fetched.

v10.6.0

Compare Source

Minor Changes
  • pnpm-workspace.yaml can now hold all the settings that .npmrc accepts. The settings should use camelCase #​9211.

    pnpm-workspace.yaml example:

    verifyDepsBeforeRun: install
    optimisticRepeatInstall: true
    publicHoistPattern:
      - "*types*"
      - "!@&#8203;types/react"
    
  • Projects using a file: dependency on a local tarball file (i.e. .tgz, .tar.gz, .tar) will see a performance improvement during installation. Previously, using a file: dependency on a tarball caused the lockfile resolution step to always run. The lockfile will now be considered up-to-date if the tarball is unchanged.

Patch Changes
  • pnpm self-update should not leave a directory with a broken pnpm installation if the installation fails.
  • fast-glob replace with tinyglobby to reduce the size of the pnpm CLI dependencies #​9169.
  • pnpm deploy should not remove fields from the deployed package's package.json file #​9215.
  • pnpm self-update should not read the pnpm settings from the package.json file in the current working directory.
  • Fix pnpm deploy creating a package.json without the imports and license field #​9193.
  • pnpm update -i should list only packages that have newer versions #​9206.
  • Fix a bug causing entries in the catalogs section of the pnpm-lock.yaml file to be removed when dedupe-peer-dependents=false on a filtered install. #​9112

v10.5.2

Compare Source

Patch Changes
  • The pnpm config set command should change the global .npmrc file by default.
    This was a regression introduced by #​9151 and shipped in pnpm v10.5.0.

v10.5.1

Compare Source

Patch Changes
  • Throw an error message if a pnpm-workspaces.yaml or pnpm-workspaces.yml file is found instead of a pnpm-workspace.yaml #​9170.
  • Fix the update of pnpm-workspace.yaml by the pnpm approve-builds command #​9168.
  • Normalize generated link paths in package.json #​9163
  • Specifying overrides in pnpm-workspace.yaml should work.
  • pnpm dlx should ignore settings from the package.json file in the current working directory #​9178.

v10.5.0

Compare Source

Minor Changes
  • Allow to set the "pnpm" settings from package.json via the pnpm-workspace.yaml file #​9121.

  • Added support for automatically syncing files of injected workspace packages after pnpm run #​9081. Use the sync-injected-deps-after-scripts setting to specify which scripts build the workspace package. This tells pnpm when syncing is needed. The setting should be defined in a .npmrc file at the root of the workspace. Example:

    sync-injected-deps-after-scripts[]=compile
    
  • The packages field in pnpm-workspace.yaml became optional.

Patch Changes
  • pnpm link with no parameters should work as if --global is specified #​9151.
  • Allow scope registry CLI option without --config. prefix such as --@&#8203;scope:registry=https://scope.example.com/npm #​9089.
  • pnpm link <path> should calculate relative path from the root of the workspace directory #​9132.
  • Fix a bug causing catalog snapshots to be removed from the pnpm-lock.yaml file when using --fix-lockfile and --filter. #​8639
  • Fix a bug causing catalog protocol dependencies to not re-resolve on a filtered install #​8638.
prettier/prettier (prettier)

v3.6.2

Compare Source

diff

Markdown: Add missing blank line around code block (#​17675 by @​fisker)
<!-- Input -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List

<!-- Prettier 3.6.1 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```
   1. Another
   2. List

<!-- Prettier 3.6.2 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List

v3.6.1

Compare Source

diff

TypeScript: Allow const without initializer (#​17650, #​17654 by @​fisker)
// Input
export const version: string;

// Prettier 3.6.0 (--parser=babel-ts)
SyntaxError: Unexpected token (1:21)
> 1 | export const version: string;
    |                     ^

// Prettier 3.6.0 (--parser=oxc-ts)
SyntaxError: Missing initializer in const declaration (1:14)
> 1 | export const version: string;
    |              ^^^^^^^^^^^^^^^

// Prettier 3.6.1
export const version: string;
Miscellaneous: Avoid closing files multiple times (#​17665 by @​43081j)

When reading a file to infer the interpreter from a shebang, we use the
n-readlines library to read the first line in order to get the shebang.

This library closes files when it reaches EOF, and we later try close the same
files again. We now close files only if n-readlines did not already close
them.

v3.6.0

Compare Source

diff

🔗 Release Notes

v3.5.3

Compare Source

diff

Flow: Fix missing parentheses in ConditionalTypeAnnotation (#​17196 by @​fisker)
// Input
type T<U> = 'a' | ('b' extends U ? 'c' : empty);
type T<U> = 'a' & ('b' extends U ? 'c' : empty);

// Prettier 3.5.2
type T<U> = "a" | "b" extends U ? "c" : empty;
type T<U> = "a" & "b" extends U ? "c" : empty;

// Prettier 3.5.3
type T<U> = "a" | ("b" extends U ? "c" : empty);
type T<U> = "a" & ("b" extends U ? "c" : empty);
isaacs/rimraf (rimraf)

v6.1.2

Compare Source

v6.1.1

Compare Source

v6.1.0

Compare Source

rollup/rollup (rollup)

v4.53.3

Compare Source

2025-11-19

Bug Fixes
  • Fix an error where too many modules where flagged for having an unused external import (#​6182)
  • Fix an error where an assignment was wrongly tree-shaken when mutating it (#​6183)
Pull Requests

v4.53.2

Compare Source

2025-11-10

Bug Fixes
  • Do not throw when using invalid escape sequences in template literals (#​6177)
Pull Requests

v4.53.1

Compare Source

2025-11-07

Bug Fixes
Pull Requests

v4.53.0

Compare Source

2025-11-07

Features
  • Improve rendering performance by caching generated variable names (#​5947)
Pull Requests

v4.52.5

Compare Source

2025-10-18

Bug Fixes
  • Always produce valid UUIDs as debugIds in sourcemaps (#​6144)
Pull Requests

v4.52.4

Compare Source

2025-10-03

Bug Fixes
  • Fix an issue where the wrong branch of nullish coalescing was picked (#​6133)
Pull Requests

v4.52.3

Compare Source

2025-09-27

Bug Fixes
  • Fix check in native loader for environments that do not support reports (#​6123)
Pull Requests

v4.52.2

Compare Source

2025-09-23

Bug Fixes
  • Fix Android build crashing due to failed dlopen (#​6109)
Pull Requests

v4.52.1

Compare Source

2025-09-23

Bug Fixes
  • Opt-out of dynamic import optimization when using top-level await to effectively prevent deadlocks (#​6121)
Pull Requests

v4.52.0

Compare Source

2025-09-19

Features
  • Add option output.onlyExplicitManualChunks to turn off merging additional dependencies into manual chunks (#​6087)
  • Add support for x86_64-pc-windows-gnu platform (#​6110)
Pull Requests

v4.51.0

Compare Source

2025-09-19

Features
  • Support ROLLUP_FILE_URL_OBJ placeholder to inject file URLs into the generated code (#​6108)
Bug Fixes
  • Improve OpenHarmony build to work in more situations (#​6115)
Pull Requests

v4.50.2

Compare Source

2025-09-15

Bug Fixes
  • Resolve an issue where unused destructured array pattern declarations would conflict with included variables (#​6100)
Pull Requests

v4.50.1

Compare Source

2025-09-07

Bug Fixes
  • Resolve a situation where a destructuring default value was removed (#​6090)
Pull Requests

v4.50.0

Compare Source

2025-08-31

Features
  • Support openharmony-arm64 platform (#​6081)
Bug Fixes
  • Fix loading of extensionless imports in config files (#​6084)
Pull Requests

v4.49.0

Compare Source

2025-08-27

Features
  • Allow config plugins to resolve imports first before deciding whether to treat them as external (#​6038)
Pull Requests

v4.48.1

Compare Source

2025-08-25

Bug Fixes
  • Correctly ignore white-space in JSX strings around line-breaks (#​6051)
Pull Requests

v4.48.0

Compare Source

2025-08-23

Features
  • If configured, also keep unparseable import attributes of external dynamic imports in the output(#​6071)
Bug Fixes
  • Ensure variables referenced in non-removed import attributes are included (#​6071)
Pull Requests

v4.47.1

Compare Source

2025-08-21

Bug Fixes
  • Revert build process changes to investigate issues (#​6077)
Pull Requests

v4.47.0

Compare Source

2025-08-21

Features
  • Aggressively reduce WASM build size (#​6053)
Bug Fixes
  • Fix illegal instruction error on Android ARM platforms (#​6072)
  • Allow to pass explicit undefined for optional fields in Rollup types (#​6061)
Pull Requests

v4.46.4

Compare Source

2025-08-20

Bug Fixes
  • Do not omit synthetic namespaces when only accessed via in operator (#​6052)
Pull Requests

v4.46.3

Compare Source

2025-08-18

Bug Fixes
  • Resolve illegal instruction error on arm64 architectures (#​6055)
  • Resolve sourcemap generation performance regression (#​6057)
Pull Requests

v4.46.2

Compare Source

2025-07-29

Bug Fixes
  • Fix in-operator handling for external namespace and when the left side cannot be analyzed (#​6041)
Pull Requests

v4.46.1

Compare Source

2025-07-28

Bug Fixes
  • Do not fail when using the in operator on external namespaces (#​6036)
Pull Requests

v4.46.0

Compare Source

2025-07-27

Features
  • Optimize in checks on namespaces to keep them treeshake-able (#​6029)
Pull Requests

v4.45.3

Compare Source

2025-07-26

Bug Fixes
  • Do not fail build if a const is reassigned but warn instead (#​6020)
  • Fail with a helpful error message if an exported binding is not defined (#​6023)
Pull Requests

v4.45.1

Compare Source

2025-07-15

Bug Fixes
  • Resolve crash when using certain conditional expressions (#​6009)
Pull Requests

v4.45.0

Compare Source

2025-07-12

Features
  • Improve tree-shaking when both branches of a conditional expression return the same boolean value (#​6000)
  • In environments that support both CJS and ESM, prefer the ESM build of Rollup (#​6005)
Bug Fixes
  • Ensure static blocks do not prevent tree-shaking if they access this (#​6001)
Pull Requests

v4.44.2

Compare Source

2025-07-04

Bug Fixes
  • Correctly handle @__PURE__ annotations after new keyword (#​5998)
  • Generate correct source mapping for closing braces of block statements (#​5999)
Pull Requests

v4.44.1

Compare Source

2025-06-26

Bug Fixes
  • Reinstate maxParallelFileOps limit of 1000 to resolve the issue for some (#​5992)
Pull Requests

v4.44.0

Compare Source

2025-06-19

Features
  • Remove limit on maxParallelFileOps as this could break watch mode with the commonjs plugin (#​5986)
Bug Fixes
  • Provide better source mappings when coarse intermediate maps are used (#​5985)
Pull Requests

v4.43.0

Compare Source

2025-06-11

Features
  • Provide new fs option and this.fs API to replace file system (#​5944)
Pull Requests

v4.42.0

Compare Source

2025-06-06

Features
  • Add option to allow the input to be located in the output in watch mode (#​5966)
Pull Requests

v4.41.2

Compare Source

2025-06-06

Bug Fixes
  • Detect named export usages in dynamic imports with then and non-arrow function expressions (#​5977)
  • Do not replace usages of constant variables with their values for readability (#​5968)
Pull Requests

v4.41.1

Compare Source

2025-05-24

Bug Fixes
  • If a plugin calls this.resolve with skipSelf: true, subsequent calls when handling this by the same plugin with same parameters will return null to avoid infinite recursions (#​5945)
Pull Requests

v4.41.0

Compare Source

2025-05-18

Features
  • Detect named exports in more dynamic import scenarios (#​5954)
Pull Requests

v4.40.2

Compare Source

2025-05-06

Bug Fixes
  • Create correct IIFE/AMD/UMD bundles when using a mutable default export (#​5934)
  • Fix execution order when using top-level await for dynamic imports with inlineDynamicImports (#​5937)
  • Throw when the output is watched in watch mode (#​5939)
Pull Requests

v4.40.1

Compare Source

2025-04-28

Bug Fixes
  • Limit hash size for asset file names to the supported 21 (#​5921)
  • Do not inline user-defined entry chunks or chunks with explicit file name (#​5923)
  • Avoid top-level-await cycles when non-entry chunks use top-level await (#​5930)
  • Expose package.json via exports (#​5931)
Pull Requests

v4.40.0

Compare Source

2025-04-12

Features
  • Only show eval warnings on first render and only when the call is not tree-shaken (#​5892)
  • Tree-shake non-included dynamic import members when the handler just maps to one named export (#​5898)
Bug Fixes
  • Consider dynamic imports nested within top-level-awaited dynamic import expressions to be awaited as well (#​5900)
  • Fix namespace rendering when tree-shaking is disabled (#​5908)
  • When using multiple transform hook filters, all of them need to be satisfied together (#​5909)
Pull Requests

v4.39.0

Compare Source

2025-04-02

Features
  • Do not create separate facade chunks if a chunk would contain several entry modules that allow export extension if there are no export name conflicts (#​5891)
Bug Fixes
  • Mark the id property as optional in the filter for the resolveId hook (#​5896)
Pull Requests

v4.38.0

Compare Source

2025-03-29

Features
  • Support .filter option in resolveId, load and transform hooks (#​5882)
Pull Requests

v4.37.0

Compare Source

2025-03-23

Features
  • Support Musl Linux on Riscv64 architectures (#​5726)
  • Handles class decorators placed before the export keyword (#​5871)
Bug Fixes
  • Log Rust panic messages to the console when using the WASM build (#​5875)
Pull Requests

v4.36.0

Compare Source

2025-03-17

Features
  • Extend renderDynamicImport hook to provide information about static dependencies of the imported module (#​5870)
  • Export several additional types used by Vite (#​5879)
Bug Fixes
  • Do not merge chunks if that would create a top-level await cycle between chunks (#​5843)
Pull Requests

v4.35.0

Compare Source

2025-03-08

Features
  • Pass build errors to the closeBundle hook (#​5867)
Pull Requests

v4.34.9

Compare Source

2025-03-01

Bug Fixes
  • Support JSX modes in WASM (#​5866)
  • Allow the CustomPluginOptions to be extended (#​5850)
Pull Requests
sass/dart-sass (sass)

v1.94.2

Compare Source

Command-Line Interface
  • Using --fatal-deprecation <version> no longer emits warnings about
    deprecations that are obsolete.
Dart API
  • Deprecation.forVersion now excludes obsolete deprecations from the set it
    returns.
JS API
  • Excludes obsolete deprecations from fatalDeprecations when a Version is
    passed.
Node.js Embedded Host
  • Fix a bug where a variable could be used before it was initialized during
    async compilation.

v1.94.1

Compare Source

  • No user-visible changes.

v1.94.0

Compare Source

  • Potentially breaking compatibility fix: @function rules whose names
    begin with -- are now parsed as unknown at-rules to support the plain CSS
    @function rule. Within this rule, the result property is parsed as raw
    CSS just like custom properties.

  • Potentially breaking compatibility fix: @mixin rules whose names begin
    with -- are now errors. These are not yet parsed as unknown at-rules because
    no browser currently supports CSS mixins.

v1.93.3

Compare Source

  • Fix a performance regression that was introduced in 1.92.0.

v1.93.2

Compare Source

  • No user-visible changes.
JavaScript API
  • Fix another error in the release process for @sass/types.

v1.93.1

Compare Source

  • No user-visible changes.
JavaScript API
  • Fix an error in the release process for @sass/types.

v1.93.0

Compare Source

  • Fix a crash when a style rule contains a nested @import, and the loaded file
    @uses a user-defined module as well as @includes a top-level mixin which
    emits top-level declarations.
JavaScript API
  • Release a @sass/types package which contains the type annotations used by
    both the sass and sass-embedded package without any additional code or
    dependencies.

v1.92.1

Compare Source

  • Fix a bug where variable definitions from one imported, forwarded module
    would not be passed as implicit configuration to a later imported, forwarded
    module.

v1.92.0

Compare Source

  • Breaking change: Emit declarations, childless at-rules, and comments in
    the order they appear in the source even when they're interleaved with nested
    rules. This obsoletes the mixed-decls deprecation.

  • Breaking change: The function name type() is now fully reserved for the
    plain CSS function. This means that @function definitions with the name
    type will produce errors, while function calls will be parsed as special
    function strings.

  • Configuring private variables using @use ... with, @forward ... with, and
    meta.load-css(..., $with: ...) is now deprecated. Private variables were
    always intended to be fully encapsulated within the module that defines them,
    and this helps enforce that encapsulation.

  • Fix a bug where @extend rules loaded through a mixture of @import and
    @use rules could fail to apply correctly.

Command-Line Interface
  • In --watch mode, delete the source map when the associated source file is
    deleted.

v1.91.0

Compare Source

  • Potentially breaking change: meta.inspect() (as well as other systems
    that use it such as @debug and certain error messages) now emits numbers
    with as high precision as is available instead of rounding to the nearest
    1e⁻¹⁰ as we do when serializing to CSS. This better fits the purpose of
    meta.inspect(), which is to provide full information about the structure of
    a Sass value.

  • Passing a rest argument ($arg...) before a positional or named argument when
    calling a function or mixin is now deprecated. This was always outside the
    specified syntax, but it was historically treated the same as passing the rest
    argument at the end of the argument list whether or not that matched the
    visual order of the arguments.

v1.90.0

Compare Source

  • Allow a @forwarded module to be loaded with a configuration when that module
    has already been loaded with a different configuration and the module
    doesn't define any variables that would have been configured anyway.

v1.89.2

Compare Source

Embedded Host
  • Fixed a compilation error caused by an outdated buf dependency.

v1.89.1

Compare Source

  • No user-visible changes.

v1.89.0

Compare Source

  • Allow the Node package importer to load files even when there are multiple
    potential resolutions, as long as those resolutions all point to the same
    file.

v1.88.0

Compare Source

  • Allow custom properties with empty values (such as --var:;).

  • Fix a bug when calculating source spans for interpolations.

Dart and JS APIs
  • Potentially breaking bug fix: Throw an error when passing a function or
    mixin object from one compilation to another.
Dart API
  • Deprecate passing a relative URL to compileString() and related functions.

v1.87.0

Compare Source

  • Potentially breaking bug fix: When a plain CSS file with a top-level
    nesting selector & is loaded into a nested Sass context via
    meta.load-css() or @import, Sass now emits plain CSS nesting rather than
    incorrectly combining it with the parent selector using a descendant
    combinator.

v1.86.3

Compare Source

  • Fix a bug introduced in 1.86.1 where Sass fails to resolve paths starting with
    a .. segment.

v1.86.2

Compare Source

  • No user-visible changes.

v1.86.1

Compare Source

  • Improve the performance of file: URL case canonicalization on Windows and
    Mac OS.

v1.86.0

Compare Source

  • Add support for % as an expression in its own right. It will still be parsed
    as the modulo operator when between two other expressions, but in any other
    context it will be an expression whose value is the unquoted string %.

  • Consider attr() to be a special number function that can be used as a
    channel in color functions.

  • Deprecate user-defined functions named type() so that we can eventually
    support the new CSS type() function.

Dart API
  • Increase the minimum Dart SDK to 3.6.0.

v1.85.1

Compare Source

  • Fix a bug where global Sass functions whose names overlap with CSS math
    functions could incorrectly be treated as CSS math functions even though they
    used Sass-only features, causing compilation failures. For example,
    round(-$var / 2) previously threw an error but now works as intended.
npm/node-semver (semver)

v7.7.3

Compare Source

Bug Fixes
Chores

v7.7.2

Compare Source

Bug Fixes
Chores
microsoft/TypeScript (typescript)

v5.9.3: TypeScript 5.9.3

Compare Source

Note: this tag was recreated to point at the correct commit. The npm package contained the correct content.

For release notes, check out the release announcement

Downloads are available on:

v5.9.2: TypeScript 5.9

Compare Source

Note: this tag was recreated to point at the correct commit. The npm package contained the correct content.

For release notes, check out the release announcement

Downloads are available on:

v5.8.3: TypeScript 5.8.3

Compare Source

Note: this tag was recreated to point at the correct commit. The npm package contained the correct content.

For release notes, check out the release announcement.

Downloads are available on:

v5.8.2: TypeScript 5.8

Compare Source

For release notes, check out the release announcement.

Downloads are available on:

vitejs/vite (vite)

v6.4.1

Compare Source

Please refer to CHANGELOG.md for details.

v6.4.0

Compare Source

Please refer to CHANGELOG.md for details.

v6.3.7

Compare Source

Please refer to CHANGELOG.md for details.

v6.3.6

Compare Source

Please refer to CHANGELOG.md for details.

v6.3.5

Compare Source

Vite 7 is out!

Today, we're excited to announce the release of the next Vite major:

⚠ BREAKING CHANGES
  • ssr: don't access Object variable in ssr transformed code (#​19996)
  • remove experimental.skipSsrTransform option (#​20038)
  • remove HotBroadcaster (#​19988)
  • css: always use sass compiler API (#​19978)
  • bump build.target and name it baseline-widely-available (#​20007)
  • bump required node version to 20.19+, 22.12+ and remove cjs build (#​20032)
  • css: remove sass legacy API support (#​19977)
  • remove deprecated HotBroadcaster related types (#​19987)
  • remove deprecated no-op type only properties (#​19985)
  • remove node 18 support (#​19972)
  • remove deprecated hook-level enforce/transform from transformIndexHtml hook (#​19349)
  • remove deprecated splitVendorChunkPlugin (#​19255)
Features
Bug Fixes
Performance Improvements
Documentation
Miscellaneous Chores
Code Refactoring
Tests
Continuous Integration
Beta Changelogs
7.0.0-beta.2 (2025-06-17)

See 7.0.0-beta.2 changelog

7.0.0-beta.1 (2025-06-10)

See 7.0.0-beta.1 changelog

7.0.0-beta.0 (2025-06-02)

See 7.0.0-beta.0 changelog

v6.3.4

Compare Source

Bug Fixes
  • check static serve file inside sirv (#​19965) (c22c43d)
  • optimizer: return plain object when using require to import externals in optimized dependencies (#​19940) (efc5eab)
Code Refactoring

v6.3.3

Compare Source

Bug Fixes
  • assets: ensure ?no-inline is not included in the asset url in the production environment (#​19496) (16a73c0)
  • css: resolve relative imports in sass properly on Windows (#​19920) (ffab442)
  • deps: update all non-major dependencies (#​19899) (a4b500e)
  • ignore malformed uris in tranform middleware (#​19853) (e4d5201)
  • ssr: fix execution order of re-export (#​19841) (ed29dee)
  • ssr: fix live binding of default export declaration and hoist exports getter (#​19842) (80a91ff)
Performance Improvements
  • skip sourcemap generation for renderChunk hook of import-analysis-build plugin (#​19921) (55cfd04)
Tests
  • ssr: test ssrTransform re-export deps and test stacktrace with first line (#​19629) (9399cda)

v6.3.2

Compare Source

Features
Bug Fixes

v6.3.1

Compare Source

Bug Fixes

v6.3.0

Compare Source

Bug Fixes

v6.2.7

Compare Source

Please refer to CHANGELOG.md for details.

v6.2.6

Compare Source

Please refer to CHANGELOG.md for details.

v6.2.5

Compare Source

Please refer to CHANGELOG.md for details.

v6.2.4

Compare Source

Please refer to CHANGELOG.md for details.

v6.2.3

Compare Source

Please refer to CHANGELOG.md for details.

v6.2.2

Compare Source

Features
Bug Fixes
Miscellaneous Chores
  • extend commit hash correctly when ambigious with a non-commit object (#​19600) (89a6287)

v6.2.1

Compare Source

Features
  • add *?url&no-inline type and warning for .json?inline / .json?no-inline (#​19566) (c0d3667)
Bug Fixes
  • css: stabilize css module hashes with lightningcss in dev mode (#​19481) (92125b4)
  • deps: update all non-major dependencies (#​19555) (f612e0f)
  • reporter: fix incorrect bundle size calculation with non-ASCII characters (#​19561) (437c0ed)
  • sourcemap: combine sourcemaps with multiple sources without matched source (#​18971) (e3f6ae1)
  • ssr: named export should overwrite export all (#​19534) (2fd2fc1)
Performance Improvements
Miscellaneous Chores
Code Refactoring
Tests

v6.2.0

Compare Source

Bug Fixes
Miscellaneous Chores

v6.1.6

Compare Source

Please refer to CHANGELOG.md for details.

v6.1.5

Compare Source

Please refer to CHANGELOG.md for details.

v6.1.4

Compare Source

Please refer to CHANGELOG.md for details.

v6.1.3

Compare Source

Please refer to CHANGELOG.md for details.

v6.1.2

Compare Source

Please refer to CHANGELOG.md for details.


Configuration

📅 Schedule: Branch creation - "before 6am on monday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Change | Age | Confidence | Type | Update | |---|---|---|---|---|---| | [@foundryvtt/foundryvtt-cli](https://foundryvtt.com) ([source](https://github.com/foundryvtt/foundryvtt-cli)) | [`3.0.2` -> `1.1.0`](https://renovatebot.com/diffs/npm/@foundryvtt%2ffoundryvtt-cli/1.0.4/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@foundryvtt%2ffoundryvtt-cli/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@foundryvtt%2ffoundryvtt-cli/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@guanghechen/rollup-plugin-copy](https://github.com/guanghechen/node-scaffolds/tree/@guanghechen/rollup-plugin-copy@6.0.8/packages/rollup-plugin-copy#readme) ([source](https://github.com/guanghechen/node-scaffolds/tree/HEAD/packages/rollup-plugin-copy)) | [`6.0.4` -> `6.0.9`](https://renovatebot.com/diffs/npm/@guanghechen%2frollup-plugin-copy/6.0.4/6.0.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@guanghechen%2frollup-plugin-copy/6.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@guanghechen%2frollup-plugin-copy/6.0.4/6.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/jquery](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jquery) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jquery)) | [`3.5.32` -> `3.5.33`](https://renovatebot.com/diffs/npm/@types%2fjquery/3.5.32/3.5.33) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fjquery/3.5.33?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fjquery/3.5.32/3.5.33?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`18.19.76` -> `18.19.130`](https://renovatebot.com/diffs/npm/@types%2fnode/18.19.76/18.19.130) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/18.19.130?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/18.19.76/18.19.130?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) | [`10.0.1` -> `10.1.8`](https://renovatebot.com/diffs/npm/eslint-config-prettier/10.0.1/10.1.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-config-prettier/10.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-config-prettier/10.0.1/10.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [fs-extra](https://github.com/jprichardson/node-fs-extra) | [`11.3.0` -> `11.3.2`](https://renovatebot.com/diffs/npm/fs-extra/11.3.0/11.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/fs-extra/11.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fs-extra/11.3.0/11.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [globals](https://github.com/sindresorhus/globals) | [`16.0.0` -> `16.5.0`](https://renovatebot.com/diffs/npm/globals/16.0.0/16.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/globals/16.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/globals/16.0.0/16.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [npm-run-all](https://github.com/mysticatea/npm-run-all) → [npm-run-all2](https://github.com/mysticatea/npm-run-all) | [`4.1.5` -> `5.0.0`](https://renovatebot.com/diffs/npm/npm-run-all/4.1.5/) | | | devDependencies | replacement | | [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.4.1` -> `10.23.0`](https://renovatebot.com/diffs/npm/pnpm/10.4.1/10.23.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.4.1/10.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | packageManager | minor | | [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | [`3.5.2` -> `3.6.2`](https://renovatebot.com/diffs/npm/prettier/3.5.2/3.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.5.2/3.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [rimraf](https://github.com/isaacs/rimraf) | [`6.0.1` -> `6.1.2`](https://renovatebot.com/diffs/npm/rimraf/6.0.1/6.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/rimraf/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rimraf/6.0.1/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [rollup](https://rollupjs.org/) ([source](https://github.com/rollup/rollup)) | [`4.34.8` -> `4.53.3`](https://renovatebot.com/diffs/npm/rollup/4.34.8/4.53.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/rollup/4.53.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rollup/4.34.8/4.53.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [sass](https://github.com/sass/dart-sass) | [`1.85.0` -> `1.94.2`](https://renovatebot.com/diffs/npm/sass/1.85.0/1.94.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/sass/1.94.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sass/1.85.0/1.94.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [semver](https://github.com/npm/node-semver) | [`7.7.1` -> `7.7.3`](https://renovatebot.com/diffs/npm/semver/7.7.1/7.7.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/semver/7.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/semver/7.7.1/7.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [typescript](https://www.typescriptlang.org/) ([source](https://github.com/microsoft/TypeScript)) | [`5.7.3` -> `5.9.3`](https://renovatebot.com/diffs/npm/typescript/5.7.3/5.9.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.7.3/5.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`7.2.4` -> `6.4.1`](https://renovatebot.com/diffs/npm/vite/6.1.1/6.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.1.1/6.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | This is a special PR that replaces `npm-run-all` with the community suggested minimal stable replacement version. --- ### Release Notes <details> <summary>foundryvtt/foundryvtt-cli (@&#8203;foundryvtt/foundryvtt-cli)</summary> ### [`v1.1.0`](https://github.com/foundryvtt/foundryvtt-cli/blob/HEAD/CHANGELOG.md#110) [Compare Source](https://github.com/foundryvtt/foundryvtt-cli/compare/1.0.4...1.1.0) ##### Improvements - Attempting to unpack a directory that is not a valid LevelDB database now throws an error. - (BoltsJ) Added the `--config` command-line flag. Configuration options read from this file will be merged with the global `.fvttrc.yml` configuration options. - (Jeff Hitchcock) Added the `--folders` command-line flag, and corresponding `folders` parameter to `extractPack`. When used, this option writes the pack's entries to a directory structure matching the pack's internal Folder document structure. - (Jeff Hitchcock) Added the `--expandAdventures` command-line flag, and corresponding `expandAdventures` parameter to `extractPack`. When used, this option writes each Adventure document's embedded documents to their own files. ##### Fixes - (Jakob Törmä) Fixed launch command assuming electron directory structure. - Fixed packing and unpacking ignoring CombatantGroups. </details> <details> <summary>guanghechen/node-scaffolds (@&#8203;guanghechen/rollup-plugin-copy)</summary> ### [`v6.0.9`](https://github.com/guanghechen/node-scaffolds/blob/HEAD/packages/rollup-plugin-copy/CHANGELOG.md#small609-2025-08-29-small) [Compare Source](https://github.com/guanghechen/node-scaffolds/compare/@guanghechen/rollup-plugin-copy@6.0.8...@guanghechen/rollup-plugin-copy@6.0.9) - :wrench: chore: upgrade dependencies & update the node requirement from ([8ddfde1](https://github.com/guanghechen/node-scaffolds/commit/8ddfde1)) ### [`v6.0.8`](https://github.com/guanghechen/node-scaffolds/blob/HEAD/packages/rollup-plugin-copy/CHANGELOG.md#small608-2025-07-04-small) [Compare Source](https://github.com/guanghechen/node-scaffolds/compare/@guanghechen/rollup-plugin-copy@6.0.7...@guanghechen/rollup-plugin-copy@6.0.8) - :bookmark: release ([fbef5fd](https://github.com/guanghechen/node-scaffolds/commit/fbef5fd)) - chore: upgrade dependencies ([e4004a6](https://github.com/guanghechen/node-scaffolds/commit/e4004a6)) ### [`v6.0.7`](https://github.com/guanghechen/node-scaffolds/blob/HEAD/packages/rollup-plugin-copy/CHANGELOG.md#small607-2025-02-26-small) [Compare Source](https://github.com/guanghechen/node-scaffolds/compare/@guanghechen/rollup-plugin-copy@6.0.6...@guanghechen/rollup-plugin-copy@6.0.7) - chore: fix types path ([b16141d](https://github.com/guanghechen/node-scaffolds/commit/b16141d)) - chore: upgrade dependencies ([e4004a6](https://github.com/guanghechen/node-scaffolds/commit/e4004a6)) - :bookmark: release ([0fbb461](https://github.com/guanghechen/node-scaffolds/commit/0fbb461)) - :bookmark: release ([9d47297](https://github.com/guanghechen/node-scaffolds/commit/9d47297)) ### [`v6.0.6`](https://github.com/guanghechen/node-scaffolds/blob/HEAD/packages/rollup-plugin-copy/CHANGELOG.md#small606-2025-02-26-small) [Compare Source](https://github.com/guanghechen/node-scaffolds/compare/@guanghechen/rollup-plugin-copy@6.0.5...@guanghechen/rollup-plugin-copy@6.0.6) - chore: fix types path ([b16141d](https://github.com/guanghechen/node-scaffolds/commit/b16141d)) ### [`v6.0.5`](https://github.com/guanghechen/node-scaffolds/blob/HEAD/packages/rollup-plugin-copy/CHANGELOG.md#small605-2025-02-26-small) [Compare Source](https://github.com/guanghechen/node-scaffolds/compare/@guanghechen/rollup-plugin-copy@6.0.4...@guanghechen/rollup-plugin-copy@6.0.5) - :bookmark: release ([6fe5681](https://github.com/guanghechen/node-scaffolds/commit/6fe5681)) </details> <details> <summary>prettier/eslint-config-prettier (eslint-config-prettier)</summary> ### [`v10.1.8`](https://github.com/prettier/eslint-config-prettier/releases/tag/v10.1.8) [Compare Source](https://github.com/prettier/eslint-config-prettier/compare/v10.1.5...v10.1.8) republish latest version **Full Changelog**: <https://github.com/prettier/eslint-config-prettier/compare/v10.1.5...v10.1.8> ### [`v10.1.5`](https://github.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#1015) [Compare Source](https://github.com/prettier/eslint-config-prettier/compare/v10.1.4...v10.1.5) ##### Patch Changes - [#&#8203;332](https://github.com/prettier/eslint-config-prettier/pull/332) [`60fef02`](https://github.com/prettier/eslint-config-prettier/commit/60fef02574467d31d10ff47ecb567d378483c9d4) Thanks [@&#8203;JounQin](https://github.com/JounQin)! - chore: add `funding` field into `package.json` ### [`v10.1.4`](https://github.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#1014) [Compare Source](https://github.com/prettier/eslint-config-prettier/compare/v10.1.3...v10.1.4) ##### Patch Changes - [#&#8203;328](https://github.com/prettier/eslint-config-prettier/pull/328) [`94b4799`](https://github.com/prettier/eslint-config-prettier/commit/94b47999e7eb13b703835729331376cef598b850) Thanks [@&#8203;silvenon](https://github.com/silvenon)! - fix(cli): do not crash on no rules configured ### [`v10.1.3`](https://github.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#1013) [Compare Source](https://github.com/prettier/eslint-config-prettier/compare/v10.1.2...v10.1.3) ##### Patch Changes - [#&#8203;325](https://github.com/prettier/eslint-config-prettier/pull/325) [`4e95a1d`](https://github.com/prettier/eslint-config-prettier/commit/4e95a1d50073f1a24f004239ad6e1a4ffa8476df) Thanks [@&#8203;pilikan](https://github.com/pilikan)! - fix: this package is `commonjs`, align its types correctly ### [`v10.1.2`](https://github.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#1012) [Compare Source](https://github.com/prettier/eslint-config-prettier/compare/v10.1.1...v10.1.2) ##### Patch Changes - [#&#8203;321](https://github.com/prettier/eslint-config-prettier/pull/321) [`a8768bf`](https://github.com/prettier/eslint-config-prettier/commit/a8768bfe54a91d08f0cef8705f91de2883436bb0) Thanks [@&#8203;Fdawgs](https://github.com/Fdawgs)! - chore(package): add homepage for some 3rd-party registry - see [#&#8203;321](https://github.com/prettier/eslint-config-prettier/pull/321) for more details ### [`v10.1.1`](https://github.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#1011) [Compare Source](https://github.com/prettier/eslint-config-prettier/compare/v10.1.0...v10.1.1) ##### Patch Changes - [#&#8203;309](https://github.com/prettier/eslint-config-prettier/pull/309) [`eb56a5e`](https://github.com/prettier/eslint-config-prettier/commit/eb56a5e09964e49045bccde3c616275eb0a0902d) Thanks [@&#8203;JounQin](https://github.com/JounQin)! - fix: separate the `/flat` entry for compatibility For flat config users, the previous `"eslint-config-prettier"` entry still works, but `"eslint-config-prettier/flat"` adds a new `name` property for [config-inspector](https://eslint.org/blog/2024/04/eslint-config-inspector/), we just can't add it for the default entry for compatibility. See also [#&#8203;308](https://github.com/prettier/eslint-config-prettier/issues/308) ```ts // before import eslintConfigPrettier from "eslint-config-prettier"; // after import eslintConfigPrettier from "eslint-config-prettier/flat"; ``` ### [`v10.1.0`](https://github.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#1010) [Compare Source](https://github.com/prettier/eslint-config-prettier/compare/v10.0.3...v10.1.0) ##### Minor Changes - [#&#8203;306](https://github.com/prettier/eslint-config-prettier/pull/306) [`56e2e34`](https://github.com/prettier/eslint-config-prettier/commit/56e2e3466391d0fdfc200e42130309c687aaab53) Thanks [@&#8203;JounQin](https://github.com/JounQin)! - feat: migrate to exports field ### [`v10.0.3`](https://github.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#1003) [Compare Source](https://github.com/prettier/eslint-config-prettier/compare/v10.0.2...v10.0.3) ##### Patch Changes - [#&#8203;294](https://github.com/prettier/eslint-config-prettier/pull/294) [`8dbbd6d`](https://github.com/prettier/eslint-config-prettier/commit/8dbbd6d70b8a56cdfa4ea4e185d3699d5729b38e) Thanks [@&#8203;FloEdelmann](https://github.com/FloEdelmann)! - feat: add name to config - [#&#8203;280](https://github.com/prettier/eslint-config-prettier/pull/280) [`cba5737`](https://github.com/prettier/eslint-config-prettier/commit/cba57377e4c86d20d17042d6999eabc754fddc03) Thanks [@&#8203;zanminkian](https://github.com/zanminkian)! - feat: add declaration file ### [`v10.0.2`](https://github.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#1002) [Compare Source](https://github.com/prettier/eslint-config-prettier/compare/v10.0.1...v10.0.2) ##### Patch Changes - [#&#8203;299](https://github.com/prettier/eslint-config-prettier/pull/299) [`e750edc`](https://github.com/prettier/eslint-config-prettier/commit/e750edc530c816e0b3ffabfab1f4e46532bccbfe) Thanks [@&#8203;Fdawgs](https://github.com/Fdawgs)! - chore(package): explicitly declare js module type </details> <details> <summary>jprichardson/node-fs-extra (fs-extra)</summary> ### [`v11.3.2`](https://github.com/jprichardson/node-fs-extra/blob/HEAD/CHANGELOG.md#1132--2025-09-15) [Compare Source](https://github.com/jprichardson/node-fs-extra/compare/11.3.1...11.3.2) - Fix spurrious `UnhandledPromiseRejectionWarning` that could occur when calling `.copy()` in some cases ([#&#8203;1056](https://github.com/jprichardson/node-fs-extra/issues/1056), [#&#8203;1058](https://github.com/jprichardson/node-fs-extra/pull/1058)) ### [`v11.3.1`](https://github.com/jprichardson/node-fs-extra/blob/HEAD/CHANGELOG.md#1131--2025-08-05) [Compare Source](https://github.com/jprichardson/node-fs-extra/compare/11.3.0...11.3.1) - Fix case where `move`/`moveSync` could incorrectly think files are identical on Windows ([#&#8203;1050](https://github.com/jprichardson/node-fs-extra/pull/1050)) </details> <details> <summary>sindresorhus/globals (globals)</summary> ### [`v16.5.0`](https://github.com/sindresorhus/globals/releases/tag/v16.5.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v16.4.0...v16.5.0) - Update globals (2025-11-01) ([#&#8203;316](https://github.com/sindresorhus/globals/issues/316)) [`6d441ca`](https://github.com/sindresorhus/globals/commit/6d441ca) - Add Vue, Svelte, and Astro globals ([#&#8203;314](https://github.com/sindresorhus/globals/issues/314)) [`ea31521`](https://github.com/sindresorhus/globals/commit/ea31521) *** ### [`v16.4.0`](https://github.com/sindresorhus/globals/releases/tag/v16.4.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v16.3.0...v16.4.0) - Update globals ([#&#8203;309](https://github.com/sindresorhus/globals/issues/309)) [`8b8a2d6`](https://github.com/sindresorhus/globals/commit/8b8a2d6) *** ### [`v16.3.0`](https://github.com/sindresorhus/globals/releases/tag/v16.3.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v16.2.0...v16.3.0) - Update globals ([#&#8203;304](https://github.com/sindresorhus/globals/issues/304)) [`8c029d9`](https://github.com/sindresorhus/globals/commit/8c029d9) *** ### [`v16.2.0`](https://github.com/sindresorhus/globals/releases/tag/v16.2.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v16.1.0...v16.2.0) - Add new `greasemonkey` globals ([#&#8203;299](https://github.com/sindresorhus/globals/issues/299)) [`e4f6e8c`](https://github.com/sindresorhus/globals/commit/e4f6e8c) *** ### [`v16.1.0`](https://github.com/sindresorhus/globals/releases/tag/v16.1.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v16.0.0...v16.1.0) - Update globals ([#&#8203;293](https://github.com/sindresorhus/globals/issues/293)) [`5c58875`](https://github.com/sindresorhus/globals/commit/5c58875) *** </details> <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v10.23.0`](https://github.com/pnpm/pnpm/releases/tag/v10.23.0): pnpm 10.23 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.22.0...v10.23.0) #### Minor Changes - Added `--lockfile-only` option to `pnpm list` [#&#8203;10020](https://github.com/pnpm/pnpm/issues/10020). #### Patch Changes - `pnpm self-update` should download pnpm from the configured npm registry [#&#8203;10205](https://github.com/pnpm/pnpm/pull/10205). - `pnpm self-update` should always install the non-executable pnpm package (pnpm in the registry) and never the `@pnpm/exe` package, when installing v11 or newer. We currently cannot ship `@pnpm/exe` as `pkg` doesn't work with ESM [#&#8203;10190](https://github.com/pnpm/pnpm/pull/10190). - Node.js runtime is not added to "dependencies" on `pnpm add`, if there's a `engines.runtime` setting declared in `package.json` [#&#8203;10209](https://github.com/pnpm/pnpm/issues/10209). - The installation should fail if an optional dependency cannot be installed due to a trust policy check failure [#&#8203;10208](https://github.com/pnpm/pnpm/issues/10208). - `pnpm list` and `pnpm why` now display npm: protocol for aliased packages (e.g., `foo npm:is-odd@3.0.1`) [#&#8203;8660](https://github.com/pnpm/pnpm/issues/8660). - Don't add an extra slash to the Node.js mirror URL [#&#8203;10204](https://github.com/pnpm/pnpm/pull/10204). - `pnpm store prune` should not fail if the store contains Node.js packages [#&#8203;10131](https://github.com/pnpm/pnpm/issues/10131). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> </tbody> </table> ### [`v10.22.0`](https://github.com/pnpm/pnpm/releases/tag/v10.22.0): pnpm 10.22 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.21.0...v10.22.0) #### Minor Changes - Added support for `trustPolicyExclude` [#&#8203;10164](https://github.com/pnpm/pnpm/issues/10164). You can now list one or more specific packages or versions that pnpm should allow to install, even if those packages don't satisfy the trust policy requirement. For example: ```yaml trustPolicy: no-downgrade trustPolicyExclude: - chokidar@4.0.3 - webpack@4.47.0 || 5.102.1 ``` - Allow to override the `engines` field on publish by the `publishConfig.engines` field. #### Patch Changes - Don't crash when two processes of pnpm are hardlinking the contents of a directory to the same destination simultaneously [#&#8203;10179](https://github.com/pnpm/pnpm/issues/10179). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> </tbody> </table> ### [`v10.21.0`](https://github.com/pnpm/pnpm/releases/tag/v10.21.0): pnpm 10.21 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.20.0...v10.21.0) #### Minor Changes - **Node.js Runtime Installation for Dependencies.** Added support for automatic Node.js runtime installation for dependencies. pnpm will now install the Node.js version required by a dependency if that dependency declares a Node.js runtime in the "engines" field. For example: ```json { "engines": { "runtime": { "name": "node", "version": "^24.11.0", "onFail": "download" } } } ``` If the package with the Node.js runtime dependency is a CLI app, pnpm will bind the CLI app to the required Node.js version. This ensures that, regardless of the globally installed Node.js instance, the CLI will use the compatible version of Node.js. If the package has a `postinstall` script, that script will be executed using the specified Node.js version. Related PR: [#&#8203;10141](https://github.com/pnpm/pnpm/pull/10141) - Added a new setting: `trustPolicy`. When set to `no-downgrade`, pnpm will fail installation if a package’s trust level has decreased compared to previous releases — for example, if it was previously published by a trusted publisher but now only has provenance or no trust evidence. This helps prevent installing potentially compromised versions of a package. Related issue: [#&#8203;8889](https://github.com/pnpm/pnpm/issues/8889). - Added support for `pnpm config get globalconfig` to retrieve the global config file path [#&#8203;9977](https://github.com/pnpm/pnpm/issues/9977). #### Patch Changes - When a user runs `pnpm update` on a dependency that is not directly listed in `package.json`, none of the direct dependencies should be updated [#&#8203;10155](https://github.com/pnpm/pnpm/pull/10155). - Don't crash when two processes of pnpm are hardlinking the contents of a directory to the same destination simultaneously [#&#8203;10160](https://github.com/pnpm/pnpm/pull/10160). - Setting `gitBranchLockfile` and related settings via `pnpm-workspace.yaml` should work [#&#8203;9651](https://github.com/pnpm/pnpm/issues/9651). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> </tbody> </table> ### [`v10.20.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10200) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.19.0...v10.20.0) ##### Minor Changes - Support `--all` option in `pnpm --help` to list all commands [#&#8203;8628](https://github.com/pnpm/pnpm/pull/8628). ##### Patch Changes - When the `latest` version doesn't satisfy the maturity requirement configured by `minimumReleaseAge`, pick the highest version that is mature enough, even if it has a different major version [#&#8203;10100](https://github.com/pnpm/pnpm/issues/10100). - `create` command should not verify patch info. - Set `managePackageManagerVersions` to `false`, when switching to a different version of pnpm CLI, in order to avoid subsequent switches [#&#8203;10063](https://github.com/pnpm/pnpm/issues/10063). ### [`v10.19.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10190) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.18.3...v10.19.0) ##### Minor Changes - You can now allow specific versions of dependencies to run postinstall scripts. `onlyBuiltDependencies` now accepts package names with lists of trusted versions. For example: ```yaml onlyBuiltDependencies: - nx@21.6.4 || 21.6.5 - esbuild@0.25.1 ``` Related PR: [#&#8203;10104](https://github.com/pnpm/pnpm/pull/10104). - Added support for exact versions in `minimumReleaseAgeExclude` [#&#8203;9985](https://github.com/pnpm/pnpm/issues/9985). You can now list one or more specific versions that pnpm should allow to install, even if those versions don’t satisfy the maturity requirement set by `minimumReleaseAge`. For example: ```yaml minimumReleaseAge: 1440 minimumReleaseAgeExclude: - nx@21.6.5 - webpack@4.47.0 || 5.102.1 ``` ### [`v10.18.3`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10183) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.18.2...v10.18.3) ##### Patch Changes - Fix a bug where pnpm would infinitely recurse when using `verifyDepsBeforeInstall: install` and pre/post install scripts that called other pnpm scripts [#&#8203;10060](https://github.com/pnpm/pnpm/issues/10060). - Fixed scoped registry keys (e.g., `@scope:registry`) being parsed as property paths in `pnpm config get` when `--location=project` is used [#&#8203;9362](https://github.com/pnpm/pnpm/issues/9362). - Remove pnpm-specific CLI options before passing to npm publish to prevent "Unknown cli config" warnings [#&#8203;9646](https://github.com/pnpm/pnpm/issues/9646). - Fixed EISDIR error when bin field points to a directory [#&#8203;9441](https://github.com/pnpm/pnpm/issues/9441). - Preserve version and hasBin for variations packages [#&#8203;10022](https://github.com/pnpm/pnpm/issues/10022). - Fixed `pnpm config set --location=project` incorrectly handling keys with slashes (auth tokens, registry settings) [#&#8203;9884](https://github.com/pnpm/pnpm/issues/9884). - When both `pnpm-workspace.yaml` and `.npmrc` exist, `pnpm config set --location=project` now writes to `pnpm-workspace.yaml` (matching read priority) [#&#8203;10072](https://github.com/pnpm/pnpm/issues/10072). - Prevent a table width error in `pnpm outdated --long` [#&#8203;10040](https://github.com/pnpm/pnpm/issues/10040). - Sync bin links after injected dependencies are updated by build scripts. This ensures that binaries created during build processes are properly linked and accessible to consuming projects [#&#8203;10057](https://github.com/pnpm/pnpm/issues/10057). ### [`v10.18.2`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10182) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.18.1...v10.18.2) ##### Patch Changes - `pnpm outdated --long` should work [#&#8203;10040](https://github.com/pnpm/pnpm/issues/10040). - Replace ndjson with split2. Reduce the bundle size of pnpm CLI [#&#8203;10054](https://github.com/pnpm/pnpm/pull/10054). - `pnpm dlx` should request the full metadata of packages, when `minimumReleaseAge` is set [#&#8203;9963](https://github.com/pnpm/pnpm/issues/9963). - pnpm version switching should work when the pnpm home directory is in a symlinked directory [#&#8203;9715](https://github.com/pnpm/pnpm/issues/9715). - Fix `EPIPE` errors when piping output to other commands [#&#8203;10027](https://github.com/pnpm/pnpm/issues/10027). ### [`v10.18.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10181) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.18.0...v10.18.1) ##### Patch Changes - Don't print a warning, when `--lockfile-only` is used [#&#8203;8320](https://github.com/pnpm/pnpm/issues/8320). - `pnpm setup` creates a command shim to the pnpm executable. This is needed to be able to run `pnpm self-update` on Windows [#&#8203;5700](https://github.com/pnpm/pnpm/issues/5700). - When using pnpm catalogs and running a normal `pnpm install`, pnpm produced false positive warnings for "*skip adding to the default catalog because it already exists*". This warning now only prints when using `pnpm add --save-catalog` as originally intended. ### [`v10.18.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10180) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.17.1...v10.18.0) ##### Minor Changes - Added network performance monitoring to pnpm by implementing warnings for slow network requests, including both metadata fetches and tarball downloads. Added configuration options for warning thresholds: `fetchWarnTimeoutMs` and `fetchMinSpeedKiBps`. Warning messages are displayed when requests exceed time thresholds or fall below speed minimums Related PR: [#&#8203;10025](https://github.com/pnpm/pnpm/pull/10025). ##### Patch Changes - Retry filesystem operations on EAGAIN errors [#&#8203;9959](https://github.com/pnpm/pnpm/pull/9959). - Outdated command respects `minimumReleaseAge` configuration [#&#8203;10030](https://github.com/pnpm/pnpm/pull/10030). - Correctly apply the `cleanupUnusedCatalogs` configuration when removing dependent packages. - Don't fail with a meaningless error when `scriptShell` is set to `false` [#&#8203;8748](https://github.com/pnpm/pnpm/issues/8748). - `pnpm dlx` should not fail when `minimumReleaseAge` is set [#&#8203;10037](https://github.com/pnpm/pnpm/issues/10037). ### [`v10.17.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10171) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.17.0...v10.17.1) ##### Patch Changes - When a version specifier cannot be resolved because the versions don't satisfy the `minimumReleaseAge` setting, print this information out in the error message [#&#8203;9974](https://github.com/pnpm/pnpm/pull/9974). - Fix `state.json` creation path when executing `pnpm patch` in a workspace project [#&#8203;9733](https://github.com/pnpm/pnpm/pull/9733). - When `minimumReleaseAge` is set and the `latest` tag is not mature enough, prefer a non-deprecated version as the new `latest` [#&#8203;9987](https://github.com/pnpm/pnpm/issues/9987). ### [`v10.17.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10170) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.16.1...v10.17.0) ##### Minor Changes - The `minimumReleaseAgeExclude` setting now supports patterns. For instance: ```yaml minimumReleaseAge: 1440 minimumReleaseAgeExclude: - "@&#8203;eslint/*" ``` Related PR: [#&#8203;9984](https://github.com/pnpm/pnpm/pull/9984). ##### Patch Changes - Don't ignore the `minimumReleaseAge` check, when the package is requested by exact version and the packument is loaded from cache [#&#8203;9978](https://github.com/pnpm/pnpm/issues/9978). - When `minimumReleaseAge` is set and the active version under a dist-tag is not mature enough, do not downgrade to a prerelease version in case the original version wasn't a prerelease one [#&#8203;9979](https://github.com/pnpm/pnpm/issues/9979). ### [`v10.16.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10161) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.16.0...v10.16.1) ##### Patch Changes - The full metadata cache should be stored not at the same location as the abbreviated metadata. This fixes a bug where pnpm was loading the abbreviated metadata from cache and couldn't find the "time" field as a result [#&#8203;9963](https://github.com/pnpm/pnpm/issues/9963). - Forcibly disable ANSI color codes when generating patch diff [#&#8203;9914](https://github.com/pnpm/pnpm/pull/9914). ### [`v10.16.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10160) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.15.1...v10.16.0) ##### Minor Changes - There have been several incidents recently where popular packages were successfully attacked. To reduce the risk of installing a compromised version, we are introducing a new setting that delays the installation of newly released dependencies. In most cases, such attacks are discovered quickly and the malicious versions are removed from the registry within an hour. The new setting is called `minimumReleaseAge`. It specifies the number of minutes that must pass after a version is published before pnpm will install it. For example, setting `minimumReleaseAge: 1440` ensures that only packages released at least one day ago can be installed. If you set `minimumReleaseAge` but need to disable this restriction for certain dependencies, you can list them under the `minimumReleaseAgeExclude` setting. For instance, with the following configuration pnpm will always install the latest version of webpack, regardless of its release time: ```yaml minimumReleaseAgeExclude: - webpack ``` Related issue: [#&#8203;9921](https://github.com/pnpm/pnpm/issues/9921). - Added support for `finders` [#&#8203;9946](https://github.com/pnpm/pnpm/pull/9946). In the past, `pnpm list` and `pnpm why` could only search for dependencies by **name** (and optionally version). For example: ``` pnpm why minimist ``` prints the chain of dependencies to any installed instance of `minimist`: ``` verdaccio 5.20.1 ├─┬ handlebars 4.7.7 │ └── minimist 1.2.8 └─┬ mv 2.1.1 └─┬ mkdirp 0.5.6 └── minimist 1.2.8 ``` What if we want to search by **other properties** of a dependency, not just its name? For instance, find all packages that have `react@17` in their peer dependencies? This is now possible with "finder functions". Finder functions can be declared in `.pnpmfile.cjs` and invoked with the `--find-by=<function name>` flag when running `pnpm list` or `pnpm why`. Let's say we want to find any dependencies that have React 17 in peer dependencies. We can add this finder to our `.pnpmfile.cjs`: ```js module.exports = { finders: { react17: (ctx) => { return ctx.readManifest().peerDependencies?.react === "^17.0.0"; }, }, }; ``` Now we can use this finder function by running: ``` pnpm why --find-by=react17 ``` pnpm will find all dependencies that have this React in peer dependencies and print their exact locations in the dependency graph. ``` @&#8203;apollo/client 4.0.4 ├── @&#8203;graphql-typed-document-node/core 3.2.0 └── graphql-tag 2.12.6 ``` It is also possible to print out some additional information in the output by returning a string from the finder. For example, with the following finder: ```js module.exports = { finders: { react17: (ctx) => { const manifest = ctx.readManifest(); if (manifest.peerDependencies?.react === "^17.0.0") { return `license: ${manifest.license}`; } return false; }, }, }; ``` Every matched package will also print out the license from its `package.json`: ``` @&#8203;apollo/client 4.0.4 ├── @&#8203;graphql-typed-document-node/core 3.2.0 │ license: MIT └── graphql-tag 2.12.6 license: MIT ``` ##### Patch Changes - Fix deprecation warning printed when executing pnpm with Node.js 24 [#&#8203;9529](https://github.com/pnpm/pnpm/issues/9529). - Throw an error if `nodeVersion` is not set to an exact semver version [#&#8203;9934](https://github.com/pnpm/pnpm/issues/9934). - `pnpm publish` should be able to publish a `.tar.gz` file [#&#8203;9927](https://github.com/pnpm/pnpm/pull/9927). - Canceling a running process with Ctrl-C should make `pnpm run` return a non-zero exit code [#&#8203;9626](https://github.com/pnpm/pnpm/issues/9626). ### [`v10.15.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10151) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.15.0...v10.15.1) ##### Patch Changes - Fix `.pnp.cjs` crash when importing subpath [#&#8203;9904](https://github.com/pnpm/pnpm/issues/9904). - When resolving peer dependencies, pnpm looks whether the peer dependency is present in the root workspace project's dependencies. This change makes it so that the peer dependency is correctly resolved even from aliased npm-hosted dependencies or other types of dependencies [#&#8203;9913](https://github.com/pnpm/pnpm/issues/9913). ### [`v10.15.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10150) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.14.0...v10.15.0) ##### Minor Changes - Added the `cleanupUnusedCatalogs` configuration. When set to `true`, pnpm will remove unused catalog entries during installation [#&#8203;9793](https://github.com/pnpm/pnpm/pull/9793). - Automatically load pnpmfiles from config dependencies that are named `@*/pnpm-plugin-*` [#&#8203;9780](https://github.com/pnpm/pnpm/issues/9780). - `pnpm config get` now prints an INI string for an object value [#&#8203;9797](https://github.com/pnpm/pnpm/issues/9797). - `pnpm config get` now accepts property paths (e.g. `pnpm config get catalog.react`, `pnpm config get .catalog.react`, `pnpm config get 'packageExtensions["@&#8203;babel/parser"].peerDependencies["@&#8203;babel/types"]'`), and `pnpm config set` now accepts dot-leading or subscripted keys (e.g. `pnpm config set .ignoreScripts true`). - `pnpm config get --json` now prints a JSON serialization of config value, and `pnpm config set --json` now parses the input value as JSON. ##### Patch Changes - **Semi-breaking.** When automatically installing missing peer dependencies, prefer versions that are already present in the direct dependencies of the root workspace package [#&#8203;9835](https://github.com/pnpm/pnpm/pull/9835). - When executing the `pnpm create` command, must verify whether the node version is supported even if a cache already exists [#&#8203;9775](https://github.com/pnpm/pnpm/pull/9775). - When making requests for the non-abbreviated packument, add `*/*` to the `Accept` header to avoid getting a 406 error on AWS CodeArtifact [#&#8203;9862](https://github.com/pnpm/pnpm/issues/9862). - The standalone exe version of pnpm works with glibc 2.26 again [#&#8203;9734](https://github.com/pnpm/pnpm/issues/9734). - Fix a regression in which `pnpm dlx pkg --help` doesn't pass `--help` to `pkg` [#&#8203;9823](https://github.com/pnpm/pnpm/issues/9823). ### [`v10.14.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10140) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.13.1...v10.14.0) ##### Minor Changes - **Added support for JavaScript runtime resolution** Declare Node.js, Deno, or Bun in [`devEngines.runtime`](https://github.com/openjs-foundation/package-metadata-interoperability-collab-space/issues/15) (inside `package.json`) and let pnpm download and pin it automatically. Usage example: ```json { "devEngines": { "runtime": { "name": "node", "version": "^24.4.0", "onFail": "download" (we only support the "download" value for now) } } } ``` How it works: 1. `pnpm install` resolves your specified range to the latest matching runtime version. 2. The exact version (and checksum) is saved in the lockfile. 3. Scripts use the local runtime, ensuring consistency across environments. Why this is better: 1. This new setting supports also Deno and Bun (vs. our Node-only settings `useNodeVersion` and `executionEnv.nodeVersion`) 2. Supports version ranges (not just a fixed version). 3. The resolved version is stored in the pnpm lockfile, along with an integrity checksum for future validation of the Node.js content's validity. 4. It can be used on any workspace project (like `executionEnv.nodeVersion`). So, different projects in a workspace can use different runtimes. 5. For now `devEngines.runtime` setting will install the runtime locally, which we will improve in future versions of pnpm by using a shared location on the computer. Related PR: [#&#8203;9755](https://github.com/pnpm/pnpm/pull/9755). - Add `--cpu`, `--libc`, and `--os` to `pnpm install`, `pnpm add`, and `pnpm dlx` to customize `supportedArchitectures` via the CLI [#&#8203;7510](https://github.com/pnpm/pnpm/issues/7510). ##### Patch Changes - Fix a bug in which `pnpm add` downloads packages whose `libc` differ from `pnpm.supportedArchitectures.libc`. - The integrities of the downloaded Node.js artifacts are verified [#&#8203;9750](https://github.com/pnpm/pnpm/pull/9750). - Allow `dlx` to parse CLI flags and options between the `dlx` command and the command to run or between the `dlx` command and `--` [#&#8203;9719](https://github.com/pnpm/pnpm/issues/9719). - `pnpm install --prod` should removing hoisted dev dependencies [#&#8203;9782](https://github.com/pnpm/pnpm/issues/9782). - Fix an edge case bug causing local tarballs to not re-link into the virtual store. This bug would happen when changing the contents of the tarball without renaming the file and running a filtered install. - Fix a bug causing `pnpm install` to incorrectly assume the lockfile is up to date after changing a local tarball that has peers dependencies. ### [`v10.13.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10131) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.13.0...v10.13.1) ##### Patch Changes - Run user defined pnpmfiles after pnpmfiles of plugins. ### [`v10.13.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10130) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.12.4...v10.13.0) ##### Minor Changes - Added the possibility to load multiple pnpmfiles. The `pnpmfile` setting can now accept a list of pnpmfile locations [#&#8203;9702](https://github.com/pnpm/pnpm/pull/9702). - pnpm will now automatically load the `pnpmfile.cjs` file from any [config dependency](https://pnpm.io/config-dependencies) named `@pnpm/plugin-*` or `pnpm-plugin-*` [#&#8203;9729](https://github.com/pnpm/pnpm/pull/9729). The order in which config dependencies are initialized should not matter — they are initialized in alphabetical order. If a specific order is needed, the paths to the `pnpmfile.cjs` files in the config dependencies can be explicitly listed using the `pnpmfile` setting in `pnpm-workspace.yaml`. ##### Patch Changes - When patching dependencies installed via `pkg.pr.new`, treat them as Git tarball URLs [#&#8203;9694](https://github.com/pnpm/pnpm/pull/9694). - Prevent conflicts between local projects' config and the global config in `dangerouslyAllowAllBuilds`, `onlyBuiltDependencies`, `onlyBuiltDependenciesFile`, and `neverBuiltDependencies` [#&#8203;9628](https://github.com/pnpm/pnpm/issues/9628). - Sort keys in `pnpm-workspace.yaml` with deep [#&#8203;9701](https://github.com/pnpm/pnpm/pull/9701). - The `pnpm rebuild` command should not add pkgs included in `ignoredBuiltDependencies` to `ignoredBuilds` in `node_modules/.modules.yaml` [#&#8203;9338](https://github.com/pnpm/pnpm/issues/9338). - Replaced `shell-quote` with `shlex` for quoting command arguments [#&#8203;9381](https://github.com/pnpm/pnpm/issues/9381). ### [`v10.12.4`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10124) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.12.3...v10.12.4) ##### Patch Changes - Fix `pnpm licenses` command for local dependencies [#&#8203;9583](https://github.com/pnpm/pnpm/pull/9583). - Fix a bug in which `pnpm ls --filter=not-exist --json` prints nothing instead of an empty array [#&#8203;9672](https://github.com/pnpm/pnpm/issues/9672). - Fix a deadlock that sometimes happens during peer dependency resolution [#&#8203;9673](https://github.com/pnpm/pnpm/issues/9673). - Running `pnpm install` after `pnpm fetch` should hoist all dependencies that need to be hoisted. Fixes a regression introduced in \[v10.12.2] by \[[#&#8203;9648](https://github.com/pnpm/pnpm/issues/9648)]; resolves \[[#&#8203;9689](https://github.com/pnpm/pnpm/issues/9689)]. \[v10.12.2]: <https://github.com/pnpm/pnpm/releases/tag/v10.12.2Add> commentMore actions \[[#&#8203;9648](https://github.com/pnpm/pnpm/issues/9648)]: [#&#8203;9648](https://github.com/pnpm/pnpm/pull/9648) \[[#&#8203;9689](https://github.com/pnpm/pnpm/issues/9689)]: [#&#8203;9689](https://github.com/pnpm/pnpm/issues/9689) ### [`v10.12.3`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10123) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.12.2...v10.12.3) ##### Patch Changes - Restore hoisting of optional peer dependencies when installing with an outdated lockfile. Regression introduced in [v10.12.2] by [#&#8203;9648]; resolves [#&#8203;9685]. [v10.12.2]: https://github.com/pnpm/pnpm/releases/tag/v10.12.2 [#&#8203;9648]: https://github.com/pnpm/pnpm/pull/9648 [#&#8203;9685]: https://github.com/pnpm/pnpm/issues/9685 ### [`v10.12.2`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10122) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.12.1...v10.12.2) ##### Patch Changes - Fixed hoisting with `enableGlobalVirtualStore` set to `true` [#&#8203;9648](https://github.com/pnpm/pnpm/pull/9648). - Fix the `--help` and `-h` flags not working as expected for the `pnpm create` command. - The dependency package path output by the `pnpm licenses list --json` command is incorrect. - Fix a bug in which `pnpm deploy` fails due to overridden dependencies having peer dependencies causing `ERR_PNPM_OUTDATED_LOCKFILE` [#&#8203;9595](https://github.com/pnpm/pnpm/issues/9595). ### [`v10.12.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10121) ##### Minor Changes - **Experimental.** Added support for global virtual stores. When enabled, `node_modules` contains only symlinks to a central virtual store, rather to `node_modules/.pnpm`. By default, this central store is located at `<store-path>/links` (you can find the store path by running `pnpm store path`). In the central virtual store, each package is hard linked into a directory whose name is the hash of its dependency graph. This allows multiple projects on the system to symlink shared dependencies from this central location, significantly improving installation speed when a warm cache is available. > This is conceptually similar to how [NixOS manages packages](https://nixos.org/guides/how-nix-works/), using dependency graph hashes to create isolated and reusable package directories. To enable the global virtual store, set `enableGlobalVirtualStore: true` in your root `pnpm-workspace.yaml`, or globally via: ```sh pnpm config -g set enable-global-virtual-store true ``` NOTE: In CI environments, where caches are typically cold, this setting may slow down installation. pnpm automatically disables the global virtual store when running in CI. Related PR: [#&#8203;8190](https://github.com/pnpm/pnpm/pull/8190) * The `pnpm update` command now supports updating `catalog:` protocol dependencies and writes new specifiers to `pnpm-workspace.yaml`. * Added two new CLI options (`--save-catalog` and `--save-catalog-name=<name>`) to `pnpm add` to save new dependencies as catalog entries. `catalog:` or `catalog:<name>` will be added to `package.json` and the package specifier will be added to the `catalogs` or `catalog[<name>]` object in `pnpm-workspace.yaml` [#&#8203;9425](https://github.com/pnpm/pnpm/issues/9425). * **Semi-breaking.** The keys used for side-effects caches have changed. If you have a side-effects cache generated by a previous version of pnpm, the new version will not use it and will create a new cache instead [#&#8203;9605](https://github.com/pnpm/pnpm/pull/9605). * Added a new setting called `ci` for explicitly telling pnpm if the current environment is a CI or not. ##### Patch Changes - Sort versions printed by `pnpm patch` using semantic versioning rules. - Improve the way the error message displays mismatched specifiers. Show differences instead of 2 whole objects [#&#8203;9598](https://github.com/pnpm/pnpm/pull/9598). - Revert [#&#8203;9574](https://github.com/pnpm/pnpm/pull/9574) to fix a regression [#&#8203;9596](https://github.com/pnpm/pnpm/issues/9596). ### [`v10.11.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10111) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.11.0...v10.11.1) ##### Patch Changes - Fix an issue in which `pnpm deploy --legacy` creates unexpected directories when the root `package.json` has a workspace package as a peer dependency [#&#8203;9550](https://github.com/pnpm/pnpm/issues/9550). - Dependencies specified via a URL that redirects will only be locked to the target if it is immutable, fixing a regression when installing from GitHub releases. ([#&#8203;9531](https://github.com/pnpm/pnpm/issues/9531)) - Installation should not exit with an error if `strictPeerDependencies` is `true` but all issues are ignored by `peerDependencyRules` [#&#8203;9505](https://github.com/pnpm/pnpm/pull/9505). - Use `pnpm_config_` env variables instead of `npm_config_` [#&#8203;9571](https://github.com/pnpm/pnpm/pull/9571). - Fix a regression (in v10.9.0) causing the `--lockfile-only` flag on `pnpm update` to produce a different `pnpm-lock.yaml` than an update without the flag. - Let `pnpm deploy` work in repos with `overrides` when `inject-workspace-packages=true` [#&#8203;9283](https://github.com/pnpm/pnpm/issues/9283). - Fixed the problem of path loss caused by parsing URL address. Fixes a regression shipped in pnpm v10.11 via [#&#8203;9502](https://github.com/pnpm/pnpm/pull/9502). - `pnpm -r --silent run` should not print out section [#&#8203;9563](https://github.com/pnpm/pnpm/issues/9563). ### [`v10.11.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10110) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.10.0...v10.11.0) ##### Minor Changes - A new setting added for `pnpm init` to create a `package.json` with `type=module`, when `init-type` is `module`. Works as a flag for the init command too [#&#8203;9463](https://github.com/pnpm/pnpm/pull/9463). - Added support for Nushell to `pnpm setup` [#&#8203;6476](https://github.com/pnpm/pnpm/issues/6476). - Added two new flags to the `pnpm audit` command, `--ignore` and `--ignore-unfixable` [#&#8203;8474](https://github.com/pnpm/pnpm/pull/8474). Ignore all vulnerabilities that have no solution: ```shell > pnpm audit --ignore-unfixable ``` Provide a list of CVE's to ignore those specifically, even if they have a resolution. ```shell > pnpm audit --ignore=CVE-2021-1234 --ignore=CVE-2021-5678 ``` - Added support for recursively running pack in every project of a workspace [#&#8203;4351](https://github.com/pnpm/pnpm/issues/4351). Now you can run `pnpm -r pack` to pack all packages in the workspace. ##### Patch Changes - pnpm version management should work, when `dangerouslyAllowAllBuilds` is set to `true` [#&#8203;9472](https://github.com/pnpm/pnpm/issues/9472). - `pnpm link` should work from inside a workspace [#&#8203;9506](https://github.com/pnpm/pnpm/issues/9506). - Set the default `workspaceConcurrency` to `Math.min(os.availableParallelism(), 4)` [#&#8203;9493](https://github.com/pnpm/pnpm/pull/9493). - Installation should not exit with an error if `strictPeerDependencies` is `true` but all issues are ignored by `peerDependencyRules` [#&#8203;9505](https://github.com/pnpm/pnpm/pull/9505). - Read `updateConfig` from `pnpm-workspace.yaml` [#&#8203;9500](https://github.com/pnpm/pnpm/issues/9500). - Add support for `recursive pack` - Remove `url.parse` usage to fix warning on Node.js 24 [#&#8203;9492](https://github.com/pnpm/pnpm/issues/9492). - `pnpm run` should be able to run commands from the workspace root, if `ignoreScripts` is set tot `true` [#&#8203;4858](https://github.com/pnpm/pnpm/issues/4858). ### [`v10.10.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10100) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.9.0...v10.10.0) ##### Minor Changes - Allow loading the `preResolution`, `importPackage`, and `fetchers` hooks from local pnpmfile. ##### Patch Changes - Fix `cd` command, when `shellEmulator` is `true` [#&#8203;7838](https://github.com/pnpm/pnpm/issues/7838). - Sort keys in `pnpm-workspace.yaml` [#&#8203;9453](https://github.com/pnpm/pnpm/pull/9453). - Pass the `npm_package_json` environment variable to the executed scripts [#&#8203;9452](https://github.com/pnpm/pnpm/issues/9452). - Fixed a mistake in the description of the `--reporter=silent` option. ### [`v10.9.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1090) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.8.1...v10.9.0) ##### Minor Changes - **Added support for installing JSR packages.** You can now install JSR packages using the following syntax: ``` pnpm add jsr:<pkg_name> ``` or with a version range: ``` pnpm add jsr:<pkg_name>@&#8203;<range> ``` For example, running: ``` pnpm add jsr:@&#8203;foo/bar ``` will add the following entry to your `package.json`: ```json { "dependencies": { "@&#8203;foo/bar": "jsr:^0.1.2" } } ``` When publishing, this entry will be transformed into a format compatible with npm, older versions of Yarn, and previous pnpm versions: ```json { "dependencies": { "@&#8203;foo/bar": "npm:@&#8203;jsr/foo__bar@^0.1.2" } } ``` Related issue: [#&#8203;8941](https://github.com/pnpm/pnpm/issues/8941). Note: The `@jsr` scope defaults to <https://npm.jsr.io/> if the `@jsr:registry` setting is not defined. - Added a new setting, `dangerouslyAllowAllBuilds`, for automatically running any scripts of dependencies without the need to approve any builds. It was already possible to allow all builds by adding this to `pnpm-workspace.yaml`: ```yaml neverBuiltDependencies: [] ``` `dangerouslyAllowAllBuilds` has the same effect but also allows to be set globally via: ``` pnpm config set dangerouslyAllowAllBuilds true ``` It can also be set when running a command: ``` pnpm install --dangerously-allow-all-builds ``` ##### Patch Changes - Fix a false negative in `verifyDepsBeforeRun` when `nodeLinker` is `hoisted` and there is a workspace package without dependencies and `node_modules` directory [#&#8203;9424](https://github.com/pnpm/pnpm/issues/9424). - Explicitly drop `verifyDepsBeforeRun` support for `nodeLinker: pnp`. Combining `verifyDepsBeforeRun` and `nodeLinker: pnp` will now print a warning. ### [`v10.8.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1081) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.8.0...v10.8.1) ##### Patch Changes - Removed bright white highlighting, which didn't look good on some light themes [#&#8203;9389](https://github.com/pnpm/pnpm/pull/9389). - If there is no pnpm related configuration in `package.json`, `onlyBuiltDependencies` will be written to `pnpm-workspace.yaml` file [#&#8203;9404](https://github.com/pnpm/pnpm/pull/9404). ### [`v10.8.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1080) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.7.1...v10.8.0) ##### Minor Changes - **Experimental.** A new hook is supported for updating configuration settings. The hook can be provided via `.pnpmfile.cjs`. For example: ```js module.exports = { hooks: { updateConfig: (config) => ({ ...config, nodeLinker: "hoisted", }), }, }; ``` - Now you can use the `pnpm add` command with the `--config` flag to install new configurational dependencies [#&#8203;9377](https://github.com/pnpm/pnpm/pull/9377). ##### Patch Changes - Do not hang indefinitely, when there is a glob that starts with `!/` in `pnpm-workspace.yaml`. This fixes a regression introduced by [#&#8203;9169](https://github.com/pnpm/pnpm/pull/9169). - `pnpm audit --fix` should update the overrides in `pnpm-workspace.yaml`. - `pnpm link` should update overrides in `pnpm-workspace.yaml`, not in `package.json` [#&#8203;9365](https://github.com/pnpm/pnpm/pull/9365). ### [`v10.7.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1071) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.7.0...v10.7.1) ##### Patch Changes - `pnpm config set` should convert the settings to their correct type before adding them to `pnpm-workspace.yaml` [#&#8203;9355](https://github.com/pnpm/pnpm/issues/9355). - `pnpm config get` should read auth related settings via npm CLI [#&#8203;9345](https://github.com/pnpm/pnpm/issues/9345). - Replace leading `~/` in a path in `.npmrc` with the home directory [#&#8203;9217](https://github.com/pnpm/pnpm/issues/9217). ### [`v10.7.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1070) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.6.5...v10.7.0) ##### Minor Changes - `pnpm config get` and `list` also show settings set in `pnpm-workspace.yaml` files [#&#8203;9316](https://github.com/pnpm/pnpm/pull/9316). - It should be possible to use env variables in `pnpm-workspace.yaml` setting names and value. - Add an ability to patch dependencies by version ranges. Exact versions override version ranges, which in turn override name-only patches. Version range `*` is the same as name-only, except that patch application failure will not be ignored. For example: ```yaml patchedDependencies: foo: patches/foo-1.patch foo@^2.0.0: patches/foo-2.patch foo@2.1.0: patches/foo-3.patch ``` The above configuration would apply `patches/foo-3.patch` to `foo@2.1.0`, `patches/foo-2.patch` to all `foo` versions which satisfy `^2.0.0` except `2.1.0`, and `patches/foo-1.patch` to the remaining `foo` versions. > \[!WARNING] > The version ranges should not overlap. If you want to specialize a sub range, make sure to exclude it from the other keys. For example: > > ```yaml > # pnpm-workspace.yaml > patchedDependencies: > # the specialized sub range > 'foo@2.2.0-2.8.0': patches/foo.2.2.0-2.8.0.patch > # the more general patch, excluding the sub range above > 'foo@>=2.0.0 <2.2.0 || >2.8.0': 'patches/foo.gte2.patch > ``` > > In most cases, however, it's sufficient to just define an exact version to override the range. - `pnpm config set --location=project` saves the setting to a `pnpm-workspace.yaml` file if no `.npmrc` file is present in the directory [#&#8203;9316](https://github.com/pnpm/pnpm/pull/9316). - Rename `pnpm.allowNonAppliedPatches` to `pnpm.allowUnusedPatches`. The old name is still supported but it would print a deprecation warning message. - Add `pnpm.ignorePatchFailures` to manage whether pnpm would ignore patch application failures. If `ignorePatchFailures` is not set, pnpm would throw an error when patches with exact versions or version ranges fail to apply, and it would ignore failures from name-only patches. If `ignorePatchFailures` is explicitly set to `false`, pnpm would throw an error when any type of patch fails to apply. If `ignorePatchFailures` is explicitly set to `true`, pnpm would print a warning when any type of patch fails to apply. ##### Patch Changes - Remove dependency paths from audit output to prevent out-of-memory errors [#&#8203;9280](https://github.com/pnpm/pnpm/issues/9280). ### [`v10.6.5`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1065) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.6.4...v10.6.5) ##### Patch Changes - Remove warnings after having explicitly approved no builds [#&#8203;9296](https://github.com/pnpm/pnpm/issues/9296). - When installing different dependency packages, should retain the `ignoredBuilds` field in the `.modules.yaml` file [#&#8203;9240](https://github.com/pnpm/pnpm/issues/9240). - Fix usages of the [`catalog:` protocol](https://pnpm.io/catalogs) in [injected local workspace packages](https://pnpm.io/package_json#dependenciesmetainjected). This previously errored with `ERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER`. [#&#8203;8715](https://github.com/pnpm/pnpm/issues/8715) - Setting `workspace-concurrency` to less than or equal to 0 should work [#&#8203;9297](https://github.com/pnpm/pnpm/issues/9297). ### [`v10.6.4`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1064) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.6.3...v10.6.4) ##### Patch Changes - Fix `pnpm dlx` with `--allow-build` flag [#&#8203;9263](https://github.com/pnpm/pnpm/issues/9263). - Invalid Node.js version in `use-node-version` should not cause pnpm itself to break [#&#8203;9276](https://github.com/pnpm/pnpm/issues/9276). - The max amount of workers running for linking packages from the store has been reduced to 4 to achieve optimal results [#&#8203;9286](https://github.com/pnpm/pnpm/issues/9286). The workers are performing many file system operations, so increasing the number of CPUs doesn't help performance after some point. ### [`v10.6.3`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1063) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.6.2...v10.6.3) ##### Patch Changes - `pnpm install --prod=false` should not crash, when executed in a project with a `pnpm-workspace.yaml` file [#&#8203;9233](https://github.com/pnpm/pnpm/issues/9233). This fixes regression introduced via [#&#8203;9211](https://github.com/pnpm/pnpm/pull/9211). - Add the missing `node-options` config to `recursive run` [#&#8203;9180](https://github.com/pnpm/pnpm/issues/9180). - Removed a branching code path that only executed when `dedupe-peer-dependents=false`. We believe this internal refactor will not result in behavior changes, but we expect it to make future pnpm versions behave more consistently for projects that override `dedupe-peer-dependents` to false. There should be less unique bugs from turning off `dedupe-peer-dependents`. See details in [#&#8203;9259](https://github.com/pnpm/pnpm/pull/9259). ### [`v10.6.2`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1062) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.6.1...v10.6.2) ##### Patch Changes - `pnpm self-update` should always update the version in the `packageManager` field of `package.json`. - Fix running pnpm CLI from pnpm CLI on Windows when the CLI is bundled to an executable [#&#8203;8971](https://github.com/pnpm/pnpm/issues/8971). - `pnpm patch-commit` will now use the same filesystem as the store directory to compare and create patch files. - Don't show info output when `--loglevel=error` is used. - `peerDependencyRules` should be set in `pnpm-workspace.yaml` to take effect. ### [`v10.6.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1061) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.6.0...v10.6.1) ##### Patch Changes - The pnpm CLI process should not stay hanging, when `--silent` reporting is used. - When `--loglevel` is set to `error`, don't show installation summary, execution time, and big tarball download progress. - Don't ignore pnpm.patchedDependencies from `package.json` [#&#8203;9226](https://github.com/pnpm/pnpm/issues/9226). - When executing the `approve-builds` command, if package.json contains `onlyBuiltDependencies` or `ignoredBuiltDependencies`, the selected dependency package will continue to be written into `package.json`. - When a package version cannot be found in the package metadata, print the registry from which the package was fetched. ### [`v10.6.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1060) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.5.2...v10.6.0) ##### Minor Changes - `pnpm-workspace.yaml` can now hold all the settings that `.npmrc` accepts. The settings should use camelCase [#&#8203;9211](https://github.com/pnpm/pnpm/pull/9211). `pnpm-workspace.yaml` example: ```yaml verifyDepsBeforeRun: install optimisticRepeatInstall: true publicHoistPattern: - "*types*" - "!@&#8203;types/react" ``` - Projects using a `file:` dependency on a local tarball file (i.e. `.tgz`, `.tar.gz`, `.tar`) will see a performance improvement during installation. Previously, using a `file:` dependency on a tarball caused the lockfile resolution step to always run. The lockfile will now be considered up-to-date if the tarball is unchanged. ##### Patch Changes - `pnpm self-update` should not leave a directory with a broken pnpm installation if the installation fails. - `fast-glob` replace with `tinyglobby` to reduce the size of the pnpm CLI dependencies [#&#8203;9169](https://github.com/pnpm/pnpm/pull/9169). - `pnpm deploy` should not remove fields from the deployed package's `package.json` file [#&#8203;9215](https://github.com/pnpm/pnpm/issues/9215). - `pnpm self-update` should not read the pnpm settings from the `package.json` file in the current working directory. - Fix `pnpm deploy` creating a `package.json` without the `imports` and `license` field [#&#8203;9193](https://github.com/pnpm/pnpm/issues/9193). - `pnpm update -i` should list only packages that have newer versions [#&#8203;9206](https://github.com/pnpm/pnpm/issues/9206). - Fix a bug causing entries in the `catalogs` section of the `pnpm-lock.yaml` file to be removed when `dedupe-peer-dependents=false` on a filtered install. [#&#8203;9112](https://github.com/pnpm/pnpm/issues/9112) ### [`v10.5.2`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1052) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.5.1...v10.5.2) ##### Patch Changes - The `pnpm config set` command should change the global `.npmrc` file by default. This was a regression introduced by [#&#8203;9151](https://github.com/pnpm/pnpm/pull/9151) and shipped in pnpm v10.5.0. ### [`v10.5.1`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1051) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.5.0...v10.5.1) ##### Patch Changes - Throw an error message if a `pnpm-workspaces.yaml` or `pnpm-workspaces.yml` file is found instead of a `pnpm-workspace.yaml` [#&#8203;9170](https://github.com/pnpm/pnpm/issues/9170). - Fix the update of `pnpm-workspace.yaml` by the `pnpm approve-builds` command [#&#8203;9168](https://github.com/pnpm/pnpm/issues/9168). - Normalize generated link paths in `package.json` [#&#8203;9163](https://github.com/pnpm/pnpm/pull/9163) - Specifying `overrides` in `pnpm-workspace.yaml` should work. - `pnpm dlx` should ignore settings from the `package.json` file in the current working directory [#&#8203;9178](https://github.com/pnpm/pnpm/issues/9178). ### [`v10.5.0`](https://github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1050) [Compare Source](https://github.com/pnpm/pnpm/compare/v10.4.1...v10.5.0) ##### Minor Changes - Allow to set the "pnpm" settings from `package.json` via the `pnpm-workspace.yaml` file [#&#8203;9121](https://github.com/pnpm/pnpm/pull/9121). - Added support for automatically syncing files of injected workspace packages after `pnpm run` [#&#8203;9081](https://github.com/pnpm/pnpm/issues/9081). Use the `sync-injected-deps-after-scripts` setting to specify which scripts build the workspace package. This tells pnpm when syncing is needed. The setting should be defined in a `.npmrc` file at the root of the workspace. Example: ```ini sync-injected-deps-after-scripts[]=compile ``` - The `packages` field in `pnpm-workspace.yaml` became optional. ##### Patch Changes - `pnpm link` with no parameters should work as if `--global` is specified [#&#8203;9151](https://github.com/pnpm/pnpm/pull/9151). - Allow scope registry CLI option without `--config.` prefix such as `--@&#8203;scope:registry=https://scope.example.com/npm` [#&#8203;9089](https://github.com/pnpm/pnpm/pull/9089). - `pnpm link <path>` should calculate relative path from the root of the workspace directory [#&#8203;9132](https://github.com/pnpm/pnpm/pull/9132). - Fix a bug causing catalog snapshots to be removed from the `pnpm-lock.yaml` file when using `--fix-lockfile` and `--filter`. [#&#8203;8639](https://github.com/pnpm/pnpm/issues/8639) - Fix a bug causing catalog protocol dependencies to not re-resolve on a filtered install [#&#8203;8638](https://github.com/pnpm/pnpm/issues/8638). </details> <details> <summary>prettier/prettier (prettier)</summary> ### [`v3.6.2`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#362) [Compare Source](https://github.com/prettier/prettier/compare/3.6.1...3.6.2) [diff](https://github.com/prettier/prettier/compare/3.6.1...3.6.2) ##### Markdown: Add missing blank line around code block ([#&#8203;17675](https://github.com/prettier/prettier/pull/17675) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ````md <!-- Input --> 1. Some text, and code block below, with newline after code block ```yaml --- foo: bar ``` 1. Another 2. List <!-- Prettier 3.6.1 --> 1. Some text, and code block below, with newline after code block ```yaml --- foo: bar ``` 1. Another 2. List <!-- Prettier 3.6.2 --> 1. Some text, and code block below, with newline after code block ```yaml --- foo: bar ``` 1. Another 2. List ```` ### [`v3.6.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#361) [Compare Source](https://github.com/prettier/prettier/compare/3.6.0...3.6.1) [diff](https://github.com/prettier/prettier/compare/3.6.0...3.6.1) ##### TypeScript: Allow const without initializer ([#&#8203;17650](https://github.com/prettier/prettier/pull/17650), [#&#8203;17654](https://github.com/prettier/prettier/pull/17654) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input export const version: string; // Prettier 3.6.0 (--parser=babel-ts) SyntaxError: Unexpected token (1:21) > 1 | export const version: string; | ^ // Prettier 3.6.0 (--parser=oxc-ts) SyntaxError: Missing initializer in const declaration (1:14) > 1 | export const version: string; | ^^^^^^^^^^^^^^^ // Prettier 3.6.1 export const version: string; ``` ##### Miscellaneous: Avoid closing files multiple times ([#&#8203;17665](https://github.com/prettier/prettier/pull/17665) by [@&#8203;43081j](https://github.com/43081j)) When reading a file to infer the interpreter from a shebang, we use the `n-readlines` library to read the first line in order to get the shebang. This library closes files when it reaches EOF, and we later try close the same files again. We now close files only if `n-readlines` did not already close them. ### [`v3.6.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#360) [Compare Source](https://github.com/prettier/prettier/compare/3.5.3...3.6.0) [diff](https://github.com/prettier/prettier/compare/3.5.3...3.6.0) 🔗 [Release Notes](https://prettier.io/blog/2025/06/23/3.6.0) ### [`v3.5.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#353) [Compare Source](https://github.com/prettier/prettier/compare/3.5.2...3.5.3) [diff](https://github.com/prettier/prettier/compare/3.5.2...3.5.3) ##### Flow: Fix missing parentheses in `ConditionalTypeAnnotation` ([#&#8203;17196](https://github.com/prettier/prettier/pull/17196) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input type T<U> = 'a' | ('b' extends U ? 'c' : empty); type T<U> = 'a' & ('b' extends U ? 'c' : empty); // Prettier 3.5.2 type T<U> = "a" | "b" extends U ? "c" : empty; type T<U> = "a" & "b" extends U ? "c" : empty; // Prettier 3.5.3 type T<U> = "a" | ("b" extends U ? "c" : empty); type T<U> = "a" & ("b" extends U ? "c" : empty); ``` </details> <details> <summary>isaacs/rimraf (rimraf)</summary> ### [`v6.1.2`](https://github.com/isaacs/rimraf/compare/v6.1.1...v6.1.2) [Compare Source](https://github.com/isaacs/rimraf/compare/v6.1.1...v6.1.2) ### [`v6.1.1`](https://github.com/isaacs/rimraf/compare/v6.1.0...v6.1.1) [Compare Source](https://github.com/isaacs/rimraf/compare/v6.1.0...v6.1.1) ### [`v6.1.0`](https://github.com/isaacs/rimraf/compare/v6.0.1...v6.1.0) [Compare Source](https://github.com/isaacs/rimraf/compare/v6.0.1...v6.1.0) </details> <details> <summary>rollup/rollup (rollup)</summary> ### [`v4.53.3`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4533) [Compare Source](https://github.com/rollup/rollup/compare/v4.53.2...v4.53.3) *2025-11-19* ##### Bug Fixes - Fix an error where too many modules where flagged for having an unused external import ([#&#8203;6182](https://github.com/rollup/rollup/issues/6182)) - Fix an error where an assignment was wrongly tree-shaken when mutating it ([#&#8203;6183](https://github.com/rollup/rollup/issues/6183)) ##### Pull Requests - [#&#8203;6171](https://github.com/rollup/rollup/pull/6171): Add test-install CI job to test packaging, installation and importing of rollup package ([@&#8203;antoninkriz](https://github.com/antoninkriz), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6174](https://github.com/rollup/rollup/pull/6174): Re-enable TypeScript test ([@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6180](https://github.com/rollup/rollup/pull/6180): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6182](https://github.com/rollup/rollup/pull/6182): Tracing the importers chain for exported variables in external module ([@&#8203;TrickyPi](https://github.com/TrickyPi), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6183](https://github.com/rollup/rollup/pull/6183): Check if left side is included when checking if assigning to an assignment has side effects ([@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.53.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4532) [Compare Source](https://github.com/rollup/rollup/compare/v4.53.1...v4.53.2) *2025-11-10* ##### Bug Fixes - Do not throw when using invalid escape sequences in template literals ([#&#8203;6177](https://github.com/rollup/rollup/issues/6177)) ##### Pull Requests - [#&#8203;6177](https://github.com/rollup/rollup/pull/6177): handle TemplateElement with null cooked value ([@&#8203;TrickyPi](https://github.com/TrickyPi)) ### [`v4.53.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4531) [Compare Source](https://github.com/rollup/rollup/compare/v4.53.0...v4.53.1) *2025-11-07* ##### Bug Fixes - Fix install script ([#&#8203;6172](https://github.com/rollup/rollup/issues/6172)) ##### Pull Requests - [#&#8203;6172](https://github.com/rollup/rollup/pull/6172): fix: move patch-package from postinstall to prepare script ([@&#8203;mshima](https://github.com/mshima)) ### [`v4.53.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4530) [Compare Source](https://github.com/rollup/rollup/compare/v4.52.5...v4.53.0) *2025-11-07* ##### Features - Improve rendering performance by caching generated variable names ([#&#8203;5947](https://github.com/rollup/rollup/issues/5947)) ##### Pull Requests - [#&#8203;5947](https://github.com/rollup/rollup/pull/5947): refactor: store safe variable names in cache for subsequent usage ([@&#8203;Aslemammad](https://github.com/Aslemammad), [@&#8203;lukastaegert](https://github.com/lukastaegert), [@&#8203;Service](https://github.com/Service) account user) - [#&#8203;6149](https://github.com/rollup/rollup/pull/6149): chore(deps): update dependency vite to v7.1.11 \[security] ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;Service](https://github.com/Service) account user) - [#&#8203;6151](https://github.com/rollup/rollup/pull/6151): fix(deps): update swc monorepo (major) ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;Service](https://github.com/Service) account user) - [#&#8203;6152](https://github.com/rollup/rollup/pull/6152): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;Service](https://github.com/Service) account user) - [#&#8203;6153](https://github.com/rollup/rollup/pull/6153): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;Service](https://github.com/Service) account user) - [#&#8203;6155](https://github.com/rollup/rollup/pull/6155): Fix tests: Do not swallow warnings for multi-format tests ([@&#8203;lukastaegert](https://github.com/lukastaegert), [@&#8203;Service](https://github.com/Service) account user) - [#&#8203;6159](https://github.com/rollup/rollup/pull/6159): chore(deps): update dependency eslint-plugin-unicorn to v62 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6160](https://github.com/rollup/rollup/pull/6160): chore(deps): update github artifact actions (major) ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6161](https://github.com/rollup/rollup/pull/6161): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6164](https://github.com/rollup/rollup/pull/6164): chore(deps): update dependency [@&#8203;rollup/plugin-alias](https://github.com/rollup/plugin-alias) to v6 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6165](https://github.com/rollup/rollup/pull/6165): chore(deps): update dependency [@&#8203;rollup/plugin-commonjs](https://github.com/rollup/plugin-commonjs) to v29 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6166](https://github.com/rollup/rollup/pull/6166): fix(deps): update swc monorepo (major) ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6167](https://github.com/rollup/rollup/pull/6167): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.52.5`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4525) [Compare Source](https://github.com/rollup/rollup/compare/v4.52.4...v4.52.5) *2025-10-18* ##### Bug Fixes - Always produce valid UUIDs as debugIds in sourcemaps ([#&#8203;6144](https://github.com/rollup/rollup/issues/6144)) ##### Pull Requests - [#&#8203;6135](https://github.com/rollup/rollup/pull/6135): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6140](https://github.com/rollup/rollup/pull/6140): chore(deps): update peter-evans/create-or-update-comment action to v5 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6141](https://github.com/rollup/rollup/pull/6141): chore(deps): update peter-evans/find-comment action to v4 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6142](https://github.com/rollup/rollup/pull/6142): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6143](https://github.com/rollup/rollup/pull/6143): chore: eslint enable concurrency option ([@&#8203;btea](https://github.com/btea)) - [#&#8203;6144](https://github.com/rollup/rollup/pull/6144): fix: generation of debugIDs with invalid length ([@&#8203;pablomatiasgomez](https://github.com/pablomatiasgomez), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6146](https://github.com/rollup/rollup/pull/6146): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6147](https://github.com/rollup/rollup/pull/6147): chore(deps): update actions/setup-node action to v6 ([@&#8203;renovate](https://github.com/renovate)\[bot]) ### [`v4.52.4`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4524) [Compare Source](https://github.com/rollup/rollup/compare/v4.52.3...v4.52.4) *2025-10-03* ##### Bug Fixes - Fix an issue where the wrong branch of nullish coalescing was picked ([#&#8203;6133](https://github.com/rollup/rollup/issues/6133)) ##### Pull Requests - [#&#8203;6128](https://github.com/rollup/rollup/pull/6128): Enable npm OIDC publishing ([@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6133](https://github.com/rollup/rollup/pull/6133): Correct nullish coalescing branch resolution for symbol left value ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;6134](https://github.com/rollup/rollup/pull/6134): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.52.3`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4523) [Compare Source](https://github.com/rollup/rollup/compare/v4.52.2...v4.52.3) *2025-09-27* ##### Bug Fixes - Fix check in native loader for environments that do not support reports ([#&#8203;6123](https://github.com/rollup/rollup/issues/6123)) ##### Pull Requests - [#&#8203;6123](https://github.com/rollup/rollup/pull/6123): fix(native-loader): safely handle report.getReport() on Termux/Android ([@&#8203;Jobians](https://github.com/Jobians), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6124](https://github.com/rollup/rollup/pull/6124): chore(deps): pin msys2/setup-msys2 action to [`fb197b7`](https://github.com/rollup/rollup/commit/fb197b7) ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6125](https://github.com/rollup/rollup/pull/6125): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6126](https://github.com/rollup/rollup/pull/6126): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) ### [`v4.52.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4522) [Compare Source](https://github.com/rollup/rollup/compare/v4.52.1...v4.52.2) *2025-09-23* ##### Bug Fixes - Fix Android build crashing due to failed dlopen ([#&#8203;6109](https://github.com/rollup/rollup/issues/6109)) ##### Pull Requests - [#&#8203;6109](https://github.com/rollup/rollup/pull/6109): fix(rust): use prebuilt std when it is available ([@&#8203;cyyynthia](https://github.com/cyyynthia)) ### [`v4.52.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4521) [Compare Source](https://github.com/rollup/rollup/compare/v4.52.0...v4.52.1) *2025-09-23* ##### Bug Fixes - Opt-out of dynamic import optimization when using top-level await to effectively prevent deadlocks ([#&#8203;6121](https://github.com/rollup/rollup/issues/6121)) ##### Pull Requests - [#&#8203;6121](https://github.com/rollup/rollup/pull/6121): Simplify top-level await deadlock prevention ([@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.52.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4520) [Compare Source](https://github.com/rollup/rollup/compare/v4.51.0...v4.52.0) *2025-09-19* ##### Features - Add option `output.onlyExplicitManualChunks` to turn off merging additional dependencies into manual chunks ([#&#8203;6087](https://github.com/rollup/rollup/issues/6087)) - Add support for x86\_64-pc-windows-gnu platform ([#&#8203;6110](https://github.com/rollup/rollup/issues/6110)) ##### Pull Requests - [#&#8203;6087](https://github.com/rollup/rollup/pull/6087): fix: manualChunks and non manualChunks shared dependencies are merged with the first manualChunk encountered alphabetically ([@&#8203;maiieul](https://github.com/maiieul)) - [#&#8203;6110](https://github.com/rollup/rollup/pull/6110): Add support x86\_64-pc-windows-gnu ([@&#8203;lsq](https://github.com/lsq), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6118](https://github.com/rollup/rollup/pull/6118): Automatically remove REPL artefacts label from PRs ([@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.51.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4510) [Compare Source](https://github.com/rollup/rollup/compare/v4.50.2...v4.51.0) *2025-09-19* ##### Features - Support ROLLUP\_FILE\_URL\_OBJ placeholder to inject file URLs into the generated code ([#&#8203;6108](https://github.com/rollup/rollup/issues/6108)) ##### Bug Fixes - Improve OpenHarmony build to work in more situations ([#&#8203;6115](https://github.com/rollup/rollup/issues/6115)) ##### Pull Requests - [#&#8203;6108](https://github.com/rollup/rollup/pull/6108): feat: support ROLLUP\_FILE\_URL\_OBJ for URL object instead of string ([@&#8203;guybedford](https://github.com/guybedford), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6112](https://github.com/rollup/rollup/pull/6112): Disable Cargo cache for Android ([@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6113](https://github.com/rollup/rollup/pull/6113): fix(deps): update rust crate swc\_compiler\_base to v35 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6114](https://github.com/rollup/rollup/pull/6114): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6115](https://github.com/rollup/rollup/pull/6115): Disable local\_dynamic\_tls for OpenHarmony ([@&#8203;hqzing](https://github.com/hqzing)) - [#&#8203;6116](https://github.com/rollup/rollup/pull/6116): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6117](https://github.com/rollup/rollup/pull/6117): chore(deps): lock file maintenance ([@&#8203;renovate](https://github.com/renovate)\[bot]) ### [`v4.50.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4502) [Compare Source](https://github.com/rollup/rollup/compare/v4.50.1...v4.50.2) *2025-09-15* ##### Bug Fixes - Resolve an issue where unused destructured array pattern declarations would conflict with included variables ([#&#8203;6100](https://github.com/rollup/rollup/issues/6100)) ##### Pull Requests - [#&#8203;6100](https://github.com/rollup/rollup/pull/6100): Tree-shake un-included elements in array pattern ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;6102](https://github.com/rollup/rollup/pull/6102): chore(deps): update actions/setup-node action to v5 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6103](https://github.com/rollup/rollup/pull/6103): chore(deps): update dependency eslint-plugin-unicorn to v61 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6104](https://github.com/rollup/rollup/pull/6104): fix(deps): update swc monorepo (major) ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6105](https://github.com/rollup/rollup/pull/6105): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6107](https://github.com/rollup/rollup/pull/6107): Improve CI stability ([@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.50.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4501) [Compare Source](https://github.com/rollup/rollup/compare/v4.50.0...v4.50.1) *2025-09-07* ##### Bug Fixes - Resolve a situation where a destructuring default value was removed ([#&#8203;6090](https://github.com/rollup/rollup/issues/6090)) ##### Pull Requests - [#&#8203;6088](https://github.com/rollup/rollup/pull/6088): feat(www): shorter repl shareables ([@&#8203;cyyynthia](https://github.com/cyyynthia), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6090](https://github.com/rollup/rollup/pull/6090): Call includeNode for self or children nodes in includeDestructuredIfNecessary ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;6091](https://github.com/rollup/rollup/pull/6091): fix(deps): update rust crate swc\_compiler\_base to v33 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6092](https://github.com/rollup/rollup/pull/6092): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6094](https://github.com/rollup/rollup/pull/6094): perf: replace startsWith with strict equality ([@&#8203;btea](https://github.com/btea)) ### [`v4.50.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4500) [Compare Source](https://github.com/rollup/rollup/compare/v4.49.0...v4.50.0) *2025-08-31* ##### Features - Support openharmony-arm64 platform ([#&#8203;6081](https://github.com/rollup/rollup/issues/6081)) ##### Bug Fixes - Fix loading of extensionless imports in config files ([#&#8203;6084](https://github.com/rollup/rollup/issues/6084)) ##### Pull Requests - [#&#8203;6081](https://github.com/rollup/rollup/pull/6081): Add support for openharmony-arm64 platform ([@&#8203;hqzing](https://github.com/hqzing), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6084](https://github.com/rollup/rollup/pull/6084): Return null to defer to the default resolution behavior ([@&#8203;TrickyPi](https://github.com/TrickyPi)) ### [`v4.49.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4490) [Compare Source](https://github.com/rollup/rollup/compare/v4.48.1...v4.49.0) *2025-08-27* ##### Features - Allow config plugins to resolve imports first before deciding whether to treat them as external ([#&#8203;6038](https://github.com/rollup/rollup/issues/6038)) ##### Pull Requests - [#&#8203;6038](https://github.com/rollup/rollup/pull/6038): feat: Run external check in `cli/run/loadConfigFile.ts` as last in order to allow handling of e.g. workspace package imports in TS monorepos correctly ([@&#8203;stazz](https://github.com/stazz), [@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;6082](https://github.com/rollup/rollup/pull/6082): Improve build pipeline performance ([@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.48.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4481) [Compare Source](https://github.com/rollup/rollup/compare/v4.48.0...v4.48.1) *2025-08-25* ##### Bug Fixes - Correctly ignore white-space in JSX strings around line-breaks ([#&#8203;6051](https://github.com/rollup/rollup/issues/6051)) ##### Pull Requests - [#&#8203;6051](https://github.com/rollup/rollup/pull/6051): fix: handle whitespace according to JSX common practice ([@&#8203;cyyynthia](https://github.com/cyyynthia)) - [#&#8203;6078](https://github.com/rollup/rollup/pull/6078): build: optimize pipeline take two ([@&#8203;cyyynthia](https://github.com/cyyynthia)) ### [`v4.48.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4480) [Compare Source](https://github.com/rollup/rollup/compare/v4.47.1...v4.48.0) *2025-08-23* ##### Features - If configured, also keep unparseable import attributes of external dynamic imports in the output([#&#8203;6071](https://github.com/rollup/rollup/issues/6071)) ##### Bug Fixes - Ensure variables referenced in non-removed import attributes are included ([#&#8203;6071](https://github.com/rollup/rollup/issues/6071)) ##### Pull Requests - [#&#8203;6071](https://github.com/rollup/rollup/pull/6071): Keep attributes for external dynamic imports ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;6079](https://github.com/rollup/rollup/pull/6079): fix(deps): update swc monorepo (major) ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6080](https://github.com/rollup/rollup/pull/6080): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) ### [`v4.47.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4471) [Compare Source](https://github.com/rollup/rollup/compare/v4.47.0...v4.47.1) *2025-08-21* ##### Bug Fixes - Revert build process changes to investigate issues ([#&#8203;6077](https://github.com/rollup/rollup/issues/6077)) ##### Pull Requests - [#&#8203;6077](https://github.com/rollup/rollup/pull/6077): Revert "build: aggressively optimize wasm build, improve pipeline ([#&#8203;6053](https://github.com/rollup/rollup/issues/6053))" ([@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.47.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4470) [Compare Source](https://github.com/rollup/rollup/compare/v4.46.4...v4.47.0) *2025-08-21* ##### Features - Aggressively reduce WASM build size ([#&#8203;6053](https://github.com/rollup/rollup/issues/6053)) ##### Bug Fixes - Fix illegal instruction error on Android ARM platforms ([#&#8203;6072](https://github.com/rollup/rollup/issues/6072)) - Allow to pass explicit `undefined` for optional fields in Rollup types ([#&#8203;6061](https://github.com/rollup/rollup/issues/6061)) ##### Pull Requests - [#&#8203;6053](https://github.com/rollup/rollup/pull/6053): build: aggressively optimize wasm build, improve pipeline ([@&#8203;cyyynthia](https://github.com/cyyynthia)) - [#&#8203;6061](https://github.com/rollup/rollup/pull/6061): fix(types): add support for exactOptionalPropertyTypes ([@&#8203;remcohaszing](https://github.com/remcohaszing), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6072](https://github.com/rollup/rollup/pull/6072): build(rust): mimalloc-safe/no\_opt\_arch on aarch64 ([@&#8203;cyyynthia](https://github.com/cyyynthia)) ### [`v4.46.4`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4464) [Compare Source](https://github.com/rollup/rollup/compare/v4.46.3...v4.46.4) *2025-08-20* ##### Bug Fixes - Do not omit synthetic namespaces when only accessed via `in` operator ([#&#8203;6052](https://github.com/rollup/rollup/issues/6052)) ##### Pull Requests - [#&#8203;6052](https://github.com/rollup/rollup/pull/6052): fix: don't optimize `in` with `syntheticNamedExports` ([@&#8203;hi-ogawa](https://github.com/hi-ogawa)) - [#&#8203;6074](https://github.com/rollup/rollup/pull/6074): Update transitive dependency to fix audit ([@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.46.3`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4463) [Compare Source](https://github.com/rollup/rollup/compare/v4.46.2...v4.46.3) *2025-08-18* ##### Bug Fixes - Resolve illegal instruction error on arm64 architectures ([#&#8203;6055](https://github.com/rollup/rollup/issues/6055)) - Resolve sourcemap generation performance regression ([#&#8203;6057](https://github.com/rollup/rollup/issues/6057)) ##### Pull Requests - [#&#8203;6043](https://github.com/rollup/rollup/pull/6043): Avoid `generated by` comment diff on Windows ([@&#8203;sapphi-red](https://github.com/sapphi-red)) - [#&#8203;6048](https://github.com/rollup/rollup/pull/6048): chore(deps): update dependency cross-env to v10 ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6049](https://github.com/rollup/rollup/pull/6049): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6055](https://github.com/rollup/rollup/pull/6055): Fix illegal instruction error on arm64 by enabling `no_opt_arch` feature for mimalloc-safe ([@&#8203;sapphi-red](https://github.com/sapphi-red)) - [#&#8203;6057](https://github.com/rollup/rollup/pull/6057): fix: tweak the fallback logic for tracing segment ([@&#8203;TrickyPi](https://github.com/TrickyPi), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6062](https://github.com/rollup/rollup/pull/6062): docs: update Rust toolchain instructions ([@&#8203;situ2001](https://github.com/situ2001), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6063](https://github.com/rollup/rollup/pull/6063): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6067](https://github.com/rollup/rollup/pull/6067): chore(deps): update actions/checkout action to v5 ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6068](https://github.com/rollup/rollup/pull/6068): chore(deps): update actions/download-artifact action to v5 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6069](https://github.com/rollup/rollup/pull/6069): fix(deps): update rust crate swc\_compiler\_base to v31 ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.46.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4462) [Compare Source](https://github.com/rollup/rollup/compare/v4.46.1...v4.46.2) *2025-07-29* ##### Bug Fixes - Fix in-operator handling for external namespace and when the left side cannot be analyzed ([#&#8203;6041](https://github.com/rollup/rollup/issues/6041)) ##### Pull Requests - [#&#8203;6041](https://github.com/rollup/rollup/pull/6041): Correct the logic of include in BinaryExpression and don't optimize external references away ([@&#8203;TrickyPi](https://github.com/TrickyPi), [@&#8203;cyyynthia](https://github.com/cyyynthia), [@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.46.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4461) [Compare Source](https://github.com/rollup/rollup/compare/v4.46.0...v4.46.1) *2025-07-28* ##### Bug Fixes - Do not fail when using the `in` operator on external namespaces ([#&#8203;6036](https://github.com/rollup/rollup/issues/6036)) ##### Pull Requests - [#&#8203;6036](https://github.com/rollup/rollup/pull/6036): disables optimization for external namespace when using the in operator ([@&#8203;TrickyPi](https://github.com/TrickyPi)) ### [`v4.46.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4460) [Compare Source](https://github.com/rollup/rollup/compare/v4.45.3...v4.46.0) *2025-07-27* ##### Features - Optimize `in` checks on namespaces to keep them treeshake-able ([#&#8203;6029](https://github.com/rollup/rollup/issues/6029)) ##### Pull Requests - [#&#8203;5991](https://github.com/rollup/rollup/pull/5991): feat: update linux-loongarch64-gnu ([@&#8203;wojiushixiaobai](https://github.com/wojiushixiaobai), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6029](https://github.com/rollup/rollup/pull/6029): feat: optimize `in` checks on namespaces to keep them treeshake-able ([@&#8203;cyyynthia](https://github.com/cyyynthia), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6033](https://github.com/rollup/rollup/pull/6033): fix(deps): update swc monorepo (major) ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.45.3`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4453) [Compare Source](https://github.com/rollup/rollup/compare/v4.45.1...v4.45.3) *2025-07-26* ##### Bug Fixes - Do not fail build if a const is reassigned but warn instead ([#&#8203;6020](https://github.com/rollup/rollup/issues/6020)) - Fail with a helpful error message if an exported binding is not defined ([#&#8203;6023](https://github.com/rollup/rollup/issues/6023)) ##### Pull Requests - [#&#8203;6014](https://github.com/rollup/rollup/pull/6014): chore(deps): update dependency [@&#8203;vue/language-server](https://github.com/vue/language-server) to v3 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;6015](https://github.com/rollup/rollup/pull/6015): chore(deps): update dependency vue-tsc to v3 ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6016](https://github.com/rollup/rollup/pull/6016): fix(deps): update swc monorepo (major) ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6017](https://github.com/rollup/rollup/pull/6017): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6020](https://github.com/rollup/rollup/pull/6020): Make const reassignments only a warning ([@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6023](https://github.com/rollup/rollup/pull/6023): Throw descriptive error message for used export is not defined ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;6027](https://github.com/rollup/rollup/pull/6027): feat: upgrade to NAPI-RS 3 stable ([@&#8203;Brooooooklyn](https://github.com/Brooooooklyn)) - [#&#8203;6028](https://github.com/rollup/rollup/pull/6028): Update eslint-plugin-unicorn to resolve vulnerability ([@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6034](https://github.com/rollup/rollup/pull/6034): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.45.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4451) [Compare Source](https://github.com/rollup/rollup/compare/v4.45.0...v4.45.1) *2025-07-15* ##### Bug Fixes - Resolve crash when using certain conditional expressions ([#&#8203;6009](https://github.com/rollup/rollup/issues/6009)) ##### Pull Requests - [#&#8203;6009](https://github.com/rollup/rollup/pull/6009): Add hasDeoptimizedCache flag for ConditionalExpression ([@&#8203;TrickyPi](https://github.com/TrickyPi)) ### [`v4.45.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4450) [Compare Source](https://github.com/rollup/rollup/compare/v4.44.2...v4.45.0) *2025-07-12* ##### Features - Improve tree-shaking when both branches of a conditional expression return the same boolean value ([#&#8203;6000](https://github.com/rollup/rollup/issues/6000)) - In environments that support both CJS and ESM, prefer the ESM build of Rollup ([#&#8203;6005](https://github.com/rollup/rollup/issues/6005)) ##### Bug Fixes - Ensure static blocks do not prevent tree-shaking if they access `this` ([#&#8203;6001](https://github.com/rollup/rollup/issues/6001)) ##### Pull Requests - [#&#8203;6000](https://github.com/rollup/rollup/pull/6000): feat: improve get literal value for conditional expression ([@&#8203;ahabhgk](https://github.com/ahabhgk), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6001](https://github.com/rollup/rollup/pull/6001): Correct the parent scope for static blocks ([@&#8203;TrickyPi](https://github.com/TrickyPi), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6005](https://github.com/rollup/rollup/pull/6005): fix: export field order prefer esm ([@&#8203;DylanPiercey](https://github.com/DylanPiercey)) ### [`v4.44.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4442) [Compare Source](https://github.com/rollup/rollup/compare/v4.44.1...v4.44.2) *2025-07-04* ##### Bug Fixes - Correctly handle `@__PURE__` annotations after `new` keyword ([#&#8203;5998](https://github.com/rollup/rollup/issues/5998)) - Generate correct source mapping for closing braces of block statements ([#&#8203;5999](https://github.com/rollup/rollup/issues/5999)) ##### Pull Requests - [#&#8203;5998](https://github.com/rollup/rollup/pull/5998): Support `@__PURE__` when nested after new in constructor invocations ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;5999](https://github.com/rollup/rollup/pull/5999): Add location info for closing brace of block statement ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;6002](https://github.com/rollup/rollup/pull/6002): chore(deps): update dependency vite to v7 ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;6004](https://github.com/rollup/rollup/pull/6004): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.44.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4441) [Compare Source](https://github.com/rollup/rollup/compare/v4.44.0...v4.44.1) *2025-06-26* ##### Bug Fixes - Reinstate maxParallelFileOps limit of 1000 to resolve the issue for some ([#&#8203;5992](https://github.com/rollup/rollup/issues/5992)) ##### Pull Requests - [#&#8203;5988](https://github.com/rollup/rollup/pull/5988): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5992](https://github.com/rollup/rollup/pull/5992): Set maxParallelFileOps to 1000 ([@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.44.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4440) [Compare Source](https://github.com/rollup/rollup/compare/v4.43.0...v4.44.0) *2025-06-19* ##### Features - Remove limit on `maxParallelFileOps` as this could break watch mode with the commonjs plugin ([#&#8203;5986](https://github.com/rollup/rollup/issues/5986)) ##### Bug Fixes - Provide better source mappings when coarse intermediate maps are used ([#&#8203;5985](https://github.com/rollup/rollup/issues/5985)) ##### Pull Requests - [#&#8203;5984](https://github.com/rollup/rollup/pull/5984): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5985](https://github.com/rollup/rollup/pull/5985): Improve approximation of coarse sourcemap segments ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;5986](https://github.com/rollup/rollup/pull/5986): Remove limit on max parallel file ops ([@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.43.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4430) [Compare Source](https://github.com/rollup/rollup/compare/v4.42.0...v4.43.0) *2025-06-11* ##### Features - Provide new `fs` option and `this.fs` API to replace file system ([#&#8203;5944](https://github.com/rollup/rollup/issues/5944)) ##### Pull Requests - [#&#8203;5944](https://github.com/rollup/rollup/pull/5944): feat(options): Add an option for overriding the file system module in the JS API ([@&#8203;EggDice](https://github.com/EggDice), [@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.42.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4420) [Compare Source](https://github.com/rollup/rollup/compare/v4.41.2...v4.42.0) *2025-06-06* ##### Features - Add option to allow the input to be located in the output in watch mode ([#&#8203;5966](https://github.com/rollup/rollup/issues/5966)) ##### Pull Requests - [#&#8203;5966](https://github.com/rollup/rollup/pull/5966): feat: watch mode add `allowInputInsideOutputPath` option ([@&#8203;btea](https://github.com/btea), [@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.41.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4412) [Compare Source](https://github.com/rollup/rollup/compare/v4.41.1...v4.41.2) *2025-06-06* ##### Bug Fixes - Detect named export usages in dynamic imports with `then` and non-arrow function expressions ([#&#8203;5977](https://github.com/rollup/rollup/issues/5977)) - Do not replace usages of constant variables with their values for readability ([#&#8203;5968](https://github.com/rollup/rollup/issues/5968)) ##### Pull Requests - [#&#8203;5968](https://github.com/rollup/rollup/pull/5968): fix: preserve constant identifiers in unary expressions instead of magic numbers ([@&#8203;OmkarJ13](https://github.com/OmkarJ13), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5969](https://github.com/rollup/rollup/pull/5969): chore(deps): update dependency yargs-parser to v22 ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5970](https://github.com/rollup/rollup/pull/5970): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5971](https://github.com/rollup/rollup/pull/5971): chore(deps): lock file maintenance ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5976](https://github.com/rollup/rollup/pull/5976): Update README.md ([@&#8203;ftlno](https://github.com/ftlno), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5977](https://github.com/rollup/rollup/pull/5977): fix: consider function expression in thenable when tree-shaking dynamic imports ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;5981](https://github.com/rollup/rollup/pull/5981): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5982](https://github.com/rollup/rollup/pull/5982): Debug/fix watch pipeline ([@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.41.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4411) [Compare Source](https://github.com/rollup/rollup/compare/v4.41.0...v4.41.1) *2025-05-24* ##### Bug Fixes - If a plugin calls `this.resolve` with `skipSelf: true`, subsequent calls when handling this by the same plugin with same parameters will return `null` to avoid infinite recursions ([#&#8203;5945](https://github.com/rollup/rollup/issues/5945)) ##### Pull Requests - [#&#8203;5945](https://github.com/rollup/rollup/pull/5945): Avoid recursively calling a plugin's resolveId hook with same id and importer ([@&#8203;younggglcy](https://github.com/younggglcy), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5963](https://github.com/rollup/rollup/pull/5963): fix(deps): update swc monorepo (major) ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5964](https://github.com/rollup/rollup/pull/5964): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) ### [`v4.41.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4410) [Compare Source](https://github.com/rollup/rollup/compare/v4.40.2...v4.41.0) *2025-05-18* ##### Features - Detect named exports in more dynamic import scenarios ([#&#8203;5954](https://github.com/rollup/rollup/issues/5954)) ##### Pull Requests - [#&#8203;5949](https://github.com/rollup/rollup/pull/5949): ci: use node 24 ([@&#8203;btea](https://github.com/btea), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5951](https://github.com/rollup/rollup/pull/5951): chore(deps): update dependency pretty-bytes to v7 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5952](https://github.com/rollup/rollup/pull/5952): fix(deps): update swc monorepo (major) ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5953](https://github.com/rollup/rollup/pull/5953): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5954](https://github.com/rollup/rollup/pull/5954): enhance tree-shaking for dynamic imports ([@&#8203;TrickyPi](https://github.com/TrickyPi), [@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5957](https://github.com/rollup/rollup/pull/5957): chore(deps): update dependency lint-staged to v16 ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5958](https://github.com/rollup/rollup/pull/5958): fix(deps): update rust crate swc\_compiler\_base to v20 ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5959](https://github.com/rollup/rollup/pull/5959): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5960](https://github.com/rollup/rollup/pull/5960): Use spawn to run CLI tests ([@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.40.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4402) [Compare Source](https://github.com/rollup/rollup/compare/v4.40.1...v4.40.2) *2025-05-06* ##### Bug Fixes - Create correct IIFE/AMD/UMD bundles when using a mutable default export ([#&#8203;5934](https://github.com/rollup/rollup/issues/5934)) - Fix execution order when using top-level await for dynamic imports with inlineDynamicImports ([#&#8203;5937](https://github.com/rollup/rollup/issues/5937)) - Throw when the output is watched in watch mode ([#&#8203;5939](https://github.com/rollup/rollup/issues/5939)) ##### Pull Requests - [#&#8203;5934](https://github.com/rollup/rollup/pull/5934): fix(exports): avoid "exports is not defined" `ReferenceError` ([@&#8203;dasa](https://github.com/dasa)) - [#&#8203;5937](https://github.com/rollup/rollup/pull/5937): consider TLA imports have higher execution priority ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;5939](https://github.com/rollup/rollup/pull/5939): fix: watch mode input should not be an output subpath ([@&#8203;btea](https://github.com/btea)) - [#&#8203;5940](https://github.com/rollup/rollup/pull/5940): chore(deps): update dependency vite to v6.3.4 \[security] ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5941](https://github.com/rollup/rollup/pull/5941): chore(deps): update dependency eslint-plugin-unicorn to v59 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5942](https://github.com/rollup/rollup/pull/5942): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5943](https://github.com/rollup/rollup/pull/5943): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) ### [`v4.40.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4401) [Compare Source](https://github.com/rollup/rollup/compare/v4.40.0...v4.40.1) *2025-04-28* ##### Bug Fixes - Limit hash size for asset file names to the supported 21 ([#&#8203;5921](https://github.com/rollup/rollup/issues/5921)) - Do not inline user-defined entry chunks or chunks with explicit file name ([#&#8203;5923](https://github.com/rollup/rollup/issues/5923)) - Avoid top-level-await cycles when non-entry chunks use top-level await ([#&#8203;5930](https://github.com/rollup/rollup/issues/5930)) - Expose package.json via exports ([#&#8203;5931](https://github.com/rollup/rollup/issues/5931)) ##### Pull Requests - [#&#8203;5921](https://github.com/rollup/rollup/pull/5921): fix(assetFileNames): reduce max hash size to 21 ([@&#8203;shulaoda](https://github.com/shulaoda)) - [#&#8203;5923](https://github.com/rollup/rollup/pull/5923): fix: generate the separate chunk for the entry module with explicated chunk filename or name ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;5926](https://github.com/rollup/rollup/pull/5926): fix(deps): update rust crate swc\_compiler\_base to v18 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5927](https://github.com/rollup/rollup/pull/5927): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5928](https://github.com/rollup/rollup/pull/5928): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5930](https://github.com/rollup/rollup/pull/5930): Avoid chunks TLA dynamic import circular when TLA dynamic import used in non-entry modules ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;5931](https://github.com/rollup/rollup/pull/5931): chore: add new `./package.json` entry ([@&#8203;JounQin](https://github.com/JounQin), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5936](https://github.com/rollup/rollup/pull/5936): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) ### [`v4.40.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4400) [Compare Source](https://github.com/rollup/rollup/compare/v4.39.0...v4.40.0) *2025-04-12* ##### Features - Only show `eval` warnings on first render and only when the call is not tree-shaken ([#&#8203;5892](https://github.com/rollup/rollup/issues/5892)) - Tree-shake non-included dynamic import members when the handler just maps to one named export ([#&#8203;5898](https://github.com/rollup/rollup/issues/5898)) ##### Bug Fixes - Consider dynamic imports nested within top-level-awaited dynamic import expressions to be awaited as well ([#&#8203;5900](https://github.com/rollup/rollup/issues/5900)) - Fix namespace rendering when tree-shaking is disabled ([#&#8203;5908](https://github.com/rollup/rollup/issues/5908)) - When using multiple transform hook filters, all of them need to be satisfied together ([#&#8203;5909](https://github.com/rollup/rollup/issues/5909)) ##### Pull Requests - [#&#8203;5892](https://github.com/rollup/rollup/pull/5892): Warn when eval or namespace calls are rendered, not when they are parsed ([@&#8203;SunsetFi](https://github.com/SunsetFi), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5898](https://github.com/rollup/rollup/pull/5898): feat: treeshake dynamic import chained member expression ([@&#8203;privatenumber](https://github.com/privatenumber), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5900](https://github.com/rollup/rollup/pull/5900): consider the dynamic import within a TLA call expression as a TLA import ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;5904](https://github.com/rollup/rollup/pull/5904): fix(deps): update swc monorepo (major) ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5905](https://github.com/rollup/rollup/pull/5905): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5908](https://github.com/rollup/rollup/pull/5908): Fix `treeshake: false` breaking destructured namespace imports ([@&#8203;Skn0tt](https://github.com/Skn0tt)) - [#&#8203;5909](https://github.com/rollup/rollup/pull/5909): Correct the behavior when multiple transform filter options are specified ([@&#8203;sapphi-red](https://github.com/sapphi-red)) - [#&#8203;5915](https://github.com/rollup/rollup/pull/5915): chore(deps): update dependency [@&#8203;types/picomatch](https://github.com/types/picomatch) to v4 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5916](https://github.com/rollup/rollup/pull/5916): fix(deps): update rust crate swc\_compiler\_base to v17 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5917](https://github.com/rollup/rollup/pull/5917): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5918](https://github.com/rollup/rollup/pull/5918): chore(deps): update dependency vite to v6.2.6 \[security] ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) ### [`v4.39.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4390) [Compare Source](https://github.com/rollup/rollup/compare/v4.38.0...v4.39.0) *2025-04-02* ##### Features - Do not create separate facade chunks if a chunk would contain several entry modules that allow export extension if there are no export name conflicts ([#&#8203;5891](https://github.com/rollup/rollup/issues/5891)) ##### Bug Fixes - Mark the `id` property as optional in the filter for the `resolveId` hook ([#&#8203;5896](https://github.com/rollup/rollup/issues/5896)) ##### Pull Requests - [#&#8203;5891](https://github.com/rollup/rollup/pull/5891): chunk: merge allow-extension modules ([@&#8203;wmertens](https://github.com/wmertens), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5893](https://github.com/rollup/rollup/pull/5893): chore(deps): update dependency vite to v6.2.4 \[security] ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5896](https://github.com/rollup/rollup/pull/5896): fix: resolveId id filter is optional ([@&#8203;sapphi-red](https://github.com/sapphi-red)) ### [`v4.38.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4380) [Compare Source](https://github.com/rollup/rollup/compare/v4.37.0...v4.38.0) *2025-03-29* ##### Features - Support `.filter` option in `resolveId`, `load` and `transform` hooks ([#&#8203;5882](https://github.com/rollup/rollup/issues/5882)) ##### Pull Requests - [#&#8203;5882](https://github.com/rollup/rollup/pull/5882): Add support for hook filters ([@&#8203;sapphi-red](https://github.com/sapphi-red)) - [#&#8203;5894](https://github.com/rollup/rollup/pull/5894): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5895](https://github.com/rollup/rollup/pull/5895): chore(deps): update dependency eslint-plugin-unicorn to v58 ([@&#8203;renovate](https://github.com/renovate)\[bot]) ### [`v4.37.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4370) [Compare Source](https://github.com/rollup/rollup/compare/v4.36.0...v4.37.0) *2025-03-23* ##### Features - Support Musl Linux on Riscv64 architectures ([#&#8203;5726](https://github.com/rollup/rollup/issues/5726)) - Handles class decorators placed before the `export` keyword ([#&#8203;5871](https://github.com/rollup/rollup/issues/5871)) ##### Bug Fixes - Log Rust panic messages to the console when using the WASM build ([#&#8203;5875](https://github.com/rollup/rollup/issues/5875)) ##### Pull Requests - [#&#8203;5726](https://github.com/rollup/rollup/pull/5726): Add support for linux riscv64 musl ([@&#8203;fossdd](https://github.com/fossdd), [@&#8203;leso-kn](https://github.com/leso-kn)) - [#&#8203;5871](https://github.com/rollup/rollup/pull/5871): feat: support decorators before or after export ([@&#8203;TrickyPi](https://github.com/TrickyPi)) - [#&#8203;5875](https://github.com/rollup/rollup/pull/5875): capture Rust panic messages and output them to the console. ([@&#8203;luyahan](https://github.com/luyahan), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5883](https://github.com/rollup/rollup/pull/5883): Pin digest of 3rd party actions ([@&#8203;re-taro](https://github.com/re-taro)) - [#&#8203;5885](https://github.com/rollup/rollup/pull/5885): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) ### [`v4.36.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4360) [Compare Source](https://github.com/rollup/rollup/compare/v4.35.0...v4.36.0) *2025-03-17* ##### Features - Extend `renderDynamicImport` hook to provide information about static dependencies of the imported module ([#&#8203;5870](https://github.com/rollup/rollup/issues/5870)) - Export several additional types used by Vite ([#&#8203;5879](https://github.com/rollup/rollup/issues/5879)) ##### Bug Fixes - Do not merge chunks if that would create a top-level await cycle between chunks ([#&#8203;5843](https://github.com/rollup/rollup/issues/5843)) ##### Pull Requests - [#&#8203;5843](https://github.com/rollup/rollup/pull/5843): avoiding top level await circular ([@&#8203;TrickyPi](https://github.com/TrickyPi), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5870](https://github.com/rollup/rollup/pull/5870): draft for extended renderDynamicImport hook ([@&#8203;iczero](https://github.com/iczero), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5876](https://github.com/rollup/rollup/pull/5876): Update axios overrides to 1.8.2 ([@&#8203;vadym-khodak](https://github.com/vadym-khodak)) - [#&#8203;5877](https://github.com/rollup/rollup/pull/5877): chore(deps): update dependency eslint-plugin-vue to v10 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5878](https://github.com/rollup/rollup/pull/5878): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5879](https://github.com/rollup/rollup/pull/5879): fix: export types ([@&#8203;sxzz](https://github.com/sxzz)) ### [`v4.35.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4350) [Compare Source](https://github.com/rollup/rollup/compare/v4.34.9...v4.35.0) *2025-03-08* ##### Features - Pass build errors to the closeBundle hook ([#&#8203;5867](https://github.com/rollup/rollup/issues/5867)) ##### Pull Requests - [#&#8203;5852](https://github.com/rollup/rollup/pull/5852): chore(deps): update dependency eslint-plugin-unicorn to v57 ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5862](https://github.com/rollup/rollup/pull/5862): fix(deps): update swc monorepo (major) ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5867](https://github.com/rollup/rollup/pull/5867): feat(5858): make closeBundle hook receive the last error ([@&#8203;GauBen](https://github.com/GauBen)) - [#&#8203;5872](https://github.com/rollup/rollup/pull/5872): chore(deps): update dependency builtin-modules to v5 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5873](https://github.com/rollup/rollup/pull/5873): chore(deps): update uraimo/run-on-arch-action action to v3 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5874](https://github.com/rollup/rollup/pull/5874): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) ### [`v4.34.9`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4349) [Compare Source](https://github.com/rollup/rollup/compare/v4.34.8...v4.34.9) *2025-03-01* ##### Bug Fixes - Support JSX modes in WASM ([#&#8203;5866](https://github.com/rollup/rollup/issues/5866)) - Allow the CustomPluginOptions to be extended ([#&#8203;5850](https://github.com/rollup/rollup/issues/5850)) ##### Pull Requests - [#&#8203;5850](https://github.com/rollup/rollup/pull/5850): Revert CustomPluginOptions to be an interface ([@&#8203;sapphi-red](https://github.com/sapphi-red), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5851](https://github.com/rollup/rollup/pull/5851): Javascript to JavaScript ([@&#8203;dasa](https://github.com/dasa), [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5853](https://github.com/rollup/rollup/pull/5853): chore(deps): update dependency pinia to v3 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5854](https://github.com/rollup/rollup/pull/5854): fix(deps): update swc monorepo (major) ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5855](https://github.com/rollup/rollup/pull/5855): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert)) - [#&#8203;5860](https://github.com/rollup/rollup/pull/5860): chore(deps): update dependency [@&#8203;shikijs/vitepress-twoslash](https://github.com/shikijs/vitepress-twoslash) to v3 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5861](https://github.com/rollup/rollup/pull/5861): chore(deps): update dependency globals to v16 ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5863](https://github.com/rollup/rollup/pull/5863): fix(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5864](https://github.com/rollup/rollup/pull/5864): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot]) - [#&#8203;5866](https://github.com/rollup/rollup/pull/5866): Add jsx parameter to parseAsync in native.wasm.js ([@&#8203;TrickyPi](https://github.com/TrickyPi)) </details> <details> <summary>sass/dart-sass (sass)</summary> ### [`v1.94.2`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1942) [Compare Source](https://github.com/sass/dart-sass/compare/1.94.1...1.94.2) ##### Command-Line Interface - Using `--fatal-deprecation <version>` no longer emits warnings about deprecations that are obsolete. ##### Dart API - `Deprecation.forVersion` now excludes obsolete deprecations from the set it returns. ##### JS API - Excludes obsolete deprecations from `fatalDeprecations` when a `Version` is passed. ##### Node.js Embedded Host - Fix a bug where a variable could be used before it was initialized during async compilation. ### [`v1.94.1`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1941) [Compare Source](https://github.com/sass/dart-sass/compare/1.94.0...1.94.1) - No user-visible changes. ### [`v1.94.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1940) [Compare Source](https://github.com/sass/dart-sass/compare/1.93.3...1.94.0) - **Potentially breaking compatibility fix:** `@function` rules whose names begin with `--` are now parsed as unknown at-rules to support the plain CSS `@function` rule. Within this rule, the `result` property is parsed as raw CSS just like custom properties. - **Potentially breaking compatibility fix:** `@mixin` rules whose names begin with `--` are now errors. These are not yet parsed as unknown at-rules because no browser currently supports CSS mixins. ### [`v1.93.3`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1933) [Compare Source](https://github.com/sass/dart-sass/compare/1.93.2...1.93.3) - Fix a performance regression that was introduced in 1.92.0. ### [`v1.93.2`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1932) [Compare Source](https://github.com/sass/dart-sass/compare/1.93.1...1.93.2) - No user-visible changes. ##### JavaScript API - Fix another error in the release process for `@sass/types`. ### [`v1.93.1`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1931) [Compare Source](https://github.com/sass/dart-sass/compare/1.93.0...1.93.1) - No user-visible changes. ##### JavaScript API - Fix an error in the release process for `@sass/types`. ### [`v1.93.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1930) [Compare Source](https://github.com/sass/dart-sass/compare/1.92.1...1.93.0) - Fix a crash when a style rule contains a nested `@import`, and the loaded file `@use`s a user-defined module as well as `@include`s a top-level mixin which emits top-level declarations. ##### JavaScript API - Release a `@sass/types` package which contains the type annotations used by both the `sass` and `sass-embedded` package without any additional code or dependencies. ### [`v1.92.1`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1921) [Compare Source](https://github.com/sass/dart-sass/compare/1.92.0...1.92.1) - Fix a bug where variable definitions from one imported, forwarded module would not be passed as implicit configuration to a later imported, forwarded module. ### [`v1.92.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1920) [Compare Source](https://github.com/sass/dart-sass/compare/1.91.0...1.92.0) - **Breaking change:** Emit declarations, childless at-rules, and comments in the order they appear in the source even when they're interleaved with nested rules. This obsoletes the `mixed-decls` deprecation. - **Breaking change:** The function name `type()` is now fully reserved for the plain CSS function. This means that `@function` definitions with the name `type` will produce errors, while function calls will be parsed as special function strings. - Configuring private variables using `@use ... with`, `@forward ... with`, and `meta.load-css(..., $with: ...)` is now deprecated. Private variables were always intended to be fully encapsulated within the module that defines them, and this helps enforce that encapsulation. - Fix a bug where `@extend` rules loaded through a mixture of `@import` and `@use` rules could fail to apply correctly. ##### Command-Line Interface - In `--watch` mode, delete the source map when the associated source file is deleted. ### [`v1.91.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1910) [Compare Source](https://github.com/sass/dart-sass/compare/1.90.0...1.91.0) - **Potentially breaking change:** `meta.inspect()` (as well as other systems that use it such as `@debug` and certain error messages) now emits numbers with as high precision as is available instead of rounding to the nearest 1e⁻¹⁰ as we do when serializing to CSS. This better fits the purpose of `meta.inspect()`, which is to provide full information about the structure of a Sass value. - Passing a rest argument (`$arg...`) before a positional or named argument when calling a function or mixin is now deprecated. This was always outside the specified syntax, but it was historically treated the same as passing the rest argument at the end of the argument list whether or not that matched the visual order of the arguments. ### [`v1.90.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1900) [Compare Source](https://github.com/sass/dart-sass/compare/1.89.2...1.90.0) - Allow a `@forward`ed module to be loaded with a configuration when that module has already been loaded with a different configuration *and* the module doesn't define any variables that would have been configured anyway. ### [`v1.89.2`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1892) [Compare Source](https://github.com/sass/dart-sass/compare/1.89.1...1.89.2) ##### Embedded Host - Fixed a compilation error caused by an outdated `buf` dependency. ### [`v1.89.1`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1891) [Compare Source](https://github.com/sass/dart-sass/compare/1.89.0...1.89.1) - No user-visible changes. ### [`v1.89.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1890) [Compare Source](https://github.com/sass/dart-sass/compare/1.88.0...1.89.0) - Allow the Node package importer to load files even when there are multiple potential resolutions, as long as those resolutions all point to the same file. ### [`v1.88.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1880) [Compare Source](https://github.com/sass/dart-sass/compare/1.87.0...1.88.0) - Allow custom properties with empty values (such as `--var:;`). - Fix a bug when calculating source spans for interpolations. ##### Dart and JS APIs - **Potentially breaking bug fix:** Throw an error when passing a function or mixin object from one compilation to another. ##### Dart API - Deprecate passing a relative URL to `compileString()` and related functions. ### [`v1.87.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1870) [Compare Source](https://github.com/sass/dart-sass/compare/1.86.3...1.87.0) - **Potentially breaking bug fix:** When a plain CSS file with a top-level nesting selector `&` is loaded into a nested Sass context via `meta.load-css()` or `@import`, Sass now emits plain CSS nesting rather than incorrectly combining it with the parent selector using a descendant combinator. ### [`v1.86.3`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1863) [Compare Source](https://github.com/sass/dart-sass/compare/1.86.2...1.86.3) - Fix a bug introduced in 1.86.1 where Sass fails to resolve paths starting with a `..` segment. ### [`v1.86.2`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1862) [Compare Source](https://github.com/sass/dart-sass/compare/1.86.1...1.86.2) - No user-visible changes. ### [`v1.86.1`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1861) [Compare Source](https://github.com/sass/dart-sass/compare/1.86.0...1.86.1) - Improve the performance of `file:` URL case canonicalization on Windows and Mac OS. ### [`v1.86.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1860) [Compare Source](https://github.com/sass/dart-sass/compare/1.85.1...1.86.0) - Add support for `%` as an expression in its own right. It will still be parsed as the modulo operator when between two other expressions, but in any other context it will be an expression whose value is the unquoted string `%`. - Consider `attr()` to be a special number function that can be used as a channel in color functions. - Deprecate user-defined functions named `type()` so that we can eventually support the new CSS `type()` function. ##### Dart API - Increase the minimum Dart SDK to 3.6.0. ### [`v1.85.1`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1851) [Compare Source](https://github.com/sass/dart-sass/compare/1.85.0...1.85.1) - Fix a bug where global Sass functions whose names overlap with CSS math functions could incorrectly be treated as CSS math functions even though they used Sass-only features, causing compilation failures. For example, `round(-$var / 2)` previously threw an error but now works as intended. </details> <details> <summary>npm/node-semver (semver)</summary> ### [`v7.7.3`](https://github.com/npm/node-semver/blob/HEAD/CHANGELOG.md#773-2025-10-06) [Compare Source](https://github.com/npm/node-semver/compare/v7.7.2...v7.7.3) ##### Bug Fixes - [`e37e0ca`](https://github.com/npm/node-semver/commit/e37e0ca0b5fc910d2b1948d25dbc83cc3a0921ea) [#&#8203;813](https://github.com/npm/node-semver/pull/813) faster paths for compare ([#&#8203;813](https://github.com/npm/node-semver/issues/813)) ([@&#8203;H4ad](https://github.com/H4ad)) - [`2471d75`](https://github.com/npm/node-semver/commit/2471d7543e2e63d9d95358e2405e7e1cde926c36) [#&#8203;811](https://github.com/npm/node-semver/pull/811) x-range build metadata support (i529015) ##### Chores - [`8f05c87`](https://github.com/npm/node-semver/commit/8f05c87f56a4123259b8c6d9324f53eadb02e48f) [#&#8203;807](https://github.com/npm/node-semver/pull/807) bump [@&#8203;npmcli/template-oss](https://github.com/npmcli/template-oss) from 4.25.0 to 4.25.1 ([#&#8203;807](https://github.com/npm/node-semver/issues/807)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot], [@&#8203;owlstronaut](https://github.com/owlstronaut)) ### [`v7.7.2`](https://github.com/npm/node-semver/blob/HEAD/CHANGELOG.md#772-2025-05-12) [Compare Source](https://github.com/npm/node-semver/compare/v7.7.1...v7.7.2) ##### Bug Fixes - [`fcafb61`](https://github.com/npm/node-semver/commit/fcafb61ed566ff8ccf24818dd94b76738f037aa4) [#&#8203;780](https://github.com/npm/node-semver/pull/780) add missing `'use strict'` directives ([#&#8203;780](https://github.com/npm/node-semver/issues/780)) ([@&#8203;Fdawgs](https://github.com/Fdawgs)) - [`c99f336`](https://github.com/npm/node-semver/commit/c99f336fa3bdff465652f9041eab2127d2f52eb2) [#&#8203;781](https://github.com/npm/node-semver/pull/781) prerelease identifier starting with digits ([#&#8203;781](https://github.com/npm/node-semver/issues/781)) ([@&#8203;mbtools](https://github.com/mbtools)) ##### Chores - [`c760403`](https://github.com/npm/node-semver/commit/c760403b935d3ad35f83e9bbe5ebe1badef2fc71) [#&#8203;784](https://github.com/npm/node-semver/pull/784) template-oss-apply for workflow permissions ([#&#8203;784](https://github.com/npm/node-semver/issues/784)) ([@&#8203;wraithgar](https://github.com/wraithgar)) - [`2677f2a`](https://github.com/npm/node-semver/commit/2677f2a88334b0e728dbfe9ad9f5f57458437c87) [#&#8203;778](https://github.com/npm/node-semver/pull/778) bump [@&#8203;npmcli/template-oss](https://github.com/npmcli/template-oss) from 4.23.6 to 4.24.3 ([#&#8203;778](https://github.com/npm/node-semver/issues/778)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot], [@&#8203;npm-cli-bot](https://github.com/npm-cli-bot)) </details> <details> <summary>microsoft/TypeScript (typescript)</summary> ### [`v5.9.3`](https://github.com/microsoft/TypeScript/releases/tag/v5.9.3): TypeScript 5.9.3 [Compare Source](https://github.com/microsoft/TypeScript/compare/v5.9.2...v5.9.3) Note: this tag was recreated to point at the correct commit. The npm package contained the correct content. For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/) - [fixed issues query for Typescript 5.9.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.9.0%22+is%3Aclosed+). - [fixed issues query for Typescript 5.9.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.9.1%22+is%3Aclosed+). - *No specific changes for TypeScript 5.9.2 (Stable)* - [fixed issues query for Typescript 5.9.3 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.9.3%22+is%3Aclosed+). Downloads are available on: - [npm](https://www.npmjs.com/package/typescript) ### [`v5.9.2`](https://github.com/microsoft/TypeScript/releases/tag/v5.9.2): TypeScript 5.9 [Compare Source](https://github.com/microsoft/TypeScript/compare/v5.8.3...v5.9.2) Note: this tag was recreated to point at the correct commit. The npm package contained the correct content. For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/) - [fixed issues query for Typescript 5.9.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.9.0%22+is%3Aclosed+). - [fixed issues query for Typescript 5.9.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.9.1%22+is%3Aclosed+). - *No specific changes for TypeScript 5.9.2 (Stable)* Downloads are available on: - [npm](https://www.npmjs.com/package/typescript) ### [`v5.8.3`](https://github.com/microsoft/TypeScript/releases/tag/v5.8.3): TypeScript 5.8.3 [Compare Source](https://github.com/microsoft/TypeScript/compare/v5.8.2...v5.8.3) Note: this tag was recreated to point at the correct commit. The npm package contained the correct content. For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/). - [fixed issues query for Typescript 5.8.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.8.0%22+is%3Aclosed+). - [fixed issues query for Typescript 5.8.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.8.1%22+is%3Aclosed+). - [fixed issues query for Typescript 5.8.2 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.8.2%22+is%3Aclosed+). - [fixed issues query for Typescript 5.8.3 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.8.3%22+is%3Aclosed+). Downloads are available on: - [npm](https://www.npmjs.com/package/typescript) ### [`v5.8.2`](https://github.com/microsoft/TypeScript/releases/tag/v5.8.2): TypeScript 5.8 [Compare Source](https://github.com/microsoft/TypeScript/compare/v5.7.3...v5.8.2) For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/). - [fixed issues query for Typescript 5.8.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.8.0%22+is%3Aclosed+). - [fixed issues query for Typescript 5.8.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.8.1%22+is%3Aclosed+). - [fixed issues query for Typescript 5.8.2 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.8.2%22+is%3Aclosed+). Downloads are available on: - [npm](https://www.npmjs.com/package/typescript) </details> <details> <summary>vitejs/vite (vite)</summary> ### [`v6.4.1`](https://github.com/vitejs/vite/releases/tag/v6.4.1) [Compare Source](https://github.com/vitejs/vite/compare/v6.4.0...v6.4.1) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.4.1/packages/vite/CHANGELOG.md) for details. ### [`v6.4.0`](https://github.com/vitejs/vite/releases/tag/v6.4.0) [Compare Source](https://github.com/vitejs/vite/compare/v6.3.7...v6.4.0) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.4.0/packages/vite/CHANGELOG.md) for details. ### [`v6.3.7`](https://github.com/vitejs/vite/releases/tag/v6.3.7) [Compare Source](https://github.com/vitejs/vite/compare/v6.3.6...v6.3.7) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.3.7/packages/vite/CHANGELOG.md) for details. ### [`v6.3.6`](https://github.com/vitejs/vite/releases/tag/v6.3.6) [Compare Source](https://github.com/vitejs/vite/compare/v6.3.5...v6.3.6) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.3.6/packages/vite/CHANGELOG.md) for details. ### [`v6.3.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#700-2025-06-24) [Compare Source](https://github.com/vitejs/vite/compare/v6.3.4...v6.3.5) ![Vite 7 is out!](../../docs/public/og-image-announcing-vite7.png) Today, we're excited to announce the release of the next Vite major: - **[Vite 7.0 announcement blog post](https://vite.dev/blog/announcing-vite7.html)** - [Docs](https://vite.dev/) (translations: [简体中文](https://cn.vite.dev/), [日本語](https://ja.vite.dev/), [Español](https://es.vite.dev/), [Português](https://pt.vite.dev/), [한국어](https://ko.vite.dev/), [Deutsch](https://de.vite.dev/), [فارسی](https://fa.vite.dev/)) - [Migration Guide](https://vite.dev/guide/migration.html) ##### ⚠ BREAKING CHANGES - **ssr:** don't access `Object` variable in ssr transformed code ([#&#8203;19996](https://github.com/vitejs/vite/issues/19996)) - remove `experimental.skipSsrTransform` option ([#&#8203;20038](https://github.com/vitejs/vite/issues/20038)) - remove `HotBroadcaster` ([#&#8203;19988](https://github.com/vitejs/vite/issues/19988)) - **css:** always use sass compiler API ([#&#8203;19978](https://github.com/vitejs/vite/issues/19978)) - bump `build.target` and name it `baseline-widely-available` ([#&#8203;20007](https://github.com/vitejs/vite/issues/20007)) - bump required node version to 20.19+, 22.12+ and remove cjs build ([#&#8203;20032](https://github.com/vitejs/vite/issues/20032)) - **css:** remove sass legacy API support ([#&#8203;19977](https://github.com/vitejs/vite/issues/19977)) - remove deprecated `HotBroadcaster` related types ([#&#8203;19987](https://github.com/vitejs/vite/issues/19987)) - remove deprecated no-op type only properties ([#&#8203;19985](https://github.com/vitejs/vite/issues/19985)) - remove node 18 support ([#&#8203;19972](https://github.com/vitejs/vite/issues/19972)) - remove deprecated hook-level `enforce`/`transform` from `transformIndexHtml` hook ([#&#8203;19349](https://github.com/vitejs/vite/issues/19349)) - remove deprecated splitVendorChunkPlugin ([#&#8203;19255](https://github.com/vitejs/vite/issues/19255)) ##### Features - **types:** use terser types from terser package ([#&#8203;20274](https://github.com/vitejs/vite/issues/20274)) ([a5799fa](https://github.com/vitejs/vite/commit/a5799fa74c6190ecbb2da3d280136ff32463afc6)) - apply some middlewares before `configurePreviewServer` hook ([#&#8203;20224](https://github.com/vitejs/vite/issues/20224)) ([b989c42](https://github.com/vitejs/vite/commit/b989c42cf84378e6cb93970de739941f0d56d6f6)) - apply some middlewares before `configureServer` hook ([#&#8203;20222](https://github.com/vitejs/vite/issues/20222)) ([f5cc4c0](https://github.com/vitejs/vite/commit/f5cc4c0ded337670b439e51bc95f173e2b5cf9ad)) - add base option to import.meta.glob ([#&#8203;20163](https://github.com/vitejs/vite/issues/20163)) ([253d6c6](https://github.com/vitejs/vite/commit/253d6c6df2ebe3c4a88dabb6cec000128681561f)) - add `this.meta.viteVersion` ([#&#8203;20088](https://github.com/vitejs/vite/issues/20088)) ([f55bf41](https://github.com/vitejs/vite/commit/f55bf41e91f8dfe829a46e58f0035b19c8ab6a25)) - allow passing down resolved config to vite's `createServer` ([#&#8203;19894](https://github.com/vitejs/vite/issues/19894)) ([c1ae9bd](https://github.com/vitejs/vite/commit/c1ae9bd4a0542b4703ae7766ad61d072e8b833bd)) - buildApp hook ([#&#8203;19971](https://github.com/vitejs/vite/issues/19971)) ([5da659d](https://github.com/vitejs/vite/commit/5da659de902f0a2d6d8beefbf269128383b63887)) - **build:** provide names for asset entrypoints ([#&#8203;19912](https://github.com/vitejs/vite/issues/19912)) ([c4e01dc](https://github.com/vitejs/vite/commit/c4e01dc5ab0f1708383c39d28ce62e12b8f374fc)) - bump `build.target` and name it `baseline-widely-available` ([#&#8203;20007](https://github.com/vitejs/vite/issues/20007)) ([4a8aa82](https://github.com/vitejs/vite/commit/4a8aa82556eb2b9e54673a6aac77873e0eb27fa9)) - **client:** support opening fileURL in editor ([#&#8203;20040](https://github.com/vitejs/vite/issues/20040)) ([1bde4d2](https://github.com/vitejs/vite/commit/1bde4d25243cd9beaadb01413e896fef562626ef)) - make PluginContext available for Vite-specific hooks ([#&#8203;19936](https://github.com/vitejs/vite/issues/19936)) ([7063839](https://github.com/vitejs/vite/commit/7063839d47dfd4ac6be1247ba68e414ffe287b00)) - resolve environments plugins at config time ([#&#8203;20120](https://github.com/vitejs/vite/issues/20120)) ([f6a28d5](https://github.com/vitejs/vite/commit/f6a28d5f792ba5cc4dc236e3e6edd05199cabcc8)) - stabilize `css.preprocessorMaxWorkers` and default to `true` ([#&#8203;19992](https://github.com/vitejs/vite/issues/19992)) ([70aee13](https://github.com/vitejs/vite/commit/70aee139ea802478bad56e5e441f187140bcf0cc)) - stabilize `optimizeDeps.noDiscovery` ([#&#8203;19984](https://github.com/vitejs/vite/issues/19984)) ([6d2dcb4](https://github.com/vitejs/vite/commit/6d2dcb494db9f40565f11b50bdbb8c1b7245697d)) ##### Bug Fixes - **deps:** update all non-major dependencies ([#&#8203;20271](https://github.com/vitejs/vite/issues/20271)) ([6b64d63](https://github.com/vitejs/vite/commit/6b64d63d700154de2c00270300b671cef8863708)) - keep `import.meta.url` in bundled Vite ([#&#8203;20235](https://github.com/vitejs/vite/issues/20235)) ([3bf3a8a](https://github.com/vitejs/vite/commit/3bf3a8ab00e5a0dfab0bb5741cb871ea30b72651)) - **module-runner:** export `ssrExportNameKey` ([#&#8203;20266](https://github.com/vitejs/vite/issues/20266)) ([ac302a7](https://github.com/vitejs/vite/commit/ac302a729062dbfc67f762b3c4af46b7893c214f)) - **module-runner:** expose `normalizeModuleId` ([#&#8203;20277](https://github.com/vitejs/vite/issues/20277)) ([9b98dcb](https://github.com/vitejs/vite/commit/9b98dcbf75546240e1609185828e18a77bac8c8d)) - **deps:** update all non-major dependencies ([#&#8203;20181](https://github.com/vitejs/vite/issues/20181)) ([d91d4f7](https://github.com/vitejs/vite/commit/d91d4f7ad55edbcb4a51fc23376cbff89f776d30)) - **deps:** update all non-major dependencies ([#&#8203;20212](https://github.com/vitejs/vite/issues/20212)) ([a80339b](https://github.com/vitejs/vite/commit/a80339b1798607dd7389f42964272181cf9eb453)) - align dynamic import detection ([#&#8203;20115](https://github.com/vitejs/vite/issues/20115)) ([1ea2222](https://github.com/vitejs/vite/commit/1ea2222302f128c4000289683480d8311ea34223)) - applyToEnvironment after configResolved ([#&#8203;20170](https://github.com/vitejs/vite/issues/20170)) ([a330b80](https://github.com/vitejs/vite/commit/a330b805b0733fadd1f7d586218c2aafcbb41a7f)) - **deps:** update all non-major dependencies ([#&#8203;20141](https://github.com/vitejs/vite/issues/20141)) ([89ca65b](https://github.com/vitejs/vite/commit/89ca65ba1d849046dccdea52e9eca980f331be26)) - handle dynamic import with `.then(m => m.a)` ([#&#8203;20117](https://github.com/vitejs/vite/issues/20117)) ([7b7410a](https://github.com/vitejs/vite/commit/7b7410abab7c95880d943e46bd1a16dcb1a893fc)) - **hmr:** use monotonicDateNow for timestamp ([#&#8203;20158](https://github.com/vitejs/vite/issues/20158)) ([8d26785](https://github.com/vitejs/vite/commit/8d26785b8c3f5295ca0c1519dda1ddae9096fc73)) - **optimizer:** align relative `build.rollupOptions.input` resolution with rollup ([#&#8203;20080](https://github.com/vitejs/vite/issues/20080)) ([9759c29](https://github.com/vitejs/vite/commit/9759c29a8985da1a51de452d741850f0bf2ef7ef)) - **ssr:** don't access `Object` variable in ssr transformed code ([#&#8203;19996](https://github.com/vitejs/vite/issues/19996)) ([fceff60](https://github.com/vitejs/vite/commit/fceff60dc81730f7768b57f14e7a112facff387d)) - **types:** prefer sass-embedded types over sass types for `preprocessorOptions.sass` (fix [#&#8203;20150](https://github.com/vitejs/vite/issues/20150)) ([#&#8203;20166](https://github.com/vitejs/vite/issues/20166)) ([7db56be](https://github.com/vitejs/vite/commit/7db56be237dd1e1e875518475421d5c90cf950da)) - virtual svg module ([#&#8203;20144](https://github.com/vitejs/vite/issues/20144)) ([7dfcb31](https://github.com/vitejs/vite/commit/7dfcb316ee64aca0a98a1d2905deb1dfd113ae6d)) - **client:** render the last part of the stacktrace ([#&#8203;20039](https://github.com/vitejs/vite/issues/20039)) ([c7c1743](https://github.com/vitejs/vite/commit/c7c17434968848f1471179c10a5fc9d2804add8b)) - **cli:** make `cleanGlobalCLIOptions()` clean `--force` ([#&#8203;19999](https://github.com/vitejs/vite/issues/19999)) ([d4a171a](https://github.com/vitejs/vite/commit/d4a171afd387000789172a94c94a1c33c0856f85)) - **css:** remove alias exclude logic from rebaseUrl ([#&#8203;20100](https://github.com/vitejs/vite/issues/20100)) ([44c6d01](https://github.com/vitejs/vite/commit/44c6d0111f95c8aa44d6a09a768e8cf02232ed29)) - **css:** sass rebase url in relative imported modules ([#&#8203;20067](https://github.com/vitejs/vite/issues/20067)) ([261fad9](https://github.com/vitejs/vite/commit/261fad9b8e6380c84b8692b3fbe18d6f37d367bd)) - **css:** should not wrap with double quote when the url rebase feature bailed out ([#&#8203;20068](https://github.com/vitejs/vite/issues/20068)) ([a33d0c7](https://github.com/vitejs/vite/commit/a33d0c7d65d9fff9acd5de0cf3c4d371297b3990)) - **deps:** update all non-major dependencies ([#&#8203;19953](https://github.com/vitejs/vite/issues/19953)) ([ac8e1fb](https://github.com/vitejs/vite/commit/ac8e1fb289a06fc0671dab1f4ef68e508e34360e)) - **deps:** update all non-major dependencies ([#&#8203;20061](https://github.com/vitejs/vite/issues/20061)) ([7b58856](https://github.com/vitejs/vite/commit/7b588563636a6f735a6e25832f33fc08572b25d9)) - importing an optional peer dep should throw an runtime error ([#&#8203;20029](https://github.com/vitejs/vite/issues/20029)) ([d0221cd](https://github.com/vitejs/vite/commit/d0221cd7383c18d67a5ef594da52e6aa5fc4d87b)) - merge `environments.*.resolve.noExternal` properly ([#&#8203;20077](https://github.com/vitejs/vite/issues/20077)) ([daf4a25](https://github.com/vitejs/vite/commit/daf4a25a1c0a37c992606e6ae159e13190c2e101)) - merge `server.allowedHosts: true` correctly ([#&#8203;20138](https://github.com/vitejs/vite/issues/20138)) ([2ade756](https://github.com/vitejs/vite/commit/2ade756c9549a52d804797d45da37c8429a51fd3)) - **optimizer:** non object module.exports for Node builtin modules in CJS external facade ([#&#8203;20048](https://github.com/vitejs/vite/issues/20048)) ([00ac6e4](https://github.com/vitejs/vite/commit/00ac6e410eeb15719fe020fd497f0336e7fd1aa8)) - **optimizer:** show error when `computeEntries` failed ([#&#8203;20079](https://github.com/vitejs/vite/issues/20079)) ([b742b46](https://github.com/vitejs/vite/commit/b742b46f8308a71c1d2aa426eade0c50cbf1480f)) - treat all `optimizeDeps.entries` values as globs ([#&#8203;20045](https://github.com/vitejs/vite/issues/20045)) ([1422395](https://github.com/vitejs/vite/commit/142239588d6752c5b91d435aee9b4a6c00b7f924)) - **types:** expose additional PluginContext types ([#&#8203;20129](https://github.com/vitejs/vite/issues/20129)) ([b6df9aa](https://github.com/vitejs/vite/commit/b6df9aac3320cd953f6d45ad9245a7b564f67cc1)) ##### Performance Improvements - **utils:** improve performance of `numberToPos` ([#&#8203;20244](https://github.com/vitejs/vite/issues/20244)) ([3f46901](https://github.com/vitejs/vite/commit/3f469012ad38e3cb330adc74a8b3ec88561c822e)) ##### Documentation - tiny typo ([#&#8203;20110](https://github.com/vitejs/vite/issues/20110)) ([d20fc2c](https://github.com/vitejs/vite/commit/d20fc2cdc9700513425b18b625e01224f61e4eab)) ##### Miscellaneous Chores - "indentity" → "identity" in test description ([#&#8203;20225](https://github.com/vitejs/vite/issues/20225)) ([ea9aed7](https://github.com/vitejs/vite/commit/ea9aed7ebcb7f4be542bd2a384cbcb5a1e7b31bd)) - **deps:** update rolldown-related dependencies ([#&#8203;20270](https://github.com/vitejs/vite/issues/20270)) ([f7377c3](https://github.com/vitejs/vite/commit/f7377c3eae6323bd3237ff5de5ae55c879fe7325)) - typos in comments ([#&#8203;20259](https://github.com/vitejs/vite/issues/20259)) ([b135918](https://github.com/vitejs/vite/commit/b135918b91e8381c50bd2d076d40e9a65fe68bfe)) - **deps:** update rolldown-related dependencies ([#&#8203;20182](https://github.com/vitejs/vite/issues/20182)) ([6172f41](https://github.com/vitejs/vite/commit/6172f410b44cbae8d052997bb1819a6197a4d397)) - **deps:** update rolldown-related dependencies ([#&#8203;20211](https://github.com/vitejs/vite/issues/20211)) ([b13b7f5](https://github.com/vitejs/vite/commit/b13b7f5e21fe05c3214766b3de584a026fbfe144)) - add a way to disable source maps when developing Vite ([#&#8203;20168](https://github.com/vitejs/vite/issues/20168)) ([3a30c0a](https://github.com/vitejs/vite/commit/3a30c0a084a1b92a6265f8900df89e5102418e5e)) - **deps:** update rolldown-related dependencies ([#&#8203;20140](https://github.com/vitejs/vite/issues/20140)) ([0387447](https://github.com/vitejs/vite/commit/03874471e3de14e7d2f474ecb354499e7f5eb418)) - fix source map support when developing Vite ([#&#8203;20167](https://github.com/vitejs/vite/issues/20167)) ([279ab0d](https://github.com/vitejs/vite/commit/279ab0dc954c5e986810b78efa7fe898945f8f21)) - use destructuring alias in buildEnvironment function ([#&#8203;19472](https://github.com/vitejs/vite/issues/19472)) ([501572a](https://github.com/vitejs/vite/commit/501572a9a3e1e22ab7e19afb5b13d3f54da67c37)) - declare version range for peer dependencies ([#&#8203;19979](https://github.com/vitejs/vite/issues/19979)) ([c9bfd57](https://github.com/vitejs/vite/commit/c9bfd578f4c56314c6c6d6f34e49fe494ae11072)) - deprecate `ResolvedConfig.createResolver` and recommend `createIdResolver` ([#&#8203;20031](https://github.com/vitejs/vite/issues/20031)) ([d101d64](https://github.com/vitejs/vite/commit/d101d64722f82ed681b833bfd3fb394eeb496e21)) - fix comment for `devEnvironmentOptions.moduleRunnerTransform` ([#&#8203;20035](https://github.com/vitejs/vite/issues/20035)) ([338081d](https://github.com/vitejs/vite/commit/338081df9649f68484416d199113fc67abbb6cd5)) - generate dts internally by rolldown-plugin-dts ([#&#8203;20093](https://github.com/vitejs/vite/issues/20093)) ([a66afa3](https://github.com/vitejs/vite/commit/a66afa33bd92e2be6ee1d52b8fffa49da266adab)) - remove deprecated splitVendorChunkPlugin ([#&#8203;19255](https://github.com/vitejs/vite/issues/19255)) ([91a92c7](https://github.com/vitejs/vite/commit/91a92c7e1eaf55cd5d5cfa49c546e130045e7dee)) - remove node 18 support ([#&#8203;19972](https://github.com/vitejs/vite/issues/19972)) ([00b8a98](https://github.com/vitejs/vite/commit/00b8a98f36376804437e1342265453915ae613de)) - remove redundant word in comment ([#&#8203;20139](https://github.com/vitejs/vite/issues/20139)) ([9b2964d](https://github.com/vitejs/vite/commit/9b2964df79d31b17e6b387e7fc082753f8ee5774)) - remove unused deps ([#&#8203;20097](https://github.com/vitejs/vite/issues/20097)) ([d11ae6b](https://github.com/vitejs/vite/commit/d11ae6bca808407a9f0fb4f9c1cb8496a705c2d7)) - rename rollup to rolldown where appropriate ([#&#8203;20096](https://github.com/vitejs/vite/issues/20096)) ([306e250](https://github.com/vitejs/vite/commit/306e250a94e12584b4182db8ec531750b3d9e3ba)) - speed up typechecking ([#&#8203;20131](https://github.com/vitejs/vite/issues/20131)) ([a357c19](https://github.com/vitejs/vite/commit/a357c1987f332519d7bacafebc5620c7ab534d8f)) - use plugin hooks filter for `patch-types` plugin for bundling vite ([#&#8203;20089](https://github.com/vitejs/vite/issues/20089)) ([c127955](https://github.com/vitejs/vite/commit/c12795522fd95d3535100293f4cf53c53c3f301f)) - use rolldown to bundle Vite itself ([#&#8203;19925](https://github.com/vitejs/vite/issues/19925)) ([7753b02](https://github.com/vitejs/vite/commit/7753b028848d9e23bcea5f00565207f2d1de8291)) - use rolldown-plugin-dts for dts bundling ([#&#8203;19990](https://github.com/vitejs/vite/issues/19990)) ([449d7f3](https://github.com/vitejs/vite/commit/449d7f30a85ae70eb0037fdab0b1ebf2e4927a24)) ##### Code Refactoring - **worker:** set virtual file content in load hook ([#&#8203;20160](https://github.com/vitejs/vite/issues/20160)) ([0d60667](https://github.com/vitejs/vite/commit/0d60667e03d91cc0d48dd2cdbd8154d94e0aba74)) - bump required node version to 20.19+, 22.12+ and remove cjs build ([#&#8203;20032](https://github.com/vitejs/vite/issues/20032)) ([2b80243](https://github.com/vitejs/vite/commit/2b80243fada75378e80475028fdcc78f4432bd6f)) - **css:** always use sass compiler API ([#&#8203;19978](https://github.com/vitejs/vite/issues/19978)) ([3bfe5c5](https://github.com/vitejs/vite/commit/3bfe5c5ff96af0a0624c8f14503ef87a0c0850ed)) - **css:** remove sass legacy API support ([#&#8203;19977](https://github.com/vitejs/vite/issues/19977)) ([6eaccc9](https://github.com/vitejs/vite/commit/6eaccc9009d718a1afcff2af587e81eb959f5b60)) - merge `src/node/publicUtils.ts` to `src/node/index.ts` ([#&#8203;20086](https://github.com/vitejs/vite/issues/20086)) ([999a1ed](https://github.com/vitejs/vite/commit/999a1ed8dff5117b2fd205c4e5384b6ac2ede80e)) - remove `experimental.skipSsrTransform` option ([#&#8203;20038](https://github.com/vitejs/vite/issues/20038)) ([6c3dd8e](https://github.com/vitejs/vite/commit/6c3dd8e46fa77060603679cda91a4c8d01d095ab)) - remove `HotBroadcaster` ([#&#8203;19988](https://github.com/vitejs/vite/issues/19988)) ([cda8c94](https://github.com/vitejs/vite/commit/cda8c947934466da27e874b6c064451cf73f03e5)) - remove `options?.ssr` support in clientInjectionsPlugin ([#&#8203;19589](https://github.com/vitejs/vite/issues/19589)) ([88e0076](https://github.com/vitejs/vite/commit/88e00765dbd3de4cb073c722dce3e8ef60c3a50e)) - remove backward compat for calling internal plugins directly ([#&#8203;20001](https://github.com/vitejs/vite/issues/20001)) ([9072a72](https://github.com/vitejs/vite/commit/9072a726731eccee32d38f04747fda8793ccc82a)) - remove deprecated `HotBroadcaster` related types ([#&#8203;19987](https://github.com/vitejs/vite/issues/19987)) ([86b5e00](https://github.com/vitejs/vite/commit/86b5e0030bf204f8f2db0cf8ee895ab3ecf154b8)) - remove deprecated env api properties ([#&#8203;19986](https://github.com/vitejs/vite/issues/19986)) ([52e5a1b](https://github.com/vitejs/vite/commit/52e5a1b32d0ce7604b633f001a352124e3ec623a)) - remove deprecated hook-level `enforce`/`transform` from `transformIndexHtml` hook ([#&#8203;19349](https://github.com/vitejs/vite/issues/19349)) ([6198b9d](https://github.com/vitejs/vite/commit/6198b9d2a32f7bd17b3332525a98c06d9a425fb1)) - remove deprecated no-op type only properties ([#&#8203;19985](https://github.com/vitejs/vite/issues/19985)) ([9151c24](https://github.com/vitejs/vite/commit/9151c2400f6ab494f73d78aea4435b7c1ef5fc30)) - remove no-op `legacy.proxySsrExternalModules` ([#&#8203;20013](https://github.com/vitejs/vite/issues/20013)) ([a37ac83](https://github.com/vitejs/vite/commit/a37ac836ac4da8e854d98c65450f12acb921aa98)) - **ssr:** remove ssrTransform line offset preservation ([#&#8203;19829](https://github.com/vitejs/vite/issues/19829)) ([61b6b96](https://github.com/vitejs/vite/commit/61b6b96b191c6071b9c574ad4c795f97f2646f18)) - use `hostValidationMiddleware` ([#&#8203;20019](https://github.com/vitejs/vite/issues/20019)) ([83bf90e](https://github.com/vitejs/vite/commit/83bf90edd5856ed6e27051e3e9a6032e02242b18)) - use `mergeWithDefaults` for experimental option ([#&#8203;20012](https://github.com/vitejs/vite/issues/20012)) ([98c5741](https://github.com/vitejs/vite/commit/98c57419426201596a962746436e5ad1aeef4eac)) - use hook filters from rollup ([#&#8203;19755](https://github.com/vitejs/vite/issues/19755)) ([0d18fc1](https://github.com/vitejs/vite/commit/0d18fc1dc65f5c8d855808f23754c0c4902f07d9)) ##### Tests - correct esbuild `useDefineForClassFields` test ([#&#8203;20143](https://github.com/vitejs/vite/issues/20143)) ([d90796e](https://github.com/vitejs/vite/commit/d90796ece7d30d1879d74c422628be30d1c90a7f)) - skip writing files in build hook filter test ([#&#8203;20076](https://github.com/vitejs/vite/issues/20076)) ([bf8b07d](https://github.com/vitejs/vite/commit/bf8b07da3e64dc4de446a9b24a33d5822a7736b9)) ##### Continuous Integration - run tests on Node 24 as well ([#&#8203;20049](https://github.com/vitejs/vite/issues/20049)) ([1fe07d3](https://github.com/vitejs/vite/commit/1fe07d3716012992dd7b2e78d8380add0b606a97)) ##### Beta Changelogs ##### [7.0.0-beta.2](https://github.com/vitejs/vite/compare/v7.0.0-beta.1...v7.0.0-beta.2) (2025-06-17) See [7.0.0-beta.2 changelog](https://github.com/vitejs/vite/blob/v7.0.0-beta.2/packages/vite/CHANGELOG.md) ##### [7.0.0-beta.1](https://github.com/vitejs/vite/compare/v7.0.0-beta.0...v7.0.0-beta.1) (2025-06-10) See [7.0.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v7.0.0-beta.1/packages/vite/CHANGELOG.md) ##### [7.0.0-beta.0](https://github.com/vitejs/vite/compare/6.3.5...v7.0.0-beta.0) (2025-06-02) See [7.0.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v7.0.0-beta.0/packages/vite/CHANGELOG.md) ### [`v6.3.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-634-2025-04-30-small) [Compare Source](https://github.com/vitejs/vite/compare/v6.3.3...v6.3.4) ##### Bug Fixes - check static serve file inside sirv ([#&#8203;19965](https://github.com/vitejs/vite/issues/19965)) ([c22c43d](https://github.com/vitejs/vite/commit/c22c43de612eebb6c182dd67850c24e4fab8cacb)) - **optimizer:** return plain object when using `require` to import externals in optimized dependencies ([#&#8203;19940](https://github.com/vitejs/vite/issues/19940)) ([efc5eab](https://github.com/vitejs/vite/commit/efc5eab253419fde0a6a48b8d2f233063d6a9643)) ##### Code Refactoring - remove duplicate plugin context type ([#&#8203;19935](https://github.com/vitejs/vite/issues/19935)) ([d6d01c2](https://github.com/vitejs/vite/commit/d6d01c2292fa4f9603e05b95d81c8724314c20e0)) ### [`v6.3.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-633-2025-04-24-small) [Compare Source](https://github.com/vitejs/vite/compare/v6.3.2...v6.3.3) ##### Bug Fixes - **assets:** ensure ?no-inline is not included in the asset url in the production environment ([#&#8203;19496](https://github.com/vitejs/vite/issues/19496)) ([16a73c0](https://github.com/vitejs/vite/commit/16a73c05d35daa34117a173784895546212db5f4)) - **css:** resolve relative imports in sass properly on Windows ([#&#8203;19920](https://github.com/vitejs/vite/issues/19920)) ([ffab442](https://github.com/vitejs/vite/commit/ffab44270488f54ae344801024474b597249071b)) - **deps:** update all non-major dependencies ([#&#8203;19899](https://github.com/vitejs/vite/issues/19899)) ([a4b500e](https://github.com/vitejs/vite/commit/a4b500ef9ccc9b19a2882156a9ba8397e69bc6b2)) - ignore malformed uris in tranform middleware ([#&#8203;19853](https://github.com/vitejs/vite/issues/19853)) ([e4d5201](https://github.com/vitejs/vite/commit/e4d520141bcd83ad61f16767348b4a813bf9340a)) - **ssr:** fix execution order of re-export ([#&#8203;19841](https://github.com/vitejs/vite/issues/19841)) ([ed29dee](https://github.com/vitejs/vite/commit/ed29dee2eb2e3573b2bc337e1a9124c65222a1e5)) - **ssr:** fix live binding of default export declaration and hoist exports getter ([#&#8203;19842](https://github.com/vitejs/vite/issues/19842)) ([80a91ff](https://github.com/vitejs/vite/commit/80a91ff82426a4c88d54b9f5ec9a4205cb13899b)) ##### Performance Improvements - skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#&#8203;19921](https://github.com/vitejs/vite/issues/19921)) ([55cfd04](https://github.com/vitejs/vite/commit/55cfd04b10f98cde7a96814a69b9813543ea79c2)) ##### Tests - **ssr:** test `ssrTransform` re-export deps and test stacktrace with first line ([#&#8203;19629](https://github.com/vitejs/vite/issues/19629)) ([9399cda](https://github.com/vitejs/vite/commit/9399cdaf8c3b2efd5f4015d57dc3b0e4e5b91a9d)) ### [`v6.3.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-632-2025-04-18-small) [Compare Source](https://github.com/vitejs/vite/compare/v6.3.1...v6.3.2) ##### Features - **css:** improve lightningcss messages ([#&#8203;19880](https://github.com/vitejs/vite/issues/19880)) ([c713f79](https://github.com/vitejs/vite/commit/c713f79b5a4bd98542d8dbe4c85ba4cce9b1f358)) ##### Bug Fixes - **css:** respect `css.lightningcss` option in css minification process ([#&#8203;19879](https://github.com/vitejs/vite/issues/19879)) ([b5055e0](https://github.com/vitejs/vite/commit/b5055e0dd4c0e084115c3dbfead5736a54807e0c)) - **deps:** update all non-major dependencies ([#&#8203;19698](https://github.com/vitejs/vite/issues/19698)) ([bab4cb9](https://github.com/vitejs/vite/commit/bab4cb92248adf6b9b18df12b2bf03889b0bd1eb)) - match default asserts case insensitive ([#&#8203;19852](https://github.com/vitejs/vite/issues/19852)) ([cbdab1d](https://github.com/vitejs/vite/commit/cbdab1d6a30e07263ec51b2ca042369e736adec6)) - open first url if host does not match any urls ([#&#8203;19886](https://github.com/vitejs/vite/issues/19886)) ([6abbdce](https://github.com/vitejs/vite/commit/6abbdce3d77990409e12380e72c7ec9dd3f8bec5)) ### [`v6.3.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-631-2025-04-17-small) [Compare Source](https://github.com/vitejs/vite/compare/v6.3.0...v6.3.1) ##### Bug Fixes - avoid using `Promise.allSettled` in preload function ([#&#8203;19805](https://github.com/vitejs/vite/issues/19805)) ([35c7f35](https://github.com/vitejs/vite/commit/35c7f35e2b67f2158ededf2af58ecec53b3f16c5)) - backward compat for internal plugin `transform` calls ([#&#8203;19878](https://github.com/vitejs/vite/issues/19878)) ([a152b7c](https://github.com/vitejs/vite/commit/a152b7cbac72e05668f8fc23074d531ecebb77a5)) ### [`v6.3.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#630-2025-04-16) [Compare Source](https://github.com/vitejs/vite/compare/v6.2.7...v6.3.0) ##### Bug Fixes - **hmr:** avoid infinite loop happening with `hot.invalidate` in circular deps ([#&#8203;19870](https://github.com/vitejs/vite/issues/19870)) ([d4ee5e8](https://github.com/vitejs/vite/commit/d4ee5e8655a85f4d6bebc695b063d69406ab53ac)) - **preview:** use host url to open browser ([#&#8203;19836](https://github.com/vitejs/vite/issues/19836)) ([5003434](https://github.com/vitejs/vite/commit/50034340401b4043bb0b158f18ffb7ae1b7f5c86)) ### [`v6.2.7`](https://github.com/vitejs/vite/releases/tag/v6.2.7) [Compare Source](https://github.com/vitejs/vite/compare/v6.2.6...v6.2.7) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.2.7/packages/vite/CHANGELOG.md) for details. ### [`v6.2.6`](https://github.com/vitejs/vite/releases/tag/v6.2.6) [Compare Source](https://github.com/vitejs/vite/compare/v6.2.5...v6.2.6) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.2.6/packages/vite/CHANGELOG.md) for details. ### [`v6.2.5`](https://github.com/vitejs/vite/releases/tag/v6.2.5) [Compare Source](https://github.com/vitejs/vite/compare/v6.2.4...v6.2.5) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.2.5/packages/vite/CHANGELOG.md) for details. ### [`v6.2.4`](https://github.com/vitejs/vite/releases/tag/v6.2.4) [Compare Source](https://github.com/vitejs/vite/compare/v6.2.3...v6.2.4) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.2.4/packages/vite/CHANGELOG.md) for details. ### [`v6.2.3`](https://github.com/vitejs/vite/releases/tag/v6.2.3) [Compare Source](https://github.com/vitejs/vite/compare/v6.2.2...v6.2.3) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.2.3/packages/vite/CHANGELOG.md) for details. ### [`v6.2.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-622-2025-03-14-small) [Compare Source](https://github.com/vitejs/vite/compare/v6.2.1...v6.2.2) ##### Features - show friendly error for malformed `base` ([#&#8203;19616](https://github.com/vitejs/vite/issues/19616)) ([2476391](https://github.com/vitejs/vite/commit/2476391b2854aaa67d0ed317b6d0c462e68028f7)) - **worker:** show asset filename conflict warning ([#&#8203;19591](https://github.com/vitejs/vite/issues/19591)) ([367d968](https://github.com/vitejs/vite/commit/367d968fbf584e9f0e17192b816e92e8045c6217)) ##### Bug Fixes - await client buildStart on top level buildStart ([#&#8203;19624](https://github.com/vitejs/vite/issues/19624)) ([b31faab](https://github.com/vitejs/vite/commit/b31faab2a81b839e4b747baeb9c7a7cbb724f8d2)) - **css:** inline css correctly for double quote use strict ([#&#8203;19590](https://github.com/vitejs/vite/issues/19590)) ([d0aa833](https://github.com/vitejs/vite/commit/d0aa833296668fc420a27a1ea88ecdbdeacdbce7)) - **deps:** update all non-major dependencies ([#&#8203;19613](https://github.com/vitejs/vite/issues/19613)) ([363d691](https://github.com/vitejs/vite/commit/363d691b4995d72f26a14eb59ed88a9483b1f931)) - **indexHtml:** ensure correct URL when querying module graph ([#&#8203;19601](https://github.com/vitejs/vite/issues/19601)) ([dc5395a](https://github.com/vitejs/vite/commit/dc5395a27e44066ef7725278c4057d9f1071a53f)) - **preview:** use preview https config, not server ([#&#8203;19633](https://github.com/vitejs/vite/issues/19633)) ([98b3160](https://github.com/vitejs/vite/commit/98b3160fa5916189e756cd7c5aae87e0d8f1978e)) - **ssr:** use optional chaining to prevent "undefined is not an object" happening in `ssrRewriteStacktrace` ([#&#8203;19612](https://github.com/vitejs/vite/issues/19612)) ([4309755](https://github.com/vitejs/vite/commit/43097550a1aa8ff633c39fb197b5f9ac1222119b)) ##### Miscellaneous Chores - extend commit hash correctly when ambigious with a non-commit object ([#&#8203;19600](https://github.com/vitejs/vite/issues/19600)) ([89a6287](https://github.com/vitejs/vite/commit/89a62873243805518b672212db7e317989c5c197)) ### [`v6.2.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-621-2025-03-07-small) [Compare Source](https://github.com/vitejs/vite/compare/v6.2.0...v6.2.1) ##### Features - add `*?url&no-inline` type and warning for `.json?inline` / `.json?no-inline` ([#&#8203;19566](https://github.com/vitejs/vite/issues/19566)) ([c0d3667](https://github.com/vitejs/vite/commit/c0d36677cd305e8fa89153ed6305f0e0df43d289)) ##### Bug Fixes - **css:** stabilize css module hashes with lightningcss in dev mode ([#&#8203;19481](https://github.com/vitejs/vite/issues/19481)) ([92125b4](https://github.com/vitejs/vite/commit/92125b41e4caa3e862bf5fd9b1941546f25d9bf2)) - **deps:** update all non-major dependencies ([#&#8203;19555](https://github.com/vitejs/vite/issues/19555)) ([f612e0f](https://github.com/vitejs/vite/commit/f612e0fdf6810317b61fcca1ded125755f261d78)) - **reporter:** fix incorrect bundle size calculation with non-ASCII characters ([#&#8203;19561](https://github.com/vitejs/vite/issues/19561)) ([437c0ed](https://github.com/vitejs/vite/commit/437c0ed8baa6739bbe944779b9e7515f9035046a)) - **sourcemap:** combine sourcemaps with multiple sources without matched source ([#&#8203;18971](https://github.com/vitejs/vite/issues/18971)) ([e3f6ae1](https://github.com/vitejs/vite/commit/e3f6ae14f7a93118d7341de7379967f815725c4b)) - **ssr:** named export should overwrite export all ([#&#8203;19534](https://github.com/vitejs/vite/issues/19534)) ([2fd2fc1](https://github.com/vitejs/vite/commit/2fd2fc110738622651d361488767734cc23c34dd)) ##### Performance Improvements - flush compile cache after 10s ([#&#8203;19537](https://github.com/vitejs/vite/issues/19537)) ([6c8a5a2](https://github.com/vitejs/vite/commit/6c8a5a27e645a182f5b03a4ed6aa726eab85993f)) ##### Miscellaneous Chores - **css:** move environment destructuring after condition check ([#&#8203;19492](https://github.com/vitejs/vite/issues/19492)) ([c9eda23](https://github.com/vitejs/vite/commit/c9eda2348c244d591d23f131c6ddf262b256cbf0)) - **html:** remove unnecessary value check ([#&#8203;19491](https://github.com/vitejs/vite/issues/19491)) ([797959f](https://github.com/vitejs/vite/commit/797959f01da583b85a0be1dc89f762fd01d138db)) ##### Code Refactoring - remove `isBuild` check from preAliasPlugin ([#&#8203;19587](https://github.com/vitejs/vite/issues/19587)) ([c9e086d](https://github.com/vitejs/vite/commit/c9e086d35ac35ee1c6d85d48369e8a67a2ba6bfe)) - restore endsWith usage ([#&#8203;19554](https://github.com/vitejs/vite/issues/19554)) ([6113a96](https://github.com/vitejs/vite/commit/6113a9670cc9b7d29fe0bffe033f7823e36ded00)) - use `applyToEnvironment` in internal plugins ([#&#8203;19588](https://github.com/vitejs/vite/issues/19588)) ([f678442](https://github.com/vitejs/vite/commit/f678442d5701a00648a745956f9d884247e4e710)) ##### Tests - add glob import test case ([#&#8203;19516](https://github.com/vitejs/vite/issues/19516)) ([aa1d807](https://github.com/vitejs/vite/commit/aa1d8075cc7ce7fbba62fea9e37ccb9b304fc039)) - convert config playground to unit tests ([#&#8203;19568](https://github.com/vitejs/vite/issues/19568)) ([c0e68da](https://github.com/vitejs/vite/commit/c0e68da4774f3487e9ba0c4d4d2c5e76bdc890ea)) - convert resolve-config playground to unit tests ([#&#8203;19567](https://github.com/vitejs/vite/issues/19567)) ([db5fb48](https://github.com/vitejs/vite/commit/db5fb48f5d4c1ee411e59c1e9b70d62fdb9d53d2)) ### [`v6.2.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#620-2025-02-25) [Compare Source](https://github.com/vitejs/vite/compare/v6.1.6...v6.2.0) ##### Bug Fixes - **deps:** update all non-major dependencies ([#&#8203;19501](https://github.com/vitejs/vite/issues/19501)) ([c94c9e0](https://github.com/vitejs/vite/commit/c94c9e052127cf4796374de1d698ec60b2973dfa)) - **worker:** string interpolation in dynamic worker options ([#&#8203;19476](https://github.com/vitejs/vite/issues/19476)) ([07091a1](https://github.com/vitejs/vite/commit/07091a1e804e5934208ef0b6324a04317dd0d815)) ##### Miscellaneous Chores - use unicode cross icon instead of x ([#&#8203;19497](https://github.com/vitejs/vite/issues/19497)) ([5c70296](https://github.com/vitejs/vite/commit/5c70296ffb22fe5a0f4039835aa14feb096b4a97)) ### [`v6.1.6`](https://github.com/vitejs/vite/releases/tag/v6.1.6) [Compare Source](https://github.com/vitejs/vite/compare/v6.1.5...v6.1.6) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.1.6/packages/vite/CHANGELOG.md) for details. ### [`v6.1.5`](https://github.com/vitejs/vite/releases/tag/v6.1.5) [Compare Source](https://github.com/vitejs/vite/compare/v6.1.4...v6.1.5) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.1.5/packages/vite/CHANGELOG.md) for details. ### [`v6.1.4`](https://github.com/vitejs/vite/releases/tag/v6.1.4) [Compare Source](https://github.com/vitejs/vite/compare/v6.1.3...v6.1.4) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.1.4/packages/vite/CHANGELOG.md) for details. ### [`v6.1.3`](https://github.com/vitejs/vite/releases/tag/v6.1.3) [Compare Source](https://github.com/vitejs/vite/compare/v6.1.2...v6.1.3) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.1.3/packages/vite/CHANGELOG.md) for details. ### [`v6.1.2`](https://github.com/vitejs/vite/releases/tag/v6.1.2) [Compare Source](https://github.com/vitejs/vite/compare/v6.1.1...v6.1.2) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v6.1.2/packages/vite/CHANGELOG.md) for details. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 6am on monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS4zIiwidXBkYXRlZEluVmVyIjoiNDIuMTkuMyIsInRhcmdldEJyYW5jaCI6InYxMy1hcHB2MiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZSJdfQ==-->
chore(deps): update npm dependencies
Some checks failed
renovate/artifacts Artifact file update failure
ci/woodpecker/pr/checks Pipeline failed
7737b48a5d
renovate-bot scheduled this pull request to auto merge when all checks succeed 2025-11-22 11:57:20 +00:00
renovate-bot force-pushed renovate/npm-dependencies from 7737b48a5d
Some checks failed
renovate/artifacts Artifact file update failure
ci/woodpecker/pr/checks Pipeline failed
to e5beafb1e2
Some checks failed
renovate/artifacts Artifact file update failure
ci/woodpecker/pr/checks Pipeline failed
2025-11-22 11:59:28 +00:00
Compare
renovate-bot force-pushed renovate/npm-dependencies from e5beafb1e2
Some checks failed
renovate/artifacts Artifact file update failure
ci/woodpecker/pr/checks Pipeline failed
to 499edeca59
Some checks failed
renovate/artifacts Artifact file update failure
ci/woodpecker/pr/checks Pipeline failed
2025-11-22 12:00:08 +00:00
Compare
renovate-bot force-pushed renovate/npm-dependencies from 499edeca59
Some checks failed
renovate/artifacts Artifact file update failure
ci/woodpecker/pr/checks Pipeline failed
to 9305c6a93f
Some checks failed
renovate/artifacts Artifact file update failure
ci/woodpecker/pr/checks Pipeline failed
2025-11-22 12:00:48 +00:00
Compare
renovate-bot force-pushed renovate/npm-dependencies from 9305c6a93f
Some checks failed
renovate/artifacts Artifact file update failure
ci/woodpecker/pr/checks Pipeline failed
to 1e54efc446
All checks were successful
ci/woodpecker/pr/checks Pipeline was successful
2025-11-22 12:17:12 +00:00
Compare
Athemis merged commit 42b362e15e into v13-appv2 2025-11-22 12:18:21 +00:00
Athemis deleted branch renovate/npm-dependencies 2025-11-22 12:18:22 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Athemis/ds4!11
No description provided.