[ANN] opam 2.3.0 is out!

Hi everyone,

As mentioned in our talk at the OCaml Workshop 2024, we decided to switch to a time-based release cycle (every 6 months), starting with opam 2.3.

As promised, we are happy to announce the final release of opam 2.3.0.

What’s new?

  • When loading a repository, opam now ignores files in packages’ files/ directories which aren’t listed in the extra-files field of the opam file. :warning: If you maintain an opam repository, please read our blog post to make sure your repository stays compatible.

  • Packages requiring an unsupported version of opam are now marked unavailable, instead of causing a repository error. This means an opam repository can now allow smoother upgrade in the future

  • opam list --latests-only: a new option to list only the latest versions of packages

  • –verbose-on: a new option to enable verbose output for specified package names.

  • opam switch import --deps-only: a new option to install only the dependencies of the root packages listed in the opam switch export file

  • opam switch list-available no longer displays compilers flagged with avoid-version/deprecated unless --all is given, meaning that pre-release or unreleased OCaml packages no longer appear to be the latest version

  • The builtin-0install solver was improved and should now be capable of being your default solver instead of builtin-mccs+glpk. If you wish to give it a try, simply calling opam option solver=builtin-0install (call opam option solver= restores the default)

  • Most of the unhelpful conflict messages were fixed :flashlight:

  • Fix the internal cache of installed packages, which was storing the wrong version of the opam file after a build failure. (#6213)

Various performance and other improvements were made and bugs were fixed.
:open_book: You can read our blog post for more information about these changes and more, and for even more details you can take a look at the release note or the changelog.

Try it!

The upgrade instructions are unchanged:

For Unix systems

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

or from PowerShell for Windows systems

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

Please report any issues to the bug-tracker.

Happy hacking,
<> <> The opam team <> <> :camel:

18 Likes