What are the guarantees of LTS Julia versions?

I will support Julia LTS versions (currently 1.0.5) for all my packages.

But I wanted to know if LTS comes with an guarantees like supported for at least 10 years etc. I can’t find any info on what LTS meant on the download page.

I think technically the main guarantee is that LTS versions are supported for more than 1 release (1.4 is only supported until 1.6 is out). I think there is also the implicit promise that there will be significant overlap in support time between consecutive LTS versions. Other than that, I’m not sure though.

Just to be clear the current LTS is 1.0.5 and 1.4 is not a LTS

Sorry, what i meant is that for non LTS like 1.4, it’s only supported for 1 release after/

Stefan wrote a blog post about Julia’s release process which also contains a section about long term support

7 Likes

In addition to what I wrote in that post, it’s looking very likely that 1.6 will become the new LTS. Supporting 1.0 is starting to get fairly onerous for packages and for making new Julia releases to what is now a very old branch. In particular, the package manager has added enough new features that continuing to support both 1.0 and 1.6+ would be increasingly tricky.

23 Likes

Good to hear. Generally think supporting anything pre1.3 is problematic as multithreading was not in.

I can just assume multithreading support is there when 1.6 becomes LTS

1 Like

Yes, that’s another consideration—the new threading support will be finalized by then.

12 Likes

If supporting 1.0 is already getting difficult, would it make sense to make 1.5 lts so there is an easier lts to lts transition? I would think that people who want the stability of lts probably don’t want to jump to a brand new lts that hasn’t been out for a while yet.

I find it relevant to mention that I found an Unreachable error in Julia 1.0.5 and git-bisected the commit that solved it (because I knew that Julia 1.4 did not give the same error). I did not find the issue/PR I made to Julia (asking to backport the fix, as support for 1.0.5 was, uhhh, suggested to exist, maybe the best term). The development team said to me that was better to me to just update the Julia version, that the backport would not happen, and that the other non-LTS versions will probably stay forever archived in Julia page, so if you really need to replicate some old code they can just be downloaded from there. For me it was the better option, in fact, there are some thing I am doing now that would be probably a pain in the ass to do with Julia 1.0.5, so I think what they suggested was indeed the best course of action, but at the same time, I would point that relying too much in the said long-term support for version 1.0.5 is not so advisable.

That was considered but too many things didn’t quite make it into 1.5. We won’t change 1.6 to LTS until it’s been out for a release cycle, so for a few months 1.0 will be LTS and get one last point release while 1.6 is the stable release. After 1.7 is released, 1.6 will become the new LTS and after that 1.0 will be retired and get no further releases.

16 Likes

So v1 would have been LTS for about 2-3 years? Kinda feels short, but also glad that I no longer have to support v1.