OCaml 4.14.4 released
Florian Angeletti <[email protected]> Mon, 15 Jun 2026 21:47:58 +0200 (CEST)
| Newsgroups | gmane.comp.lang.caml.inria |
|---|---|
| Message-ID | <[email protected]> |
--=_88c36d82-c841-42f9-b311-a64ab105e5bc Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Dear OCaml users,=20 We have the pleasure of celebrating the anniversary of the first flight of= =20 Ariane 4 by announcing the release of OCaml version 4.14.4.=20 (The release of OCaml 5.5.0 is planned later this week.)=20 This release is a collection of safe bug fixes and security fixes for the= =20 standard library, cherry-picked from the OCaml 5 branch.=20 The 4.14 branch is expected to receive episodic updates until at least the = end=20 of 2026.=20 However, the end of its extended maintenance period is on the horizon.=20 Consequently, please mention to us any obstacle remaining to your migration= to=20 OCaml 5.=20 In the meanwhile, do not hesitate to report any bugs on the OCaml issue=20 tracker at=20 - https://github.com/ocaml/ocaml/issues.=20 See the list of changes below for more details.=20 Happy hacking,=20 Florian Angeletti for the OCaml team.=20 Installation Instructions=20 -------------------------------=20 The base compiler can be installed as an opam switch with the following com= mands:=20 opam update=20 opam switch create 4.14.4=20 The source code for the release candidate is also directly available on:=20 * GitHub: https://github.com/ocaml/ocaml/archive/4.14.4.tar.gz=20 * Inria archive: https://caml.inria.fr/pub/distrib/ocaml-4.14/ocaml-4.14.4.= tar.gz=20 Changes in OCaml 4.14.4 (15 June 2026)=20 -------------------------------------------------------=20 ### Build system:=20 - #12372(https://github.com/ocaml/ocaml/issues/12372),=20 #14572(https://github.com/ocaml/ocaml/issues/14572): Pass option -no-execut= e-only to the linker for OpenBSD >=3D 7.3=20 so that code sections remain readable, as needed for closure marshaling.=20 Originally backported in 4.14.2, but the flag was accidentally not passed w= hen=20 linking the .so versions of the OCaml runtime libraries or when linking .cm= xs=20 files.=20 (Xavier Leroy and Anil Madhavapeddy, review by Anil Madhavapeddy and=20 S=E9bastien Hinderer)=20 ### Bug fixes:=20 - #14599(https://github.com/ocaml/ocaml/issues/14599), #14606(https://githu= b.com/ocaml/ocaml/issues/14606):=20 on ARM64 platforms, ocamlopt was under-estimating the sizes of some instruc= tions.=20 This could lead to overflows in relative branch offsets, reported as errors= by the assembler.=20 (Xavier Leroy, review by Vincent Laviron, report by Rapha=EBl Proust)=20 - #14607(https://github.com/ocaml/ocaml/issues/14607): Fix linking with lib= asmrun_shared.so on Risc-V (undefined symbol=20 declared riscv.o)=20 (David Allsopp, review by Nicol=E1s Ojeda B=E4r)=20 - #14661(https://github.com/ocaml/ocaml/issues/14661): Build dllthreads.so = with pthreads flags (removed in #13018(https://github.com/ocaml/ocaml/issue= s/13018)). For=20 normal programs there's no semantic difference, because ocamlrun and=20 ocamlc.opt are always linked with pthreads, but it was a regression to requ= ire=20 programs wishing to dlopen dllthreads.so to have already linked with pthrea= ds=20 themselves.=20 (David Allsopp, review by Gabriel Scherer)=20 - #14655(https://github.com/ocaml/ocaml/issues/14655), #14691(https://githu= b.com/ocaml/ocaml/issues/14691), CVE-2026-34353, OSEC-2026-04: check for si= ze overflow in=20 caml_ba_reshape=20 (Stephen Dolan, review by Xavier Leroy)=20 - #14853(https://github.com/ocaml/ocaml/issues/14853), CVE-2026-41083, OSEC= -2026-05: fix quoting of filenames passed to=20 Filename.quote_command on Windows.=20 (David Allsopp, report by Andrew Nesbitt, review by Florian Angeletti)=20 --=_88c36d82-c841-42f9-b311-a64ab105e5bc Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <html><body><div style=3D"font-family: arial, helvetica, sans-serif; font-s= ize: 12pt; color: #000000"><div>Dear OCaml users,<br><br>We have the pleasu= re of celebrating the anniversary of the first flight of<br>Ariane 4 by ann= ouncing the release of OCaml version 4.14.4.<br><br>(The release of OCaml 5= .5.0 is planned later this week.)<br><br>This release is a collection of sa= fe bug fixes and security fixes for the<br>standard library, cherry-picked = from the OCaml 5 branch.<br><br>The 4.14 branch is expected to receive epis= odic updates until at least the end<br>of 2026.<br><br>However, the end of = its extended maintenance period is on the horizon.<br>Consequently, please = mention to us any obstacle remaining to your migration to<br>OCaml 5.<br><b= r>In the meanwhile, do not hesitate to report any bugs on the OCaml issue<b= r>tracker at<br><br>- https://github.com/ocaml/ocaml/issues.<br><br>See the= list of changes below for more details.<br><br>Happy hacking,<br>Florian A= ngeletti for the OCaml team.<br><br><br>Installation Instructions<br>------= -------------------------<br><br>The base compiler can be installed as an o= pam switch with the following commands:<br><br> opam update<br= > opam switch create 4.14.4<br><br>The source code for the rel= ease candidate is also directly available on:<br>* GitHub: https://github.c= om/ocaml/ocaml/archive/4.14.4.tar.gz<br>* Inria archive: https://caml.inria= .fr/pub/distrib/ocaml-4.14/ocaml-4.14.4.tar.gz<br><br><br>Changes in OCaml = 4.14.4 (15 June 2026)<br>--------------------------------------------------= -----<br><br>### Build system:<br><br>- #12372(https://github.com/ocaml/oca= ml/issues/12372), <br> #14572(https://github.com/ocaml/ocaml/issues/1= 4572): Pass option -no-execute-only to the linker for OpenBSD >=3D 7.3<b= r> so that code sections remain readable, as needed for closure marsh= aling.<br> Originally backported in 4.14.2, but the flag was accident= ally not passed when<br> linking the .so versions of the OCaml runtim= e libraries or when linking .cmxs<br> files.<br> (Xavier Leroy = and Anil Madhavapeddy, review by Anil Madhavapeddy and<br> S=E9bastie= n Hinderer)<br><br>### Bug fixes:<br><br>- #14599(https://github.com/ocaml/= ocaml/issues/14599), #14606(https://github.com/ocaml/ocaml/issues/14606): <= br> on ARM64 platforms, ocamlopt was under-estimating the sizes of so= me instructions. <br> This could lead to overflows in relative branch= offsets, reported as errors by the assembler.<br> (Xavier Leroy, rev= iew by Vincent Laviron, report by Rapha=EBl Proust)<br><br>- #14607(https:/= /github.com/ocaml/ocaml/issues/14607): Fix linking with libasmrun_shared.so= on Risc-V (undefined symbol<br> declared riscv.o)<br> (David A= llsopp, review by Nicol=E1s Ojeda B=E4r)<br><br>- #14661(https://github.com= /ocaml/ocaml/issues/14661): Build dllthreads.so with pthreads flags (remove= d in #13018(https://github.com/ocaml/ocaml/issues/13018)). For<br> no= rmal programs there's no semantic difference, because ocamlrun and<br> = ; ocamlc.opt are always linked with pthreads, but it was a regression to re= quire<br> programs wishing to dlopen dllthreads.so to have already li= nked with pthreads<br> themselves.<br> (David Allsopp, review b= y Gabriel Scherer)<br><br>- #14655(https://github.com/ocaml/ocaml/issues/14= 655), #14691(https://github.com/ocaml/ocaml/issues/14691), CVE-2026-34353, = OSEC-2026-04: check for size overflow in<br> caml_ba_reshape<br> = ; (Stephen Dolan, review by Xavier Leroy)<br><br>- #14853(https://github.co= m/ocaml/ocaml/issues/14853), CVE-2026-41083, OSEC-2026-05: fix quoting of f= ilenames passed to<br> Filename.quote_command on Windows.<br> (= David Allsopp, report by Andrew Nesbitt, review by Florian Angeletti)<br><b= r></div></div></body></html> --=_88c36d82-c841-42f9-b311-a64ab105e5bc--