./misc/ocaml-opam, OCaml package manager

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.1.3nb5, Package name: ocaml-opam-2.1.3nb5, Maintainer: jaapb

OPAM is a source-based package manager for OCaml. It supports multiple
simultaneous compiler installations, flexible package constraints, and a
Git-friendly development workflow.


Required to run:
[www/curl] [lang/ocaml] [devel/ocaml-findlib] [devel/ocaml-cmdliner] [devel/ocaml-extlib] [devel/ocamlgraph] [devel/ocaml-re] [misc/ocaml-cudf] [misc/dose3] [textproc/ocaml-jsonm] [misc/ocaml-opam-file-format] [devel/ocaml-dune]

Required to build:
[pkgtools/cwrappers] [misc/ocaml-opaline]

Master sites:

Filesize: 812.939 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-14 23:22:33 by Thomas Klausner | Files touched by this commit (2429)
Log message:
*: recursive bump for icu 76 shlib major version bump
   2024-11-01 13:55:19 by Thomas Klausner | Files touched by this commit (2426)
Log message:
*: revbump for icu downgrade
   2024-11-01 01:54:33 by Thomas Klausner | Files touched by this commit (2427)
Log message:
*: recursive bump for icu 76.1 shlib bump
   2024-05-29 18:35:19 by Adam Ciarcinski | Files touched by this commit (1929) | Package updated
Log message:
revbump after icu and protobuf updates
   2024-05-16 08:15:47 by Thomas Klausner | Files touched by this commit (692)
Log message:
*: recursive bump for gnutls p11-kit option

(existing installations need the bl3.mk included, but it's now only
optionally included)
   2024-01-26 19:54:14 by David Brownlee | Files touched by this commit (3) | Package updated
Log message:
Updated misc/ocaml-opam to 2.1.3

No response from MAINTAINER, and this update enables the internal solver
to build and be usable at runtime

Changes prefixed with "(*)" are potentially breaking to scripts or existing
repositories (changes that are automatically handled by the format upgrade tools
are not marked). Those prefixed with "(+)" are new command/option (since
2.1.0~alpha2).

