Why did Yarn not just call Yarn 2 Yarn 3 instead of calling it Yarn 2?
yarn --version
Output:
3.0.1
Or even call it berry? I don't understand the naming conventions.
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