The release comprises over 130 changes, with a few breaking existing programs. General changes include language optimisations, runtime and type system improvements, bug fixing and some internal compiler-libs alterations.
More specifically, the OCaml manual has been updated, with dead links removed and a new document detailing how to contribute upstream, and there have been lots of enhancements to the OCaml compiler. A lot of work has gone into Makefile factorization for the compiler distribution build system, with Sébastien Hinderer harmonizing the build rules and merging the Unix and Windows build systems. The OCaml compiler user-interface and associated warnings have also been developed, with better, more consistent error reports and recognition for extra arguments and variables.
At least two of the PRs upstreamed started during OCaml Compiler Hack events:
- Improving print exceptions in installed custom printers from Tadeu Zagallo in February 2017
- Truncate in Buffer module from Dhruv Makwana in November 2016
There are several contributions from OCaml Labs, with David Allsopp, Frédéric Bour, Daniel Bünzli, Stephen Dolan, Hannes Mehnert, Gabriel de Perthuis, Mark Shinwell, KC Sivaramakrishnan and Leo White all heavily involved in fixes, review and discussion. Full details can be found in the changelog.
- testing ocaml-migrate-parsetree with `ppx_deriving_crowbar`
- Windows Unicode Support - A Bug-Fix 12 Years in the Making
- Fuzzing for CI Workflows
- Testing Your Own Fork With OCaml's GitHub CI
- Platforms, Packaging, Progress
- Merlin 3.0.0 on Windows
- A New Implementation of Git
- Major Releases of Cohttp, Conduit, DNS and TCP/IP Libraries
- Intel Hyper-Threading Bug Uncovered by OCaml Developers
- Unsigned Integers as Built-In Types or as a Library?