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
Mtl 2.3 Release Prep #86
Comments
I can send a |
Edited the list to reflect a few new things that need to be done |
Confirmed that mtl master can build with transformers-0.6 |
Would someone be able to cut a release with what's already in |
@jberryman we may be able to yeah. I think now that the CLC elections are done and we're resolving procedural issues, the next steps are for @chessai and I to sync on when we have time to address this. I'm leaning towards just cutting a release currently. Stay tuned. |
Any update on this? Not having |
Sorry, I'm behind with polishing |
friendly fortnightly ping |
Could we, in theory, cut a 2.3.0 release with the |
This is already being done. I cut rc1 two days ago, and rc2 is coming
tomorrow.
Thanks everyone for the continued push!
…On Fri, Nov 12, 2021, 19:53 Martin Beták ***@***.***> wrote:
Could we, in theory, cut a 2.3.0 release with the transformers bound bump
to let the ecosystem upgrade ASAP and deliver the rest of the checklist
items in subsequent 2.3.z versions?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#86 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEOIX22RSMBNVNT6OKKF7LTULXAHZANCNFSM4YYDTYZA>
.
|
@chessai that release candidate doesn't seem to allow |
Yeah, that's what rc2 is for. I forgot to bump the bounds before cutting rc1 (though I did already test building with transformers-0.6). |
Is there any estimate when |
https://discourse.haskell.org/t/ann-release-candidate-for-mtl-2-3/3687 |
friendly ping. |
Happy new year ping! |
Is there any estimate when |
Hello, sorry, I didn't realise that mtl was waiting for action from me. Sorry if my inaction has been holding things up. To be clear, my offer was not so much to "remove re-exports", but rather "decide what to do with re-exports". Part of what I would have done, were it up to me, would be to immediately release a minor version with a warning that the exports are due to be removed (see #106). My hope with that would be spread warning of the breakage slightly more widely. I understand from the discussion on the PR, @kozross, you've decided against that course of action. With regard to actually removing the re-exports, I believe that simply involves reverting ecb525a. or equivalently, reinstating 9e1582a, so I don't see that there's anything for me to do. |
I think I'd be comfortable with an 8.6 floor. If you need to go below that line, you generally need to use lots of old versions of things anyways. |
@tomjaguarpaw OK, thanks. Sorry about the confusion. |
FYI, GHC lower-bound can be quite high: E.g. OTOH, current GHC (IMO, |
@emilypi Vis-a-vis removal of re-exports, which of these are we removing:
From what I can tell of the reversions, the answer is 1, but I wanted to be sure, since the checklist you wrote doesn't specify. @phadej The whole point of raising the floor of the GHC versions we rely upon is not to have to cart around CPP cruft, or rather, to cart around less of it. From what you're saying, it seems to be that you believe this cruft can never go because GHC somehow depends on it. I don't quite understand how this works: the boot library version of |
@kozross you misunderstood me. The most CPP in CLC has been quite conservative recently. I'd expect |
I'm not opposed to raising the floor on the required I refuse to be bound by the past when it comes to improvements. Nothing is stopping anyone from using older versions of |
I support raising all floors and stopping this stupid backcompat dick-measuring contest. Please submit the PR's so I can approve them and merge them. |
Agree |
The immediate goal would be to release a It has been argued that support for older GHCs can be achieved with older versions of One needs to balance the burden of maintaining conditionals in a library with the introduction of conditionals downstream. Throwing away information in one place upstream with require engineering equivalent information in many places downstream. |
@andreasabel With all due respect to both Ubuntu and Stack, I simply cannot see why I should carry around their legacy, and frankly bad, decisions. GHC 8.0 is at this point something like five years old, and predates a tonne of improvements which the vast majority of the ecosystem can, and does, take for granted. Likewise, why anyone would use Stack in 2022 is completely beyond me, as literally any real benefit it ever had has long been superceded by a combination of Limiting to GHC 8.6 is not 'cutting off the majority of GHC versions' - it is cutting off a small minority, even by the most conservative estimate. It also allows us to rid ourselves a lot of maintenance cruft, which frankly should not be our responsibility to cart around because of (ultimately) downstream decisions. If Ubuntu want to package a five-year-old compiler, it's their problem to work with our decisions, not the other way around. Likewise, if Stack have a 'if we move so must you' policy of the sort you describe, it's their bad decision, and people should blame them and work around their bad choices, rather than forcing us to do it instead. Last but not least, absolutely nothing is stopping absolutely anyone from just using the older |
I'm quite puzzled all around here. On the one hand, it won't hurt me personally if Now, @andreasabel points out that once Stackage nightly switches to That said, I'm further puzzled why we can't release a non-breaking version with support for |
Keyword reasonable here. A reasonable effort would be to maintain a fixed window of support for older GHCs. Right now, the baseline of 8.6 is 3 years old. This is a fine window for support. What is unreasonable, is to take on the burden of supporting GHCs that people do not use. The 8.6 baseline is statistically supported by the State of the Haskell survey. 6 months ago GHC <8.6 was already a diminishing ROI. Today, the returns are even less significant. The argument for older GHCs is poor and based upon speculation, and places a maintenance burden on us that has burnt out generations of CLC members in the past across many different packages.
Yes. You opt in to using nightly. And yes, it will be a large coordinated effort ala the recent
We've had this discussion, and the maintainers agreed that it would be best to just rip the bandaid off and improve the library instead of constantly kicking the ball down the road. At some point we have to stop being avoidant and accept the pain. We've decided, using our our discretion as maintainers, that this was the time. |
Also, please keep in mind that while Ubuntu LTS 18.04 is pinned to 8.0 in > curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
> ghcup install ghc 8.8.4 Rust has to do this on 18.04, and they've clearly not had trouble with success. |
Sure, I'm in favour of ripping off the bandaid ASAP. I just don't understand why, at the same time as ripping off the bandaid and releasing 2.3, there can't also be a release of 2.2 that bumps |
@tomjaguarpaw From reading the comments of the various parties here, I can judge that efforts are spread too thin, and such a compatible release would require more time and energy than is currently available. |
It would involve not merging any real fixes for any outstanding issues because they're hard, and just merging more CPP that we'd rip out in the next merge from @kozross the following day. That's not an exaggeration. It would literally be upon @kozross merging master into his branch. Again, we kick the can down the road. Please trust that we've made our decision, and we're going through with it, and we're going to stop derailing for conveniences. Enough is enough. |
After having investigated, I can answer my own question: there's at least one reason why supporting |
Agda certainly has customers that are not software developers nor system administrators, but mathematicians (yes, the picture that this word brings to your mind is accurate). They are not following the latest developments in the Haskell ecosystem, but they want to install Agda on their old OSs. Having to reinstall GHC or upgrade the OS is a big nuisance for them. So, yes, there maybe be a survey that states that only so many percent still use a GHC older than 3 years. Well, I am pretty sure that the mentioned Agda customers have not answered the survey and are not represented. I haven't answered the survey either. I do not answer surveys. They are not an objective means to data. A census would be one. But back to topic about the release of
So, a decision is needed, but both of these release alternatives are ready, if I understood correctly. Why then starting all over and putting more controversial stuff on the table (dropping GHCs)? P.S.: Reconsidering, I think dropping GHCs from |
As already pointed out by @phadej above, there is nothing to win in terms of CPP from dropping GHC 8.0 support. Dropping GHC < 8.0 + dropping transformers < 0.6 is enough to get rid of any CPP in There are situations when GHC from system packages is the only bindist available. Admittedly, these cases are rare, but not extinct, e. g., if you run Ubuntu 18.04 on On the other hand, it's true that old versions of |
Generally speaking, the cost of restricting the scope of a new version of package X (e.g. by dropping GHCs) shows when you fix bugs in X. If you have restricted the scope in the latest release of X, you might have to back-port the fixes to older releases of X. |
@emilypi I think we have all necessary changelog entries at this point? |
Sounds like we do. I'll cut a release tomorrow. |
Release has been cut, and is on Hackage. Closing this. |
This is release prep for the 2.3 release of
mtl
.TODO
SelectT
MonadAccum
(including documentation)MonadSelect
(including documentation)The text was updated successfully, but these errors were encountered: