New Julia LTS? Are many using the current (Julia 1.6) LTS?

No, 3 years of support for 1.6 doesn’t really help, if it means to 24 March 2024, then less than one year, less than the 1 year to be expected for 1.9. For those adopting Julia LTS NOW, for some project, it’s very unlikely 1.6 will be supported for three more years, from now on. And what matters to users, is some long-term commitment, so I would argue for a new LTS, e.g. 1.9, that’s about to be released, as the LTS commitment is a forward-looking statement. I think we might want to keep 1.6 LTS, for a little overlap, e.g. 3-6 months the most, at least do not announce it no longer supported and give no warning, as happened last time around. And during the overlap it could be for security support only.

While Julia 1.0 was an exception, the policy going forward (if I understand correctly) is that the LTS is declared only after the next release is out: 1.6 became LTS only when 1.7 was released. Paraphrasing/mangling something that I believe @StefanKarpinski has said, you only know how the cake turns out once you’ve had a chance to taste it for a bit. Remember that we have to support the LTS with patches, backports, etc., and that means making sure it doesn’t cause so many problems that this support becomes a major headache. Every new LTS is a significant drain on at least one person’s resources, with minor costs to a larger pool.

If we’re not declaring 1.9 the LTS now, what’s the other best candidate? Answer: 1.6. With such exciting changes coming in 1.9, it doesn’t make any sense to declare 1.8 an LTS. 1.9 may well become a new LTS, but we won’t know that until 1.10 is entering final stages of development. I’d say this discussion is a bit premature.

24 Likes

How do you feel about becoming a release manager? :grin:

6 Likes

He he - not sure what that implies, but not sure I have time - too busy keeping packages compatible with Julia 1.0 :slight_smile:

Out of curiosity, why do you want new versions of packages with old versions of Julia?

Julia is much more stable than the package ecosystem. I’m personally much more comfortable updating Julia than I am package versions.

9 Likes

11 posts were split to a new topic: Forward compatibility and stability of Julia vs. Packages

It has just been a strive to not break 1.0 compatibility unless required (e.g. JLLs).

Definitely a good thing that Julia is as stable as it is - and which it should be.

Is it entering final stages? I see: “Set VERSION to 1.10.0-DEV (#47222) 6 months ago”

I agree 1.8 doesn’t make sense as LTS, it should be 1.9 (or even 1.10?). I believe 1.9 took longer to get done than expected. Will 1.10 hit feature freeze any day now? Are there interesting features there you would want in an LTS, or even interesting features that people want to wait for before a feature freeze (that are almost there) for 1.10, independent of it becoming a potential LTS?

1.10 is likely to be feature frozen within a couple months, and hopefully will be faster to release than 1.9

4 Likes

Not sure whether they are things that would delay a release, but two potentially important features of 1.10 I’ve heard people talking about are work on load time (which I think has already borne fruit on master) and the integration of JuliaSyntax into base.

3 Likes

Those sound like worth waiting for, if we are concidering the next LTS.

Those new features need not be in 1.10, or at least delay it, nor are needed for LTS. JuliaSyntax.jl will be merged, but off by default. I guess that way ok for LTS even, but when turned on (by default), it will be rather new (even has bugs now), so wouldn’t fit for LTS. Probably 1.9 will be the next LTS, but I would still intependently of that want to know how soon 1.10 could be ready. According to Wikipedia Julia is on a time-based schedule now (since 1.7), and smaller more frequent releases have been discussed.

What is JuliaSyntax? Why do we care? (Sorry if this is a silly question and everyone already knows what that is about.)

1 Like

JuliaSyntax.jl is a julia parser written in julia. GitHub - JuliaLang/JuliaSyntax.jl: A Julia frontend, written in Julia

It preserves more information about the parsed code than our current parser does and gives much more informative error messages.

E. g.
image

10 Likes

Oh, cool! Thanks.

@viralbshah Is that still on the table and then 1.9 as LTS? Since Statistics hasn’t yet been made a stdlib, and you continue with:

Hopefully we have conditional dependencies in place by then, and can even move out SparseArrays and perhaps a few other things as well for the new LTS.

JuliaSyntax.jl has been merged into 1.10, which is now alpha1. It would be nice if it were used in LTS, since it has faster parsing, and better error messages, but I suppose it could be backported to 1.9 at some point, since it’s supposed to be a non-breaking change, if 1.9 would become an LTS?

1 Like

The current “plan” is to make 1.10 the LTS. 1.9 had a ton of features added at (after) the very end of the release cycle, so although it’s really nice, there is some concern about it’s long term stability.

14 Likes

Does anyone have information about the release date for the new LTS, or should we assume that Julia 1.6 will continue to be the LTS for an extended period?

See the release process: Julia’s Release Process

The LTS is not a release, it’s a label that signals support for critical backports. And it’s a label that’s retroactively applied to an existing release after a new release is released. For example, v1.6 officially became the new LTS eight months after its release — when v1.7 was released.

For the vast vast majority of people, you shouldn’t worry about using the LTS. The latest release is just as supported and stable (if not more so) — and it’s far easier to incrementally update single minor versions at a time than jumping from LTS to LTS.

4 Likes

You really should not use 1.6 “LTS” by now. A new release 1.6.8 has been planned since July 20, 2022 and you can see that it has lots of backports, that have accumulated over time. Last activity I noticed from 2 months ago was to upgrade to LibCURL.v7.73.0+4 from LibCURL.v7.73.0+3.

Since then there’s been no activity until I commented on Dec. 4:

Is the libcurl CVE serious? libcurl is not just for Pkg, also Downloads?

I.e. should this just be released, as possibly, the last 1.6 LTS?

I don’t care personally about the LTS, any version, I just want that one to go away. It seems abandoned/forgotten with “4 successful, 3 failing, and 4 pending checks”. It feels like false sense of security thinking another 1.6 LTS will be released.

I think people are putting off publishing a new LTS minor version.

Maybe we will actually get that 1.6.8 version, maybe nobody is pushing for it, but note there are additionally 5 issues labelled with “backport 1.6” the oldest a bugfix from 2021:

https://github.com/JuliaLang/julia/pulls?q=is%3Aopen+is%3Apr+label%3A"backport+1.6"

We recently upgraded to 8.4.0, and since then 8.5.0 is out:

https://curl.se/docs/releases.html