Skip to content
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

Skipping the GHC 9.8 LTS / GHC 9.10 Nightly #7462

Open
ysangkok opened this issue Jun 24, 2024 · 17 comments
Open

Skipping the GHC 9.8 LTS / GHC 9.10 Nightly #7462

ysangkok opened this issue Jun 24, 2024 · 17 comments

Comments

@ysangkok
Copy link
Contributor

LTS major version Y in X.Y.Z GHC version for .0 LTS GHC version in .0 LTS LTS release date for .0 Lag after first release of .1 release of next major GHC
15 .2 8.8.2 2020-02-16 37 days after 8.10.1
17 .3 8.10.3 2021-01-24 11 days before 9.0.1
19 .2 9.0.2 2022-03-17 139 days after 9.2.1
20 .5 9.2.5 2022-11-16 101 days after 9.4.1
21 .5 9.4.5 2023-06-20 102 days after 9.6.1
22 .3 9.6.3 2023-12-16 68 days after 9.8.1

GHC 9.10.1 was released on 2024-05-10, which is already 45 days ago. Cabal-install-3.12, which is compatible, just got a release candidate.

Given that GHC devs decided to deprioritize GHC 9.8, I wonder if it makes sense to just skip the GHC 9.8 LTS, and move nightly to GHC 9.10? Then the GHC 9.6 LTS could be kept alive for longer.

@juhp
Copy link
Contributor

juhp commented Jun 24, 2024

Hmm, this has crossed my mind too, though it does feel quite unconventional...

I do wish this would be formalized more by ghc versioning.

@alaendle
Copy link
Member

