opam 2.4.0 beta1 releaseOn , by
We are happy and relieved to announce the first beta release of opam 2.4.0. You can view the full list of changes in the release note.
This version is an beta, we invite users to test it to spot previously unnoticed bugs as we head towards the stable release, which hopefully shouldn't take too long.
Try it!
The upgrade instructions are unchanged:
- Either from binaries: run
For Unix systems
bash -c "sh <(curl -fsSL https://opam.ocaml.org/install.sh) --version 2.4.0~beta1"
or from PowerShell for Windows systems
Invoke-Expression "& { $(Invoke-RestMethod https://opam.ocaml.org/install.ps1) } -Version 2.4.0~beta1"
or download manually from the Github "Releases" page to your PATH.
- Or from source, manually: see the instructions in the README.
You should then run:
opam init --reinit -ni
Changes
- Fixed some bugs in
opam install --deps-only
(and other commands simulating package pins, such as--depext-only
) more visible in 2.4:- When a package
pkg
is already installed andopam install ./pkg --deps
is called, if there is a conflict between the installedpkg
dependencies and the definition of the localpkg
, the conflict was not seen and the already installedpkg
was kept (#6529) - No longer fetch and write the sources when simulating packages that were already pinned (#6532)
- opam was triggering the reinstall of the package based on the already pinned packages instead of the expected newly simulated pinned packages (#6501)
- opam was using the opam description of the wrong package in some cases (#6535)
- When a package
- Change the behaviour of
--deps-only
, where it no longer requires unicity of package version between the request and the installed packages. In other words, if you havepkg.1
installed, installing dependencies ofpkg.2
no longer removespkg.1
. This also allows to install dependencies of conflicting packages when their dependencies are compliant. (#6520)
Regression fixes from 2.4.0~alpha1
- Fix a regression where the internal
sources
directory was removed unexpectedly on reinstall actions, making opam re-fetch the package (#6554) - Fixed a couple of regressions in
opam update
:
Windows binary
- Improve the prebuilt Windows binaries by including Cygwin's
setup-x86_64.exe
in the binary itself as fallback, in casecygwin.com
is inaccessible (#6538)
Build changes
- Bump the downloaded-if-missing
dune
to3.19.0
,cppo
to1.8.0
,ocamlgraph
to2.2.0
,uutf
to1.0.4
andpatch
to3.0.0~beta1
(#6527) - Allows
./configure --without-dune
to build with OCaml 5.4 (#6527) - Add a
--with-cygwin-setup
option to theconfigure
script, only available on Windows and disabled by default, which includes the optionally givensetup-x86_64.exe
binary inside the opam binary. If the option is given without a filename, the file with be fetched fromcygwin.com
(#6498)
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!