OCaml 4.14.4
This page describes OCaml version 4.14.4, released on Jun 15, 2026. Go here for a list of all releases.
This is a bug-fix release of OCaml 4.14.3.
As the last version of OCaml 4, the 4.14 branch of OCaml will be maintained during the transition period for OCaml 5. During this period, OCaml 4.14 will receive episodic bugfix updates as a long term support branch until at least 2027.
Installation Instructions
The base compiler can be installed as an opam switch with the following commands:
opam update
opam switch create 4.14.4
Configuration Options
The configuration of the installed opam switch can be tuned with the following options:
ocaml-option-afl: sets OCaml to be compiled withafl-fuzzinstrumentationocaml-option-bytecode-only: compiles OCaml without the native-code compilerocaml-option-flambda: sets OCaml to be compiled withflambdaactivatedocaml-option-musl: sets OCaml to be compiled withmusl-gccocaml-option-no-flat-float-array: sets OCaml to be compiled with--disable-flat-float-arrayocaml-option-static: sets OCaml to be compiled withmusl-gcc -staticocaml-option-32bit: sets OCaml to be compiled in 32-bit mode for 64-bit Linux and OS X hostsocaml-option-nnp: sets OCaml to be compiled with--disable-naked-pointersocaml-option-nnpchecker: set OCaml to be compiled with--enable-naked-pointers-checkerocaml-option-fp: sets OCaml to be compiled with frame-pointers enabled
For instance, one can install a switch with both flambda and the naked-pointer checker enabled with:
opam switch create 4.14.4+flambda+nnpchecker ocaml-variants.4.14.4+options ocaml-option-flambda ocaml-option-nnpchecker
Source Distribution
- Source tarball (.tar.gz) for compilation under Unix (including Linux and macOS X) and Microsoft Windows (including Cygwin).
- Also available in .zip format.
- opam is a source-based distribution of OCaml and many companion libraries and tools. Compilation and installation are automated by powerful package managers.
- The official development repo is hosted on GitHub.
The INSTALL file of the distribution provides detailed compilation and installation instructions. See also the Windows release notes for instructions on how to build under Windows.
Changes for OCaml 4.14.4 (15 June 2026)
Build system
- #12372, #14572: Pass option -no-execute-only to the linker for OpenBSD >= 7.3 so that code sections remain readable, as needed for closure marshaling. Originally backported in 4.14.2, but the flag was accidentally not passed when linking the .so versions of the OCaml runtime libraries or when linking .cmxs files. (Xavier Leroy and Anil Madhavapeddy, review by Anil Madhavapeddy and Sébastien Hinderer)
Bug fixes
-
#14599, #14606: on ARM64 platforms, ocamlopt was under-estimating the sizes of some instructions. This could lead to overflows in relative branch offsets, reported as errors by the assembler. (Xavier Leroy, review by Vincent Laviron, report by Raphaël Proust)
-
#14607: Fix linking with libasmrun_shared.so on Risc-V (undefined symbol declared riscv.o) (David Allsopp, review by Nicolás Ojeda Bär)
-
#14661: Build dllthreads.so with pthreads flags (removed in #13018). For normal programs there's no semantic difference, because ocamlrun and ocamlc.opt are always linked with pthreads, but it was a regression to require programs wishing to dlopen dllthreads.so to have already linked with pthreads themselves. (David Allsopp, review by Gabriel Scherer)
-
#14655, #14691, CVE-2026-34353, OSEC-2026-04: check for size overflow in caml_ba_reshape (Stephen Dolan, review by Xavier Leroy)
-
#14853, CVE-2026-41083, OSEC-2026-05: fix quoting of filenames passed to Filename.quote_command on Windows. (David Allsopp, report by Andrew Nesbitt, review by Florian Angeletti)