为什么 "yarn 2" 纱线 3.0.1?

Why is "yarn 2" yarn 3.0.1?

为什么 yarn 不直接叫 yarn 2 yarn 3 而叫它 yarn 2

% yarn --version
3.0.1

或者叫它浆果?我不明白命名规则。

Yarn 1 was the old codebase. We rewrote it entirely in Yarn 2.0 to make it harder better faster stronger, and released it in January 2020. Since then time passed, and we recently released a new major (without having to rewrite the codebase again, which is a relief), making it Yarn 3.0. Next major will be Yarn 4.0, etc.

Given that we historically didn't release many majors, some people have started to colloquially call "Yarn 2" everything using this new codebase, so Yarn 2.x and beyond (including 3.x). This is incorrect though ("Yarn 2" is really just 2.x), and a better term to refer to the new codebase would be Yarn 2+, or Yarn Berry (which is the codename I picked for the new codebase when I started working on it).

~arcanis