The 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.
The yarn workspaces foreach command now handles the fact that a script containing : only becomes global if it exists in exactly one workspace.
The yarn workspaces foreach command now supports --jobs 1 and --jobs unlimited.
The yarn init -2 command will now add the packageManager field to your project manifest.
Settings
The pattern matcher from logFilters will now match any part of the log entry.
Installs
A new 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.
Yarn won't install anymore packages that don't match the current OS. Should you need to (for example if you check-in your cache), use the supportedArchitectures field to manually enforce the presence of specific architectures.
The 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.
The node_modules linker maximizes chances to end-up with only one top-level node_modules in the case of using workspaces
The nmSelfReferences 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.
Yarn can now install workspaces from remote git repositories that use npm if npm@>=7.x is installed on the system.
The hoisting algorithm should be faster, improving the install time for recurrent node_modules installs.
Miscellaneous Features
Workspaces can now be referred to using 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 ~).
A new 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).
Bugfixes
Direct portal dependencies for node_modules installs will now be given priority during hoisting, preventing cases when indirect regular dependencies would block the way for direct portal dependencies.
The pnpify binary can now be used from inside directories containing spaces.
The CLI bundles built from sources will now output the commit hash instead of the tree hash, as part of their --version string.
Nested workspaces are properly hoisted by node-modules linker.
Self-referencing symlinks won't be created for anonymous workspaces when using the node-modules linker, since they cannot be used from the code anyway.
The cache is now fully atomic when moving files across devices, and is more efficient in general.
The PnP patch will now properly pick up changes to the fs module, allowing users to patch it.
When using PnP, require.resolve('pnpapi') will be handled correctly even when using exports.
The install state will no longer be invalidated after running commands that modify the lockfile; this should bring a significant performance improvement when running commands such as yarn run immediately after adding or removing dependencies inside large monorepos.
Optional peer dependencies now imply an optional peer dependency on the corresponding @types version. This matches the behaviour for peer dependencies.
Compatibility
Yarn will now generate an experimental ESM loader when it detects you may need it. This can be disabled (or enabled) using pnpEnableEsmLoader.
The PnP compatibility patch for resolve will no longer resolve missing modules to a file with the same name that would happen to be located next to the issuer.
Fixes the SDK to account for a breaking change in VSCode >=1.61.
Bumps the npm-minor-upgrades group with 24 updates:
4.4.2
4.5.2
7.23.2
7.23.9
7.23.2
7.23.9
9.3.3
9.3.4
6.1.4
6.4.2
3.0.0
3.1.0
10.4.16
10.4.17
3.33.2
3.36.0
6.8.1
6.10.0
8.52.0
8.56.0
9.0.0
9.1.0
2.29.0
2.29.1
27.6.0
27.9.0
5.0.1
5.1.3
15.0.2
15.2.2
2.7.6
2.8.0
10.2.0
10.3.0
8.4.31
8.4.35
3.0.3
3.2.5
1.69.5
1.71.1
7.0.0
7.0.1
17.0.0
17.0.1
3.0.2
3.2.0
5.89.0
5.90.3
Updates
readable-stream
from 4.4.2 to 4.5.2Release notes
Sourced from readable-stream's releases.
Commits
a2e9aed
Bumped v4.5.224072df
Update esbuild to v0.19 (#531)149f105
Bumped v4.5.175c3201
Use globalThis instead of global (#530)700d28b
Bumped v4.5.04c8e8e5
Update to Node.js 18.19.0, add Node 21.x to CI (#528)Updates
@babel/core
from 7.23.2 to 7.23.9Release notes
Sourced from
@babel/core
's releases.... (truncated)
Changelog
Sourced from
@babel/core
's changelog.... (truncated)
Commits
a0dd614
v7.23.9b2bbffb
Migrateeslint-parser
to cts (#16222)e428a6d
v7.23.73e79f48
Avoid unpreventableunhandledRejection
events (#16167)d02c1f7
v7.23.6f8a98c7
[babel 8] RemoveCodeGenerator
from@babel/generator
(#16126)8479012
v7.23.5c100223
Update jest-light-runner & jest (#16136)cf53966
chore(deps): update dependency import-meta-resolve to v4 (#16086)1bce5c9
v7.23.3Updates
@babel/preset-env
from 7.23.2 to 7.23.9Release notes
Sourced from
@babel/preset-env
's releases.... (truncated)
Changelog
Sourced from
@babel/preset-env
's changelog.... (truncated)
Commits
a0dd614
v7.23.9dfa4cc6
fix:systemjs
re-traverses helpers (#16225)1bff0aa
Properly sortcore-js@3
imports (#16224)87a67bf
Improve temporary variables for decorators (#16218)80c554f
v7.23.88666ee0
fix:preset-env
throws exception forexport * as x
(#16181)7840c54
Improve output ofsuper()
(#16194)e428a6d
v7.23.7bf9ff15
Update polyfill plugins (#16168)d02c1f7
v7.23.6Updates
@testing-library/dom
from 9.3.3 to 9.3.4Release notes
Sourced from
@testing-library/dom
's releases.Commits
bd04cf9
docs: add KevinBon as a contributor for code, and bug (#1284)9aaf715
fix: Stop callingwaitFor
callback after timeout (#1271)a7b7252
test: Run with Node.js 20 (#1263)2653fd9
docs: add julienw as a contributor for code, and bug (#1266)Updates
@testing-library/jest-dom
from 6.1.4 to 6.4.2Release notes
Sourced from
@testing-library/jest-dom
's releases.... (truncated)
Commits
a93c0c4
fix: Remove errant export of GetByRoleMatcher, fixing type checking in some T...c5c4e8d
docs: add Dennis273 as a contributor for code (#581)978e3d4
docs: add kryops as a contributor for bug, code, and test (#580)73ad847
docs: add SteKoe as a contributor for bug, and code (#579)d829ed9
docs: add jakeboone02 as a contributor for code, and test (#578)16499cf
docs: add fpapado as a contributor for code, doc, and test (#573)dd1c4dd
fix: Export typeTestingLibraryMatchers
from "./matchers" (#576)f7dc673
feat: Add toHaveRole matcher (#572)9787ed5
feat: Support for regular expressions in toHaveClass (#563)5675b86
fix: Standalone types for "./matchers" export and add Bun support (#566)Updates
@yarnpkg/sdks
from 3.0.0 to 3.1.0Release notes
Sourced from
@yarnpkg/sdks
's releases.Changelog
Sourced from
@yarnpkg/sdks
's changelog.... (truncated)
Commits
a640755
Releasing 15 new packages872df6d
Update Svelte Language Server PnP Configuration (#5953)c3b319a
Sync master with the changes from masterUpdates
autoprefixer
from 10.4.16 to 10.4.17Release notes
Sourced from autoprefixer's releases.
Changelog
Sourced from autoprefixer's changelog.
Commits
46cd2cc
Release 10.4.17 version2738f72
Update dependenciesb0a4007
Fix user-select: contain1db31f0
Update dependenciesUpdates
core-js
from 3.33.2 to 3.36.0Changelog
Sourced from core-js's changelog.
... (truncated)
Commits
77123c4
3.36.0a3d51ed
fix dependencies loading for modules fromArrayBuffer.prototype.transfer
an...b90f2f5
add an entry point for the new TC39 proposals stage -core-js/stage/2.7
- s...5e68a01
moveUint8Array
to / from base64 and hex proposal to stage 34c51d71
moveArrayBuffer.prototype.transfer
and friends to stable ES3348b1a
movePromise.try
to stage 2e7f6af0
use a constant as a error messageb36ca26
Merge pull request #1328 from minseok-choe/fix/issue-flat, close #1327661eab7
add debugging info in some missed cases96da3a4
Add missed check in array-reduce.jsUpdates
css-loader
from 6.8.1 to 6.10.0Release notes
Sourced from css-loader's releases.
Changelog
Sourced from css-loader's changelog.