[opam-devel] [rfc] deprecating opam 1.2.0

Anil Madhavapeddy anil at recoil.org
Fri Jun 2 11:09:37 BST 2017

[ this is cross-posted from https://discuss.ocaml.org/t/rfc-deprecating-opam-1-2-0/332 ]

This is all for remaining users of OPAM 1.2.0, to see if it can be actively deprecated in favour of OPAM 1.2.2 and higher. 

### Why deprecate opam 1.2.0

OPAM 1.2.0 was released in October 2014, and saw rapid uptake from the community.  We did some rapid bugfixing to solve common problems, and OPAM 1.2.2 was released in April 2015.  Since then, 1.2.2 has been a very solid release and has been the stable version in use to date.

Unfortunately, part of the bugfixes in the 1.2.2 series resulted in an `opam` file format that is not fully backwards compatible with the 1.2.0 syntax, and the net effect is that users of 1.2.0 now see a broken package repository.  Our CI tests for new packages regularly fail on 1.2.0, even if they succeed on 1.2.2 and higher.

As we prepare the plan for [1.2.2 -> 2.0 migration](https://github.com/ocaml/opam/issues/2918), it is clear that we need a "one-in one-out" policy on releases in order to preserve the overall health of the package repository -- maintaining three separate releases and formats of the repository is not practical.  Therefore the 1.2.0 release needs to be actively deprecated, and we could use some help from the community to make this happen.

### Who is still using opam 1.2.0?

I found that the Debian Jessie (stable) release includes 1.2.0, and this is probably the last major distribution including it.  The [Debian Stretch](https://wiki.debian.org/DebianStretch) is due to become the stable release on the 17th June 2017, and so at that point there will hopefully be no distributions actively sending opam 1.2.0 out.

Is there anyone else that is still packaging 1.2.0?  Please comment here if so, and we should move them away.

### How do we deprecate it?

Due to the format changes happening in a minor version, it's a bit difficult to give opam 1.2.0 users a smooth transition experience, to my knowledge (Louis Gesbert or Thomas Gazagnaire may correct me here).  I would propose:

- putting a notice on opam.ocaml.org that 1.2.2 is the only supported stable release.
- can we somehow put in a request to debian-stable to add a post-installation message that the upstream package will no longer work since the repository? 

If there are any users of opam 1.2.0, particularly industrial ones, please do speak up now. By performing an active deprecation of an older release, I hope we can focus our efforts on ensuring the opam users have a good out-of-the-box experience with opam 1.2.2 and the forthcoming opam 2.0 :-)


More information about the opam-devel mailing list