NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3119 most downloaded on npm
Last release 2 months ago
29 Jul 2026
Ships unpredictably
gaps range from 1 weeks to 1.4 years
Most releases are documented
notes for 9 of 14 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
117 releases · first in 2019
Blog post https://dev.to/arcanis/yarn-31-corepack-esm-pnpm-optional-packages--3hak Changelog https://github.com/yarnpkg/berry/blob/f84c46a159e30b6560c
Blog post https://dev.to/arcanis/yarn-31-corepack-esm-pnpm-optional-packages--3hak Changelog https://github.com/yarnpkg/berry/blob/f84c46a159e30b6560c7969e8e18d1bff6dd9484/CHANGELOG.md#310
yarn workspaces list and yarn workspaces foreach commands now both support a new --since option that lets you filter the workspace list by changes (only workspaces that changed since the specified commit will be iterated on). This feature is still a little experimental, especially when used with -R,--recursive.yarn workspaces foreach command now handles the fact that a script containing : only becomes global if it exists in exactly one workspace.yarn workspaces foreach command now supports --jobs 1 and --jobs unlimited.yarn init -2 command will now add the packageManager field to your project manifest.pattern matcher from logFilters will now match any part of the log entry.nodeLinker: pnpm mode will let you install packages using the pnpm install strategy, where packages are stored flat and referenced by each others through symlinks. This mode is still a little experimental, so please send our way bugs you might find.supportedArchitectures field to manually enforce the presence of specific architectures.nmMode: hardlinks-global setting will now be automatically downgraded to nmMode: hardlinks-local when global caches and install folders are kept on different devices, thus letting the install continue normally. A warning will still be produced explaining this behaviour.node_modules linker maximizes chances to end-up with only one top-level node_modules in the case of using workspacesnmSelfReferences setting has been added to the nm linker to control whether workspaces are allowed to require themselves - results in creation of self-referencing symlinks. yarn workspaces focus will not create self-referencing symlinks for excluded workspaces anymore.node_modules installs.workspace:^ and workspace:~. When published, those markers will turn into the actual version (just like what used to happen with workspace:*), except that they'll be prefixed with the relevant semver prefix (respectively ^ and ~).npmAuditRegistry setting will let you define which registry to use when running audits. If unset, we'll fallback to the currently configured publish registry (we'll likely change this behavior in Yarn 4 to rather use the fetch registry).node_modules installs will now be given priority during hoisting, preventing cases when indirect regular dependencies would block the way for direct portal dependencies.pnpify binary can now be used from inside directories containing spaces.--version string.node-modules linker.node-modules linker, since they cannot be used from the code anyway.fs module, allowing users to patch it.require.resolve('pnpapi') will be handled correctly even when using exports.yarn run immediately after adding or removing dependencies inside large monorepos.@types version. This matches the behaviour for peer dependencies.pnpEnableEsmLoader.resolve will no longer resolve missing modules to a file with the same name that would happen to be located next to the issuer.One column per quarter.
Nothing published for this version
Updated TypeScript patch to cover TypeScript 4.4.
VirtualFS.mapToBase to preserve . characters (was converting them to empty strings).Fixes an edge case with the PnP loader when calling readdir with null as second parameter (instead of undefined).
readdir with null as second parameter (instead of undefined).Blog post https://dev.to/arcanis/yarn-3-0-performances-esbuild-better-patches-e07 Changelog https://github.com/yarnpkg/berry/blob/01586a88806a2bebd7ed
Blog post https://dev.to/arcanis/yarn-3-0-performances-esbuild-better-patches-e07 Changelog https://github.com/yarnpkg/berry/blob/01586a88806a2bebd7edb28d1bee3581b1fd3762/CHANGELOG.md#300
yup anymore (we migrated to Typanion as part of Clipanion v3).
workspace-tools, remove it from your .yarnrc.yml, upgrade, then import it back.enableImmutableInstalls will now default to true on CI (we still recommend to explicitly use --immutable on the CLI).
YARN_ENABLE_IMMUTABLE_INSTALLS=false in your environment variables.initVersion and initLicense configuration options have been removed. initFields should be used instead..pnp.cjs files (instead of .pnp.js) when using PnP, regardless of what the type field inside the manifest is set to.$$virtual into __virtual__.-a alias flag of yarn workspaces foreach got removed; use -A,--all instead, which is strictly the same..vscode/pnpify) won't be cleaned up anymore.--skip-builds flag from yarn install got renamed into --mode=skip-build.bstatePath configuration option has been removed. The build state (.yarn/build-state.yml) has been moved into the install state (.yarn/install-state.gz)@yarnpkg/pnpify has been refactored into 3 packages:
@yarnpkg/sdks now contains the Editor SDKs@yarnpkg/pnpify now contains the PnPify CLI compatibility tool that creates in-memory node_modules@yarnpkg/nm now contains the node_modules tree builder and hoister@yarnpkg/plugin-node-modules has been renamed to @yarnpkg/plugin-nm--clipanion=definitions commands supported by our CLIs will now expose the definitions on the entry point (rather than on .command)structUtils.requirableIdent got removed; use structUtils.stringifyIdent instead, which is strictly the same.configuration.format got removed; use formatUtils.pretty instead, which is strictly the same, but type-safe.httpUtils.Options['json'] got removed; use httpUtils.Options['jsonResponse'] instead, which is strictly the same.PackageExtension['description'] got removed, use formatUtils.json(packageExtension, formatUtils.Type.PACKAGE_EXTENSION) instead, which is strictly the same.Project.generateBuildStateFile has been removed, the build state is now in Project.storedBuildState.Project.tryWorkspaceByDescriptor and Project.getWorkspaceByDescriptor now match on virtual descriptors.Workspaces now get self-references even when under the node-modules linker (just like how it already worked with the pnp linker). This means that a workspace called foo can now safely assume that calls to require('foo/package.json') will always work, removing the need for absolute aliases in the majority of cases.
The node-modules linker now does its best to support the portal: protocol. This support comes with two important limitations:
--preserve-symlinks Node option if they wish to access their dependencies.portal: must be hoisted outside of the portal. Failing that (for example if the portal package depends on something incompatible with the version hoisted via another package), the linker will produce an error and abandon the install.The node-modules linker can now utilize hardlinks. The new setting nmMode: classic | hardlinks-local | hardlinks-global specifies which node_modules strategy should be used:
classic - standard node_modules layout, without hardlinkshardlinks-local - standard node_modules layout with hardlinks inside the project onlyhardlinks-global - standard node_modules layout with hardlinks pointing to global content storage across all the projects using this optionnode-modules linker will now ensure that the generated install layouts are terminal, by doing several rounds when needed.node-modules linker will no longer print warnings about postinstall scripts when a workspace depends on another workspace listing install scripts.${ENV_VAR} syntax.preinstall, install, postinstall fail, the remaining scripts will be skipped.git: protocol will now default to fetching HEAD (rather than the hardcoded master).SIGTERM signal will now be propagated to child processes.yarn config unset will now correctly unset non-nested propertiesinitFields edge cases have been fixed.preferAggregateCacheInfo flag will now also aggregate cleanup reports.enableMessageNames flag can be set to false to exclude the YNxxxx from the output.yarn init can now be run even from within existing projects (will create missing files).yarn init and yarn set version will set the packageManager field.yarn set version now downloads binaries from the official Yarn website (rather than GitHub).yarn set version from sources will now upgrade the builtin plugins as well unless --skip-plugins is set.yarn version apply now supports a new --prerelease flag which replaces how prereleases were previously handled.yarn run should be significantly faster to boot on large projects.yarn workspaces foreach --verbose will now print when processes start and end, even if they don't have an output.yarn workspaces foreach now supports a --from <glob> flag, which when combined with -R will target workspaces reachable from the 'from' glob.yarn patch-commit can now be used as many times as you want on the same patch folder.yarn patch-commit now supports a new -s,--save flag which will save the patch instead of just printing it.yarn up now supports a new -R,--recursive flag which will upgrade the specified package, regardless where it is.yarn config unset is a new command that will remove a setting from the local configuration (or home if -H is set).yarn exec got support for running shell scripts using Yarn's portable shell.yarn plugin import can now install specific versions of the official plugins.yarn plugin import will now download plugins compatible with the current CLI by default.yarn unlink has been added which removes resolutions previously set by yarn link.yarn install inside a Yarn v1 project will now automatically enable the node-modules linker. This should solve most of the problems people have had in their migrations. We still recommend to keep the default PnP for new projects, but the choice is yours.bigint, and fstat.@yarnpkg/esbuild-plugin-pnp. We use it to bundle Yarn itself!exports field - regardless of the Node version.node: protocol (new in Node 16)plugins configuration property.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →