-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🚀 Breaking changes for Yarn 4 #3591
Comments
This is a no-go for OSS devs. E.g. I run |
We don't intend to support Node versions that aren't maintained anymore by Node themselves. Not only to make our life easier, but also because some of our dependencies do that too, and need to be kept updated (thus making such Node requirements a necessity). |
Ok makes sense. Even if v4 releases a couple of months earlier than |
From this comment it sounds like Yarn 4 might also change the data format:
I went looking for the corresponding issue for that and ended up here. Should that be on this list too? |
I added an item to the list 👍 |
Is there any way to follow, the implementation or design or discussion? @arcanis |
The only installation instructions provided in the docs are for corepack. Since corepack is not always an option (security concerns, having no npm, etc.) it would be nice if the manual instructions could be added back. |
@pcjmfranken Corepack doesn't require npm. It's built into Node.js as of v14.19, which everyone should be using since v12 is EOL in a few days. |
@milesj Corepack is actually built into1 the NPM that ships with the official Node distributions. Also, custom Node builds can opt out of Corepack's inclusion independently of NPM's. You're right in that corepack should be available in the majority of environments, but it's certainly not a given. Footnotes
|
The default value change for |
Hey @arcanis, could any of these changes be cherry picked into v3? |
No, breaking changes can't be backported. |
Yarn 4.0 first rc release is now over 1 year old. And there's been 43 rc releases since then. And the 4.0.0 milestone has no other opened issue. Is there anything that is blocking a final release of Yarn 4.0.0 ? Is there a rough ETA of when this might happen ? I am aware that we can use rc releases in the meantime, but it does look a bit unusual to have such a long period of time for rc. If it is stable, then it should probably be released, but if it isn't, then we probably should populate the milestone to reflect what is missing, shouldn't we ? |
Time! It's always time. Most of the work is done, but there's always a couple of smallish improvements we want to make around some "details". Myself I have a couple of things around JS constraints, and @merceyz mentioned he'd like to close #4952 first to make the migration smoother. There's also the website revamp, but it'll likely be shipped separately.
Probably soon, but no ETA. |
Could you create issues assigned to 4.0.0 for those things ? then the community might be able to help, at least a bit ? |
Where I can find waiting issues to be done? Milestone is the right place? Because there is only this issue present there. https://github.com/yarnpkg/berry/milestone/2 |
everyone's been talking about how good yarn 4 is but where on earth are the yarn 4 builds |
|
also |
where can i find the change logs |
Dependabot updates seem broken due to the cache key change, and each PR will include a mass replacement of zips with vendoring enabled. I know it's technically unrelated, but thought it's useful to have it documented here. Edit: When a release for v4 is created, they should pick it up as per here: https://github.com/dependabot/dependabot-core/blob/main/npm_and_yarn/Dockerfile#L6-L7 |
Will they? From the look of it they use Corepack, so if your package manager is pinned via either |
@arcanis It would have been nice, but my guess is they are still using v3 even with the above configured. This is the behaviour I'm seeing: With:
I will write an issue on their side. |
^ Just an update on the above, it was an oversight on my side that I eventually discovered - it was the difference between darwin & linux in the OS that was causing the replacement, not the key change. I've set it in |
Since yarn 4.0 stable is released in https://github.com/yarnpkg/berry/releases/tag/%40yarnpkg%2Fcli%2F4.0.0, this issue can be closed. |
getting an overview of what breaking changes are relevant to different use cases of yarn would be nice, and not just a list of the commits |
We will have a blog post tomorrow getting into the high level changes. I'll keep the issue open until then (we just wanted to tag the release beforehand to avoid having to rush a fix if something broke during the deploy process). |
This release made all of our builds to fail. Here is an excerpt from one of our docker files:
This image, seem to include the latest version of yarn (4 from several hours ago) and since we rely on 3.3.1 we try to set it. This is the error that we see:
Changing the line to |
@herzaso I think the error messages are clear enough. This is an expected behavior. And do yourself a favor and upgrade Node.js to a version that has not reached end of life yet. |
@wojtekmaj as I said, the error was clear and we managed to fix, but enterprises move slow. We are in the process of moving to Node 20 |
Here we go: https://yarnpkg.com/blog/release/4.0 ! |
This issue is just there to keep track of which changes we might want to do once we'll get to the next major release. Doesn't mean it'll be anytime soon 🙂 Will be updated as time passes and we think about more things.
yup
)--check-resolutions
#4302--refresh-lockfile
#4299npm:
everywhere)react-scripts
andgatsby
#3004renderForm
streams to be specified #4589export
fields to manifests to prevent deep imports #4834yarn init
initialize a git repository (already the case in 3.x)yarn version
create tags for the relevant workspacesInstaller['getCustomDataKey']
: "Move this method intoLinker
so that linkers can use it to save some state useful to findPackageLocator (cf PnpmLinker)."ReportError
lazily generate report messages when provided a configuration object by the streams; this would allow us to remove theconfiguration
parameter from many helper functions where we only use it for display purposes.yarn workspaces foreach
recursive configuration; it's not clear at the moment what should happen when-R
and--since
are used together. Perhaps we'd need a--recursive-dependents
and--recursive-dependencies
flag?--verbose
in tty environments #4595fetchPackageFromCache
options bag.arcanis.vscode-zipfs
to the Yarnpkg org--check-cache
or--no-check-cache
.Consider only writing this data file by default, unless an option to generate an old-style(nope).pnp.cjs
file is set.MapConfigurationValue
#4645--assume-fresh-project
#4649.pnp.js
files when migrating #4774workspace.dependencies
withworskpace.anchoredPackage
#4898lockfileFilename
#5604packageExtensions
#5608workspace.locator
#5619The text was updated successfully, but these errors were encountered: