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
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
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
The release of TypeScript 4.2 couldn't be installed due to patch conflicts. This is now fixed. This version only includes a fix specific to 4.2, but f
yarn set version 2.4.1
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
The resolution pipeline got reimplemented. We previously used a multi-pass approach where we performed SAT optimization between each pass, but after i
yarn set version 2.4.0
The resolution pipeline got reimplemented. We previously used a multi-pass approach where we performed SAT optimization between each pass, but after investigating it turned out the SAT optims had little impact and added performance bottlenecks. We now run the resolution using a much simpler and more efficient algorithm.
Linkers can now define custom data to cache between Yarn invocations. The builtin linkers new use those new capabilities to cache package information that can't change between runs. In practice, this translates into much faster recurrent installs (when running an install that adds few new packages, if any).
Warnings are now reported when packageExtensions rules are either unused or redundant with the original package definition.
Potentially breaking, but it was intended this way from the start: the packageExtensions field cannot be used to replace dependencies anymore (only to add missing ones). Prefer using the resolutions field to replace existing ones.
Progress bars are rendered less often, which should help performances on some terminals.
Aliased packages no longer include themselves in node_modules installs
The upgrade-interactive command will now only show upgrade suggestions for packages that have available upgrades (rather than all of them).
The upgrade-interactive command has received UI improvements that should make it easier to look at.
The yarn workspaces focus command will now only run the postinstall scripts for the focused workspaces.
A new yarn npm audit command lets you query audit information from the npm registry.
The yarn workspaces foreach command has a new flag, -R,--recursive, which will run a command on the current workspace and all others it depends on.
A new --skip-builds option on yarn install will let you skip the build scripts without impacting the generated Yarn artifacts (contrary to enableScripts, which would also stop unplugging the packages that would otherwise be unplugged due to containing build scripts).
It's now possible to run dependency binaries when using the node-modules linker even if one of your other dependencies is reported as incompatible with your system.
By default Windows automatically requests for administrator rights before spawning any binary whose filename contains "install", "setup", "update", or "patch" (it thinks they are installers). We now explicitly opt-out of this behavior in the binary jumpers we use on Windows.
By default, arguments passed to MinGW-compiled programs are automatically expanded by a basic glob pattern engine. We now explicitly opt-out of this behavior in the binary jumpers we use on Windows.
The Windows binary jumpers will now report the right exit code.
Using empty fallbacks in Yarnrc environment variables (${VAR:-}) will now work.
You can now use the new logFilters setting to turn warnings into either errors or info, or to hide them entirely. Note that we plan to significantly improve the peer dependency warnings in the next release, so perhaps don't silence them just now even if you have a bunch of them.
No matches found, Bad file descriptor, Unbound variable, Unbound argument) will now be recoverable errors that make the shell continue on to the next command in the chain instead of hard crashes. Fixes cases such as rm -rf ./inexistentFolder/* || true.Some patches went missing for TypeScript <4. This is now fixed.
Calling fs.exists(undefined) won't crash anymore.
TypeScript import suggestions should now be correct even when the imported module is deep within a workspace.
TypeScript in watch mode (both using -w and within VSCode) will now detect new dependencies as you add them.
Some particular multi-dependency-trees setups will be better supported on Plug'n'Play installs.
Using ctrl+click on imports in VSCode won't take you to virtual packages anymore (require an SDK update).
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
The yarn tag set of commands has been ported over from Yarn Classic as yarn npm tag.
yarn set version 2.3.0
yarn tag set of commands has been ported over from Yarn Classic as yarn npm tag.yarn info will now print many information about your dependencies. Various options are available to tweak the output, including --json. Plugin authors can provide their own information sections via the fetchPackageInfo hook.yarn stage with the -r,--reset flag will now unstage all changes that seem related to Yarn.yarn add -h to see an example).Terminate batch job (Y/N)? prompts when invoking dependency binaries.The following changes only apply to the pnp linker (which is the default install strategy):
pnpapi module now exposes a new function called getAllLocators allow you to access the list of all locators in the map without having to traverse the dependency tree. This method is considered a Yarn extension, so you should check for its existence if you plan to use it in your code.The following changes only apply to the node-modules linker:
node_modules/.bin folder as their corresponding dependencies are removed.nmHoistingLimits has appeared. It replaces what was previously known as nohoist in Yarn 1.node-modules linker, and that the strictly correct behavior can only be obtained by using the default Plug'n'Play linker.$$ and $PPIDyarn constraints --fix command will now properly persist the changes on disk.yarn unplug command will now work when used on packages with peer dependencies.yarn stage command will now allow to stage files when called without the -c,--commit flag.yarnPath setting.Nothing published for this version
Yarn will now avoid using deprecated versions of the dependencies, unless only deprecated versions are available for the requested ranges.
yarn set version 2.2.0
publishConfig.executableFiles field in their manifests to indicate which files should keep the executable flag once packed in the archive. This is important as for portability reasons Yarn strips the executable flag from all files during packing (otherwise yarn pack would yield different outputs when run on Posix vs Windows). Files listed in the bin field are assumed executable by default, so you don't need to explicitly list them in executableFiles.yarn pack will properly include main/module/bin files, even when not explicitly referenced through the files field.git+file: protocol.workspace field will now be processed correctly.workspace: protocol to start with ./yarn add and yarn upcd and exit without arguments|& pipelineyarn add and yarn up will now respect the preferInteractive configuration option.yarn config set now supports the -H,--home flag, which causes it to update the home configuration instead of the project configuration.immutablePaths setting allow you to specify paths that must not change when running Yarn with the --immutable flag set. You can use it to detect unforeseen changes to your install artifacts, be it .pnp.js or node_modules files.$RANDOM variable as well as simple calculations using +, -, *, / and () inside $(()){echo foo}) to execute a command in the context of the current shell (without creating a subshell like in the case of (echo foo)).pnpIgnorePatternsfs module from within a Webpack browser bundle).…manifest (future release will remove the now deprecated initVersion and initLicense settings).
yarn set version 2.1.0
"preferUnplugged": true field in the manifest. This will hurt the experience of your users (your project will be the only one that will require hard installs), so please refrain using this field unless there's no other choice.yarn search will open a rich interface to search for packages to install (requires the interactive-tools plugin).yarn npm logout will remove your credentials from your home directory.yarn plugin import from sources will allow you to build plugins from the master branch of the our repository.yarn workspaces focus will only install the current workspace, plus any other workspace it might depend on. The --production flag will only install their production dependencies.yarn exec will execute the specified command at the root of the current workspace (reintroduced from the Classic branch).yarn create is now an alias to yarn dlx (with the create- prefix.)yarn init will now generate an EditorConfig file, and run git init on the resulting folder.yarn init now supports a -i flag which will automatically pin the Yarn version in the project.yarn init will now inject the settings from the initFields configuration setting when generating the initial manifest (future release will remove the now deprecated initVersion and initLicense settings).yarn init will now initialize a workspace project if given the -w flag.yarn workspaces foreach now support glob patterns in --include and --exclude.yarn set version now as an alias called yarn policies set-version (will be deprecated in 3.x).yarn run now supports the --inspect and --inspect-brk switches for binaries (for example yarn run --inspect-brk jest).yarn remove and yarn up now support glob patterns.yarn dlx now respects the local project configuration (particularly the configured registries). This is still experimental and will be further improved in the next months.yarn dlx now properly exits with an exit code when the underlying command returned an exit code too.yarn config get (and set) can now access nested configuration values (for example, yarn config get npmScopes.foo.npmRegistryServer will tell you which server is configured for the given server, if any).yarn config get will now hide its secrets (or rather yours) from the rest of the world. A new --no-redacted option will toggle off this behavior if needed.yarn config set now has a --json option that will let Yarn know it should interpret the given value as a JSON object (useful to set server configuration, etc).yarn workspace foreach will now exit with the expected status code if there's an error.${name} syntax (strict by default; use ${name:-default} to provide a default value).changesetIgnorePatterns setting can be used to ignore some paths from the changeset detection from yarn version check (changes to those paths won't be taken into account when deciding which workspaces need to fresh releases).changesetBaseRef setting can be used to change the name of the master branch that yarn version check will use in its changeset heuristic.httpTimeout and httpRetry settings allow you to configure the behavior of the HTTP(s) requests.preferTruncatedLines setting allow you to tell Yarn that it's ok if info and warning messages are truncated to fit in a single line (errors will always wrap as much as needed, and piping Yarn's output will toggle off this behaviour altogether).compressionLevel. If you don't use Zero-Installs, using a value of 0 may yield speed improvements at little cost.owner/repo#workspace=name syntax (which you can mix with branch names as usual).core.autocrlf so that the builds lead to deterministic results. Generally speaking, improvements have been made to avoid freshly built packages from generating different results.npm pack if we detect a package-lock.json).exec: protocol has a different API. In particular, builtin modules can now be accessed without having to actually require them.**/* in your workspaces field will now detect all child packages as workspaces.pnpMode: loose setting). Under this mode, Yarn will compute the list of packages that would have been hoisted under the node_modules linker, and let the application code access them with only a warning. This mode will however not become the default - warnings cannot be caught by the application code, and as a result the output of the loose mode can be quite verbose, often being more confusing than the strict mode.yarn upgrade-interactive has been revamped to reintroduce some elements that had been omitted when porting the command from the v1 to the v2.lutimes support into Node itself, since it was otherwise impossible to implement perfect copy mechanisms (the copied symlinks would end up with different mtime than their originals)..vscode/pnpify to .yarn/sdks.echo {foo,bar} won't work expect if there's actually a file named foo and/or bar..cjs extension has been added to multiple files in order to make it easier to use "type": "module".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 →