v1.22.20

yarnpkg/yarnv1.22.20Nov 14, 2023by arcanis

AI Summary

This significant release embeds Punycode within the bundle (deprecated by Node.js), adds a message when projects use non-1.x Yarn via packageManager field, stops generating yarn-error.log files, improves the yarn set version command to install exact versions directly, and prevents crashes on empty .yarnrc.yml files.

Key Highlights

  • Punycode is now embedded within the bundle (deprecated by Node.js)
  • Displays message explaining Corepack usage when packageManager references non-1.x Yarn
  • yarn-error.log files no longer generated
  • yarn set version now installs exact version directly instead of installing latest first
  • Prevents crashes when reading empty .yarnrc.yml file

New Features

  • Punycode embedded in bundle for future Node.js compatibility
  • Corepack guidance message for non-1.x Yarn projects
  • Removed yarn-error.log generation
  • Improved yarn set version to install exact version directly

Full Release Notes

> [!WARNING]
> This release is missing a couple of artifacts (the .msi/.rpm/.deb/.asc files); we're working on fixing this.

- **Important:** Punycode is now embed within the bundle, as it has been deprecated by Node.js and will be removed in a future version.

- A message will be displayed when Yarn 1.22 notices that the local project has a package.json file referencing a non-1.x Yarn release via the `packageManager` field. The message will explain that the project is intended to be used with [Corepack](https://nodejs.org/api/corepack.html).

- The `yarn-error.log` files won't be generated anymore, as we don't process non-critical 1.x bug reports (we however process all bugs reported on https://github.com/yarnpkg/berry; we just released the 4.0.2 release there).

- The `yarn set version x.y.z` command will now install the exact `x.y.z` version (prior to this change it used to first install the latest version, and only in a second step would it downgrade to `x.y.z`; this was causing issues when we bump the minimal Node.js version we support, as running `yarn set version 3.6.4` wouldn't work on Node 16).

- Prevents crashes when reading from an empty `.yarnrc.yml` file.