Is it possible to specify an explicit version range in the [compat] section of a “Project.toml” file? To prevent resolution failure among several packages with inter-dependencies, while also satisfying the new rules for automatic package registration, I need to specify something like
[compat]
ElasticArrays ">= 0.2, < 2.0"
Of course, the above is not legal syntax - but is this possible in some way?
Thanks for the link! I so hope that get’s backported to v1.0 - with the current drive to tigher deps bounds, we may end up in dependency version hell without the ability to specify ranges.
Can you elaborate? The range syntax is just convenience for things that already work
Oh, maybe I got this wrong - is there already a way to specify: “This dependency I need in [v0.2, v2,0)” in a “Project.toml”? That’s basically what I meant with my original question - but I understood @tkf’s reply (thanks!) as “not possible yet”.
I think one of the common usecases might be for declaring that “this package is loose at compatibility until all the dependencies are stable enough (>= 1.0)” (*). This is exactly what "0.x - 0" means and it is practically impossible to do with current [compat] syntax IIUC.
(*) Doing this while being compatible with Julia’s version of SemVer is technically possible.
Also, sometimes you only need a fairly small subset of features from a package, introduced fairly early on and quite stable afterwards (while other parts of the package are still evolving). So you may actually be compatible with that package at, say [0.2, 2.0). Intervals in Project.toml would be useful here, since otherwise you may end up with “0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, …, 1.0”.