-
Notifications
You must be signed in to change notification settings - Fork 2
Timeline and plan for removing v1-
legacy commands
#4
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
base: master
Are you sure you want to change the base?
Conversation
IMO, cabal has a track record of too eagerly breaking and removing things without any real plan forward and leaving users with the pieces, such as removing sandboxes. Without a clear path forward on how to satisfy the user experience of imperatively managing dependencies ad-hoc, I feel the removal of v1 is premature. Also see haskell/cabal#10098 I'm also interested on how v1 removal may impact users of copilot, @ivanperez-keera |
I agree with the direction of the proposal, but it'd be great to evaluate how far we are from supporting v1-based workflows that are still in use. And for that, we'd need to create a list of such workflows, and for that we will need community input (as Julian's message above hints to). So, I'd suggest to fast-track community-facing interaction on this front. In leu of community-backed issues with the v1→v2 transition, I once created a label in the cabal repo specifically for that: |
Thanks Julian and Artem for your comments. From your replies, I want to make sure I understand correctly: are you both suggesting that the decision to remove v1- commands should follow from the consultation phase, rather than treating removal as a fixed goal from the outset? That distinction would help clarify how we frame the next steps. @hasufell If you’re interested, I’d very much value your input in defining the task list and criteria for the consultation phase. I’ve tried to outline what counts as a “blocking” item in the proposal, but I’m not entirely sure from your comment how you see that scope. My intention is for the task list to be as concrete as possible so that once we’ve identified specific workflows or use cases, we can clearly see when the necessary work has been completed. I’m also open to adjusting the timeline depending on what the consultation reveals. |
No, I think the goal of removing v1- can be explicitly set initially, I fully agree with it. It's just the timeline that I'm having hard time evaluating before understanding how far we are from fulfilling the v1-based workflows that are currently in use (if there are such workflows). |
A few years ago a timeline to sunset A related discussion happened at haskell/cabal#9107. An interesting point which would be nice to address is that some Cabal maintainers do not feel that One user of (I'm personally in favor of dropping |
@mpickering I find the motivation simply lacking. I don't think there's anything fundamentally wrong with the v1 interface. It is well defined: essentially I don't see what the end user gains from removing it. And this is what I have a problem with: the discussion is around maintenance burden and nothing else, while we should discuss what type of interfaces cabal should have. There's other ways to deal with maintenance burden. Ask the CLC to find more maintainers or recruit some yourself. |
The threat of removal of the
Rather than removing |
@ulysses4ever I agree that the consultation phases is the most important phase of this proposed process, and that what is learnt in the consultation phase will dictate the rest of the timeline. I'll update the proposal to reflect that. @Bodigrim Thanks for that useful context. I will amend the proposal to include some of the links that you mentioned. I find myself agreeing in principle with your comment on the v1-freeze thread. @hasufell It would be really useful to assemble a clear list of active v1 users to consult directly. From the discussion so far, the main ones seem to be Andreas Abel, Ivan Perez, and Hackage’s Haddock builder. If there are others you’re aware of, please flag them. It would be good to make the consultation as thorough as possible. @andreasabel Thank you for bringing up these issues that you feel are keeping you on using the The goal of this timeline is to turn something which is implicit ("feature completeness of v2-" commands), into something which is explicit and can be tracked as a goal to work towards. That way the Cabal maintainers can work with important user's like yourself to prioritise which issues to resolve whilst also making progress on removing legacy interfaces. |
@mpickering I still think this issue is not framed well. If we want to make v2 feature complete, then this is what the proposal should say in the motivation. The fact that the motivation is "lets remove v1" and then wait for the community to intervene and say "but wait" is a bit of a rough way to go about this. |
The
v2-
project based commands were introduced alongside the legacy interface in2016. This family of commands introduced support for multi-package based workflows
and installation of packages into a global store.
The primary way which people use cabal today is via the
v2-
interface. Writinga command without a prefix defaults to using the
v2
command.This document starts from the premise that
rendered