What is holding you back from upgrading to the latest OCaml compiler?


Greetings ReasonML Developers,

The maintainers of core tools such dune, odoc, etc. are committed to supporting as many OCaml versions as possible. Unfortunately, this can be quite a burden on new development and a significant overhead on maintenance. To improve this situation, we’d like to have a better idea on when to drop support for older versions of OCaml, and just how far back our support should extend.

As a first step, we’ve started a thread in the OCaml discourse to gather data about which versions of the OCaml compiler are in active use today. I’m extending this exercise to this reason forum as well.

The maintainers team is particularly interested to hear from users who are unable to upgrade to recent versions of the compiler. If you’re using OCaml and you’re stuck with anything but the latest 3 versions, please share your experiences with us here.


Well, as the thread in OCaml discourse server said, bucklescript is the only thing that’s holding me back from using newer version. But more seriously, even if 4.06 support comes out today, I wouldn’t have any incentives to upgrade it. Because bucklescript provides an alternative ecosystem that suits me with frontend development


While this is true for some people, I don’t want to agree with it. Having BuckleScript be on a recent version of OCaml makes it easier to use OPAM packages with it (sure, you have to write the bsconfig.json, and people do).


BuckleScript will fairly soon be on 4.06 going forward so really the only thing I see keeping people on 4.02.3 is if they’re using some PPXs and the PPX authors haven’t gotten around to upgrading/releasing them for 4.06.


Is there a definite timeline for “fairly soon”? If it matches our timeline, the dune team could drop support for 4.02 around 3-6 months after BuckleScript transitions to 4.06.


No definite timeline AFAIK. in a recent blog post, they encouraged experimenting with 4.06 in 6.x.x release branch but not recommending it for production usage.

They will tell us if 6.x.x is ready for production in another post