# @pnpm/license-scanner

## 1101.0.1

### Patch Changes

- Updated dependencies:
  - @pnpm/lockfile.fs@1100.2.4

## 1101.0.0

### Major Changes

- The three registry lookups are now named for what they are keyed by, so that none of them is called `registries` — a name the `registries` setting itself has taken:

  | before | after |
  |---|---|
  | `Config.registries` | `Config.registriesByScope` |
  | `Config.namedRegistries` | `Config.registriesByPrefix` |
  | `Config.registryOptions` | `Config.registryOptionsByUrl` |

  The same rename applies to the `RegistryContext` fields, the `Registries` and `NamedRegistries` types (now `RegistriesByScope` and `RegistriesByPrefix`), `normalizeRegistries` / `normalizeNamedRegistries` (now `normalizeRegistriesByScope` / `normalizeRegistriesByPrefix`), and the `BUILTIN_NAMED_REGISTRIES` constant (now `BUILTIN_REGISTRIES_BY_PREFIX`).

  This is an internal rename: no setting, error code, lockfile field, or `.pnpmfile.cjs` hook field changes. A `preResolution` hook still reads `ctx.registries`, which is the name pacquet passes as well. The `registries` and `namedRegistries` settings are read under the names users write them.

  The pnpr resolve request sends `registriesByPrefix` where it sent `namedRegistries`. A pnpr server and its clients must be on matching versions, which is already the case for an experimental server.

### Patch Changes

- Updated dependencies:
  - @pnpm/config.package-is-installable@1100.1.4
  - @pnpm/deps.path@1101.0.0
  - @pnpm/error@1100.1.3
  - @pnpm/lockfile.detect-dep-types@1100.0.20
  - @pnpm/lockfile.fs@1100.2.3
  - @pnpm/lockfile.types@1100.0.20
  - @pnpm/lockfile.utils@1102.0.0
  - @pnpm/lockfile.walker@1100.0.20
  - @pnpm/pkg-manifest.reader@1100.0.17
  - @pnpm/store.index@1100.2.5
  - @pnpm/store.pkg-finder@1100.0.30
  - @pnpm/types@1102.0.0

## 1100.1.2

### Patch Changes

- Updated dependencies:
  - @pnpm/config.package-is-installable@1100.1.3
  - @pnpm/error@1100.1.2
  - @pnpm/lockfile.fs@1100.2.2
  - @pnpm/lockfile.utils@1101.1.0
  - @pnpm/pkg-manifest.reader@1100.0.16
  - @pnpm/store.index@1100.2.4
  - @pnpm/store.pkg-finder@1100.0.29

## 1100.1.1

### Patch Changes

- Updated dependencies:
  - @pnpm/lockfile.fs@1100.2.1

## 1100.1.0

### Minor Changes

- **Security fix.** Affects projects using `namedRegistries` on pnpm 11.1.0–11.19.x. It is **semi-breaking** for those projects — see "If you use named registries" below.

  The lockfile recorded no marker for which registry a package came from. Packages were keyed by `name@version` alone, and entry lookup went through `refToRelative(ref, name)`, so a dependency you declared against one registry could be satisfied by an entry that was actually resolved from another. When two registries served the same name and version, both collapsed onto a single `packages:` entry and whichever resolved first decided the tarball every consumer got.

  That is a package-substitution risk: a package you expect from your private registry could be installed from a different registry that publishes the same name and version, and the lockfile recorded nothing that would let you tell.

  Packages resolved from a named registry are now recorded under registry-qualified keys (`<name>@<registryName>:<version>`, e.g. `foo@work:1.0.0`), so each registry gets its own entry and the lockfile pins which one a dependency came from.

  The lockfile format version is unchanged. Registry-qualified keys appear only for packages resolved from a named registry, so a project that does not use `namedRegistries` sees no difference, and older pnpm versions keep reading the file.

  ### If you use named registries

  Your next non-frozen install re-keys those entries, which shows up as a lockfile diff. Commit it — that diff is the fix being applied. Review it: an entry that moves to a registry you did not expect is worth investigating.

  Everyone working on the project should be on this version or newer before you do. An older pnpm reads the re-keyed lockfile fine — frozen installs are unaffected — but it does not produce registry-qualified keys itself, so any install that updates the lockfile writes those entries back to the old shape, and the next install on a current pnpm re-qualifies them. The result is a lockfile that flips back and forth, and while it is in the old shape the project is exposed again. Because the lockfile format version is deliberately unchanged, pnpm cannot detect this and warn you about it.

  There is no setting to keep the old behavior: the old shape is the vulnerability.

  Tarball URLs that follow the standard registry layout are no longer written to the lockfile for named-registry packages; they are recomputed from the `namedRegistries` setting on demand.

  To use named registries, map your aliases in `pnpm-workspace.yaml`:

  ```yaml
  namedRegistries:
    work: https://npm.enterprise.example.com/
  ```

  ### New built-in `npmjs:` alias

  `npmjs:` now resolves to `https://registry.npmjs.org/` with no configuration, alongside the existing `gh:` alias for GitHub Packages. It pins a dependency to the public registry even when `registry` points elsewhere, such as an internal proxy:

  ```json
  { "dependencies": { "left-pad": "npmjs:^1.3.0" } }
  ```

  `npm:` cannot do this — it is the alias protocol (`npm:<name>@<range>`) and resolves through whatever `registry` points at.

  **If you mirror or proxy npmjs, point the alias at your mirror:**

  ```yaml
  namedRegistries:
    npmjs: https://npm.internal.example.com/
  ```

  Built-in registry URLs are also the prefixes a lockfile's recorded tarball URL is matched against when pnpm verifies a package. Without the override, an entry whose tarball URL is on `registry.npmjs.org` is verified against the public registry rather than your mirror. This only affects lockfiles that record such URLs — a canonical URL for your configured registry is omitted from the lockfile and unaffected — and only when a tarball-URL, `minimumReleaseAge`, or `trustPolicy` check runs. Overriding the alias is the same escape hatch GHES users already have for `gh`.

  Every alias the lockfile references must stay in `namedRegistries`: reading an entry whose alias is gone fails with `ERR_PNPM_MISSING_NAMED_REGISTRY` rather than silently falling back to the default registry, since that would fetch a different package. Renaming an alias re-resolves the packages that used it.

  Named registry aliases that shadow a reserved dependency specifier prefix (`file`, `link`, `workspace`, `runtime`, `npm`, `jsr`, ...) are now rejected with `ERR_PNPM_RESERVED_NAMED_REGISTRY_NAME` instead of being silently shadowed by the corresponding resolver.

  `pnpm licenses` and `pnpm sbom` now keep the two artifacts apart as well: license records carry the registry alias, and SBOM components carry the purl `repository_url` qualifier.

### Patch Changes

- Updated dependencies:
  - @pnpm/config.package-is-installable@1100.1.2
  - @pnpm/deps.path@1100.1.0
  - @pnpm/error@1100.1.1
  - @pnpm/lockfile.detect-dep-types@1100.0.19
  - @pnpm/lockfile.fs@1100.2.0
  - @pnpm/lockfile.types@1100.0.19
  - @pnpm/lockfile.utils@1101.0.0
  - @pnpm/lockfile.walker@1100.0.19
  - @pnpm/pkg-manifest.reader@1100.0.15
  - @pnpm/store.index@1100.2.3
  - @pnpm/store.pkg-finder@1100.0.28
  - @pnpm/types@1101.9.0

## 1100.0.32

### Patch Changes

- Updated dependencies:
  - @pnpm/config.package-is-installable@1100.1.1
  - @pnpm/deps.path@1100.0.13
  - @pnpm/lockfile.detect-dep-types@1100.0.18
  - @pnpm/lockfile.fs@1100.1.16
  - @pnpm/lockfile.types@1100.0.18
  - @pnpm/lockfile.utils@1100.1.7
  - @pnpm/lockfile.walker@1100.0.18
  - @pnpm/pkg-manifest.reader@1100.0.14
  - @pnpm/store.pkg-finder@1100.0.27
  - @pnpm/types@1101.8.0

## 1100.0.31

### Patch Changes

