Feedback on this post is welcomed on Discuss!

We are happy to announce the first release candidate of opam 2.4.0. You can view the full list of changes in the release note.

This version is a release candidate, we invite users to test it to spot previously unnoticed bugs as we head towards the final release.

Try it!

The upgrade instructions are unchanged:

  1. Either from binaries: run

For Unix systems

bash -c "sh <(curl -fsSL https://opam.ocaml.org/install.sh) --version 2.4.0~rc1"

or from PowerShell for Windows systems

Invoke-Expression "& { $(Invoke-RestMethod https://opam.ocaml.org/install.ps1) } -Version 2.4.0~rc1"

or download manually from the Github "Releases" page to your PATH.

  1. Or from source, manually: see the instructions in the README.

You should then run:

opam init --reinit -ni

Changes

  • Fix switch creation with pre-release compilers: It was a regression in opam switch create <version> when all compilers of that version are flagged with avoid-version (#6563)
  • Performance improvement: ignore VCS directories of non-VCS repositories during opam update (#6560)
  • Do not remove the generated patch file during updates when debug-mode is on (#6575)

Release script

  • Update some of the platforms the prebuilt binaries are built on to Alpine 2.21, FreeBSD 14.3, OpenBSD 7.7 and NetBSD 10.1 (#6510)

Build changes

  • Use coreutils' sha512sum instead of perl's shasum utility when using ./configure --with-cygwin-setup (#6557)
  • Upgrade the download-if-missing dependencies to dune 3.19.1, opam-file-format 2.2.0, spdx_licenses 1.4.0 and patch 3.0.0 (#6580)

API changes are also denoted in the release note linked above. This release also includes a couple of improvement and extensions to our testsuite.

Please report any issues to the bug-tracker.

Happy hacking!