2.4.0~beta1
Pre-release
Pre-release
·
39 commits
to master
since this release
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.
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.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 @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
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 [#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
sources
directory 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.exe
in the binary itself as fallback, in casecygwin.com
is inaccessible [#6538 @kit-ty-kate]
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 @kit-ty-kate] - Allows
./configure --without-dune
to build with OCaml5.4
[#6527 @kit-ty-kate] - 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
[#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]