[opam-devel] current opam-repository policy : who can modify a package description

Amir Chaudhry amc79 at cam.ac.uk
Mon Feb 22 16:43:20 GMT 2016


> On 22 Feb 2016, at 16:31, Anil Madhavapeddy <anil at recoil.org> wrote:
> 
> On 22 Feb 2016, at 16:23, Hannes Mehnert <hannes at mehnert.org> wrote:
>> 
>> When a new release of any dependency is issued, this might be
>> incompatible with earlier versions (unfortunately we don't enforce
>> semantic versioning, afaik elm does this and opam should adapt).
> 
> Interesting idea -- so this would mean that OPAM has to remap
> upstream versions into something that is a semantic version.
> 
> Does Elm eliminate this by mandating that libraries should
> "natively" all be semantically versioned?  We can't do this in
> OCaml today since there are too many upstream packages with
> their own versioning notions.

Yup, Elm mandates that packages use semantic versioning.  From their website:
"Semantic versioning is automatically enforced for all community libraries. Elm's package manager detects any API changes, so breaking API changes never sneak into patches. You can upgrade with confidence."

It’s interesting to note that all packages are meant to start at 1.0.0 (i.e. from a stable point) [1].  This isn’t true opam-repository (nor do I think it should be).

Hannes, I don’t quite understand what you mean by “opam should adapt”.  People generally seem to use SemVer these days anyway.


[1] https://github.com/elm-lang/elm-package/blob/master/README.md#version-rules

Amir


More information about the opam-devel mailing list