2.1.3:
* [BUG] Fix `opam init` and `opam init --reinit` when the `jobs` variable has
  been set in the opamrc or the current config. [#5056 @rjbou]
* When inferring a 2.1+ switch invariant from 2.0 base packages, don't filter
  out pinned packages as that causes very wide invariants for pinned compiler
  packages [#5176 @dra27 - fix #4501]
* [BUG] Fix an internal error on repository upgrade from OPAM 1.2
  [#4965 @AltGr]
* Some optimisations to `opam list --installable` queries combined with other
  filters [#4882 @AltGr - fix #4311]
* Improve performance of some opam list combinations (e.g. `--available`,
  `--installable`) [#4999 @kit-ty-kate]
* Improve performance of `opam list --conflicts-with` when combined with other
  filters [#4999 @kit-ty-kate]
* Improve performance of `opam show` by as much as 300% when the package to
  show is given explicitly or is unique [#4998 @kit-ty-kate - fix #4997 and
  partially #4172]
* [BUG] `opam var` no longer fails if no switch is set
  [#5027 @rjbou - fix #5025]
* [BUG] Setting a variable with option `--switch <sw>` fails instead of writing
  an invalid `switch-config` file [#5027 @rjbou]
* When a field is defined in switch and global scope, try to determine the
  scope also by checking switch selection [#5027 @rjbou]
* [BUG] Handle external dependencies when updating switch state pin status (all
  pins), instead as a post pin action (only when called with `opam pin`
  [#5047 @rjbou - fix #5046]
* [BUG] When reinstalling a package that has a dirty source, if uncommitted
  changes are the same than the ones stored in opam's cache, opam consider that
  it is up to date and nothing is updated [4879 @rjbou]
* Stop Zypper from upgrading packages on updates on OpenSUSE
  [#4978 @kit-ty-kate]
* Clearer error message if a command doesn't exist
  [#4971 @kit-ty-kat - fix #4112]
* [BUG] Remove windows double printing on commands and their output
  [#4940 @rjbou]
* Actually allow multiple state caches to co-exist
  [#4934 @dra27 - actually fixes #4554]
* Update cold compiler to 4.13 to avoid issues with glibc 2.34 on Unix
  [#5017 @dra27]
* Bump opam-file-format to 2.1.4 [#5117 @kit-ty-kate - fix #5116]
* Fix some empty conflict explanations
  [#4982 @kit-ty-kate - partially fix #4373]
* Port some tests from master [#4841 #4974 #4861 #4915 #4979 #5004 #5006 #5015
  #5024 #5025 #5031 #5131 #5176 @AltGr @dra27 @kit-ty-kate]
* Update test engine to allow for additional tests [#4913 #4966 #4979 #5004
  #5009 #5024 #5097 @AltGr @kit-ty-kate @rjbou]
* Update for git protocol deprecation on GitHub [#5097 @rjbou]
* When building opam, do not fail if curl/wget is missing [#5223 #5233 @kit-ty-kate]

2.1.2:
* Fallback on dnf if yum does not exist on RHEL-based systems [#4825 @kit-ty-kate]
* Use --no-depexts in CLI 2.0 mode [#4908 @dra27]
* bootstrap: update ocaml version (fixes the compilation of opam with mingw) \ 
[#4927 @kit-ty-kate]

2.1.1:
* Fix typo in error message for opam var [#4786 @kit-ty-kate - fix #4785]
* Run the sandbox check in the temporary directory [#4787 @dra27 - fix #4783]
* OpamSystem: avoid calling Unix.environment at top level [#4789 @hannesm]
* Homebrew: Add support for casks and full-names [#4801 @kit-ty-kate]
* Fix the cold target in presence of an older OCaml compiler version on macOS
  [#4802 @kit-ty-kate - fix #4801]
* Archlinux: handle virtual package detection [#4833 @rjbou - partial fix #4759]
* Disable the detection of available packages on RHEL-based distributions.
  This fixes an issue on RHEL-based distributions where yum list used to detect
  available and installed packages would wait for user input without showing
  any output and/or fail in some cases [#4791 @kit-ty-kate - fixes #4790]
* Handle empty environment variable updates - missed cherry-pick from 2.0
  [#4840 @dra27]
* Fix vendored build on mingw-w64 with g++ 11.2 [#4835 @dra27]
* Put back support for switch creation with packages argument and
  `--packages` option with cli 2.0, and a specific error message for cli 2.1
  [#4853 @rjbou - fix #4843]
* Fix reverting environment additions to PATH-like variables when several dirs
  added at once [#4861 @dra27]
* Fix dose3 download url since gforge is gone [#4870 @avsm]
* Ensure setenv can use package variables defined during the build
  [#4841 @dra27]
* Fix `set-invariant: default repos were loaded instead of switch repos
  [#4866 @rjbou]

2.1.0:
* Set DEBIAN_FRONTEND=noninteractive for unsafe-yes confirmation level
  [#4735 @dra27 - partially fix #4731]
* Fix 2.1~alpha2 to 2.1 format upgrade with reinit [#4750 #4756 @rjbou - fix #4748]
* Fix bypass-check handling on reinit [#4750 @rjbou]
* fish: fix deprecated redirection syntax `^` [#4736 @vzaliva]
* Bump src_exts and fix build compat with Dune 2.9.0 [#4754 @dra27]
* Fix depext alpine tagged repositories handling [#4758 @rjbou]

2.1.0~rc2:
* Remove OPAMZ3DEBUG evironment variable [#4720 @rjbou - fix #4717]
* Fix format upgrade when there is missing local switches in the config file
  [#4715 @rjbou - fix #4713]
* Fix not recorded local switch handling, with format upgrade [#4715 @rjbou]
* Set opam root version to 2.1 [#4715 @rjbou]
* Improved and extended tests [#4715 @rjbou]

2.1.0~rc:
* (*) Environment variables initialised only at opam client launch, no more via
  libraries [#4606 #4703 @rjbou]
* (*) Deprecated `build-doc`, `build-test`, `make` flags [#4581 @rjbou]
* (+) Add `--confirm-level` and `OPAMCONFIRMLEVEL` for automatic answering
  [#4582 @rjbou - fix #4168; #4683 @dra27 - fix #4682; #4691 @rjbou - fix #4682]
* (+) Add `--no` [#4582 @rjbou]
* (+) Add a `--with-0install-solver` option to the configure script to enable
  the 'builtin-0install' solver [#4646 @kit-ty-kate]
* Add default cli mechanism: deprecated options are accepted (in the major
  version) if no cli is specified [#4575 @rjbou]
* Add `opam config` deprecated subcommands in the default cli
  [#4575 @rjbou - fix #4503]
* Add cli versioning for opam environment variables [#4606 @rjbou]
* Add cli versioning for enums of flags with predefined enums [#4606 @rjbou]
* Clearer messages about using --cli and OPAMCLI [#4655 @dra27]
* The options `--root` and `--switch` are now reflected in environment
  variables when building packages so that calls to `opam` during build access
  the correct root and switch [#4668 @LasseBlaauwbroek]
* Add cli versioning for enums of flags with predefined enums [#4626 @rjbou]
* Preprocess `--confirm-level` for plugins calls/install [#4694 @rjbou]
* Ensure the symlink for a plugin is maintained on each invocation
  [#4621 @dra27 - partially fixes #4619]
* Initialise environment variables for plugins call/install [#4582 @rjbou]
* Expect plugins to end in .exe on Windows [#4709 @dra27]
* Introduce a `default-invariant` config field, restore the 2.0 semantics for
  `default-compiler` [#4607 @AltGr]
* Fix default invariant with no system compiler [#4644 @AltGr - fix #4640]
* Perform an hard upgrade on intermediate roots, ie root from `2.1~alpha/beta`,
  and keep a light upgrade from `2.0` [#4638 @rjbou]
* Send the 'opam root layout update' message to stderr [#4692 @AltGr]
* If opam root is different from the binary, allow reading it and try to read
  in best effort mode [#4638 @rjbou - fix #4636]
* Don't check opam system dependencies on reinit after a format upgrade
  [#4638 @rjbou]
* Fix `sys-ocaml-cc`, `sys-ocaml-arch` and `sys-ocaml-libc` when no system
  compiler installed [#4706 @dra27]
* Fix `Not_found` (config file) in config report [#4570 @rjbou]
* Config report: Print variables of installed compilers and their (installed)
  dependencies [#4570 @rjbou]
* Don't patch twice file [#4529 @rjbou]
* With `--deps-only`, set dependencies as root packages
  [#4964 @rjbou - fix #4502]
* Keep global lock only if root format upgrade is performed
  [#4612 @rjbou - fix #4597]
* Improve installation times by only tracking files listed in `.install`
  instead of the whole switch prefix when there are no `install:` instructions
  (and no preinstall commands)
  [#4494 @kit-ty-kate @rjbou; #4667 @dra27 - fix #4422]
* Scrub OPAM* environment variables added since 2.0 from package builds to
  prevent warnings when a package calls opam [#4663 @dra27 - fix #4660]
* Correct the message when more than one depext is missing [#4678 @dra27]
* Only display one conflict message when they are all owing to identical
  missing depexts [#4678 @dra27]
* Don't exclude base packages from rebuilds (made some sense in opam 2.0 with
  base packages but doesn't make sense with 2.1 switch invariants) [#4569 @dra27]
* Don't refer to base packages in messages any more
  [#4623 @dra27 - fixes #4572]
* Give the correct command when demonstrating switch creation
  [#4675 @dra27 - fixes #4673]
* On switch loading, if invariant is inferred and a write lock required, write
  the file [#4638 @rjbou]
* Don't look for lock files for pin depends [#4511 @rjbou - fix #4505]
* Fetch sources when pinning an already pinned package with a different url
  when using working directory [#4542 @rjbou - fix #4484]
* Don't ask for confirmation for pinning base packages (similarly makes no
  sense with 2.1 switch invariants) [#4571 @dra27]
* Fix version pin source retrieving: mustn't error if archive opam file is
  malformed [#4580 @rjbou]
* `opam list --silent` renamed to `--check` [#4595 @dra27 - fix #4323]
* Include doc field in opam-show [#4567 @dra27 - partially fix #4565]
* Fix `switch` global variable resolving [#4685 @rjbou - fix #4684]
* Fix `hash` package variable resolving [#4687 @rjbou]
* Lint: Fix W59 & E60 for conf packages (no url required)
  [#4550 @rjbou - fix #4549]
* Lint: Fix W59 & E60 with VCS urls, don't check upstream if url has VCS
  backend [#4635 @rjbou]
* Lint: Add E67 checksum specified with non archive url [#4635 @rjbou]
* Lint: Disable subpath warning E63,W64 [#4638 @rjbou]
* Lint: Fix manpage listing [#4708 @rjbou]
* Don't write lock file with `--read-only', `--safe`, and `--dryrun`
  [#4562 @rjbou - fix #4320]
* Make `opam lock` consistent with `opam install`, on local pin always take
  last opam file even if uncommitted [#4562 @rjbou - fix #4320]
* Opam file: Fix `features` parser [#4507 @rjbou]
* Opam file: Rename `hidden-version` to `avoid-version` [#4527 @dra27]
* Opam file: Fix rewriting with preserved format empty field error
  [#4634 @rjbou - fix #4628]
* Opam file: Switch config: Defined `invariant` field as an option to
  differentiate when it is not defined [#4638 @rjbou]
* Opam file: Differentiate bad format from bad (opam) version with
  `Bad_version` exception, raised from `OpamFormat.check_opam_version`
  [#4638 @rjbou]
* Opam file: Always print the `opam-version` field on files [#4638 @rjbou]
* Opam file: Config: add `opam-root-version` field as a marker for the whole
  opam root [#4638 @rjbou - fix #4636]
* Opam file: Add `BestEffort` modules with reading functions that don't show
  errors, given the `opam_file_format` internal field [#4638 @rjbou - fix #4636]
* Depext: Handle macport variants [#4509 @rjbou - fix #4297]
* Depext: Always upgrade all the installed packages when installing a new
  package on Archlinux [#4556 @kit-ty-kate]
* Depext: Handle some additional environment variables (`OPAMASSUMEDEPEXTS`,
  `OPAMNODEPEXTS`) [#4587 @AltGr]
* Depext: Improve messages to hint that answering `no` doesn't abort
  installation [#4591 @AltGr]
* Depext: Add support for non-interactive mode in macports [#4676 @kit-ty-kate]
* Depext: Handling of packages of tagged repositories for alpine
  [#4700 @rjbou - fix #4670]
* Depext: Clarify some `assume-depexts` related messages
  [#4671 @AltGr - partial fix #4662]
* Depext: Warn the user if epel-release is missing and unavailable depexts are
  detected [#4679 @dra27 fix #4669]
* Depext: Ignore config yes automatic answering when asking confirmation to run
  install commands [#4698 @rjbou - fix #4680]
* Sandbox: Fix the conflict with the environment variable name used by dune
  [#4535 @smorimoto - fix ocaml/dune#4166]
* Sandbox: Kill builds on Ctrl-C with bubblewrap
  [#4530 @kit-ty-kate - fix #4400]
* Sandbox: Linux: mount existing TMPDIR read-only, re-bind `$TMPDIR` to a
  separate tmpfs [#4589 @AltGr]
* Sandbox: Fix the sandbox check [#4589 @AltGr]
* Sandbox: Fix sandbox script shell mistake that made `PWD` read-write on
  remove actions [#4589 @AltGr]
* Sandbox: Port bwrap improvements to sandbox_exec [#4589 @AltGr]
* Sandbox: Fix realpath use for macos, partial revert of #4589 [#4609 @AltGr]
* Add missing shell quoting to support space and special shell characters in
  switch directory path [#4707 @kit-ty-kate]
* Rename `state.cache` to include the `OpamVersion.magic()` string. All .cache
  files are deleted if any cache file is written to, allowing multiple versions
  of the library to co-exist without constantly regenerating it
  [#4642 @dra27 - fix #4554]
* Fix Cudf preprocessing [#4534 #4627 @AltGr - fix #4624]
* Allow to upgrade to a hidden-version package if a hidden-version package is
  already installed [#4525 @kit-ty-kate]
* Add support for a few select criteria useful to CI to the 0install solver:
  `+count[version-lag,solution]` to always choose the oldest version available,
  `+removed` to not try to keep installed packages [#4631 @kit-ty-kate]
* Fix opam-devel's tests on platforms without openssl, GNU-diff and a
  system-wide ocaml [#4500 @kit-ty-kate]
* Use dune to run reftests [#4376 @emillon]
* Restrict `extlib` and `dose` version [#4517 @kit-ty-kate]
* Restrict to `opam-file-format.2.1.2` [#4495 @rjbou]
* Require `opam-file-format.2.1.3+` in order to enforce `opam-version: \ 
"2.1"`
  as first non-comment line [#4639 @dra27 - fix #4394]
* Switch to newer version of MCCS (based on newer GLPK) for src_ext
  [#4559 @AltGr]
* Bump dune version to 2.8.2 [#4592 @AltGr]
* Bump the minimal dune requirement to dune 1.11 [#4437 @dra27 @kit-ty-kate]
* 4.12 compatibility [#4437 @dra27 @kit-ty-kate]
* Cold compiler updated to 4.12 [#4616 @dra27]
* Fix build from source when a dune-project file is presented in the parent
  directory [#4545 @kit-ty-kate]
* Fix build from source when a dune-project file is presented in the parent
  directory [#4545 @kit-ty-kate - fix #4537]
* Fix opam-devel.install not to install two files called opam [#4664 @dra27]
* Build release tags as non-dev versions, as for release tarballs
  [#4665 @dra27 - fix #4656]
* Disable dev version for tests (needed for format upgrade test) [#4638 @rjbou]
* Add a hint for missing `openssl` in `make cold` [#4702 @rjbou]
* Remove test field from opam-devel, they need the network [#4702 @rjbou]
* Update src_ext for Dune and MCCS [#4704 @dra27]
* Release scripts: switch to OCaml 4.10.2 by default, add macos/arm64 builds by
  default [#4559 @AltGr]
* Release scripts: add default cli version check on full archive build
  [#4575 @rjbou]
* Arg: Generalise `mk_tristate_opt` to `mk_state_opt` [#4575 @rjbou]
* Arg: Fix `mk_state_opt` and rename to `mk_enum_opt` [#4626 @rjbou]
* Arg: Add `mk_enum_opt_all` for state flags that appears more than once
  [#4582 @rjbou]
* Fix `opam exec` on native Windows when calling cygwin executables
  [#4588 @AltGr]
* Fix temporary file with a too long name causing errors on Windows
  [#4590 @AltGr]
* CLI: Add flag deprecation and replacement helper [#4595 @rjbou]
* Win32 Console: fix VT100 support [#3897 #4710 @dra27]
* Tidied the opam files [#4620 @dra27]
* Externalise cli versioning tools from `OpamArg` into `OpamArgTools`
  [#4606 @rjbou]
* Each library defines its own environment variables, that fills the config
  record [#4606 @rjbou]
* Harden cygpath wrapper [#4625 @dra27]
* Reset the plugin symlinks when the root is upgraded
  [#4641 @dra27 - partial fix for #4619]
* Formalise opam dev version detection with `OpamVersion.is_dev_version`
  [#4665 @dra27]
* Add `OpamStd.String.is_prefix_of` [#4694 @rjbou @dra27]
* Fix `OpamStd.Format.pretty_list`: `last` argument dropped if list contains
  more than 2 elements [#4694 @rjbou]
* Run the shell hooks with closed stdin (bash, zsh) [#4692 @AltGr]
* Improved and extended tests
  [#4376 #4504 #4545 #4612 #4668 #4612 #4634 #4672 #4638 #4702 #4697 #4697
  @AltGr @dra27 @emillon @rjbou]
* Improve Github Actions
  [#4593 #4575 #4610 #4610 #4618 #4606 #4695 #4695 @AltGr @dra27 @rjbou]
* Improve documentation
  [#4496 #4506 #4513 #4637 #4681 #4702
  @dannywillems @eth-arm @kit-ty-kate @rjbou @UnixJunkie]

2.1.0~beta4:
* (*) Implemented CLI version compatibility layer [#4385 @rjbou]
* (*) Return code 31 (`Sync_error`) instead of code 40
  (`Package_operation_error`) when all failures happend during fetching
  [#4416 @rjbou - fix #4214]
* (+) Add `--download-only` flag [#4071 @Armael @rjbou - fix #4036]
* (+) Provide `opam update --depexts` to request an update of the system package \ 
manager databases [#4379 @AltGr - fix #4355]
* Set OPAMCLI=2.0 during package action commands [#4492 @kit-ty-kate]
* Fix sandbox check on first `opam init` [#4370 @rjbou - fix #4368]
* Print shell-appropriate eval command on `opam init` [#4427 @freevoid]
* Fix init script check in csh [#4482 @gahr]
* The stdout of `pre-` and `post-session` hooks is now propagated to the user \ 
[#4382 @AltGr - fix #4359]
* `post-install` hooks are now allowed to modify or remove installed files \ 
[#4388 @lefessan]
* Add support for switch-specific pre/post sessions hooks [#4476 @rjbou - fix #4472]
* Ensure we don't advertise upgrades to hidden versions [#4477 @AltGr - fix #4432]
* Fix `opam remove --autoremove <PKG>` to not autoremove unrelated \ 
packages [#4369 @AltGr - fix #4250 #4332]
* Fix cases where `opam remove -a` could trigger conflicts in the presence of \ 
orphan packages [#4369 @AltGr - fix #4250 #4332]
* Fix `--update-invariant` when removing or changing package name [#4360 @AltGr \ 
- fix #4353]
* Fix updates of the invariant with `--update-invariant` [#4431 @AltGr]
* Fix cleanup of build dirs for version pinned packages [#4436 @rjbou - fix #4255]
* Fix opamfile format upgrade on pinning [#4366 @rjbou - fix #4365]
* Fix `pin --show` actually pinning [#4367 @rjbou - fix #4348]
* When several pins are needed, do their fetching in parallel [#4399 @rjbou - \ 
fix #4315]
* Don't cleanup VCS pin source directories [#4399 @rjbou]
* Fix `--working-dir` with local switches [#4433 @rjbou]
* Add package variable `opamfile-loc`, containing the location of installed \ 
package opam file [#4402 @rjbou]
* Fix `arch` detection when using 32bit mode on ARM64 [#4462 @kit-ty-kate]
* Fix `arch` detection of i486 [#4462 @kit-ty-kate]
* Skip loading the switch state for variable lookup when possible [#4428 @rjbou]
* Fix package variables display when no config file is found [#4428 @rjbou]
* Fix `opam option depext-bypass-=["XXX"]` [#4428 @rjbou]
* Lint: add a check that strings in filtered package formula are booleans or \ 
variables [#443 @rjbou - fix #4439]
* Fix handling of filename-encoded pkgname in opam files [#4401 @AltGr - fix \ 
ocaml-opam/opam-publish#107]
* Don't recompile when modifying the package flags [#4477 @AltGr]
* Add depext support for NetBSD and DragonFlyBSD [#4396 @kit-ty-kate]
* Fix depexts on OpenBSD, FreeBSD and Gentoo: Allow short names and full name \ 
paths for ports-based systems [#4396 @kit-ty-kate]
* Handle the case where `os-family=ubuntu` as `os-family=debian` [#4441 @alan-j-hu]
* Update opam's opam files to 2.0 [#4371 @AltGr]
* Makefile: Add rule `custom-libinstall` for `opam-custom-install` use [#4401 @AltGr]
* Use the archive caches when running `opam admin cache` [#4384 @AltGr - fix #4352]
* Fix explosion of `opam admin check --cycles` on repositories with huge cliques \ 
[#4392 @AltGr]
* Much improved format-preserving printer [#4298 #4302 @rjbou - fix #3993]
* Fix missing conflict message when trying to remove required packages [#4362 @AltGr]
* Fix the Z3 backend for upgrades [#4393 @AltGr]
* Fix cases where opam would wrongly complain about action cycles [#4358 @AltGr \ 
- fix #4357]
* Fix permission denied fallback for openssl [#4449 @Blaisorblade - fix #4448]
* Add debug & verbose log for patch & subst applications [#4464 @rjbou - \ 
fix #4453]
* Be more robust w.r.t. new caches updates when `--read-only` is not used [#4467 \ 
@AltGr - fix #4354]
* Improved and extended tests [#4375 #4395 #4428 #4385 #4467 #4475 #4483 \ 
@emillon @rjbou @AltGr @freevoid @dra27]
* Switched to Github actions [#4463 @rjbou]

2.1.0~beta2:
* Reduced startup times, in particular for `opam exec` [#4341 @altgr]
* Fixed the sandboxing check on fresh inits [#4342 @altgr]
* Fixed cases where `--with-version` was not respected by `opam pin` [#4346 @altgr]
* Upgraded the bootstrap OCaml compiler from 4.09.1 to 4.11.1 [#4242 @avsm \ 
@dra27 @MisterDA @rjbou]

2.1.0~beta:
* (*) `--cli` / `OPAMCLI` option added [#4316 @dra27]
* `--help/--version` documented in wrong section for aliases [#4317 @dra27]
* `opam lock --help` missing common information {#4317 @dra27]
* (+) `--yes` passed to all commands, and plugins [#4316 @dra27]
* On init, check availability of sandbox and propose to disable
  [#4284 @rjbou - fix #4089]
* config upgrade: on the fly upgrade if no write lock required [#4313 @rjbou]
* (*) Add `pin scan` subcommand to list available pins [#4285 @rjbou]
* (*) Add `--normalise` option to print a normalised list when scanning, that can
  be taken by `opam pin add` [#4285 @rjbou]
* (*) Add `with-version` option to set the pinned package version [#4301 @rjbou]
* Add error message in case git repo is empty [#4303 @rjbou - fix #3905]
* Lock: Support -d as alias of --direct-only (to match plugin) [#4319 @dra27]
* Switch: Support -n as an alias of --no-action (to match opam-pin)
  [#4324 @dra27]
* List: <field> form no longer advertised as valid for --columns [#4322 @dra27]
* Admin: <field> form no longer advertised as valid for --columns in list
  [#4322 @dra27]
* Solver: Don't penalise packages with more recent 'hidden-versions'
  [#4312 @AltGr]
* `OpamCommand.pin` refactor, including adding `OpamClient.PIN.url_pins` to pin
  a list of package with url  [#4285 #4301 @rjbou]
* `OpamPinCommand.source_pin', for new package confirmation, don't check that
  no opam file is given as argument [#4301 @rjbou]
* CLI: Provide all functions in the client library [#4329 @AltGr]
* Process: don't display status line if not verbose, and status line disabled
  [#4285 @rjbou]
* Optimise package name comparison [#4328 @AltGr - fix #4245]

2.1.0~alpha3:
* Confirmation on non-compiler switch invariant: not on dryrun, Y by default
  [#4289 @AltGr]
* (*) Fix pin kind automatic detection consistency [#4300 @rjbou]: With `opam
  pin target', when opam file is not versioned and at root, vcs-pin the package
  instead of path-pin, and with `opam pin add nv target', take opam file even
  if not versioned.
* External dependencies: Fix non-interactive mode on OpenSuse [#4293
  @kit-ty-kate]
* src-ext: bump topkg to 1.0.2 and dune to 2.6.2, with a second compiler
  built in case main one is < 4.07.0 (dune restriction) [#4294 @dra27]
* Allow Z3 backend to return sub-optimal solutions on timeout, add
  `OPAMSOLVERALLOWSUBOPTIMAL` environment variable [#4289 @AltGr]
* Add an optional solver relying on opam-0install-cudf [#4240 @kit-ty-kate]

2.1.0~alpha2:
* Remove m4 from the list of recommended tools [#4184 @kit-ty-kate]
* Fix config solver field ignored at init [#4243 @rjbou - fix #4241]
* Fix atoms formula restriction with `--all` at upgrade [#4221 @rjbou - fix
  #4218]
* Copy instead of calling rsync when archives are in a local cache [#4270
  @kit-ty-kate]
* Opam file build using dune, removal of opam-%.install makefile target
  [#4178 @rjbou #4229 @kit-ty-kate - fix #4173]
* Use version var in opam file instead of equal current version number in
  opamlib dependencies [#4178 @rjbou]
* src ext: fix extlib url [#4248 @rjbou]
* Add `_build` to rsync exclusion list [#4230 @rjbou - fix #4195]
* Recursive opam file lookup: ignore `_build` [#4230 @rjbou]
* Assume-built fix & rewriting [#4211 @rjbou]
* Fix autoremove env var handling [#4219 @rjbou - fix #4217]
* Fix Not_found with `opam switch create . --deps` [#4151 @AltGr]
* Package Var: resolve self `name` variable for orphan packages [#4228 @rjbou
  - fix #4224]
* (*) Reject (shell) character on switch names [#4237 @rjbou - fix #4231]
* Fix `OPAMSWITCH` empty string setting, consider as unset [#4237 @rjbou]
* opam-installer: For paths, remove use of empty switch in favor of a
  context-less module [#4237 @rjbou]
* Add missing depext to unavailable reasons [#4194 @rjbou #4279 @rjbou - fix
  #4176]
* (*) Bump config file version to 2.1 (new depext fields) [#4280 @rjbou - fix
  #4266]
* Add depext handling on new pinned packages [#4194 @rjbou - fix #4189]
* Don't keep unpinned package version if it exists in repo [#4073 @rjbou -
  fix #3630]
* Fix path resolving when pinning with `file://` [#4209 @rjbou - fix #4208]
* (*) Disable recursive & subpath pinning (only present experimentally in opam
  2.1.0~alpha) [#4252 @rjbou]
* Add switch depext-bypass as modifiable field [#4194 @rjbou - fix #4177]
* Add `--no-depexts` option to disable depexts packages unavailability [#4194
  @rjbou - fix #4205]
* Warn if packages are not listed because of depexts unavailability [#4194
  @rjbou - fix #4205]
* (*) Display error message for all not found packages [#4179 @rjbou - fix
  #4164]
* (*) Keep package order given via cli [#4179 @rjbou - fix #4163]
* `--sort`` apply to with all options, not only `--just-file` [#4179 @rjbou]
* Add scope display to Not found message [#4192 @rjbou]
* No scope needed for variable display [#4192 @rjbou - fix #4183]
* Fix package variable resolution [#4192 @rjbou - fix #4182]
* opam option: Fix messages advertising a command in an obsolete format
  [#4194 @rjbou]
* E65: check that url local paths are absolute [#4209 @rjbou]
* Fix arch query depext [#4200 @rjbou]
* Add message when adding a package to `depext-bypass` [#4194 @rjbou]
* Fix performance issue of depext under Docker/debian [#4165 @AltGr]
* Handle debian virtual packages [#4269 @AltGr @rjbou - fix #4251]
* Refactor `OpamSysInteract` package status [#4152 #4200 @rjbou]
* Add environment variables handling on depext query [#4200 @rjbou]
* Add depext Macport support [#4152 @rjbou]
* Homebrew/depext: add no auto update env var for install, accept `pkgname`
  and `pkgname@version` on query [#4200 @rjbou]
* Tag packages with missing depexts in Cudf [#4235 @AltGr]
* Force LC_ALL=C for depext query commands [#4200 @rjbou]
* Put back opam-depext-2.0's behaviour with regards to asking users' consent
  before installing system packages [#4168 @kit-ty-kate @rjbou]
* Add OPAMDEPEXTYES env variable to pass --yes options to system package
  manager [#4168 @kit-ty-kate @rjbou]
* Fix system install command dryrun [#4200 @rjbou]
* (+) Add --depext-only to install only external dependencies, regardless of
  config depext status [#4238 @rjbou]
* Move system install confirmation message after opam packages install [#4238
  @rjbou]
* Error if '--depext-only' is given with '--assume-depexts' or '--no-depexts'
  [#4238 @rjbou]
* Sanddbox: no error when linked directory doesn't exist (e.g. XDG defined)
  [#4278 @kit-ty-kate]
* Sandbox: add quotes to avoid space unwanted behaviors [#4278 @kit-ty-kate]
* Fix temp files repository cleaning [#4197 @rjbou]
* Fix admin cache synchronisation message [#4193 @rjbou - fix #4167]
* Fix mismatching extra files detection [#4198 @rjbou]
* Fix Cudf generation for compat with external solvers [#4261 @AltGr]
* Check for a solution before calling the solver [#4263 @AltGr]
* Add the package flag 'hidden-version' to discourage selection by the solver
  [#4281 @AltGr]
* Tweak the default criteria to handle 'missing-depexts' and 'hidden-version'
  flags [#4281 @AltGr]
* Disable chrono when timestamps are disables [#4206 @rjbou]
* Expose some functionality in the `OpamAction`, `OpamPath` and
  `OpamSwitchState` modules for use without a `switch` value (introduce a
  functor to permit replicating switch layout in different contexts) [#4147
  @timberston]
* Std: Add map_reduce to Set and Map [#4263 @AltGr]
* Fix regression in command resolution from #4072 (ocaml code for looking up
  commands in PATH) [#4265 @dra27]
* Use OCaml 4.09.1 for the make cold target [#4257 @dra27]
* Add show cram test [#4206 @rjbou]
* Add envrionnement variable handling on cram test [#4206 @rjbou]

2.1.0~alpha:
* Recursive & subpath based pin [#3499 @rjbou @hngrgr - fix #3174 #3477]
* Define switch invariants rather than "base packages" [#3894 @AltGr]
* Don't warn on switch creation with 'ocaml' as invariant [#4108 @AltGr]
* Better error handling on switch creation [#4121 @AltGr]
* Integrate lock plugin [#3746 @rjbou - fix #3734 #3769 #3694]
* Add configuration modifications as opam config subcommands [#3992 @rjbou]
* opam var and opam option outside of opam config [#4116 @rjbou - fix #4119]
* Enable option var optimisation switch load [#4138 @rjbou]
* Integrate depext plugin [#3975 @rjbou @AltGr - fix #3790 #1519 #2426 #3692]
* Enable command/output display only from verbose level 3 [#4141 @rjbou]
* Add `opam install --check <pkg>` checks that `<pkg>` dependencies \ 
are already
  installed in the switch. It reports missing ones and exits with 1, 0 otherwise.
  It is used on a check only purpose, additionally to `--deps-only`.
  [#3854 @rjbou - fix #3823]
* Add `opam install <pkg> --ignore-conflicts` to use with `--deps-only` in case
  it is needed to install dependencies without taking conflicts into account.
  [#3853 @rjbou - fix #3846]
* Add `opam show --just-file <file>` shows information of a given file,
  without loading the switch state. It can be combined with other options, as
  field filter `--field`. It deprecates `--file` option. [#3729 @rjbou - fix
  #3721]
* Add `opam show --all-versions <pkg>` displays information of all versions of
  the given package. It can be used in combination of field filter. [#3867 @rjbou
  - fix #2980]
* Add `opam show --sort <pkg>` display on stdout a sorted opam file: all fields
  are alphabetically sorted. [#3866 @rjbou - fix ocaml/opam2web#173]
* opam show better error handling. [#4118 @rjbou - fix #3875]
* `opam show --field` are no longer required to end with a colon.
  [#3931 @rjbou]
* (*) `opam show --normalise` disable terminal width wrapping. [#3868 @rjbou -
  fix #3751]
* `opam env --check` permit to indicates if an opam environment is
  synchronized: returns 0 if up-to-date, 1 otherwise. [#4074 @rjbou - fix #3725]
* Add `opam switch export --freeze` to record VCS commit hash when a VCS url is
  specified. [#4055 @hannesm]
* Add `opam switch export --full` option, include extra-files in switch export,
  on import create an overlay directory with the file contents. [#4040 @hannesm]
* Optimize repository loading: we store the repository contents as .tar.gz
  files in ~/.opam/repo instead. [#3752 @AltGr - fix #3721]
* Handle failure or interruption of tar during `opam update`. [#3861 @AltGr]
* Fallback in case repository archive doesn't exist. [#4008 @rjbou]
* In case repository archive is corrupted, delete it and ask to launch an
  update. [#4075 @rjbou - fix #4053]
* When adding a repository, an error is displayed in case of mismatching urls,
  now both urls are displayed. [#4086 @rjbou - fix #4085]
* Handle url backend change to VCS of a package from repository. [#4007 @rjbou
  - fix #3991]
* Allow local compiler switch creation. [#3720 @rjbou - fix #3713]
* Switch creation, fix multiple compiler candidate. [#3884 @rjbou - fix #3874]
* Make reinstall handling stricter. [#3907 @AltGr]
* (*) `opam list --resolve`: restrain test dependencies to direct one instead of
  listing all test dependencies of queried package(s) [#3923 @rjbou - fix
  ocaml/opam-depext#121]
* Update pin-depends confirmation message to add a skip option. [#3852 @rjbou -
  fix #3840]
* Add OPAMDROPWORKINGDIR environment variable for C. [#3792 @rjbou - fix #3727]
* Don't restrain copy to versioned file. [#3759 @rjbou]
* Don't fetch sources when working-dir is set. [#4046 @rjbou]
* Update in place source copy: [#3948 @rjbou]
  - review `sync_dirty` on VCS:
    - use VCS to synchronize, then rsync & remove others files
    - exclude `_build`, `_opam` & VCS directories
  - when `--inplace-build` is given, it does a dirty synchronization of the
    sources, in order to keep tracking package stats (clean, local or dirty).
* Fix `working-dir` messages on update command. [#3824 @rjbou]
* Working-dir fixes. [#3982 @rjbou]
* Update download errors handling during actions processing. [#3811 @AltGr]
* Update `ftp` command, to pass url last. [#3910 @hannesm]
* Terminate (with double dashes) list of command-line download option.
  [#3913 @cfcs]
* Repository: remove 'file://' prefix for darcs. [#3761 @rjbou]
* Opam{Git,Hg}: Fix diffs in presence of binary file. [#3879 @kit-ty-kate]
* Set core.autocrlf and core.eol for Git remotes. [#3882 @dra27]
* Add a git clean on `reset_tree` to keep source dir clean. [#3948 @rjbou]
* Lint W62: Add a lint check for SPDX license. [#3976 @AltGr]
* Lint: add result in json output. [#3848 @rjbou - fix #3046]
* Add lint codes in manpage. [#3903 @rjbou]
* Default configuration file: add `getconf` to required tools. [#3813 @rjbou]
* Clarify message in `opam init --yes`. [#3892 @dra27]
* Shell setup: don't advice an infinite sourcing loop. [#3832 @rjbou]
* Default configuration file: Add compilation target globals, `sys-ocaml-arch,
  `sys-ocaml-cc`, and `sys-ocaml-libc`. [#3900 @dra27]
* Ensure that environment is initialized lazily, not before init functions are
  called [#4111 @gasche]
* Fix OPAMLOGS handling, and logdir `opam_init` argument [#4117 @rjbou - fix
  #4076]
* Include base packages configuration variables in opam config report.
  [#3798 @dra27]
* Determine jobs number at launch (`OpamStateConfig`) [#4004 @rjbou - fix
  #3986]
* Fully test native Windows in the testsuite. [#3260 @dra27]
* Allow native Windows to use Cygwin tool. [#3348 @dra27]
* Deal with Windows path conventions (backslashes, .exe, etc.) [#3350 @dra27]
* Correct display of dir separator on Windows. [#3893 @dra27]
* Tested wrong variable in OPAMW_HasGlyp. [#3898 @dra27]
* Default use `fetch` on FreeBSD, `ftp` on OpenBSD. [#3904 @hannesm]
* Don't overwrite user's sandbow script modification. [#4020 #4092 @rjbou]
* Handle `CCACHE_DIR` environment variable in sandbox script. [#4087 @rjbou -
  fix #4079]
* Follow links of `~/.cache` & `~/.cache/dune` for bwrap call. [#4087 @rjbou -
  fix #4086]
* On MacOS sandbox script, always read write mount `/tmp` [#3742 @rjbou - fix
  ocaml/opam-repository#13339]
* Environment file right handling for empty switch. [#3899 @dra27]
* Add colon for fish MANPATH fix. [#4084 @rjbou - fix #4078]
* Update zsh check interactive terminal [#4095 @OCamlPro-mattiasdrp #4128
  @AltGr]
* Add package selection to `opam admin add-hashes` [#3787 @rjbou - fix #3767]
* Download files (patches, etc.) using a safe filename. [#3900 @dra27]
* `opam admin --add-constraints`, add constraint on depopts. [#4002 @rjbou -
  fix #3994]
* Add `format-version` field to all opam files. [#3478 @AltGr] [#3906 @AltGr]
* Clarify pin depend parse error. [#3762 @rjbou]
* Opam file extensions (`x-` fields) enhancement. [#4049 @hannesm]
* Add support for Z3 as a solver backend. [#3845 @AltGr]
* Interleave download actions with build/install actions. [#3777 @Armael]
  [#4083 @rjbou - fix #4080]
* Generalization of the job scheduler: provide separate job pools for different
  subsets of the tasks. [#3778 @AltGr]
* Refactor the return types of `OpamSolution.{apply,resolve_and_apply}`
  [#3781 @Armael]
* Use the scheduler pools to respect the download-jobs parameter.
  [#3791 @AltGr]
* Set the right opam file `format-version` field on upgrade. [#4014 @rjbou]
* Streamline the output from download action. [#3794 @AltGr]
* Use a character that displays better on terminals for download action. [
  #3802 @AltGr]
* Change symbol for download action. [#3862 @AltGr]
* Include the version number in "compilation failed" message. [#4052 \ 
@Armael]
* Propagate `--force` remove option to directory tracking revert function.
  [#4094 @rjbou - fix #4091]
* Add `OpamDirTack.string_of_changes` [#4107 @rjbou @hannesm]
* Introduce state `drop` function to replace `ignore (unlock ..)` for more
  lock-type-safety. [#3783 @gasche - #3812 @rjbou]
* Change `OpamStateTypes.switch_state.conf_files `from package_map` to
  `name_map` [#3799 @dra27]
* Fix handling of availability outside of switches. [#3864 @AltGr]
* Sorting formulas function. [#3945 @rjbou]
* Sort formula: fix `compare_formula` & add `compare` [#3960 @rjbou]
* Patch rewrite test. [#3456 @dra27]
* Command errors display: differentiate command not found & permission denied.
  [#3865 @rjbou]
* Factorize option functions in `OpamProcess` [#4016 @nobrakal]
* Use ocaml code for looking up commands in `PATH` [#4072 @Armael]
* Copy files using OCaml code instead of calling to cp or install
  [#4064 @Armael]
* Sort & clean pkg:depend. [#4060 @rjbou - fix #4057]
* Add `of_json` functions & crowbar. [#3776 @gasche]
* JSON (de)serialization for OpamParallel graph. [#3786 @gasche]
* Url: catch failure & specific exception. [#3946 @rjbou]
* Update: don't update installed dev package that is not pinned. [#3947 @rjbou]
* Use `OpamArg` helpers for option. [#4059 @rjbou]
* Steps towards sudo-enabled make install. [#3522 @dra27]
* Port build system to Dune (1.2) [#3618 @dra27]
* Update shell/msvs-detect to 0.4.0. [#3869 @dra27]
* Sort out repository script mode. [#3963 @dra27]
* Preliminary support for Dune 2.0. [#3965 @dra27]
* Update mccs.1.1+11 [#4109 #4146 @MisterDA]
* Fix developer mode option. [#3646 @rjbou]
* Ensure configure generates consistently. [#3935 @dra27]
* Documentation [#3542 @0xflotus] [#3571 @hannesm] [#3780 @gasche]
  [#3944 @tchajed] [#3955 @nbraud] [#4106 @vp2177] [#3863 @dra27] [#3554 @rjbou - fix
  #3540 #2255c #3612 #3606c] [#4058 @rjbou] [#4114 @rjbou @AltGr]
   2023-11-08 14:21:43 by Thomas Klausner | Files touched by this commit (2377)
Log message:
*: recursive bump for icu 74.1
   2023-10-25 00:11:51 by Thomas Klausner | Files touched by this commit (2298)
Log message:
*: bump for openssl 3