# \[ANN\] OCaml 4.10.2

**URL:** <https://discuss.ocaml.org/t/ann-ocaml-4-10-2/6945>\
**Category:** Ecosystem\
**Created:** [December 9, 2020, 12:55pm UTC](https://discuss.ocaml.org/t/ann-ocaml-4-10-2/6945 "2020-12-09T12:55:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![octachron](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@octachron](https://discuss.ocaml.org/u/octachron)\
**Post date:** [December 9, 2020, 12:55pm UTC](https://discuss.ocaml.org/t/ann-ocaml-4-10-2/6945/1 "2020-12-09T12:55:51Z")

</div>

The OCaml team has the pleasure of celebrating the birthday of Grace Hopper by announcing  
the release of OCaml version 4.10.2.

This exceptional release makes OCaml 4.10 available on the new macOS/arm64 platform,  
and fixes some compatibility issues for the mingw64 and FreeBSD/amd64 platform.

If OCaml 4.10.1 already works on your platform of choice, this release should be  
completely transparent to you (and can be safely ignored).

Note that those fixes were backported from OCaml 4.12: further improvement to the support  
of the macOS/arm64 platform will happen on the 4.12 branch.

The release is available as a set of OPAM switches,  
and as a source download here:

[https://github.com/ocaml/ocaml/archive/4.10.2.tar.gz](https://github.com/ocaml/ocaml/archive/4.10.2.tar.gz)

> **[The Caml Language](https://caml.inria.fr/pub/distrib/ocaml-4.10/)**

* * *

## OCaml 4.10.2

- [9938](https://github.com/ocaml/ocaml/issues/9938), [9939](https://github.com/ocaml/ocaml/issues/9939): Define \_\_USE\_MINGW\_ANSI\_STDIO=0 for the mingw-w64 ports to  
prevent their C99-compliant snprintf conflicting with ours.  
(David Allsopp, report by Michael Soegtrop, review by Xavier Leroy)

### Supported platforms:

- [9699](https://github.com/ocaml/ocaml/issues/9699), [10026](https://github.com/ocaml/ocaml/issues/10026): add support for iOS and macOS on ARM 64 bits  
Backported from OCaml 4.12.0  
(GitHub user @EduardoRFS, review by Xavier Leroy, Nicolás Ojeda Bär  
and Anil Madhavapeddy, additional testing by Michael Schmidt)

### Code generation and optimization

- [9752](https://github.com/ocaml/ocaml/issues/9752), [10026](https://github.com/ocaml/ocaml/issues/10026): Revised handling of calling conventions for  
external C functions.  
Provide a more precise description of the types of unboxed arguments,  
so that the ARM64 iOS/macOS calling conventions can be honored.  
Backported from OCaml 4.12.0  
(Xavier Leroy, review by Mark Shinwell and Github user @EduardoRFS)

- [9969](https://github.com/ocaml/ocaml/issues/9969), [9981](https://github.com/ocaml/ocaml/issues/9981): Added mergeable flag tqo ELF sections containing mergeable  
constants. Fixes compatibility with the integrated assembler in clang 11.0.0.  
Backported from OCaml 4.12.0  
(Jacob Young, review by Nicolás Ojeda Bär)

---

<div class="post-metadata">

**Author:** ![avsm](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/avsm/32/6_2.png) [@avsm](https://discuss.ocaml.org/u/avsm)\
**Post date:** [December 9, 2020, 1:32pm UTC](https://discuss.ocaml.org/t/ann-ocaml-4-10-2/6945/2 "2020-12-09T13:32:34Z")

</div>

There is also a [macos/arm64 binary of opam](https://github.com/ocaml/opam/releases/tag/2.0.7) available from the releases page for your convenience, and opam repository has been updated to understand the new tier-1 constraints imposed by macos/arm (i.e. the only working compilers there are 4.10.2 and 4.12.0~dev, and `opam init` will now do the right thing).

There will be a number of packages that are broken due to the shift to `/opt/homebrew` from `/usr/local` for Homebrew/ARM (due to the need to keep them simultaneously installed on the same Mac), so please feel free to submit PRs to opam-repository to fix this stuff.

We’ll shortly have Mac (both Intel and ARM) testing up and running on opam-repository, so CI will catch up with reality once more, thanks to furious hacking by @patricoferris to extend our ocurrent-based CI infrastructure to support the unique vagaries of the Mac environment (notably, a total lack of native containers). We have it working locally, and are just upstreaming it now.

---

<div class="post-metadata">

**Author:** ![ygrek](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/ygrek/32/268_2.png) [@ygrek](https://discuss.ocaml.org/u/ygrek)\
**Post date:** [December 9, 2020, 7:01pm UTC](https://discuss.ocaml.org/t/ann-ocaml-4-10-2/6945/3 "2020-12-09T19:01:25Z")

</div>

Not sure where to report this, but [https://caml.inria.fr/pub/distrib/ocaml-4.10/notes/Changes](https://caml.inria.fr/pub/distrib/ocaml-4.10/notes/Changes) is missing Content-type and all non-ascii characters are messed up
