Skip to content
This repository has been archived by the owner on Oct 8, 2021. It is now read-only.

Upper bounds on supported Julia versions #570

Closed
iamed2 opened this issue Mar 28, 2017 · 9 comments
Closed

Upper bounds on supported Julia versions #570

iamed2 opened this issue Mar 28, 2017 · 9 comments
Milestone

Comments

@iamed2
Copy link
Contributor

iamed2 commented Mar 28, 2017

Right now LightGraphs supports julia 0.5, which means any Julia release greater than or equal to the first 0.5 release. Therefore, 0.7.X versions declare that they work on 0.6, which they do not. It's probably too complicated to both edit METADATA and the repo's REQUIRE file, but this might be a good idea for future versions like #541 .

@sbromberger
Copy link
Owner

sbromberger commented Mar 28, 2017

The thing is, we don't know if/when LG will break on an unsupported version of Julia. The way we handle this is to be explicit in README.md that we support the latest release, but that YMMV on unstables / prereleases, and then we tag a new version that drops support for older releases once we've got fixes. This is what we're planning to do with Julia 0.6 and LG 0.8.

cc @tkelman since I seem to revisit this issue every 3-4 months.

@tkelman
Copy link
Contributor

tkelman commented Mar 28, 2017

Once at least one tagged version is available that does work on nightly, it could make sense to upper-bound all the past tagged versions at whichever first Julia release they won't work on. If there isn't at least one version available without an upper bound, then the package (and all its dependents) won't be installable at all on nightly.

@iamed2
Copy link
Contributor Author

iamed2 commented Mar 28, 2017

@tkelman is it okay to only do that with a PR to METADATA and not go back and edit REQUIRE in the repo?

@tkelman
Copy link
Contributor

tkelman commented Mar 28, 2017

Yes, bounds do need to be updated retroactively once in a while, but sha's should be left alone. For registered packages at a tagged version, the METADATA requires file content takes priority over the package REQUIRE file content.

@sbromberger
Copy link
Owner

OK, so I think the plan you're implying is this:

  1. merge WIP: LightGraphs Abstraction #541 and followon PRs
  2. tag LightGraphs 0.8 (we're moving away from calling it 1.0, btw) with julia 0.6 in REQUIRE
  3. open up a PR (or multiple PRs?) in METADATA to fix the previous versions at a given version number

Does that sound right?

@tkelman
Copy link
Contributor

tkelman commented Mar 28, 2017

One PR for adding upper bounds to all the past versions would be preferable. I can help out with that when you're ready. That plan sounds good to me.

@tkelman
Copy link
Contributor

tkelman commented Mar 28, 2017

Though for step 2, what you put as the lower bound of an 0.6-only tag will depend on when it comes out relative to when Julia 0.6.0 final comes out. If you're ready before Julia is, you could set an alpha/beta/rc as your minimum.

@sbromberger
Copy link
Owner

Got it. We are ready now, but the issue is that there's really no guarantee that what works on the alpha version will work on the release, right? That seems to argue for putting the alpha version in the LightGraphs 0.8 REQUIRE and making any adjustments necessary when Julia 0.6 is released.

@sbromberger sbromberger added this to the v0.8.1 milestone Mar 29, 2017
@sbromberger sbromberger mentioned this issue Mar 29, 2017
2 tasks
@sbromberger
Copy link
Owner

Closing this out in favor of #573 and JuliaLang/METADATA.jl#8817.

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

No branches or pull requests

3 participants