Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 29, 2023

This PR contains the following updates:

Package Change Age Confidence
yarn (source) 3.6.3 -> 4.12.0 age confidence

Release Notes

yarnpkg/berry (yarn)

v4.12.0

Compare Source

v4.11.0

Compare Source

v4.10.3

Compare Source

v4.10.2

Compare Source

v4.10.1

Compare Source

v4.10.0

Compare Source

v4.9.4

Compare Source

v4.9.3

Compare Source

v4.9.2

Compare Source

v4.9.1

Compare Source

v4.9.0

Compare Source

v4.8.1

Compare Source

v4.8.0

Compare Source

v4.7.0

Compare Source

v4.6.0

Compare Source

v4.5.3

Compare Source

v4.5.2

Compare Source

v4.5.1

Compare Source

v4.5.0

Compare Source

v4.4.1

Compare Source

v4.4.0

Compare Source

v4.3.1

Compare Source

v4.3.0

Compare Source

v4.2.2

Compare Source

v4.2.1

Compare Source

v4.2.0

Compare Source

v4.1.1

Compare Source

v4.1.0

Compare Source

  • Tweaks -,--verbose in yarn workspaces foreach; -v will now only print the prefixes, -vv will be necessary to also print the timings.

  • Adds a new --json option to yarn run when called without script name

  • Fixes node-modules linker link: dependencies mistreatment as inner workspaces, when they point to a parent folder of a workspace

  • Fixes spurious "No candidates found" errors

  • Fixes missing executable permissions when using nodeLinker: pnpm

  • Fixes packages being incorrectly flagged as optional

  • Fixes cache key corruptions due to uncontrolled git merges

  • Fixes yarn version apply --all --dry-run making unexpected changes

  • Fixes yarn npm login when the remote registry is Verdaccio

v4.0.2

Compare Source

v4.0.1

Compare Source

  • Fixes creation of symlinks for node-modules linker when inner workspace depends on outer workspace
  • Fixes progress bars when the terminal is too large
  • Fixes crashes while running Yarn within Docker within GitHub Actions
  • Fixes yarn npm audit --ignore NUM which didn't apply to deprecations
  • Fixes yarn npm audit --json which didn't print the right output format
  • Fixes an incorrect type export in @yarnpkg/core
  • Implements back the yarn explain peer-requirements command

v4.0.0

Compare Source

