pnpm/pnpm
### [`v8.1.0`](https://togithub.com/pnpm/pnpm/releases/tag/v8.1.0)
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v8.0.0...v8.1.0)
#### Minor Changes
- A new setting has been added called `dedupe-direct-deps`, which is disabled by default. When set to `true`, dependencies that are already symlinked to the root `node_modules` directory of the workspace will not be symlinked to subproject `node_modules` directories. This feature was enabled by default in v8.0.0 but caused issues, so it's best to disable it by default [#6299](https://togithub.com/pnpm/pnpm/issues/6299).
- Add `ignore-workspace-cycles` to silence workspace cycle warning [#6308](https://togithub.com/pnpm/pnpm/pull/6308).
#### Patch Changes
- Print the right lowest supported Node.js version in the error message, when pnpm is executed with an old Node.js version [#6297](https://togithub.com/pnpm/pnpm/issues/6297).
- Improve the outdated lockfile error message [#6304](https://togithub.com/pnpm/pnpm/pull/6304).
#### Our Gold Sponsors
#### Our Silver Sponsors
### [`v8.0.0`](https://togithub.com/pnpm/pnpm/releases/tag/v8.0.0)
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v7.30.5...v8.0.0)
We are excited to announce the latest release of pnpm! To install it, check the [installation page](https://pnpm.io/installation).
![image](https://user-images.githubusercontent.com/1927579/228101984-4a6bf4e5-9e70-480f-bf3b-140288e8f81e.png)
#### Major Changes
##### Node.js 14 Support Discontinued
If you still require Node.js 14, don't worry. We ship pnpm bundled with Node.js. This means that regardless of which Node.js version you've installed, pnpm will operate using the necessary Node.js runtime. For this to work you need to install pnpm either using the [standalone script](https://pnpm.io/installation#using-a-standalone-script) or install the `@pnpm/exe` package.
##### Configuration Updates
- [`auto-install-peers`](https://pnpm.io/npmrc#auto-install-peers): enabled by default.
- [`dedupe-peer-dependents`](https://pnpm.io/npmrc#dedupe-peer-dependents): enabled by default.
- [`resolve-peers-from-workspace-root`](https://pnpm.io/npmrc#resolve-peers-from-workspace-root): enabled by default.
- [`save-workspace-protocol`](https://pnpm.io/npmrc#save-workspace-protocol): set to `rolling` by default.
- [`resolution-mode`](https://pnpm.io/npmrc#resolution-mode): set to `lowest-direct` by default.
- [`publishConfig.linkDirectory`](https://pnpm.io/package_json#publishconfiglinkdirectory): enabled by default.
Most of the configuration changes are related to peer dependencies. Most of these settings were implemented long ago, and we recommended them to users encountering peer dependency issues. The recently added `dedupe-peer-dependents` resolved many such problems. With these new defaults, pnpm will face significantly fewer issues during migration from other package managers.
##### Lockfile Modifications
- [Lockfile v6](https://togithub.com/pnpm/pnpm/pull/5810) is adopted. This new format improves the readability of the lockfile by removing hashes from package IDs. It also has some rearrangement of fields in the `importers` section. **The new `pnpm-lock.yaml` file is more resistant to git merge conflicts!**
- The registry field is removed from the `resolution` object in `pnpm-lock.yaml`.
- A lockfile is generated even for projects with no dependencies.
##### Other Changes
- When there's a `files` field in the `package.json`, only the files that are listed in it will be [deployed](https://pnpm.io/cli/deploy). The same logic is applied when [injecting packages](https://pnpm.io/package_json#dependenciesmetainjected). This behaviour can be changed by setting the [`deploy-all-files`](https://pnpm.io/8.x/npmrc#deploy-all-files) setting to `true` (Related issue [#5911](https://togithub.com/pnpm/pnpm/issues/5911)).
- Direct dependencies are deduped. If a dependency is present in both a project and the workspace root, it will only be linked to the workspace root.
#### Migration Instructions
Before updating pnpm to v8 in your CI, regenerate your `pnpm-lock.yaml`. To upgrade your lockfile, run `pnpm install` and commit the changes. Existing dependencies will not be updated; however, due to configuration changes in pnpm v8, some missing peer dependencies may be added to the lockfile and some packages may get deduplicated.
You can commit the new lockfile even before upgrading Node.js in the CI, as pnpm v7 already supports the new lockfile format.
#### pnpm v7 Support
pnpm v7 will likely not receive any new features, but it will continue to get bug fixes for a few months and vulnerability fixes for at least a year.
#### Our Gold Sponsors
#### Our Silver Sponsors
### [`v7.30.5`](https://togithub.com/pnpm/pnpm/releases/tag/v7.30.5)
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v7.30.4...v7.30.5)
#### Patch Changes
- `pnpm audit` should work even if there are no `package.json` file, just a `pnpm-lock.yaml` file.
- Dedupe direct dependencies after hoisting.
- Don't remove automatically installed peer dependencies from the root workspace project, when `dedupe-peer-dependents` is `true` [#6154](https://togithub.com/pnpm/pnpm/issues/6154).
#### Our Gold Sponsors
#### Our Silver Sponsors
### [`v7.30.4`](https://togithub.com/pnpm/pnpm/compare/v7.30.3...v7.30.4)
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v7.30.3...v7.30.4)
### [`v7.30.3`](https://togithub.com/pnpm/pnpm/releases/tag/v7.30.3)
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v7.30.2...v7.30.3)
#### Patch Changes
- Should use most specific override rule when multiple rules match the same target [#6210](https://togithub.com/pnpm/pnpm/issues/6210).
- Fix regression introduced in v7.30.1 [#6271](https://togithub.com/pnpm/pnpm/issues/6271).
#### Our Gold Sponsors
#### Our Silver Sponsors
### [`v7.30.2`](https://togithub.com/pnpm/pnpm/compare/v7.30.1...v7.30.2)
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v7.30.1...v7.30.2)
### [`v7.30.1`](https://togithub.com/pnpm/pnpm/releases/tag/v7.30.1)
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v7.30.0...v7.30.1)
#### Patch Changes
- Don't write the `pnpm-lock.yaml` file if it has no changes and `pnpm install --frozen-lockfile` was executed [#6158](https://togithub.com/pnpm/pnpm/issues/6158).
- Fix git-hosted dependencies referenced via `git+ssh` that use semver selectors [#6239](https://togithub.com/pnpm/pnpm/pull/6239).
- When publish some package throws an error, the exit code should be non-zero [#5528](https://togithub.com/pnpm/pnpm/issues/5528).
- Only three paths are displayed in `pnpm audit` output [#6203](https://togithub.com/pnpm/pnpm/issues/6203)
- Aliased packages should be used to resolve peer dependencies too [#4301](https://togithub.com/pnpm/pnpm/issues/4301).
#### Our Gold Sponsors
#### Our Silver Sponsors
### [`v7.30.0`](https://togithub.com/pnpm/pnpm/releases/tag/v7.30.0)
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v7.29.3...v7.30.0)
#### Minor Changes
- Allow to set a custom directory for storing patch files via the `patches-dir` setting [#6215](https://togithub.com/pnpm/pnpm/pull/6215)
#### Patch Changes
- New directories should be prepended to NODE_PATH in command shims, not appended.
- Retry copying file on EBUSY error [#6201](https://togithub.com/pnpm/pnpm/issues/6201).
#### Our Gold Sponsors
#### Our Silver Sponsors
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
7.29.3
->8.1.0
Release Notes
pnpm/pnpm
### [`v8.1.0`](https://togithub.com/pnpm/pnpm/releases/tag/v8.1.0) [Compare Source](https://togithub.com/pnpm/pnpm/compare/v8.0.0...v8.1.0) #### Minor Changes - A new setting has been added called `dedupe-direct-deps`, which is disabled by default. When set to `true`, dependencies that are already symlinked to the root `node_modules` directory of the workspace will not be symlinked to subproject `node_modules` directories. This feature was enabled by default in v8.0.0 but caused issues, so it's best to disable it by default [#6299](https://togithub.com/pnpm/pnpm/issues/6299). - Add `ignore-workspace-cycles` to silence workspace cycle warning [#6308](https://togithub.com/pnpm/pnpm/pull/6308). #### Patch Changes - Print the right lowest supported Node.js version in the error message, when pnpm is executed with an old Node.js version [#6297](https://togithub.com/pnpm/pnpm/issues/6297). - Improve the outdated lockfile error message [#6304](https://togithub.com/pnpm/pnpm/pull/6304). #### Our Gold SponsorsConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.