-
Notifications
You must be signed in to change notification settings - Fork 954
1.28.2 release plan #4231
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
Comments
Thanks for the quick responses and hard work! |
I'm a bit hesitant to weigh in here as a relative outsider, but
It feels like there should be a decision if this is the right path forwards at all, before doing this and effectively asking the entire ecosystem to do work to prepare for this future decision. Even if this is the path going forwards, it doesn't feel like something that should be in a patch release at all. It's not a bugfix, and there's no reason to rush the rollout of the warnings and subsequent change (that I see). I'm also against the change as currently proposed regardless of release timeline. I'm just a random user, my opinion should be given no special weight, but I thought it worthwhile to write down and share: I think these two comments1 on the main thread do a reasonably good job of capturing the friction this will add to regular every day users of rust's workflow. I think it's also important to consider that this will "bitrot" a lot of documentation that tells people how to build projects, and doesn't tell them that they need to tell rustup to install the toolchain because when the documentation was written that was implicit. Documentation is relatively unlikely to be updated, since unlike CIs it doesn't tell you it's broken. Outdated information in it hits newcomers to a project particularly hard, leaving a bad first impression. I think this change will result in a semi-justifiable backlash about rust being "unstable". Yes, it's not rust itself, but it's a backwards incompatible change being made in the core tooling. I suspect that most of the benefit of this change can be achieved with less invasive changes. For instance
Importantly all of these mitigations would change what warning needs to be given to who, and what actions need to be taken by the people who receive the warning. So if any of them are being considered, it seems like that consideration should happen before asking the ecosystem to start making changes via warnings. PS. As always I want to extend my thanks to everyone donating their time to make this ecosystem run. I may disagree with the occasional decision, but I have no doubt they are being made with the best intentions and overall make things much better. Footnotes
|
FWIW |
@gmorenz There is an additional thing I'd like to address by restricting implicit toolchain installation: it happens so frequently that you might hit #988 from time to time, and to resolve that problem we'll need to implement a lock. Regardless of the actual locking scheme that will be implemented, it will definitely be a mutex for writes, so it is undesirable that even TLDR: We need to make at least most OTOH this doesn't mean #988 doesn't occur in CI: we have #4232 for instance. |
I'm not so certain that it's better to halt immediately over blocking extensively. I would expect that for most users the immediate action would be to either try again (which is not so different from waiting for the lock I think), or write a script which does just that? I suspect this is also the same for CI. For me, the real tradeoff is not so much the blocking extensively vs. not blocking, but the backwards compatibility promise, and the out of the box easy of use. An alternative option (but similar to the environment variable suggested above) could be to add a new install subcommand (or flag) which does implement the new behaviour; then it would be an opt in. |
@foresterre Thanks for your input. However, as you have already mentioned, many I’m also doubt whether Cabal’s |
Can I yet again suggest postponing adding warnings for potential future changes? There are already plenty of fixes and improvements included in 1.28.2 that I don't think we should block on figuring out our future plans. And I do think we need a plan for what we will/won't change before we add warnings as well as some way for users to opt-in to the new behaviour before it's stable. |
Works for me. |
@ChrisDenton Yup, although I want to land #4230 as well if possible... |
I would suggest that maybe we can get an issue written up with the costs/benefits of the intended new behavior change which we can then advertise in the 1.28.2 release announcement for a public feedback period, kind of RFC-like? Maybe even as an actual RFC in the rfcs repo. |
I think it is a good idea to focus on gathering feedback. I've created an issue for discussing this that lays out the background information #4264. |
Closing the milestone as 1.28.2 is now stable. |
We released 1.28.1 (release plan) on an urgent schedule to address the main pain points from 1.28.0. We expect we will release 1.28.2 soon to address more feedback. Some things left out of 1.28.1:
There should be a setting (in addition to an environment variable) to control whether implict installation is allowedAddset auto-install disable
#4254toolchain install
command line isn't exactly right #4212rust-toolchain.toml
is not used forrustup toolchain install
#4216env.nu
) is using the wrong string #4242The text was updated successfully, but these errors were encountered: