-
Notifications
You must be signed in to change notification settings - Fork 240
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
remove everything deprecated from v1.3 (and before) #2338
base: master
Are you sure you want to change the base?
Conversation
Unfortunately this is a breaking change and so cannot be done before v3.0. It's the reason I tried to clean out a lot of stuff before v2.0 😢 |
It is a 'tiny' breaking change that shouldn't affect many people as long as they look at warnings. Do we really have to wait until v3.0 for this? |
Well the contract is that deprecation warnings aren't fatal, and we certainly don't enforce (only advice) that people should immediately follow the warnings. I've definitely in my own (non-Agda) code suppressed warnings as I have no plans to upgrade a package, and you can do the same in Agda. Under those circumstances this is a large, not a tiny, breaking change. The idea is that all Agda code, with whatever flags, should not be broken by a minor version bump of the library. |
I'll whine that the Agda devs break things in this way all the time in releases (2.6.3 and 2.6.5 are not compatible because But I'll accept that this is unlikely to sway anyone, and that this is likely not going to be accepted until v3.0. I'm just now extra-eager for it! If this is going to be v3.0, maybe I should go ahead and remove all stuff deprecate until say v1.5 (inclusive) ? |
While I agree Agda frequently breaks things, that doesn't mean there's no point to maintaining backwards compatibility in the standard library. It will still make migrating versions much easier for users, compared to if both Agda and the standard library were making separate breaking changes at the same time.
In v3.0 I'd advocate removing everything deprecated in versions v1.X. |
So I could go ahead and do that as part of this PR? |
Yes, under the proviso that it will sit around for a long time and it may bit rot somewhat in that time... |
My sympathies are with @JacquesCarette , but over the last three (four?) years I have come to appreciate @MatthewDaggitt 's insistence on a more conservative/conservationist approach ... not least because having to adhere to it has taught me a lot about 'infrastructure' (the Deprecation is tricky, not least for the knock-on viscosity it implies/entails. I take this PR in part as a desire to reduce this as an ambient quality of That said, I'm hoping that
'Just' my opinions though, writing in a personal capacity... |
To me the trickiest part is that we don't have good access to 'the community', i.e. those people who use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main thing missing from this PR is to go through and check which of the many warning-suppression pragmas
{-# OPTIONS --warn=noUserWarning #-}
that we have added over the years are still needed?
Apologies in advance if you have already done such smoke testing!
Since v1.2 (and before) were removed from v2.0, I'm removing v1.3 from v2.1.
We probably could add in v1.4 as well, as there were very few things deprecated for that release. v1.5 was a different matter.