[ocaml-platform] Is it taking too long for OCaml software to become 4.03-compatible? Would release process changes help?

Simon Cruanes simon.cruanes.2007 at m4x.org
Wed Jun 29 18:14:33 BST 2016

Le Wed, 29 Jun 2016, Gabriel Scherer a écrit :
> I'm a bit frustrated with the time it takes for the OCaml ecosystem to
> catch up with the 4.03 release -- which has been released two months ago
> now, on April 25.
>  ...
> Do you agree that this is a problem? What could we do to fix that?

I agree, I wanted to update my packages after the release and had to
wait for oasis to work on 4.03; some other dependencies of projects of
mine also took some time. Even now, I just stumbled upon Coq 8.5 not
compiling, so I'd say the problem is real.
> When I started writing this email I intended to send it to Damien Doligez,
> as the release manager of the compiler distribution, with the following
> suggestion: maybe we could have a *much longer* beta-testing period for
> OCaml versions that would be used not (only) for finding bugs in the new
> version, but also to let important pieces of the ecosystem update to the
> new version. Say, at least a month. We could have a fixed set of software
> that we monitor, or in fact all of what's in OPAM, and delay the release
> until they get updated/fixed or their OPAM version bounds get fixed. (Aha,
> a Platform indeed!)

As usual, the issue is: what set of packages is monitored, and who

> Does that sound like a reasonable idea to you? Should we monitor all OPAM,
> or only a subset?

I think OWS should be used to see which packages are broken on the new
release, indeed. I would propose the following workflow:

- the beta-testing period, feature-frozen, starts (for some time)
- shortly, maintainers whose package doesn't compile (we know thanks to
  OWS) are emailed to be informed of the problem
- if, at the end of the beta-testing period (just before the release) a
  package that used to build on the previous release, but does not build
  anymore, is modified by opam-repo maintainers so it gets an upper
  bound on the OCaml version.

This means that, if no action is taken, a
package that does not build on 4.04 would have "ocaml-version < 4.04".
New releases of this package, that hopefully fix the build on 4.04,
would lift this barrier. It would also prevent opam from falling back
to old, incompatible versions of a package in case of conflict with
some other library.

New packages are checked for build on most versions of OCaml; I think
old packages should also be checked for compatibility with newer
versions of OCaml so that the appropriate bound check is added. I don't
add those bounds myself on my own packages (too tedious to do it on 15
old releases), so it should probably be automated.


Simon Cruanes

key 49AA62B6, fingerprint 949F EB87 8F06 59C6 D7D3  7D8D 4AC0 1D08 49AA 62B6
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.ocaml.org/pipermail/platform/attachments/20160629/19d95de0/attachment.sig>

More information about the Platform mailing list