opam 2.4.0~beta1
This is the first beta release of opam 2.4.0.
Binaries and full archive are signed by the opam dev team (fingerprint 92C5 26AE 50DF 3947 0EB2 911B ED4C F1CA 67CB AA92).
Please see our blog post for a highlight on the major changes and upgrade instructions.
See full backstage
New option/command/subcommand are prefixed with ◈.
Changes
Install of dependencies --deps-only
Behaviour
- ◈ 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.1installed, installing dependencies ofpkg.2no longer removespkg.1. This also allows to install dependencies of conflicting packages when their dependencies are compliant. [#6520 @rjbou]
Fixes
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 pkgis already installed andopam install ./pkg --depsis called, if there is a conflict between the installedpkgdependencies and the definition of the localpkg, the conflict was not seen and the already installedpkgwas kept [#6530 @rjbou - fix #6529]
- No longer fetch and write the sources when simulating packages that were already pinned [#6533 @rjbou - fix #6532]
- opam was triggering the reinstall of the package based on the already pinned packages instead of the expected newly simulated pinned packages [#6522 @rjbou - partial fix #6501]
- opam was using the opam description of the wrong package in some cases [#6544 @kit-ty-kate - fix #6535]
Reinstall
- Fix a regression where the internal sourcesdirectory was removed unexpectedly on reinstall actions, making opam re-fetch the package [#6550 @rjbou - fix #6551]
Update
Fixed a couple of regressions in opam update:
- An unexpected stack overflow exception was raised when updating repositories with large files when opam is compiled with OCaml < 5.1[#6527 @kit-ty-kate - fix #6513]
- Updating a repository where a line was added at the end of a file without final newline character was making the update fail [#6527 @kit-ty-kate - fix hannesm/patch#28]
Windows
- Improve the prebuilt Windows binaries by including Cygwin's setup-x86_64.exein the binary itself as fallback, in casecygwin.comis inaccessible [#6538 @kit-ty-kate]
Build changes
- Bump the downloaded-if-missing duneto3.19.0,cppoto1.8.0,ocamlgraphto2.2.0,uutfto1.0.4andpatchto3.0.0~beta1[#6527 @kit-ty-kate]
- Allows ./configure --without-duneto build with OCaml5.4[#6527 @kit-ty-kate]
- Add a --with-cygwin-setupoption to theconfigurescript, only available on Windows and disabled by default, which includes the optionally givensetup-x86_64.exebinary inside the opam binary. If the option is given without a filename, the file with be fetched fromcygwin.com[#6526 @kit-ty-kate @dra27 @rjbou - fix #6498]
Testing and documentation
- Improve and extend the testsuite [#6530 #6533 #6539 #6544 #6550 #6520 @rjbou @kit-ty-kate]
- Improve and extend the test infrastructure [#6524 #6553 #6549 @kit-ty-kate @rjbou]