Personally I tend to keep the current schema; so maybe just waiting for 9.6.6 (eta 2024-06-28 https://gitlab.haskell.org/ghc/ghc/-/milestones/401#tab-issues), create last lts-22, create lts-23 with ghc 9.8 and move nightly to ghc-9.10 feels more natural to me - and also means smaller steps (for us and potential stackage users that move from lts to lts).

@DanBurton
Copy link
Contributor

I'd like to defer the decision until after 9.6.6 is released. We certainly want to keep making lts-22 releases until that happens in order to pick up that ghc release.

I'm still inclined to do lts-23 with ghc-9.8 and to delay the nightly switchover to 9.10 until after that begins. The de-prioritization of ghc-9.8 was not declared to be permanent, they are just temporarily prioritizing continued support of 9.6. They stated:

The next release in this series [9.8] will likely be scheduled after the 9.6.6 release.

@endgame
Copy link

endgame commented Jun 30, 2024

@ysangkok has flagged that Amazonka doesn't have a GHC 9.8-compatible release on Hackage. What's your timeframe on cutting 9.8 LTS? I don't really use Stack, but if we can get a 9.8-compatible release onto Hackage before LTS-23 snapshots start rolling out, that seems good for those that do.

@ysangkok
Copy link
Contributor Author

ysangkok commented Jul 1, 2024

@DanBurton
they are just temporarily prioritizing continued support of 9.6

That's not the way I am reading it at all. The post outlines how 9.8 is only supported for the near future, not the long term. If 9.8 was supported for the long term, it wouldn't make sense to point out that it's supported for the "near future", this is a quote:

9.8: We plan to continue supporting this release series for the near future, but updates to this series might proceed at a slower rate than usual as we prioritise the new release (9.10) and supporting earlier releases with high uptake (9.6).

While they say that they'll focus on 9.8 because 9.6.6 is out, I am still getting the impression that after the upcoming 9.8 release, they'll go back to focusing on 9.6 again. This is also supported by the first sentence:

Given limited time and resources, we plan to prioritise work on the 9.6, 9.10 and master branches of GHC for the next few months.

Note how they're not mentioning 9.8 there at all. I am getting the impression that the upcoming 9.8.3 release might be the last.

@juhp
Copy link
Contributor

juhp commented Jul 3, 2024

I would say it is not certain that there will be a further release of 9.6 - well TBD I expect on an as-needed basis.
Whereas there most likely will be a 9.8.3 within a few months and I expect a 9.10 release before that. 🤷‍♂️
To me the main message was that they wanted to put out a 9.6 release first now because more users are still there currently.

(Though I admit I have heard it said that 9.8 is a weaker release than 9.10...
So it is possible LTS might stay on 9.8 for a shorter period before moving to 9.10 perhaps, once 9.12 is out.
This does seem a more incremental safer approach though overall.)

Of course nobody is forced to adopt ghc-9.8 now: users can choose to stay on lts-22 longer if they so wish.
For example Fedora is only just about to start moving to lts-22 from now.

@endgame bit hard to say right now: but I would hope ideally by this month or at least August. 🤞
I am planning to update lts-22 to ghc-9.6.6 this week...

@andreasabel
Copy link
Contributor

It would be good to publish a TODO list for the GHC bump (9.8 LTS, 9.10 nightly) with a proposed deadline so that maintainers and stackage curators and volunteers would know what to prioritize.
E.g. packages that do not accept base-4.20 would be high prio, and it would be good to collect these in an issue.
(In contrast, I would deem hashable-1.5 low prio (#7476).)

@juhp
Copy link
Contributor

juhp commented Jul 8, 2024

I think you are right @andreasabel - we don't yet have a good feeling for the state of the ecosystem wrt to ghc-9.10,
though we can afford to be a bit more radical/aggressive with Nightly in terms of pruning.
Still it would be good to give some early heads-up about breakage.
(Personally I haven't built ghc-9.10 yet, due to hadrian kind of requiring ghc-9.6 (well Cabal 3.10),
but I will soon - in the meantime people with it installed can start to open issues to track core library breakage via curator check output.)

I do feel it would be nice(r) to have the ghc-9.8.3 release first, but we don't know yet when that will happen.
I suppose we could ask GHC HQ for an ETA, but my current understanding is they plan it after ghc-9.10.2.

@andreasabel
Copy link
Contributor

So, almost two months later, what's the take on a timeline for nightly 9.10 and/or LTS 9.8 now?
There haven't been any new GHC releases in the meantime, and the milestone horoscope https://gitlab.haskell.org/ghc/ghc/-/milestones does not indicate specific upcoming ones, except maybe GHC 9.12:
Screenshot 2024-08-31 at 09 16 32
Especially for 9.6 there isn't much planned anymore.

@ysangkok
Copy link
Contributor Author

ysangkok commented Sep 4, 2024

@andreasabel I think we're waiting for 9.8.3, at least that's how I interpret Jens' last message. But it seems 9.8/9.10 currently are not being worked on, since the 9.12 fork is coming up on Sept 18th (scroll to the top of the page, note the chart shows the creation of issues for this milestone). After the 9.12 fork, and the release of 9.10.2, 9.8.3 is scheduled next, according to Zubin. Not sure why 9.12 wasn't covered in the blog post about release priorities.

You can view the ghc 9.8 branch and the ghc 9.10 branch. They haven't seen commits for three months.

@phadej
Copy link
Contributor

phadej commented Sep 4, 2024

Not sure why 9.12 wasn't covered

maybe because that post is from May this year, about two weeks after 9.10.1 release?

@ysangkok
Copy link
Contributor Author

ysangkok commented Sep 4, 2024

that post is from May

Ok, I thought they might have had a rough schedule for 9.12 at that time, but since it was so quickly after 9.10, it does make sense that they wouldn't have thought it'd influence the releases they mention.

They haven't seen commits for three months.

Actually, I suppose this doesn't mean much, since apparently merge requests (MRs) are only merged when the release is being prepared. I suppose that means there is not really a 'current branch' for 9.8/9.10, you have to synthesize it from the MRs you think will go into the next release.

@andreasabel
Copy link
Contributor

It would be good to publish a TODO list for the GHC bump (9.8 LTS, 9.10 nightly) with a proposed deadline so that maintainers and stackage curators and volunteers would know what to prioritize.

I propose to go ahead with this now as no minor GHC releases are imminent.

@alaendle
Copy link
Member

I have since changed my mind a little and now advocate waiting for a another new GHC release.

I hope for GHC 9.8.3 (or 9.10.2 if necessary).

Mainly because there is currently no GHC 9.8/9.10 release in which all packages are the same or newer than 9.6.6. So an upgrade would be a downgrade for some dependencies - which I would find strange. In addition, the 9.8 series has a number of open problems (https://gitlab.haskell.org/ghc/ghc/-/milestones/398#tab-issues), some of which are serious.

All in all, not an ideal situation, and we will certainly never meet all of our users requirements, but it seems to me that the primary requirement for Stackage to provide a stable environment is currently best met in the 9.6 series.

And believe me, I'm sorry to have to say this, because I'm really a fan of new features and generally latest bits 😿

@ysangkok
Copy link
Contributor Author

no GHC 9.8/9.10 release in which all packages are the same or newer than 9.6.6.

Ah! I finally realize you're probably referring to boot packages (e.g. Cabal) here. It took me a while, because I was thinking of regular Hackage packages. But I agree, it does make sense to avoid a downgrade of boot libraries, especially since e.g. the Cabal bug relating to GHC plugins has been fixed since November 2023, so many have probably forgotten about the issue by now, if they ever knew about it.

@Bodigrim
Copy link
Contributor

Judging from https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13319 and https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13320, I'd speculate that GHC 9.8.3 might be released in upcoming weeks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants