Whilst porting a large portion of Mirage libraries to use Jbuilder, the MirageOS core team realised it was also a great opportunity to reorganise the package structure of some specific libraries, update/remove old code and improve overall functionality.

Many of the new releases include popular libraries used by projects other than MirageOS, and the maintainers have helpfully provided details on what has changed, specific improvements and adjustments users will need to make in order to use them. These libraries include Cohttp, Conduit, DNS and TCP/IP.

Main repackaging improvements to these libraries include:

  • Optional dependencies removed from opam packaging: No need to specify a long set of packages to activate a specific compilation of features
  • Ported to use Jbuilder: This speeds up builds and makes use of modern OCaml features
  • No more camlp4! Camlp4 has been removed entirely, and the replacement ppx_driver makes use of ocaml migrate parsetree

Get involved:

  • Read the release notes for a full list of changes and incompatibilities
  • Update your own code in line with these versions to avoid constraining users
  • Join the conversation on the OCaml Discuss Forum