-
Notifications
You must be signed in to change notification settings - Fork 6.8k
build: update pnpm to v10.28.0 (21.0.x) #32574
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
crisbeto
merged 1 commit into
angular:21.0.x
from
angular-robot:ng-renovate/21.0.x-pnpm-10-x
Jan 13, 2026
Merged
build: update pnpm to v10.28.0 (21.0.x) #32574
crisbeto
merged 1 commit into
angular:21.0.x
from
angular-robot:ng-renovate/21.0.x-pnpm-10-x
Jan 13, 2026
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@angular-robot
angular-robot
added
action: merge
The PR is ready for merge by the caretaker
area: build & ci
Related the build and CI infrastructure of the project
target: automation
This PR is targeted to only merge into the branch defined in Github [bot use only]
labels
Dec 19, 2025
@angular-robot
angular-robot
force-pushed
the
ng-renovate/21.0.x-pnpm-10-x
branch
from
December 20, 2025 01:32
e24e4dc to
beea340
Compare
@angular-robot
angular-robot
changed the title
(削除) build: update pnpm to v10.26.0 (21.0.x) (削除ここまで)
(追記) build: update pnpm to v10.26.1 (21.0.x) (追記ここまで)
Dec 20, 2025
mmalerba
mmalerba
approved these changes
Dec 21, 2025
@angular-robot
angular-robot
force-pushed
the
ng-renovate/21.0.x-pnpm-10-x
branch
from
December 24, 2025 14:05
beea340 to
43c356c
Compare
@angular-robot
angular-robot
changed the title
(削除) build: update pnpm to v10.26.1 (21.0.x) (削除ここまで)
(追記) build: update pnpm to v10.26.2 (21.0.x) (追記ここまで)
Dec 24, 2025
@angular-robot
angular-robot
force-pushed
the
ng-renovate/21.0.x-pnpm-10-x
branch
from
December 31, 2025 21:36
43c356c to
813f481
Compare
@angular-robot
angular-robot
changed the title
(削除) build: update pnpm to v10.26.2 (21.0.x) (削除ここまで)
(追記) build: update pnpm to v10.27.0 (21.0.x) (追記ここまで)
Dec 31, 2025
See associated pull request for more information.
@angular-robot
angular-robot
force-pushed
the
ng-renovate/21.0.x-pnpm-10-x
branch
from
January 10, 2026 23:37
813f481 to
3cc93ba
Compare
@angular-robot
angular-robot
changed the title
(削除) build: update pnpm to v10.27.0 (21.0.x) (削除ここまで)
(追記) build: update pnpm to v10.28.0 (21.0.x) (追記ここまで)
Jan 10, 2026
Member
crisbeto
commented
Jan 13, 2026
This PR was merged into the repository. The changes were merged into the following branches:
- 21.0.x: 79a4324
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
This PR contains the following updates:
10.24.0→10.28.0Release Notes
pnpm/pnpm (pnpm)
v10.28.0: pnpm 10.28Compare Source
Minor Changes
beforePackingthat can be used to customize thepackage.jsoncontents at publish time #3816.pnpm install --filter ...) was slower than runningpnpm installwithout any filter arguments. This performance regression is now fixed. Filtered installs should be as fast or faster than a full install #10408.Patch Changes
requiredScriptssetting inpnpm-workspace.yaml#10261.Platinum Sponsors
Gold Sponsors
v10.27.0: pnpm 10.27Compare Source
Minor Changes
Adding
trustPolicyIgnoreAfterallows you to ignore trust policy checks for packages published more than a specified time ago#10352.Added project registry for global virtual store prune support.
Projects using the store are now registered via symlinks in
{storeDir}/v10/projects/. This enablespnpm store pruneto track which packages are still in use by active projects and safely remove unused packages from the global virtual store.Semi-breaking. Changed the location of unscoped packages in the virtual global store. They will now be stored under a directory named
@to maintain a uniform 4-level directory depth.Added mark-and-sweep garbage collection for global virtual store.
pnpm store prunenow removes unused packages from the global virtual store'slinks/directory. The algorithm:This includes support for workspace monorepos - all
node_modulesdirectories within a project (including those in workspace packages) are scanned.Patch Changes
tokenHelperor<url>:tokenHelpersetting contains an environment variable.dangerouslyAllowAllBuildssettings #10376.pnpm store pruneshould not fail if the dlx cache directory has files, not only directories #10384pnpm addwould incorrectly modify a catalog entry inpnpm-workspace.yamlto its exact version.Platinum Sponsors
Gold Sponsors
v10.26.2: pnpm 10.26.2Compare Source
Patch Changes
Improve error message when a package version exists but does not meet the
minimumReleaseAgeconstraint. The error now clearly states that the version exists and shows a human-readable time since release (e.g., "released 6 hours ago") #10307.Fix installation of Git dependencies using annotated tags #10335.
Previously, pnpm would store the annotated tag object's SHA in the lockfile instead of the actual commit SHA. This caused
ERR_PNPM_GIT_CHECKOUT_FAILEDerrors because the checked-out commit hash didn't match the stored tag object hash.Binaries of runtime engines (Node.js, Deno, Bun) are written to
node_modules/.binbefore lifecycle scripts (install, postinstall, prepare) are executed #10244.Try to avoid making network calls with preferOffline #10334.
Platinum Sponsors
Gold Sponsors
v10.26.1: pnpm 10.26.1Compare Source
Patch Changes
pnpm add, whenblockExoticSubdepsis set totrue#10324.HEADpoints to the commit after checkout #10310.Platinum Sponsors
Gold Sponsors
v10.26.0: pnpm 10.26Compare Source
Minor Changes
Semi-breaking. Block git-hosted dependencies from running prepare scripts unless explicitly allowed in
onlyBuiltDependencies#10288.Semi-breaking. Compute integrity hash for HTTP tarball dependencies when fetching, storing it in the lockfile to prevent servers from serving altered content on subsequent installs #10287.
Added a new setting
blockExoticSubdepsthat prevents the resolution of exotic protocols in transitive dependencies.When set to
true, direct dependencies (those listed in your rootpackage.json) may still use exotic sources, but all transitive dependencies must be resolved from a trusted source. Trusted sources include the configured registry, local file paths, workspace links, trusted GitHub repositories (node, bun, deno), and custom resolvers.This helps to secure the dependency supply chain. Packages from trusted sources are considered safer, as they are typically subject to more reliable verification and scanning for malware and vulnerabilities.
Exotic sources are dependency locations that bypass the usual trusted resolution process. These protocols are specifically targeted and blocked: Git repositories (
git+ssh://...) and direct URL links to tarballs (https://.../package.tgz).Related PR: #10265.
Added support for
allowBuilds, which is a new field that can be used instead ofonlyBuiltDependenciesandignoredBuiltDependencies. The newallowBuildsfield in yourpnpm-workspace.yamluses a map of package matchers to explicitly allow (true) or disallow (false) script execution. This allows for a single, easy-to-manage source of truth for your build permissions.Example Usage. To explicitly allow all versions of
esbuildto run scripts and preventcore-jsfrom running them:The example above achieves the same result as the previous configuration:
Related PR: #10311
Added support for
--dry-runto thepackcommand #10301.Patch Changes
injectWorkspacePackagessetting from the lockfile on thedeploycommand #10294.package.json#10197.Platinum Sponsors
Gold Sponsors
v10.25.0: pnpm 10.25Compare Source
Minor Changes
Allow loading certificates from
cert,ca, andkeyfor specific registry URLs. E.g.,//registry.example.com/:ca=-----BEGIN CERTIFICATE-----.... Previously this was only working viacertfile,cafile, andkeyfile.These properties are supported in
.npmrc, but were ignored by pnpm, this will make pnpm read and use them as well.Related PR: #10230.
Added a new flag called
--baretopnpm initfor creating a package.json with the bare minimum of required fields #10226.Patch Changes
pnpm installshould build any dependencies that were added toonlyBuiltDependenciesand were not built yet #10256.pnpm publish -r --forceshould allow to run publish over already existing versions in the registry #10272.ERR_PNPM_MISSING_TIMEerror if a package that is excluded from trust policy checks is missing the time field in the metadata.Platinum Sponsors
Gold Sponsors