# OCaml 4.11, release plan

**URL:** <https://discuss.ocaml.org/t/ocaml-4-11-release-plan/5600>\
**Category:** Ecosystem\
**Created:** [April 23, 2020, 4:35pm UTC](https://discuss.ocaml.org/t/ocaml-4-11-release-plan/5600 "2020-04-23T16:35:20Z")\
**Posts on this page:** 7\
**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:** [April 23, 2020, 4:35pm UTC](https://discuss.ocaml.org/t/ocaml-4-11-release-plan/5600/1 "2020-04-23T16:35:20Z")

</div>

The new version of OCaml, OCaml 4.11.0, has started its bugfix period: the set of new features is now mostly frozen, and in the three upcoming months, we will focus mostly on fixing bugs.

For this release cycle, we will experiment releasing an alpha version of the compiler.

This new alpha version is expected to work as a synchronization point for people working on updating the opam ecosystem for the new release. Once the opam ecosystem is in shape for some wider audience testings, we will publish a beta version as usual. This should be happen around June.

One of the most notable change in this release is `Statmemprof`, a new statistical memory profiler directly integrated into the GC.

The provisional Changes list is [here](https://github.com/ocaml/ocaml/blob/4.11/Changes).

At this point of time, it is better to take this list with a grain of salt: there are a handful of new features that are still under integration, problematic features might be removed, and of course the list of bug fixes is incomplete.

But one of the most notable feature in this change log, `Statmemprof` which a new statistical memory profiler API, is most probably here to stay.

---

<div class="post-metadata">

**Author:** ![gadmm](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/gadmm/32/877_2.png) [@gadmm](https://discuss.ocaml.org/u/gadmm)\
**Post date:** [April 25, 2020, 12:46pm UTC](https://discuss.ocaml.org/t/ocaml-4-11-release-plan/5600/2 "2020-04-25T12:46:06Z")

</div>

It should be mentioned that Memprof is documented as “`EXPERIMENTAL`”, and at least one breaking change is being considered in 4.12. This also mean that suggestion for improvement will be welcome (AFAIU).

---

<div class="post-metadata">

**Author:** ![Chet\_Murthy](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/chet_murthy/32/1501_2.png) [@Chet\_Murthy](https://discuss.ocaml.org/u/Chet_Murthy)\
**Post date:** [May 21, 2020, 7:53pm UTC](https://discuss.ocaml.org/t/ocaml-4-11-release-plan/5600/3 "2020-05-21T19:53:02Z")

</div>

I have a couple of (truly minor) pretty-printing patches that I’m in the process of submitting thru the PR process. Um, I’m basing them on “trunk”, but maybe I should be basing them on some other branch (so that they’ll be most-easy to merge?) Would it be preferable for me to use a different branch?

---

<div class="post-metadata">

**Author:** ![dbuenzli](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/dbuenzli/32/18_2.png) [@dbuenzli](https://discuss.ocaml.org/u/dbuenzli)\
**Post date:** [May 21, 2020, 8:09pm UTC](https://discuss.ocaml.org/t/ocaml-4-11-release-plan/5600/4 "2020-05-21T20:09:52Z")

</div>

As far as my experience goes, if the problem still exists in `trunk`, just do `trunk`. Compiler devs are then kind enough to cherry-pick to other branches if they deem it necessary.

---

<div class="post-metadata">

**Author:** ![Luc\_ML](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/luc_ml/32/1671_2.png) [@Luc\_ML](https://discuss.ocaml.org/u/Luc_ML)\
**Post date:** [May 21, 2020, 10:22pm UTC](https://discuss.ocaml.org/t/ocaml-4-11-release-plan/5600/5 "2020-05-21T22:22:18Z")

</div>

> [@octachron](#):
>
> The new version of OCaml, OCaml 4.11.0, has started its bugfix period: the set of new features is now mostly frozen, and in the three upcoming months, we will focus mostly on fixing bugs.

Can you elaborate a little bit more on what are the kind of _bugs_ and what are their root causes?  
Pls. consider that I’m unaware of all the programming work that is being done for delivering a new version of the Ocaml compiler.  
As I’m eager to know much more about the Ocaml compiler, can you give me/us some pointers to the first documents/papers/files that I/we should read _to start_ to understand the OCaml compiler internals and how people collaborate around it (is it just fixing declared _issues_, or is there an elaborated design process with formal requirements, is there a steering committee, etc.)?

btw, can you give us an overview about possible OCaml _major features_ that has been discussed in the past such as _typed effects_, _modular implicits_ and others?  
Also, is metaOCaml planned to be incorporated in a future Ocaml distribution instead of being a set of patches (currently still to the OCaml 4.07.1 distribution)?

Thanks.

---

<div class="post-metadata">

**Author:** ![gasche](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/gasche/32/4_2.png) [@gasche](https://discuss.ocaml.org/u/gasche)\
**Post date:** [May 22, 2020, 7:23am UTC](https://discuss.ocaml.org/t/ocaml-4-11-release-plan/5600/6 "2020-05-22T07:23:28Z")

</div>

> [@Luc\_ML](#):
>
> Can you elaborate a little bit more on what are the kind of _bugs_ and what are their root causes?

You should have a look at the 4.11 [Changes file](https://github.com/ocaml/ocaml/blob/4.11/Changes) that @octachron referred to in his post. It contains an entry for each notable change to the compiler implementation (for each version), including a “Bug fixes” section.

Your general questions (how development of the compiler is organized, and status reports for experimental features or design proposals) are outside the scope of the present thread, so I would prefer to not discuss them here to keep the thread focused on discussing the specifics of the 4.11 release. (They are not so easy to answer because there are no good pointers to refer to, so handling each of those is actually a fair bit of work.)

---

<div class="post-metadata">

**Author:** ![Luc\_ML](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/luc_ml/32/1671_2.png) [@Luc\_ML](https://discuss.ocaml.org/u/Luc_ML)\
**Post date:** [May 22, 2020, 10:06am UTC](https://discuss.ocaml.org/t/ocaml-4-11-release-plan/5600/7 "2020-05-22T10:06:48Z")

</div>

I’ve read [Changes](https://github.com/ocaml/ocaml/blob/trunk/Changes) before asking but, without prioir experience of the OCaml compiler, it requires a lot of time to get a clear and complete understanding, hence my question.

> [@gasche](#):
>
> Your general questions (…) are outside the scope of the present thread, so I would prefer to not discuss them here to keep the thread focused on discussing the specifics of the 4.11 release.

I agree. And I created a dedicated topic: [OCaml compiler design and development](https://discuss.ocaml.org/t/ocaml-compiler-design-and-development/5823) .  
Thanks.
