PSA: cohttp 2.0 removes old ocamlfind subpackage aliases

In a similar vein to the recent cstruct change, the HTTP client and server library cohttp 2.0 has just been released with some deprecation changes that you should be aware of.

In cohttp.0.99, a number of subpackages were turned into explicit opam packages to simplify dependency management. To aid migration, some compatability shims were left in place so that the old findlib names would continue to work. They have now been removed as of this release. If you were still using them, then please rename them as follows in your dune or _tags files to use the name findlib names:

  • cohttp.lwt-core -> cohttp-lwt
  • cohttp.lwt -> cohttp-lwt-unix
  • cohttp.js -> cohttp-lwt-jsoo
  • cohttp.async -> cohttp-async
  • cohttp.top -> cohttp-top

Once you have renamed it in your build system, just add the corresponding new package name to your opam dependency list as well.

The reason for removing the compatibility shim is that the old ocamlfind names do not work when embedding the dune libraries in a dune vendor workspace. So I’m removing the technical debt now to make those so-called “duniverse” deployments significantly easier to manage.