[opam-devel] OPAM 1.1 backwards-compatibility

Louis Gesbert louis.gesbert at ocamlpro.com
Tue Jan 20 00:47:29 GMT 2015

Thanks for the follow-ups. What I'm advocating is _not_ dropping 1.1 support at the moment, but switching from a state where 'opam init' outputs tens of errors, later fixed by 'opam update', to one where it fails. I think most users would get scared enough in any case to either look up the issue or run away, and in either case there is a very simple workaround: `opam init https://opam.ocaml.org/1.1`. There is no known issue if initialisation is already done.

On the other hand, if this is deemed critical, it's still possible to make the errors go away by swapping the repos. I'm a bit short on feedback to reliably judge how important it may be.

> I think the priority is to update https://github.com/ocaml/opam/wiki/Distributions

Indeed, it's largely outdated. I'll take care of it / ping the maintainers.

> Also, I know it never seems like the right time to do this, but testing that
> OPAM 1.3dev does *not* have this problem is extremely important.  It would
> be nice if the trunk branch of OPAM had a deliberate syntax mismatch and
> was doing this redirection/rewrite dance as a matter of course.

I second, we can never be careful enough in these matters. The 'init' bug is fixed in 1.2, it has a better parser, and it attempts to be tolerant on files declared with a newer version... but all that gives no guarantee that things won't go wrong. Without that bug, though, OPAM 1.1 should never have had to read 1.2 opam files.

I'll setup a https://opam.ocaml.org/1.3 mirror, without changes at the moment, for the dev version to point to. The version I'm working on at the moment is still 1.2.1 beta though, with no difference in file format. Let's take this chance to ensure the 1.2.1->1.3 migration with be smooth.


More information about the opam-devel mailing list