- Fixed `pnpm licenses list` to report every version when the same package is installed under multiple aliases [pnpm/pnpm#13438](https://github.com/pnpm/pnpm/issues/13438).

- Updated dependencies:
  - @pnpm/config.package-is-installable@1100.1.0
  - @pnpm/deps.path@1100.0.12
  - @pnpm/lockfile.detect-dep-types@1100.0.17
  - @pnpm/lockfile.fs@1100.1.15
  - @pnpm/lockfile.types@1100.0.17
  - @pnpm/lockfile.utils@1100.1.6
  - @pnpm/lockfile.walker@1100.0.17
  - @pnpm/pkg-manifest.reader@1100.0.13
  - @pnpm/store.pkg-finder@1100.0.26
  - @pnpm/types@1101.7.0

## 1100.0.30

### Patch Changes

- Republished every package: the tarballs published by the v11.13.1 through v11.16.0 releases were missing most of their compiled files due to a packing bug [#13164](https://github.com/pnpm/pnpm/issues/13164).

- Updated dependencies:
  - @pnpm/config.package-is-installable@1100.0.16
  - @pnpm/deps.compliance.license-resolver@1100.0.1
  - @pnpm/deps.path@1100.0.11
  - @pnpm/error@1100.1.0
  - @pnpm/lockfile.detect-dep-types@1100.0.16
  - @pnpm/lockfile.fs@1100.1.14
  - @pnpm/lockfile.types@1100.0.16
  - @pnpm/lockfile.utils@1100.1.5
  - @pnpm/lockfile.walker@1100.0.16
  - @pnpm/pkg-manifest.reader@1100.0.12
  - @pnpm/store.index@1100.2.2
  - @pnpm/store.pkg-finder@1100.0.25
  - @pnpm/types@1101.6.0

## 1100.0.29

### Patch Changes

- Updated dependencies:
  - @pnpm/config.package-is-installable@1100.0.15
  - @pnpm/deps.path@1100.0.10
  - @pnpm/lockfile.detect-dep-types@1100.0.15
  - @pnpm/lockfile.fs@1100.1.13
  - @pnpm/lockfile.types@1100.0.15
  - @pnpm/lockfile.utils@1100.1.4
  - @pnpm/lockfile.walker@1100.0.15
  - @pnpm/pkg-manifest.reader@1100.0.11
  - @pnpm/store.pkg-finder@1100.0.24
  - @pnpm/types@1101.5.0

## 1100.0.28

### Patch Changes

- Updated dependencies:
  - @pnpm/store.pkg-finder@1100.0.23

## 1100.0.27

### Patch Changes

- Updated dependencies:
  - @pnpm/lockfile.fs@1100.1.12
  - @pnpm/store.pkg-finder@1100.0.22

## 1100.0.26

### Patch Changes

- Updated dependencies:
  - @pnpm/config.package-is-installable@1100.0.14
  - @pnpm/store.pkg-finder@1100.0.21

## 1100.0.25

### Patch Changes

- Updated dependencies:
  - @pnpm/config.package-is-installable@1100.0.13
  - @pnpm/deps.path@1100.0.9
  - @pnpm/lockfile.detect-dep-types@1100.0.14
  - @pnpm/lockfile.fs@1100.1.11
  - @pnpm/lockfile.types@1100.0.14
  - @pnpm/lockfile.utils@1100.1.3
  - @pnpm/lockfile.walker@1100.0.14
  - @pnpm/pkg-manifest.reader@1100.0.10
  - @pnpm/store.pkg-finder@1100.0.20
  - @pnpm/types@1101.4.0

## 1100.0.24

### Patch Changes

- @pnpm/lockfile.utils@1100.1.2
- @pnpm/lockfile.fs@1100.1.10

## 1100.0.23

### Patch Changes

- Updated dependencies [f8058eb]
  - @pnpm/lockfile.fs@1100.1.9

## 1100.0.22

### Patch Changes

- @pnpm/lockfile.types@1100.0.13
- @pnpm/lockfile.utils@1100.1.1
- @pnpm/store.pkg-finder@1100.0.19
- @pnpm/lockfile.detect-dep-types@1100.0.13
- @pnpm/lockfile.fs@1100.1.8
- @pnpm/lockfile.walker@1100.0.13

## 1100.0.21

### Patch Changes

- Updated dependencies [bae694f]
- Updated dependencies [a84d2a1]
- Updated dependencies [852d537]
  - @pnpm/lockfile.utils@1100.1.0
  - @pnpm/error@1100.0.1
  - @pnpm/lockfile.types@1100.0.12
  - @pnpm/store.pkg-finder@1100.0.18
  - @pnpm/lockfile.fs@1100.1.7
  - @pnpm/config.package-is-installable@1100.0.12
  - @pnpm/pkg-manifest.reader@1100.0.9
  - @pnpm/store.index@1100.2.1
  - @pnpm/lockfile.detect-dep-types@1100.0.12
  - @pnpm/lockfile.walker@1100.0.12

## 1100.0.20

### Patch Changes

- Updated dependencies [61969fb]
  - @pnpm/lockfile.fs@1100.1.6

## 1100.0.19

### Patch Changes

- a31faa7: Updated dependency ranges. Notably:

  - `@pnpm/logger` peer dependency range moved to `^1100.0.0`.
  - `msgpackr` 1.11.8 → 2.0.4 (store index files remain byte-compatible in both directions).
  - `open` ^7.4.2 → ^11.0.0, `memoize` ^10 → ^11, `cli-truncate` ^5 → ^6, `pidtree` ^0.6 → ^1.
  - `@yarnpkg/core` 4.5.0 → 4.8.0, `@rushstack/worker-pool` 0.7.7 → 0.7.18, `@cyclonedx/cyclonedx-library` 10.0.0 → 10.1.0, `@pnpm/config.nerf-dart` ^1 → ^2, `@pnpm/log.group` 3.0.2 → 4.0.1, `@pnpm/util.lex-comparator` ^3 → ^4.

- Updated dependencies [61810aa]
- Updated dependencies [f20ad8f]
- Updated dependencies [681b593]
- Updated dependencies [d50d691]
- Updated dependencies [a31faa7]
  - @pnpm/store.index@1100.2.0
  - @pnpm/lockfile.utils@1100.0.13
  - @pnpm/types@1101.3.2
  - @pnpm/lockfile.fs@1100.1.5
  - @pnpm/config.package-is-installable@1100.0.11
  - @pnpm/deps.path@1100.0.8
  - @pnpm/store.pkg-finder@1100.0.17
  - @pnpm/lockfile.detect-dep-types@1100.0.11
  - @pnpm/lockfile.types@1100.0.11
  - @pnpm/lockfile.walker@1100.0.11
  - @pnpm/pkg-manifest.reader@1100.0.8

## 1100.0.18

### Patch Changes

- Updated dependencies [52be454]
  - @pnpm/config.package-is-installable@1100.0.10
  - @pnpm/store.pkg-finder@1100.0.16

## 1100.0.17

### Patch Changes

- Updated dependencies [bf1b731]
  - @pnpm/types@1101.3.1
  - @pnpm/config.package-is-installable@1100.0.9
  - @pnpm/deps.path@1100.0.7
  - @pnpm/lockfile.detect-dep-types@1100.0.10
  - @pnpm/lockfile.fs@1100.1.4
  - @pnpm/lockfile.types@1100.0.10
  - @pnpm/lockfile.utils@1100.0.12
  - @pnpm/lockfile.walker@1100.0.10
  - @pnpm/pkg-manifest.reader@1100.0.7
  - @pnpm/store.pkg-finder@1100.0.15

## 1100.0.16

### Patch Changes

- Updated dependencies [a017bf3]
  - @pnpm/types@1101.3.0
  - @pnpm/config.package-is-installable@1100.0.8
  - @pnpm/deps.path@1100.0.6
  - @pnpm/lockfile.detect-dep-types@1100.0.9
  - @pnpm/lockfile.fs@1100.1.3
  - @pnpm/lockfile.types@1100.0.9
  - @pnpm/lockfile.utils@1100.0.11
  - @pnpm/lockfile.walker@1100.0.9
  - @pnpm/pkg-manifest.reader@1100.0.6
  - @pnpm/store.pkg-finder@1100.0.14

## 1100.0.15

### Patch Changes

- Updated dependencies [e55f4b5]
- Updated dependencies [35d2355]
  - @pnpm/lockfile.utils@1100.0.10
  - @pnpm/types@1101.2.0
  - @pnpm/lockfile.fs@1100.1.2
  - @pnpm/config.package-is-installable@1100.0.7
  - @pnpm/deps.path@1100.0.5
  - @pnpm/lockfile.detect-dep-types@1100.0.8
  - @pnpm/lockfile.types@1100.0.8
  - @pnpm/lockfile.walker@1100.0.8
  - @pnpm/pkg-manifest.reader@1100.0.5
  - @pnpm/store.pkg-finder@1100.0.13

## 1100.0.14

### Patch Changes

- @pnpm/store.pkg-finder@1100.0.12

## 1100.0.13

### Patch Changes

- Updated dependencies [9cb48bb]
- Updated dependencies [64afc92]
  - @pnpm/lockfile.fs@1100.1.1
  - @pnpm/types@1101.1.1
  - @pnpm/lockfile.types@1100.0.7
  - @pnpm/lockfile.utils@1100.0.9
  - @pnpm/store.pkg-finder@1100.0.11
  - @pnpm/config.package-is-installable@1100.0.6
  - @pnpm/deps.path@1100.0.4
  - @pnpm/lockfile.detect-dep-types@1100.0.7
  - @pnpm/lockfile.walker@1100.0.7
  - @pnpm/pkg-manifest.reader@1100.0.4

## 1100.0.12

### Patch Changes

- Updated dependencies [6e93f35]
- Updated dependencies [2a9bd89]
  - @pnpm/lockfile.fs@1100.1.0
  - @pnpm/lockfile.types@1100.0.6
  - @pnpm/lockfile.utils@1100.0.8
  - @pnpm/store.pkg-finder@1100.0.10
  - @pnpm/config.package-is-installable@1100.0.5
  - @pnpm/lockfile.detect-dep-types@1100.0.6
  - @pnpm/lockfile.walker@1100.0.6

## 1100.0.11

### Patch Changes

- Updated dependencies [180aee9]
  - @pnpm/lockfile.fs@1100.0.8
  - @pnpm/store.pkg-finder@1100.0.9

## 1100.0.10

### Patch Changes

- Updated dependencies [b61e268]
  - @pnpm/types@1101.1.0
  - @pnpm/config.package-is-installable@1100.0.4
  - @pnpm/deps.path@1100.0.3
  - @pnpm/lockfile.detect-dep-types@1100.0.5
  - @pnpm/lockfile.fs@1100.0.7
  - @pnpm/lockfile.types@1100.0.5
  - @pnpm/lockfile.utils@1100.0.7
  - @pnpm/lockfile.walker@1100.0.5
  - @pnpm/pkg-manifest.reader@1100.0.3
  - @pnpm/store.pkg-finder@1100.0.8

## 1100.0.9

### Patch Changes

- Updated dependencies [0c67cb5]
  - @pnpm/store.index@1100.1.0
  - @pnpm/store.pkg-finder@1100.0.7

## 1100.0.8

### Patch Changes

- Updated dependencies [cfa271b]
  - @pnpm/lockfile.utils@1100.0.6
  - @pnpm/lockfile.fs@1100.0.6

## 1100.0.7

### Patch Changes

- Updated dependencies [27425d7]
  - @pnpm/lockfile.fs@1100.0.5
  - @pnpm/lockfile.types@1100.0.4
  - @pnpm/lockfile.utils@1100.0.5
  - @pnpm/store.pkg-finder@1100.0.6
  - @pnpm/lockfile.detect-dep-types@1100.0.4
  - @pnpm/lockfile.walker@1100.0.4

## 1100.0.6

### Patch Changes

- 184ce26: Fix the package name in README.md.
- Updated dependencies [184ce26]
- Updated dependencies [6b891a5]
  - @pnpm/config.package-is-installable@1100.0.3
  - @pnpm/pkg-manifest.reader@1100.0.2
  - @pnpm/deps.path@1100.0.2
  - @pnpm/lockfile.utils@1100.0.4
  - @pnpm/store.pkg-finder@1100.0.5
  - @pnpm/lockfile.types@1100.0.3
  - @pnpm/lockfile.fs@1100.0.4
  - @pnpm/lockfile.detect-dep-types@1100.0.3
  - @pnpm/lockfile.walker@1100.0.3

## 1100.0.5

### Patch Changes

- Updated dependencies [d96a1bf]
  - @pnpm/config.package-is-installable@1100.0.2

## 1100.0.4

### Patch Changes

- @pnpm/store.pkg-finder@1100.0.4
- @pnpm/lockfile.utils@1100.0.3
- @pnpm/lockfile.fs@1100.0.3

## 1100.0.3

### Patch Changes

- 61952c2: `pnpm sbom` now detects licenses declared via the deprecated `licenses` array in `package.json` (e.g. `busboy`, `streamsearch`, `limiter`) and falls back to scanning on-disk `LICENSE` files — mirroring the resolution logic of `pnpm licenses`. Previously these packages were reported as `NOASSERTION`. Shared license resolution (manifest parsing + LICENSE-file fallback) lives in the new `@pnpm/deps.compliance.license-resolver` package. When a manifest sets both `license` and `licenses`, the modern `license` field now takes precedence for both commands (previously `pnpm licenses` preferred `licenses`) [#11248](https://github.com/pnpm/pnpm/issues/11248).
- Updated dependencies [bcc88a1]
- Updated dependencies [61952c2]
  - @pnpm/store.pkg-finder@1100.0.3
  - @pnpm/deps.compliance.license-resolver@1100.0.0
  - @pnpm/lockfile.types@1100.0.2
  - @pnpm/lockfile.utils@1100.0.2
  - @pnpm/lockfile.detect-dep-types@1100.0.2
  - @pnpm/lockfile.fs@1100.0.2
  - @pnpm/lockfile.walker@1100.0.2

## 1100.0.2

### Patch Changes

- @pnpm/store.pkg-finder@1100.0.2

## 1100.0.1

### Patch Changes

- Updated dependencies [ff28085]
  - @pnpm/types@1101.0.0
  - @pnpm/config.package-is-installable@1100.0.1
  - @pnpm/deps.path@1100.0.1
  - @pnpm/lockfile.detect-dep-types@1100.0.1
  - @pnpm/lockfile.fs@1100.0.1
  - @pnpm/lockfile.types@1100.0.1
  - @pnpm/lockfile.utils@1100.0.1
  - @pnpm/lockfile.walker@1100.0.1
  - @pnpm/pkg-manifest.reader@1100.0.1
  - @pnpm/store.pkg-finder@1100.0.1

## 1002.0.0

### Major Changes

- e2e0a32: Optimized index file format to store the hash algorithm once per file instead of repeating it for every file entry. Each file entry now stores only the hex digest instead of the full integrity string (`<algo>-<digest>`). Using hex format improves performance since file paths in the content-addressable store use hex representation, eliminating base64-to-hex conversion during path lookups.
- 491a84f: This package is now pure ESM.
- 7d2fd48: Node.js v18, 19, 20, and 21 support discontinued.

### Minor Changes

- 38b8e35: Support for custom resolvers and fetchers.

### Patch Changes

- Updated dependencies [5f73b0f]
- Updated dependencies [76718b3]
- Updated dependencies [a8f016c]
- Updated dependencies [cc1b8e3]
- Updated dependencies [606f53e]
- Updated dependencies [491a84f]
- Updated dependencies [f92ac24]
- Updated dependencies [d458ab3]
- Updated dependencies [7d2fd48]
- Updated dependencies [efb48dc]
- Updated dependencies [50fbeca]
- Updated dependencies [cb367b9]
- Updated dependencies [7b1c189]
- Updated dependencies [6f806be]
- Updated dependencies [8ffb1a7]
- Updated dependencies [05fb1ae]
- Updated dependencies [71de2b3]
- Updated dependencies [10bc391]
- Updated dependencies [38b8e35]
- Updated dependencies [394d88c]
- Updated dependencies [b7f0f21]
- Updated dependencies [1e6de25]
- Updated dependencies [831f574]
- Updated dependencies [2df8b71]
- Updated dependencies [15549a9]
- Updated dependencies [cc7c0d2]
- Updated dependencies [efb48dc]
  - @pnpm/deps.path@1002.0.0
  - @pnpm/types@1001.0.0
  - @pnpm/lockfile.fs@1002.0.0
  - @pnpm/lockfile.types@1003.0.0
  - @pnpm/lockfile.utils@1004.0.0
  - @pnpm/pkg-manifest.reader@1001.0.0
  - @pnpm/config.package-is-installable@1001.0.0
  - @pnpm/lockfile.detect-dep-types@1002.0.0
  - @pnpm/lockfile.walker@1002.0.0
  - @pnpm/error@1001.0.0
  - @pnpm/store.pkg-finder@1000.0.0
  - @pnpm/store.index@1000.0.0

## 1001.0.27

### Patch Changes

- Updated dependencies [7c1382f]
- Updated dependencies [dee39ec]
  - @pnpm/types@1000.9.0
  - @pnpm/package-is-installable@1000.0.15
  - @pnpm/directory-fetcher@1000.1.14
  - @pnpm/lockfile.detect-dep-types@1001.0.16
  - @pnpm/lockfile.fs@1001.1.21
  - @pnpm/lockfile.types@1002.0.2
  - @pnpm/lockfile.utils@1003.0.3
  - @pnpm/lockfile.walker@1001.0.16
  - @pnpm/dependency-path@1001.1.3
  - @pnpm/read-package-json@1000.1.2
  - @pnpm/store.cafs@1000.0.19

## 1001.0.26

### Patch Changes

- Updated dependencies [9b9faa5]
  - @pnpm/store.cafs@1000.0.18
  - @pnpm/dependency-path@1001.1.2
  - @pnpm/directory-fetcher@1000.1.13
  - @pnpm/lockfile.detect-dep-types@1001.0.15
  - @pnpm/lockfile.fs@1001.1.20
  - @pnpm/lockfile.utils@1003.0.2
  - @pnpm/lockfile.walker@1001.0.15

## 1001.0.25

### Patch Changes

- @pnpm/lockfile.fs@1001.1.19
- @pnpm/error@1000.0.5
- @pnpm/package-is-installable@1000.0.14
- @pnpm/read-package-json@1000.1.1
- @pnpm/directory-fetcher@1000.1.12

## 1001.0.24

### Patch Changes

- Updated dependencies [e792927]
- Updated dependencies [df8d57f]
- Updated dependencies [e792927]
  - @pnpm/read-package-json@1000.1.0
  - @pnpm/package-is-installable@1000.0.13
  - @pnpm/types@1000.8.0
  - @pnpm/directory-fetcher@1000.1.11
  - @pnpm/lockfile.detect-dep-types@1001.0.14
  - @pnpm/lockfile.fs@1001.1.18
  - @pnpm/lockfile.types@1002.0.1
  - @pnpm/lockfile.utils@1003.0.1
  - @pnpm/lockfile.walker@1001.0.14
  - @pnpm/dependency-path@1001.1.1
  - @pnpm/store.cafs@1000.0.17

## 1001.0.23

### Patch Changes

- Updated dependencies [d1edf73]
- Updated dependencies [d1edf73]
- Updated dependencies [adb097c]
- Updated dependencies [f91922c]
  - @pnpm/dependency-path@1001.1.0
  - @pnpm/lockfile.types@1002.0.0
  - @pnpm/lockfile.utils@1003.0.0
  - @pnpm/read-package-json@1000.0.11
  - @pnpm/lockfile.detect-dep-types@1001.0.13
  - @pnpm/lockfile.fs@1001.1.17
  - @pnpm/lockfile.walker@1001.0.13
  - @pnpm/error@1000.0.4
  - @pnpm/directory-fetcher@1000.1.10
  - @pnpm/store.cafs@1000.0.16
  - @pnpm/package-is-installable@1000.0.12

## 1001.0.22

### Patch Changes

- Updated dependencies [1a07b8f]
- Updated dependencies [2e85f29]
- Updated dependencies [1a07b8f]
  - @pnpm/types@1000.7.0
  - @pnpm/lockfile.utils@1002.1.0
  - @pnpm/lockfile.types@1001.1.0
  - @pnpm/package-is-installable@1000.0.11
  - @pnpm/directory-fetcher@1000.1.9
  - @pnpm/lockfile.detect-dep-types@1001.0.12
  - @pnpm/lockfile.fs@1001.1.16
  - @pnpm/lockfile.walker@1001.0.12
  - @pnpm/dependency-path@1001.0.2
  - @pnpm/read-package-json@1000.0.10
  - @pnpm/store.cafs@1000.0.15
  - @pnpm/error@1000.0.3

## 1001.0.21

### Patch Changes

- @pnpm/dependency-path@1001.0.1
- @pnpm/lockfile.detect-dep-types@1001.0.11
- @pnpm/lockfile.fs@1001.1.15
- @pnpm/lockfile.utils@1002.0.1
- @pnpm/lockfile.walker@1001.0.11

## 1001.0.20

### Patch Changes

- 5acbe47: Fix `pnpm licenses` command for local dependencies [#9583](https://github.com/pnpm/pnpm/pull/9583).

## 1001.0.19

### Patch Changes

- Updated dependencies [540986f]
  - @pnpm/dependency-path@1001.0.0
  - @pnpm/lockfile.utils@1002.0.0
  - @pnpm/lockfile.detect-dep-types@1001.0.10
  - @pnpm/lockfile.fs@1001.1.14
  - @pnpm/lockfile.walker@1001.0.10

## 1001.0.18

### Patch Changes

- @pnpm/directory-fetcher@1000.1.8
- @pnpm/lockfile.utils@1001.0.12
- @pnpm/store.cafs@1000.0.14
- @pnpm/lockfile.fs@1001.1.13

## 1001.0.17

### Patch Changes

- @pnpm/store.cafs@1000.0.13

## 1001.0.16

### Patch Changes

- 09cf46f: Update `@pnpm/logger` in peer dependencies.
- Updated dependencies [09cf46f]
- Updated dependencies [5ec7255]
  - @pnpm/package-is-installable@1000.0.10
  - @pnpm/directory-fetcher@1000.1.7
  - @pnpm/lockfile.fs@1001.1.12
  - @pnpm/types@1000.6.0
  - @pnpm/lockfile.detect-dep-types@1001.0.9
  - @pnpm/lockfile.types@1001.0.8
  - @pnpm/lockfile.utils@1001.0.11
  - @pnpm/lockfile.walker@1001.0.9
  - @pnpm/dependency-path@1000.0.9
  - @pnpm/read-package-json@1000.0.9
  - @pnpm/store.cafs@1000.0.12

## 1001.0.15

### Patch Changes

- Updated dependencies [8a9f3a4]
- Updated dependencies [5b73df1]
  - @pnpm/logger@1001.0.0
  - @pnpm/types@1000.5.0
  - @pnpm/store.cafs@1000.0.11
  - @pnpm/directory-fetcher@1000.1.6
  - @pnpm/lockfile.utils@1001.0.10
  - @pnpm/package-is-installable@1000.0.9
  - @pnpm/lockfile.detect-dep-types@1001.0.8
  - @pnpm/lockfile.fs@1001.1.11
  - @pnpm/lockfile.types@1001.0.7
  - @pnpm/lockfile.walker@1001.0.8
  - @pnpm/dependency-path@1000.0.8
  - @pnpm/read-package-json@1000.0.8

## 1001.0.14

### Patch Changes

- @pnpm/directory-fetcher@1000.1.5
- @pnpm/lockfile.utils@1001.0.9
- @pnpm/store.cafs@1000.0.10
- @pnpm/lockfile.fs@1001.1.10

## 1001.0.13

### Patch Changes

- Updated dependencies [750ae7d]
  - @pnpm/types@1000.4.0
  - @pnpm/package-is-installable@1000.0.8
  - @pnpm/directory-fetcher@1000.1.4
  - @pnpm/lockfile.detect-dep-types@1001.0.7
  - @pnpm/lockfile.fs@1001.1.9
  - @pnpm/lockfile.types@1001.0.6
  - @pnpm/lockfile.utils@1001.0.8
  - @pnpm/lockfile.walker@1001.0.7
  - @pnpm/dependency-path@1000.0.7
  - @pnpm/read-package-json@1000.0.7
  - @pnpm/store.cafs@1000.0.9

## 1001.0.12

### Patch Changes

- Updated dependencies [5f7be64]
- Updated dependencies [5f7be64]
  - @pnpm/types@1000.3.0
  - @pnpm/lockfile.types@1001.0.5
  - @pnpm/package-is-installable@1000.0.7
  - @pnpm/directory-fetcher@1000.1.3
  - @pnpm/lockfile.detect-dep-types@1001.0.6
  - @pnpm/lockfile.fs@1001.1.8
  - @pnpm/lockfile.utils@1001.0.7
  - @pnpm/lockfile.walker@1001.0.6
  - @pnpm/dependency-path@1000.0.6
  - @pnpm/read-package-json@1000.0.6
  - @pnpm/store.cafs@1000.0.8

## 1001.0.11

### Patch Changes

- @pnpm/directory-fetcher@1000.1.2
- @pnpm/lockfile.utils@1001.0.6
- @pnpm/store.cafs@1000.0.7
- @pnpm/lockfile.fs@1001.1.7

## 1001.0.10

### Patch Changes

- @pnpm/dependency-path@1000.0.5
- @pnpm/lockfile.detect-dep-types@1001.0.5
- @pnpm/lockfile.fs@1001.1.6
- @pnpm/lockfile.utils@1001.0.5
- @pnpm/lockfile.walker@1001.0.5

## 1001.0.9

### Patch Changes

- Updated dependencies [a5e4965]
  - @pnpm/types@1000.2.1
  - @pnpm/dependency-path@1000.0.4
  - @pnpm/package-is-installable@1000.0.6
  - @pnpm/directory-fetcher@1000.1.1
  - @pnpm/lockfile.detect-dep-types@1001.0.4
  - @pnpm/lockfile.fs@1001.1.5
  - @pnpm/lockfile.types@1001.0.4
  - @pnpm/lockfile.utils@1001.0.4
  - @pnpm/lockfile.walker@1001.0.4
  - @pnpm/read-package-json@1000.0.5
  - @pnpm/store.cafs@1000.0.6

## 1001.0.8

### Patch Changes

- Updated dependencies [8fcc221]
- Updated dependencies [e32b1a2]
  - @pnpm/types@1000.2.0
  - @pnpm/directory-fetcher@1000.1.0
  - @pnpm/package-is-installable@1000.0.5
  - @pnpm/lockfile.detect-dep-types@1001.0.3
  - @pnpm/lockfile.fs@1001.1.4
  - @pnpm/lockfile.types@1001.0.3
  - @pnpm/lockfile.utils@1001.0.3
  - @pnpm/lockfile.walker@1001.0.3
  - @pnpm/dependency-path@1000.0.3
  - @pnpm/read-package-json@1000.0.4
  - @pnpm/store.cafs@1000.0.5

## 1001.0.7

### Patch Changes

- @pnpm/lockfile.fs@1001.1.3

## 1001.0.6

### Patch Changes

- @pnpm/directory-fetcher@1000.0.5

## 1001.0.5

### Patch Changes

- Updated dependencies [b562deb]
  - @pnpm/types@1000.1.1
  - @pnpm/lockfile.fs@1001.1.2
  - @pnpm/error@1000.0.2
  - @pnpm/package-is-installable@1000.0.4
  - @pnpm/directory-fetcher@1000.0.4
  - @pnpm/lockfile.detect-dep-types@1001.0.2
  - @pnpm/lockfile.types@1001.0.2
  - @pnpm/lockfile.utils@1001.0.2
  - @pnpm/lockfile.walker@1001.0.2
  - @pnpm/dependency-path@1000.0.2
  - @pnpm/read-package-json@1000.0.3
  - @pnpm/store.cafs@1000.0.4

## 1001.0.4

### Patch Changes

- @pnpm/directory-fetcher@1000.0.3
- @pnpm/store.cafs@1000.0.3

## 1001.0.3

### Patch Changes

- Updated dependencies [9591a18]
  - @pnpm/types@1000.1.0
  - @pnpm/package-is-installable@1000.0.3
  - @pnpm/directory-fetcher@1000.0.2
  - @pnpm/lockfile.detect-dep-types@1001.0.1
  - @pnpm/lockfile.fs@1001.1.1
  - @pnpm/lockfile.types@1001.0.1
  - @pnpm/lockfile.utils@1001.0.1
  - @pnpm/lockfile.walker@1001.0.1
  - @pnpm/dependency-path@1000.0.1
  - @pnpm/read-package-json@1000.0.2
  - @pnpm/store.cafs@1000.0.2

## 1001.0.2

### Patch Changes

- @pnpm/package-is-installable@1000.0.2

## 1001.0.1

### Patch Changes

- Updated dependencies [3f0e4f0]
  - @pnpm/lockfile.fs@1001.1.0

## 1001.0.0

### Major Changes

- a76da0c: Removed lockfile conversion from v6 to v9. If you need to convert lockfile v6 to v9, use pnpm CLI v9.

### Patch Changes

- Updated dependencies [6483b64]
- Updated dependencies [a76da0c]
  - @pnpm/lockfile.types@1001.0.0
  - @pnpm/lockfile.detect-dep-types@1001.0.0
  - @pnpm/lockfile.walker@1001.0.0
  - @pnpm/lockfile.utils@1001.0.0
  - @pnpm/lockfile.fs@1001.0.0
  - @pnpm/error@1000.0.1
  - @pnpm/store.cafs@1000.0.1
  - @pnpm/directory-fetcher@1000.0.1
  - @pnpm/package-is-installable@1000.0.1
  - @pnpm/read-package-json@1000.0.1

## 4.0.0

### Major Changes

- d433cb9: Some registries allow identical content to be published under different package names or versions. To accommodate this, index files in the store are now stored using both the content hash and package identifier.

  This approach ensures that we can:

  1. Validate that the integrity in the lockfile corresponds to the correct package,
     which might not be the case after a poorly resolved Git conflict.
  2. Allow the same content to be referenced by different packages or different versions of the same package.

  Related PR: [#8510](https://github.com/pnpm/pnpm/pull/8510)
  Related issue: [#8204](https://github.com/pnpm/pnpm/issues/8204)

### Patch Changes

- Updated dependencies [dcd2917]
- Updated dependencies [d433cb9]
- Updated dependencies [e476b07]
- Updated dependencies [099e6af]
- Updated dependencies [d55b259]
  - @pnpm/dependency-path@6.0.0
  - @pnpm/store.cafs@5.0.0
  - @pnpm/package-is-installable@9.0.12
  - @pnpm/lockfile.fs@1.0.6
  - @pnpm/error@6.0.3
  - @pnpm/lockfile.detect-dep-types@2.0.10
  - @pnpm/lockfile.utils@1.0.5
  - @pnpm/lockfile.walker@1.0.5
  - @pnpm/read-package-json@9.0.10
  - @pnpm/directory-fetcher@8.0.10

## 3.1.17

### Patch Changes

- Updated dependencies [a1f4df2]
  - @pnpm/store.cafs@4.0.2
  - @pnpm/package-is-installable@9.0.11
  - @pnpm/dependency-path@5.1.7
  - @pnpm/lockfile.detect-dep-types@2.0.9
  - @pnpm/lockfile.fs@1.0.5
  - @pnpm/lockfile.utils@1.0.4
  - @pnpm/lockfile.walker@1.0.4
  - @pnpm/directory-fetcher@8.0.9

## 3.1.16

### Patch Changes

- Updated dependencies [db7ff76]
  - @pnpm/store.cafs@4.0.1
  - @pnpm/directory-fetcher@8.0.9

## 3.1.15

### Patch Changes

- @pnpm/lockfile.fs@1.0.4
- @pnpm/error@6.0.2
- @pnpm/package-is-installable@9.0.10
- @pnpm/read-package-json@9.0.9
- @pnpm/directory-fetcher@8.0.9

## 3.1.14

### Patch Changes

- Updated dependencies [d500d9f]
- Updated dependencies [db420ab]
  - @pnpm/types@12.2.0
  - @pnpm/store.cafs@4.0.0
  - @pnpm/package-is-installable@9.0.9
  - @pnpm/directory-fetcher@8.0.8
  - @pnpm/lockfile.detect-dep-types@2.0.8
  - @pnpm/lockfile.fs@1.0.3
  - @pnpm/lockfile.types@1.0.3
  - @pnpm/lockfile.utils@1.0.3
  - @pnpm/lockfile.walker@1.0.3
  - @pnpm/dependency-path@5.1.6
  - @pnpm/read-package-json@9.0.8

## 3.1.13

### Patch Changes

- Updated dependencies [7ee59a1]
  - @pnpm/types@12.1.0
  - @pnpm/package-is-installable@9.0.8
  - @pnpm/directory-fetcher@8.0.7
  - @pnpm/lockfile.detect-dep-types@2.0.7
  - @pnpm/lockfile.fs@1.0.2
  - @pnpm/lockfile.types@1.0.2
  - @pnpm/lockfile.utils@1.0.2
  - @pnpm/lockfile.walker@1.0.2
  - @pnpm/dependency-path@5.1.5
  - @pnpm/read-package-json@9.0.7
  - @pnpm/store.cafs@3.0.8

## 3.1.12

### Patch Changes

- Updated dependencies [33ba536]
  - @pnpm/package-is-installable@9.0.7

## 3.1.11

### Patch Changes

- Updated dependencies [cb006df]
  - @pnpm/lockfile.types@1.0.1
  - @pnpm/types@12.0.0
  - @pnpm/lockfile.detect-dep-types@2.0.6
  - @pnpm/lockfile.fs@1.0.1
  - @pnpm/lockfile.utils@1.0.1
  - @pnpm/lockfile.walker@1.0.1
  - @pnpm/package-is-installable@9.0.6
  - @pnpm/directory-fetcher@8.0.6
  - @pnpm/dependency-path@5.1.4
  - @pnpm/read-package-json@9.0.6
  - @pnpm/store.cafs@3.0.7

## 3.1.10

### Patch Changes

- Updated dependencies [c92f4bf]
- Updated dependencies [c5ef9b0]
- Updated dependencies [8055a30]
- Updated dependencies [797ef0f]
  - @pnpm/lockfile.walker@1.0.0
  - @pnpm/lockfile.utils@1.0.0
  - @pnpm/lockfile.fs@1.0.0
  - @pnpm/lockfile.types@1.0.0
  - @pnpm/lockfile.detect-dep-types@2.0.5
  - @pnpm/directory-fetcher@8.0.5

## 3.1.9

### Patch Changes

- Updated dependencies [0ef168b]
  - @pnpm/types@11.1.0
  - @pnpm/package-is-installable@9.0.5
  - @pnpm/directory-fetcher@8.0.5
  - @pnpm/lockfile.detect-dep-types@2.0.4
  - @pnpm/lockfile-file@9.1.3
  - @pnpm/lockfile-types@7.1.3
  - @pnpm/lockfile-utils@11.0.4
  - @pnpm/lockfile-walker@9.0.4
  - @pnpm/dependency-path@5.1.3
  - @pnpm/read-package-json@9.0.5
  - @pnpm/store.cafs@3.0.6

## 3.1.8

### Patch Changes

- Updated dependencies [afe520d]
- Updated dependencies [afe520d]
  - @pnpm/store.cafs@3.0.5
  - @pnpm/directory-fetcher@8.0.4

## 3.1.7

### Patch Changes

- Updated dependencies [dd00eeb]
- Updated dependencies
  - @pnpm/types@11.0.0
  - @pnpm/directory-fetcher@8.0.4
  - @pnpm/lockfile-utils@11.0.3
  - @pnpm/package-is-installable@9.0.4
  - @pnpm/lockfile.detect-dep-types@2.0.3
  - @pnpm/lockfile-file@9.1.2
  - @pnpm/lockfile-types@7.1.2
  - @pnpm/lockfile-walker@9.0.3
  - @pnpm/dependency-path@5.1.2
  - @pnpm/read-package-json@9.0.4
  - @pnpm/store.cafs@3.0.4

## 3.1.6

### Patch Changes

- Updated dependencies [13e55b2]
  - @pnpm/types@10.1.1
  - @pnpm/package-is-installable@9.0.3
  - @pnpm/directory-fetcher@8.0.3
  - @pnpm/lockfile.detect-dep-types@2.0.2
  - @pnpm/lockfile-file@9.1.1
  - @pnpm/lockfile-types@7.1.1
  - @pnpm/lockfile-utils@11.0.2
  - @pnpm/lockfile-walker@9.0.2
  - @pnpm/dependency-path@5.1.1
  - @pnpm/read-package-json@9.0.3
  - @pnpm/store.cafs@3.0.3

## 3.1.5

### Patch Changes

- Updated dependencies [47341e5]
  - @pnpm/dependency-path@5.1.0
  - @pnpm/lockfile-types@7.1.0
  - @pnpm/lockfile-file@9.1.0
  - @pnpm/lockfile.detect-dep-types@2.0.1
  - @pnpm/lockfile-utils@11.0.1
  - @pnpm/lockfile-walker@9.0.1
  - @pnpm/directory-fetcher@8.0.2

## 3.1.4

### Patch Changes

- @pnpm/store.cafs@3.0.2
- @pnpm/directory-fetcher@8.0.2

## 3.1.3

### Patch Changes

- Updated dependencies [45f4262]
- Updated dependencies
  - @pnpm/types@10.1.0
  - @pnpm/lockfile.detect-dep-types@2.0.0
  - @pnpm/lockfile-types@7.0.0
  - @pnpm/lockfile-utils@11.0.0
  - @pnpm/lockfile-walker@9.0.0
  - @pnpm/dependency-path@5.0.0
  - @pnpm/package-is-installable@9.0.2
  - @pnpm/directory-fetcher@8.0.2
  - @pnpm/lockfile-file@9.0.6
  - @pnpm/read-package-json@9.0.2
  - @pnpm/store.cafs@3.0.1

## 3.1.2

### Patch Changes

- Updated dependencies [a7aef51]
  - @pnpm/error@6.0.1
  - @pnpm/package-is-installable@9.0.1
  - @pnpm/lockfile-file@9.0.5
  - @pnpm/read-package-json@9.0.1
  - @pnpm/directory-fetcher@8.0.1

## 3.1.1

### Patch Changes

- Updated dependencies [7a0536e]
  - @pnpm/lockfile-utils@10.1.1
  - @pnpm/lockfile-file@9.0.4

## 3.1.0

### Minor Changes

- 9719a42: New setting called `virtual-store-dir-max-length` added to modify the maximum allowed length of the directories inside `node_modules/.pnpm`. The default length is set to 120 characters. This setting is particularly useful on Windows, where there is a limit to the maximum length of a file path [#7355](https://github.com/pnpm/pnpm/issues/7355).

### Patch Changes

- Updated dependencies [9719a42]
  - @pnpm/dependency-path@4.0.0
  - @pnpm/lockfile-utils@10.1.0
  - @pnpm/lockfile.detect-dep-types@1.0.1
  - @pnpm/lockfile-file@9.0.3
  - @pnpm/lockfile-walker@8.0.1
  - @pnpm/directory-fetcher@8.0.0

## 3.0.2

### Patch Changes

- Updated dependencies [c969f37]
  - @pnpm/lockfile-file@9.0.2

## 3.0.1

### Patch Changes

- Updated dependencies [2cbf7b7]
- Updated dependencies [6b6ca69]
  - @pnpm/lockfile-file@9.0.1

## 3.0.0

### Major Changes

- f5766d9: `pnpm licenses list` prints license information of all versions of the same package in case different versions use different licenses. The format of the `pnpm licenses list --json` output has been changed [#7528](https://github.com/pnpm/pnpm/pull/7528).
- 43cdd87: Node.js v16 support dropped. Use at least Node.js v18.12.
- d381a60: Support for lockfile v5 is dropped. Use pnpm v8 to convert lockfile v5 to lockfile v6 [#7470](https://github.com/pnpm/pnpm/pull/7470).

### Patch Changes

- Updated dependencies [7733f3a]
- Updated dependencies [3ded840]
- Updated dependencies [cdd8365]
- Updated dependencies [89b396b]
- Updated dependencies [43cdd87]
- Updated dependencies [6cdbf11]
- Updated dependencies [36dcaa0]
- Updated dependencies [086b69c]
- Updated dependencies [d381a60]
- Updated dependencies [f67ad31]
- Updated dependencies [27a96a8]
- Updated dependencies [730929e]
- Updated dependencies [98a1266]
- Updated dependencies [a22bdf0]
  - @pnpm/types@10.0.0
  - @pnpm/error@6.0.0
  - @pnpm/dependency-path@3.0.0
  - @pnpm/lockfile-utils@10.0.0
  - @pnpm/read-package-json@9.0.0
  - @pnpm/package-is-installable@9.0.0
  - @pnpm/directory-fetcher@8.0.0
  - @pnpm/lockfile-walker@8.0.0
  - @pnpm/lockfile-types@6.0.0
  - @pnpm/lockfile-file@9.0.0
  - @pnpm/store.cafs@3.0.0
  - @pnpm/lockfile.detect-dep-types@1.0.0

## 2.3.0

### Minor Changes

- fd42caf24: When the license field does not exist in `package.json` but a license file exists, try to match and extract the license name [#7530](https://github.com/pnpm/pnpm/pull/7530).

### Patch Changes

- @pnpm/store.cafs@2.0.12
- @pnpm/directory-fetcher@7.0.11
- @pnpm/lockfile-utils@9.0.5

## 2.2.10

### Patch Changes

- @pnpm/directory-fetcher@7.0.10

## 2.2.9

### Patch Changes

- fe737aeb4: Output license information for a deterministic version when multiple versions of a single package are depended on
- dcf3ef7e4: Handle Git repository names containing capital letters [#7488](https://github.com/pnpm/pnpm/pull/7488).
  - @pnpm/directory-fetcher@7.0.9

## 2.2.8

### Patch Changes

- Updated dependencies [33313d2fd]
- Updated dependencies [4d34684f1]
  - @pnpm/store.cafs@2.0.11
  - @pnpm/lockfile-types@5.1.5
  - @pnpm/types@9.4.2
  - @pnpm/lockfile-file@8.1.6
  - @pnpm/lockfile-utils@9.0.4
  - @pnpm/lockfile-walker@7.0.8
  - @pnpm/package-is-installable@8.1.2
  - @pnpm/directory-fetcher@7.0.9
  - @pnpm/dependency-path@2.1.7
  - @pnpm/read-package-json@8.0.7

## 2.2.7

### Patch Changes

- Updated dependencies
  - @pnpm/lockfile-types@5.1.4
  - @pnpm/types@9.4.1
  - @pnpm/lockfile-file@8.1.5
  - @pnpm/lockfile-utils@9.0.3
  - @pnpm/lockfile-walker@7.0.7
  - @pnpm/package-is-installable@8.1.1
  - @pnpm/directory-fetcher@7.0.8
  - @pnpm/dependency-path@2.1.6
  - @pnpm/read-package-json@8.0.6
  - @pnpm/store.cafs@2.0.10

## 2.2.6

### Patch Changes

- Updated dependencies [d5a176af7]
  - @pnpm/lockfile-utils@9.0.2

## 2.2.5

### Patch Changes

- Updated dependencies [b4194fe52]
  - @pnpm/lockfile-utils@9.0.1

## 2.2.4

### Patch Changes

- @pnpm/store.cafs@2.0.9
- @pnpm/directory-fetcher@7.0.7

## 2.2.3

### Patch Changes

- @pnpm/directory-fetcher@7.0.6

## 2.2.2

### Patch Changes

- Updated dependencies [4c2450208]
  - @pnpm/lockfile-utils@9.0.0
  - @pnpm/directory-fetcher@7.0.5
  - @pnpm/store.cafs@2.0.8

## 2.2.1

### Patch Changes

- Updated dependencies [500363647]
  - @pnpm/directory-fetcher@7.0.4

## 2.2.0

### Minor Changes

- 43ce9e4a6: Support for multiple architectures when installing dependencies [#5965](https://github.com/pnpm/pnpm/issues/5965).

  You can now specify architectures for which you'd like to install optional dependencies, even if they don't match the architecture of the system running the install. Use the `supportedArchitectures` field in `package.json` to define your preferences.

  For example, the following configuration tells pnpm to install optional dependencies for Windows x64:

  ```json
  {
    "pnpm": {
      "supportedArchitectures": {
        "os": ["win32"],
        "cpu": ["x64"]
      }
    }
  }
  ```

  Whereas this configuration will have pnpm install optional dependencies for Windows, macOS, and the architecture of the system currently running the install. It includes artifacts for both x64 and arm64 CPUs:

  ```json
  {
    "pnpm": {
      "supportedArchitectures": {
        "os": ["win32", "darwin", "current"],
        "cpu": ["x64", "arm64"]
      }
    }
  }
  ```

  Additionally, `supportedArchitectures` also supports specifying the `libc` of the system.

### Patch Changes

- Updated dependencies [43ce9e4a6]
  - @pnpm/package-is-installable@8.1.0
  - @pnpm/types@9.4.0
  - @pnpm/store.cafs@2.0.7
  - @pnpm/directory-fetcher@7.0.3
  - @pnpm/lockfile-file@8.1.4
  - @pnpm/lockfile-types@5.1.3
  - @pnpm/lockfile-utils@8.0.7
  - @pnpm/lockfile-walker@7.0.6
  - @pnpm/dependency-path@2.1.5
  - @pnpm/read-package-json@8.0.5

## 2.1.0

### Minor Changes

- fff7866f3: The `pnpm licenses list` command now accepts the `--filter` option to check the licenses of the dependencies of a subset of workspace projects [#5806](https://github.com/pnpm/pnpm/issues/5806).

## 2.0.22

### Patch Changes

- Updated dependencies [01bc58e2c]
  - @pnpm/store.cafs@2.0.6
  - @pnpm/directory-fetcher@7.0.2

## 2.0.21

### Patch Changes

- Updated dependencies [d774a3196]
  - @pnpm/types@9.3.0
  - @pnpm/package-is-installable@8.0.5
  - @pnpm/directory-fetcher@7.0.2
  - @pnpm/lockfile-file@8.1.3
  - @pnpm/lockfile-types@5.1.2
  - @pnpm/lockfile-utils@8.0.6
  - @pnpm/lockfile-walker@7.0.5
  - @pnpm/dependency-path@2.1.4
  - @pnpm/read-package-json@8.0.4
  - @pnpm/store.cafs@2.0.5

## 2.0.20

### Patch Changes

- Updated dependencies [f394cfccd]
  - @pnpm/lockfile-utils@8.0.5

## 2.0.19

### Patch Changes

- @pnpm/store.cafs@2.0.4
- @pnpm/directory-fetcher@7.0.1

## 2.0.18

### Patch Changes

- @pnpm/store.cafs@2.0.3
- @pnpm/directory-fetcher@7.0.0

## 2.0.17

### Patch Changes

- Updated dependencies [b3947185c]
  - @pnpm/store.cafs@2.0.2
  - @pnpm/directory-fetcher@7.0.0

## 2.0.16

### Patch Changes

- Updated dependencies [b548f2f43]
- Updated dependencies [4a1a9431d]
- Updated dependencies [d92070876]
  - @pnpm/store.cafs@2.0.1
  - @pnpm/directory-fetcher@7.0.0

## 2.0.15

### Patch Changes

- Updated dependencies [0fd9e6a6c]
- Updated dependencies [d57e4de6d]
- Updated dependencies [083bbf590]
- Updated dependencies [e9aa6f682]
  - @pnpm/store.cafs@2.0.0
  - @pnpm/directory-fetcher@6.1.0
  - @pnpm/lockfile-utils@8.0.4

## 2.0.14

### Patch Changes

- Updated dependencies [73f2b6826]
  - @pnpm/store.cafs@1.0.2
  - @pnpm/directory-fetcher@6.0.4

## 2.0.13

### Patch Changes

- Updated dependencies [fe1c5f48d]
  - @pnpm/store.cafs@1.0.1
  - @pnpm/directory-fetcher@6.0.4

## 2.0.12

### Patch Changes

- Updated dependencies [4bbf482d1]
  - @pnpm/store.cafs@1.0.0
  - @pnpm/directory-fetcher@6.0.4

## 2.0.11

### Patch Changes

- Updated dependencies [aa2ae8fe2]
- Updated dependencies [250f7e9fe]
- Updated dependencies [e958707b2]
  - @pnpm/types@9.2.0
  - @pnpm/cafs@7.0.5
  - @pnpm/package-is-installable@8.0.4
  - @pnpm/lockfile-file@8.1.2
  - @pnpm/lockfile-types@5.1.1
  - @pnpm/lockfile-utils@8.0.3
  - @pnpm/lockfile-walker@7.0.4
  - @pnpm/dependency-path@2.1.3
  - @pnpm/read-package-json@8.0.3
  - @pnpm/directory-fetcher@6.0.4

## 2.0.10

### Patch Changes

- @pnpm/directory-fetcher@6.0.3

## 2.0.9

### Patch Changes

- Updated dependencies [b81cefdcd]
  - @pnpm/cafs@7.0.4
  - @pnpm/directory-fetcher@6.0.2

## 2.0.8

### Patch Changes

- c686768f0: `pnpm license ls` should work even when there is a patched git protocol dependency [#6595](https://github.com/pnpm/pnpm/issues/6595)
- Updated dependencies [e57e2d340]
  - @pnpm/cafs@7.0.3
  - @pnpm/directory-fetcher@6.0.2

## 2.0.7

### Patch Changes

- Updated dependencies [d9da627cd]
  - @pnpm/lockfile-utils@8.0.2
  - @pnpm/lockfile-file@8.1.1
  - @pnpm/error@5.0.2
  - @pnpm/package-is-installable@8.0.3
  - @pnpm/read-package-json@8.0.2
  - @pnpm/directory-fetcher@6.0.2

## 2.0.6

### Patch Changes

- 4b97f1f07: Don't use await in loops.
- Updated dependencies [d55b41a8b]
- Updated dependencies [614d5bd72]
  - @pnpm/cafs@7.0.2
  - @pnpm/directory-fetcher@6.0.1

## 2.0.5

### Patch Changes

- Updated dependencies [9c4ae87bd]
- Updated dependencies [a9e0b7cbf]
- Updated dependencies [9c4ae87bd]
  - @pnpm/lockfile-types@5.1.0
  - @pnpm/lockfile-file@8.1.0
  - @pnpm/types@9.1.0
  - @pnpm/lockfile-utils@8.0.1
  - @pnpm/lockfile-walker@7.0.3
  - @pnpm/package-is-installable@8.0.2
  - @pnpm/dependency-path@2.1.2
  - @pnpm/read-package-json@8.0.1
  - @pnpm/cafs@7.0.1
  - @pnpm/error@5.0.1
  - @pnpm/directory-fetcher@6.0.1

## 2.0.4

### Patch Changes

- Updated dependencies [d58cdb962]
  - @pnpm/lockfile-utils@8.0.0

## 2.0.3

### Patch Changes

- Updated dependencies [c0760128d]
  - @pnpm/package-is-installable@8.0.1
  - @pnpm/dependency-path@2.1.1
  - @pnpm/lockfile-file@8.0.2
  - @pnpm/lockfile-utils@7.0.1
  - @pnpm/lockfile-walker@7.0.2

## 2.0.2

### Patch Changes

- Updated dependencies [72ba638e3]
  - @pnpm/lockfile-utils@7.0.0

## 2.0.1

### Patch Changes

- Updated dependencies [5087636b6]
- Updated dependencies [94f94eed6]
- Updated dependencies [94f94eed6]
  - @pnpm/dependency-path@2.1.0
  - @pnpm/lockfile-file@8.0.1
  - @pnpm/lockfile-utils@6.0.1
  - @pnpm/lockfile-walker@7.0.1

## 2.0.0

### Major Changes

- eceaa8b8b: Node.js 14 support dropped.

### Patch Changes

- Updated dependencies [c92936158]
- Updated dependencies [158d8cf22]
- Updated dependencies [ca8f51e60]
- Updated dependencies [eceaa8b8b]
- Updated dependencies [0e26acb0f]
- Updated dependencies [417c8ac59]
  - @pnpm/lockfile-types@5.0.0
  - @pnpm/lockfile-utils@6.0.0
  - @pnpm/lockfile-file@8.0.0
  - @pnpm/dependency-path@2.0.0
  - @pnpm/read-package-json@8.0.0
  - @pnpm/package-is-installable@8.0.0
  - @pnpm/directory-fetcher@6.0.0
  - @pnpm/lockfile-walker@7.0.0
  - @pnpm/error@5.0.0
  - @pnpm/types@9.0.0
  - @pnpm/cafs@7.0.0

## 1.0.17

### Patch Changes

- Updated dependencies [787c43dcc]
  - @pnpm/lockfile-file@7.0.6
  - @pnpm/cafs@6.0.2
  - @pnpm/directory-fetcher@5.1.6

## 1.0.16

### Patch Changes

- 019e4f2de: Should not throw an error when local dependency use file protocol [#6115](https://github.com/pnpm/pnpm/issues/6115).

## 1.0.15

### Patch Changes

- Updated dependencies [ed946c73e]
  - @pnpm/lockfile-file@7.0.5

## 1.0.14

### Patch Changes

- @pnpm/directory-fetcher@5.1.5
- @pnpm/lockfile-utils@5.0.7
- @pnpm/cafs@6.0.1

## 1.0.13

### Patch Changes

- Updated dependencies [d89d7a078]
  - @pnpm/dependency-path@1.1.3
  - @pnpm/lockfile-file@7.0.4
  - @pnpm/lockfile-utils@5.0.6
  - @pnpm/lockfile-walker@6.0.8

## 1.0.12

### Patch Changes

- Updated dependencies [9247f6781]
  - @pnpm/dependency-path@1.1.2
  - @pnpm/lockfile-file@7.0.3
  - @pnpm/lockfile-utils@5.0.5
  - @pnpm/lockfile-walker@6.0.7

## 1.0.11

### Patch Changes

- Updated dependencies [98d6603f3]
- Updated dependencies [98d6603f3]
  - @pnpm/cafs@6.0.0
  - @pnpm/directory-fetcher@5.1.4

## 1.0.10

### Patch Changes

- Updated dependencies [1e6de89b6]
  - @pnpm/cafs@5.0.6
  - @pnpm/directory-fetcher@5.1.4

## 1.0.9

### Patch Changes

- Updated dependencies [9a68ebbae]
  - @pnpm/lockfile-file@7.0.2

## 1.0.8

### Patch Changes

- Updated dependencies [0f6e95872]
  - @pnpm/dependency-path@1.1.1
  - @pnpm/lockfile-file@7.0.1
  - @pnpm/lockfile-utils@5.0.4
  - @pnpm/lockfile-walker@6.0.6

## 1.0.7

### Patch Changes

- Updated dependencies [3ebce5db7]
- Updated dependencies [3ebce5db7]
  - @pnpm/lockfile-file@7.0.0
  - @pnpm/dependency-path@1.1.0
  - @pnpm/cafs@5.0.5
  - @pnpm/error@4.0.1
  - @pnpm/lockfile-utils@5.0.3
  - @pnpm/lockfile-walker@6.0.5
  - @pnpm/package-is-installable@7.0.4
  - @pnpm/read-package-json@7.0.5
  - @pnpm/directory-fetcher@5.1.4

## 1.0.6

### Patch Changes

- 1d3995fe3: Add the 'description'-field to the licenses output [#5836](https://github.com/pnpm/pnpm/pull/5836).

## 1.0.5

### Patch Changes

- Updated dependencies [b77651d14]
  - @pnpm/types@8.10.0
  - @pnpm/package-is-installable@7.0.3
  - @pnpm/lockfile-file@6.0.5
  - @pnpm/lockfile-types@4.3.6
  - @pnpm/lockfile-utils@5.0.2
  - @pnpm/lockfile-walker@6.0.4
  - @pnpm/dependency-path@1.0.1
  - @pnpm/read-package-json@7.0.4
  - @pnpm/cafs@5.0.4
  - @pnpm/directory-fetcher@5.1.3

## 1.0.4

### Patch Changes

- Updated dependencies [313702d76]
  - @pnpm/dependency-path@1.0.0
  - @pnpm/lockfile-file@6.0.4
  - @pnpm/lockfile-utils@5.0.1
  - @pnpm/lockfile-walker@6.0.3

## 1.0.3

### Patch Changes

- 5464e1da6: `pnpm license list` should not fail if a license file is an executable [#5740](https://github.com/pnpm/pnpm/pull/5740).

## 1.0.2

### Patch Changes

- Updated dependencies [a9d59d8bc]
  - @pnpm/lockfile-file@6.0.3
  - @pnpm/read-package-json@7.0.3
  - @pnpm/cafs@5.0.3
  - @pnpm/directory-fetcher@5.1.2

## 1.0.1

### Patch Changes

- @pnpm/directory-fetcher@5.1.1

## 1.0.0

### Major Changes

- d84a30a04: Added a new command `pnpm licenses list`, which displays the licenses of the packages [#2825](https://github.com/pnpm/pnpm/issues/2825)