Major Changes
  • With Node.js 16's now being End of Life'd, we dropped support for Node.js versions lower than 18.12.

  • Some important defaults have changed:

    • yarn init and yarn set version will prefer using packageManager rather than yarnPath when possible (when they detect COREPACK_ROOT in your environment variables).

    • yarn init will no longer use zero-install by default. You still can enable it, but it should make it easier to start one-of projects without having to rewrite the configuration afterwards.

      • As a result, enableGlobalCache now defaults to true. If your project uses Zero-Installs, the first yarn install you run after migrating to 4.0 will automatically set enableGlobalCache: false in your local .yarnrc.yml.
    • yarn workspaces foreach now requires one of --all, --recursive, --since, or --worktree to be explicitly specified; the previous default was --worktree, but it was rarely what users expected.

    • compressionLevel now defaults to 0 rather than mixed. It's been proved significantly faster on installs, and the size impact was reasonable enough to change the default. Note that it benefits you even if you use Zero-Installs: as per our tests, a zero-compression is actually easier to handle for Git (you can see by yourself with those examples using compressionLevel: 0 vs compressionLevel: mixed).

      • To avoid making the upgrade too disruptive, Yarn will check whether Zero-Installs are enabled the first time you run yarn install after migrating from 3.6 to 4.0. If you do, it will automatically set the old default (compressionLevel: mixed) in your .yarnrc.yml file. You can then remove it whenever you feel ready to actually change the compression settings.
  • All official Yarn plugins are now included by default in the bundle we provide. You no longer need to run yarn plugin import for official plugins (you still need to do it for third-party plugins, of course).

    • This doesn't change anything to the plugin API we provide, which will keep being maintained.
    • Yarn still has a modular architecture and uses the exact same APIs as contrib plugins; all that changes is how we distribute our own features.
  • Yarn's UI during installs has been greatly improved:

    • Packages added and removed from the lockfile are now explicitly reported.
    • Fluctuations in the project cache size are now reported as a single line.
    • Unactionable warnings (node-gyp and transitive peer dependency errors) have been removed.
    • Skipped builds are now only reported during initial installs and manual yarn rebuild calls.
    • The Yarn version is now displayed on installs to help us investigate issues when reported as screenshots.
    • Deprecation checks have been moved to yarn npm audit.
  • Some settings were renamed or removed:

    • caFilePath is now httpsCaFilePath
    • preferAggregateCacheInfo has been removed (it's now always on)
    • pnpDataPath has been removed to adhere to our new PnP specification. For consistency, all PnP files will now be hardcoded to a single value so that third-party tools can implement the PnP specification without relying on the Yarn configuration.
  • The yarn npm audit command has been reimplemented:

    • The audit registry must now implement the /-/npm/v1/security/advisories/bulk endpoint.
    • The npmAuditRegistry can be used to temporarily route audit queries to the npm registry.
    • Deprecations are now returned by default. To silence them, use yarn npm audit ! --no-deprecations.
  • Some legacy layers have been sunset:

    • Plugins cannot access the Clipanion 2 APIs anymore (upgrade to Clipanion 3)
    • Plugins cannot access the internal copy of Yup anymore (use Typanion instead)
    • Yarn will no longer remove the old Yarn 2.x .pnp.js file when migrating.
    • The --assume-fresh-project flag of yarn init has been removed.
API Changes

The following changes only affect people writing Yarn plugins:

  • The ZipFS and ZipOpenFS classes have been moved from @yarnpkg/fslib to @yarnpkg/libzip. They no longer need or accept the libzip parameter.

    • Reading the zip archives is now done on the Node.js side for performance; as a result, the open, ZIP_CREATE, and ZIP_TRUNCATE bindings are no longer needed for ZipFS and have also been removed.
  • The dependencies field sent returned by Resolver#resolve must now be the result of a Configuration#normalizeDependencyMap call. This change is prompted by a refactoring of how default protocols (ie npm:) are injected into descriptors. The previous implementation caused various descriptors to never be normalized, which made it difficult to know what were the descriptors each function should expect.

    • Similarly, the descriptors returned by Resolve#getResolutionDependencies are now expected to be the result of Configuration#normalizeDependency calls.

    • Note that this only applies to the dependencies field; the peerDependencies field is unchanged, as it must only contains semver ranges without any protocol (with an exception for workspace:, but that's not relevant here).

  • The Resolve#getResolutionDependencies function must now return an object of arbitrary string keys and descriptor values (instead of a map with DescriptorHash keys). Those descriptors will be resolved and assigned to the same keys as the initial object. This change allows resolvers to wrap resolution dependencies from other resolvers, which wasn't possible before since it'd have caused the key to change.

  • The generateLoader function in @yarnpkg/pnp no longer generates the $$SETUP_STATE function, it now needs to be present in the loader passed to the function.

  • The getCustomDataKey function in Installer from @yarnpkg/core has been moved to Linker.

  • renderForm's options argument is now required to enforce that custom streams are always specified.

  • npmConfigUtils.getAuditRegistry no longer takes a Manifest as its first argument.

  • The FetchOptions.skipIntegrityCheck option has been removed. Use FetchOptions.cacheOptions.skipIntegrityCheck instead.

  • MapConfigurationValue has been removed. Use miscUtils.ToMapValue instead.

  • Manifest.isManifestFieldCompatible and Manifest.prototype.isCompatibleWith{OS,CPU} have been removed. Use Manifest.prototype.getConditions and structUtils.isPackageCompatible instead.

  • versionUtils.{fetchBase,fetchRoot,fetchChangedFiles} have been moved from @yarnpkg/plugin-version to @yarnpkg/plugin-git. Use gitUtils.{fetchBase,fetchRoot,fetchChangedFiles} instead.

  • For consistency reasons:

    • Link{Resolver,Fetcher} have been renamed to Portal{Resolver,Fetcher}
    • RawLink{Resolver,Fetcher} have been renamed to Link{Resolver,Fetcher}
  • FakeFS classes are now required to implement lutimes{Sync,Promise}.

  • workspace.dependencies has been removed. Use workspace.anchoredPackage.dependencies instead.

  • The Installer class must now return BuildRequest structures instead of BuildDirective[]. This lets you mark that the build must be skipped, and the reason why.

  • startCacheReport has been removed, and is now part of the output generated by fetchEverything.

  • forgettableNames & forgettableBufferSize have been removed (the only messages using them have been removed, making the forgettable logs implementation obsolete).

  • workspace.locator has been removed. You can instead use:

    • workspace.anchoredLocator to get the locator that's used throughout the dependency tree.
    • workspace.manifest.version to get the workspace version.
  • configuration.{packageExtensions,refreshPackageExtensions} have been removed. Use configuration.getPackageExtensions instead.

  • configuration.normalizePackage now requires a packageExtensions option.

  • ProjectLookup has been removed. Both Configuration.find and Configuration.findProjectCwd now always do a lockfile lookup.

Installs
  • Yarn now caches npm version metadata, leading to faster resolution steps and decreased network data usage.
  • The pnpm linker avoids creating symlinks that lead to loops on the file system, by moving them higher up in the directory structure.
  • The pnpm linker no longer reports duplicate "incompatible virtual" warnings.
Features
  • enableOfflineMode is a new setting that, when set, will instruct Yarn to only use the metadata and archives already stored on the local machine rather than download them from the registry. This can be useful when performing local development under network-constrained environments (trains, planes, ...).
  • yarn run bin now injects the environment variables defined in .env.yarn when spawning a process. This can be configured using the injectEnvironmentFiles variable.
  • yarn workspaces foreach now automatically enables the yarn workspaces foreach ! --verbose flag in interactive terminals.
  • Constraints can now be written in JavaScript. See the revamped documentation for more information.
Bugfixes
  • yarn dlx will no longer report false-positive UNUSED_PACKAGE_EXTENSION warnings
  • yarn workspace will now set $INIT_CWD to the CLI working directory rather than the workspace root.
Shell
  • The builtin shell now supports whitespace-only commands.
Compatibility
  • The patched filesystem now supports FileHandle.readLines.
  • PnP now reports missing files when in watch mode.

v3.8.7

Compare Source

v3.8.6

Compare Source

v3.8.5

Compare Source

v3.8.4

Compare Source

v3.8.3

Compare Source

v3.8.2

Compare Source

v3.8.1

Compare Source

v3.8.0

Compare Source

v3.7.0

Compare Source

v3.6.4

Compare Source


Configuration

📅 Schedule: Branch creation - "before 12pm on Sunday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot enabled auto-merge (squash) October 29, 2023 03:32
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from ece44b1 to 771dc55 Compare October 29, 2023 06:34
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 2 times, most recently from 81d2beb to 3b3d6bd Compare November 21, 2023 04:45
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 3b3d6bd to 9b893a3 Compare November 26, 2023 03:19
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 9b893a3 to 32aba69 Compare January 30, 2024 16:29
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 32aba69 to 862e3bd Compare February 18, 2024 03:38
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 862e3bd to df332e7 Compare February 25, 2024 03:43
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from df332e7 to eee126a Compare March 5, 2024 01:44
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from eee126a to 223840a Compare April 7, 2024 03:06
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 3 times, most recently from 5f924cb to fabf9ff Compare May 5, 2024 03:55
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 2 times, most recently from cf23f7a to 601730a Compare May 12, 2024 05:05
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 2 times, most recently from 8e20466 to 0ac71db Compare May 26, 2024 03:06
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 2 times, most recently from f294a9b to b792106 Compare June 16, 2024 03:15
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from b792106 to 572c0af Compare June 21, 2024 07:02
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 572c0af to f38e913 Compare July 7, 2024 04:00
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 2 times, most recently from 15b121c to 828010c Compare August 4, 2024 05:19
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 828010c to 1587a62 Compare August 11, 2024 03:41
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 3 times, most recently from a9a1643 to 71213cc Compare August 25, 2024 03:41
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 71213cc to 3437185 Compare September 14, 2024 14:13
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from bf8d4af to aec9907 Compare March 1, 2025 16:48
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 2 times, most recently from ce90a32 to 611860c Compare March 19, 2025 21:10
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 2 times, most recently from 616dc69 to 6f04021 Compare March 28, 2025 13:31
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 6f04021 to 5ac17c6 Compare March 30, 2025 12:34
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 2 times, most recently from 2a6fd9b to be6fd4a Compare April 14, 2025 09:32
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from be6fd4a to 933f931 Compare April 20, 2025 05:07
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 933f931 to 404a63e Compare May 4, 2025 04:40
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 404a63e to 7c07f78 Compare May 25, 2025 05:17
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 7c07f78 to 0122254 Compare June 3, 2025 23:09
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 2 times, most recently from 279a265 to 57a58f9 Compare August 20, 2025 20:04
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 57a58f9 to 25f21c8 Compare August 26, 2025 15:51
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 4 times, most recently from 1adf2e8 to 97734c3 Compare September 21, 2025 04:49
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 97734c3 to 4703574 Compare September 23, 2025 11:04
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 2 times, most recently from 48a1d51 to 354809c Compare October 12, 2025 04:58
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 354809c to da43bd6 Compare October 19, 2025 04:44
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 3 times, most recently from 8742fcf to ef4a267 Compare November 9, 2025 06:00
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch 2 times, most recently from 655b224 to 060d878 Compare November 23, 2025 13:59
@renovate renovate bot force-pushed the renovate/major-yarn-monorepo branch from 060d878 to 4c09718 Compare November 30, 2025 05:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant