# \[ANN\] Melange 5.0

**URL:** <https://discuss.ocaml.org/t/ann-melange-5-0/16247>\
**Category:** Ecosystem\
**Tags:** announce\
**Created:** [March 10, 2025, 5:46pm UTC](https://discuss.ocaml.org/t/ann-melange-5-0/16247 "2025-03-10T17:46:36Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![anmonteiro](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/anmonteiro/32/300_2.png) [@anmonteiro](https://discuss.ocaml.org/u/anmonteiro)\
**Post date:** [March 10, 2025, 5:46pm UTC](https://discuss.ocaml.org/t/ann-melange-5-0/16247/1 "2025-03-10T17:46:36Z")

</div>

Dear OCaml users,

I’m proud to announce the release of Melange 5.0

Melange is a backend for the OCaml compiler that emits JavaScript. This release features improvements across a few areas, mostly targeting OCaml 5.3 support and JavaScript expressivity:

- OCaml version support: we’re releasing Melange 5 with full support across a few OCaml versions: 4.14, 5.1, 5.2 and the recently released 5.3
  - Melange uses a versioning scheme similar to Merlin’s: releases are suffixed with the OCaml version they support, e.g. 5.0.1-414, 5.0.1-53, etc.

- We’re introducing build system-aware, type-safe support for JavaScript’s [dynamic import](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import), allowing to code split Melange-generated JavaScript bundles without sacrificing type-safety.
- Melange can now express [discriminated unions](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-func.html#discriminated-unions), a very common JavaScript pattern that OCaml variants are very well-suited to represent.

The [release announcement](https://melange.re/blog/posts/announcing-melange-5) blog post covers the changes in a lot more detail. Please give it a read.

I’m excited to count on the support of our financial sponsors [Ahrefs](https://ahrefs.com/jobs) and the [OCaml Software Foundation](https://ocaml-sf.org/), without which this release would not have been possible.
