OCaml 5.5.0 Reaches Release Candidate With Modular Explicits and a Fully Relocatable Compiler
OCaml 5.5.0-rc1 lands modular explicits, the inference-free half of the long-sought modular implicits, plus a compiler that can be moved between directories.
Overview
The OCaml team has tagged the first release candidate for OCaml 5.5.0, signaling that the next version of the functional language is nearly ready to ship. According to the ocaml/ocaml tags page, the 5.5.0-rc1 tag was published on June 10, 2026, following a 5.5.0-beta1 tag on April 20 and a first alpha back on February 25.
The headline feature of the release is modular explicits, a language addition that has been discussed in the OCaml community for years and that the project describes as a first step toward the more ambitious modular implicits.
What We Know
The release candidate is tagged 5.5.0-rc1, per the ocaml/ocaml tags page, and arrives after three alpha builds and one beta earlier in 2026 — a cadence consistent with a release that is essentially feature-frozen and undergoing final stabilization.
The central new feature is modular explicits. The official changelog records the change as introducing “a new type (module M : S) -> t[M] that corresponds to module-dependent functions (also called: modular explicits),” according to the ocaml/ocaml Changes file. In practical terms, this lets a function take a module as an explicit argument and refer to that module’s name in its own return type.
The feature traces back to a long-running effort to bring modular implicits to OCaml. The pull request that landed the work frames modular explicits as the tractable portion of that larger goal: “Modular explicits are modular implicits, without this implicit inference part — the hard part, in many respects. They are not a replacement for modular implicits, but they significantly improve the convenience of using OCaml for certain purposes.” The same pull request states that “There is now a consensus that integrating modular explicits in the language is a good first step, independent of the work on implicits.” A notable design choice was to reuse existing notation rather than invent new syntax: the change “reuse[s] the syntax of first-class module, instead of introducing modular explicits as a separate feature,” per the pull request.
The second major change in 5.5.0 is a relocatable compiler. The changelog states that “The compiler is now relocatable: it can be copied/moved to a different directory and everything still works” — a tooling improvement long sought to let package managers clone existing compiler installations rather than rebuild them from scratch.
The release also fixes two tracked security issues. The changelog lists CVE-2026-41083, which addresses the “quoting of filenames passed to Filename.quote_command on Windows,” and CVE-2026-28364, described as work to “robustify intern.c.” Beyond the marquee items, 5.5.0 expands the standard library, including new String functions and a Lazy.Mutexed module for mutex-protected lazy values, again per the changelog.
What We Don’t Know
As a release candidate, 5.5.0-rc1 is a final stabilization step rather than a finished release, and candidates can slip if regressions surface before the stable tag. The timeline for modular implicits — the inference-driven feature that modular explicits is meant to pave the way toward — also remains open; the pull request is explicit that explicits are “not a replacement” for implicits, without committing to when, or whether, the harder inference work will land.
Analysis
Modular explicits is a characteristically OCaml move: rather than adopt Haskell-style type classes wholesale, the language is shipping the unambiguous, no-inference core of ad-hoc polymorphism and reusing its existing first-class module machinery to do it. That keeps the type system’s behavior predictable while giving library authors a cleaner way to write code parameterized over a module. Pairing that with a relocatable compiler suggests a release aimed as much at day-to-day ergonomics and tooling speed as at headline language features.