From 5cb62bfb7b013c3ccdd5e681870d0be2b9636859 Mon Sep 17 00:00:00 2001 From: Kate Date: Thu, 19 Sep 2024 13:14:54 +0100 Subject: [PATCH] Release 2.3.0~alpha1 --- CHANGES | 175 +++++++++++++++++++++++++++++++++++++++++++ configure | 18 ++--- configure.ac | 2 +- master_changes.md | 165 ---------------------------------------- opam-client.opam | 2 +- opam-core.opam | 2 +- opam-devel.opam | 2 +- opam-format.opam | 2 +- opam-installer.opam | 2 +- opam-repository.opam | 2 +- opam-solver.opam | 2 +- opam-state.opam | 2 +- 12 files changed, 193 insertions(+), 183 deletions(-) diff --git a/CHANGES b/CHANGES index ef86753c06e..f253622f402 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,181 @@ 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.3.0~alpha1: +* (*) When loading a repository, don't automatically populate `extra-files:` + field with found files in `files/` [#5564 @rjbou] +* Fix most unhelpful conflict explanation message by merging all formulas + together [#6106 @kit-ty-kate] +* Silently mark packages requiring an unsupported version of opam as unavailable + [#5665 @kit-ty-kate - fix #5631] +* Fix Windows builds with OCaml >= 5.0 [#6189 @kit-ty-kate - fix #6148] +* (+) Add a new `opam list --latests-only` option to only list the latest + packages [#5375 @kit-ty-kate] +* (*) opam switch list-available will not display compilers flagged with + avoid-version/deprecated unless --all is given + [#6098 @kit-ty-kate - fix #6089] +* (*) Fix `opam install --check pkg` when pkg depends on a non-existing package + [#6121 @kit-ty-kate] +* (*) Make `opam install --check` check if all dependencies are installed + recursively [#6122 @kit-ty-kate - fix #6097] +* (+) Add the `--verbose-on` option to enable verbose mode on specified package + names [#5682 @desumn @rjbou] +* (+) Add `opam switch import --deps-only` option to install only dependencies + of root package at import [#5388 @rjbou - fix #5200] +* Always list all the repositories with `opam config report` regardless of + whether or not a switch is currently set [#6116 @kit-ty-kate] +* Add support for wget2 [#6104 @kit-ty-kate] +* (*) Make accepted `--repos` URLs on creation consistent with `opam repository` + [#6091 @Keryan-dev - fix #4673] +* (*) Fix the value of the 'arch' variable when the current OS is 32bit on a + 64bit machine [#5950 @kit-ty-kate - fix #5949] +* Fix package names displayed on conflicts [#6055 @rjbou - fix #6030] +* Improve the error message when a directory is not available while fetching + using rsync [#6027 @kit-ty-kate] +* (*) Fail when git submodule fails to update instead of showing a warning and + ignoring the error [#6132 @kit-ty-kate - fix #6131] +* Suppress all the Windows menus when running with `opam init -ya` + [#6034 @dra27] +* Improvements to the `builtin-0install` solver: + * Add support for unordered criteria [#6130 @kit-ty-kate] + * Add support for the `-changed` criteria to make the solver prefer to keep + packages installed at their current version [#6130 @kit-ty-kate] + * Add support for the `-count[avoid-version,solution]` criteria to avoid + packages marked with `avoid-version` flag [#6130 @kit-ty-kate] + * The default criteria changed from empty to + `-changed,-count[avoid-version,solution]` [#6130 @kit-ty-kate] + * The upgrade and fixup criteria changed from empty to + `-count[avoid-version,solution]` [#6130 @kit-ty-kate] +* Fix apt/debian lookup for installed packages [#6054 @rjbou] +* Make `opam config report` return the actual invariant syntax expected by + `--invariant` [#5619 @kit-ty-kate - fixes #5491] +* (*) Make `opam switch set-invariant` return the actual invariant syntax + expected by `--invariant` [#5619 @kit-ty-kate - fixes #5491] +* Make fetching an archive from cache add missing symlinks + [#6068 @kit-ty-kate - fix #6064] +* Performance improvements: + * Stop using polymorphic comparison when comparing + `OpamTypes.switch_selections` [#6102 @kit-ty-kate] + * Improve performance of `opam install --check` [#6122 @kit-ty-kate] + * Reduce allocations in `OpamVersionCompare` [#6144 @talex5] + * Speedup `OpamVersionCompare` by 25% by removing the unused handling of epoch + [#5518 @kit-ty-kate] + * Speedup `opam list` on options that do not use availibility information + [#5317 @kit-ty-kate - fix #5314] +* Make all writes atomic [#5489 @kit-ty-kate] +* Warn when setting a variable if an option is shadowed + [#4904 @rjbou - fix #4730] +* Changes and improvements to `opam lint`: + * Add E70 to check `extra-files:` duplicated fields [#5561 @rjbou] + * Add E71 to check if the same checksum algorithm is used several times for a + given url in `url` section [#5561 @rjbou] + * Add E72 to check if the same checksum algorithm is used several times for a + given url in `extra-sources` section [#5561 @rjbou] + * Add E73 to check that paths in `extra-files:` are not escapable + [#5561 @rjbou] + * Update W59 (no checksum in `url`) to always display a warning, untying it + from `--check-upstream` [#5561 @rjbou] +* Changes and improvements to the compilation of opam itself: + * Unset `OPAM_SWITCH_PREFIX` when using `make cold` [#5534 @kit-ty-kate] + * Bump the vendored opam-0install-cudf to 0.5.0 [#6130 @kit-ty-kate] + * Require opam-0install-cudf >= 0.5.0 [#6130 @kit-ty-kate] + * Bump the vendored mccs to 1.1+18 [#6170 @kit-ty-kate] + * Upgrade the minimum required version for dune from 2.0.0 to 2.6.0 + [#5381 @dra27] + * Remove `--with-acl` option from the configure script and its related C stubs + (reverts a Cygwin fix in #4265) [#5381 @kit-ty-kate - fix #5373] +* Make the shell environment update hint easier to copy/paste + [#6159 @kit-ty-kate - fix #6158] +* Remove unnecessary copies/move when fetching archives + [#5018 @kit-ty-kate @rjbou] +* (*) Change the default cache location of `opam admin add-hashes` from + `~/.cache` to `/download-cache/hash-cache` [#6103 @rjbou] +* Make `opam admin cache` add missing symlinks [#6068 @kit-ty-kate - fix #6064] +* Add install.exe to the list of non-shadowed programs when adding Cygwin's bin + directory to PATH (ocamlfind et al can be affected by Vim for Windows) + [#6190 @dra27] +* Propagate future opamfile parse errors correctly [#6199 @dra27] +* Ensure future syntax errors are only reported when the syntax version is + greater than the client, not the format library [#6199 @dra27 - fix #6188] +* Always pass `--no-version-check` and `--no-write-registry` to Cygwin setup + [#6046 @dra27] +* Use `--quiet-mode noinput` for the internal Cygwin installation (which is + definitely a fully-specified command line) and `--quiet-mode unattended` for + external Cygwin installations (in case the user does need to select something, + e.g. a mirror) [#6046 @dra27] +* Add cli version 2.3 [#6045 #6151 @rjbou] +* Provide a shell/install.ps1 PowerShell script to install opam on Windows + [#5906 @kit-ty-kate @dra27] +* Fix opam unable to find executables on systems where users belong to more than + 32 groups when opam is built using musl libc + [#5381 #6200 @kit-ty-kate @dra27 - fix #5373] +* Allow patches to be applied regardless of CRLF or LF line ending + [#6182 @dra27] +* Internal changes: + * Move Windows stubs to opam-core [#5381 @dra27] + * Remove the meta opam packages opam and opam-admin [#6115 @kit-ty-kate] +* Improve and extend the tests + [#6045 #6045 #5989 #6055 #5642 #5327 #6103 #6068 #5377 #5474 #5682 #6125 #6121 + #6139 #5375 #6105 #6146 #6098 #6132 #6122 #5561 #6106 #6199 + @rjbou @kit-ty-kate @dra27 @Keryan-dev @madroach] +* Improve the benchmarks [#6094 #6078 #6123 #6149 @kit-ty-kate] +* Improve the test infrastructure + [#6105 #6155 #6184 #5564 #6079 #6081 #6132 #6074 + @rjbou @kit-ty-kate @Keryan-dev @RyanGibb] +* Improve the documentation + [#5988 #5946 #6119 #6138 #6141 #5363 + @kit-ty-kate @rjbou @mbarbin @shonfeder] +* API changes + * `OpamACL`: remove module [#5381 @kit-ty-kate] + * `OpamArg.build_options`: add `--verbose-on` flag [#5682 @desumn @rjbou] + * `OpamClientConfig.build_options`: add `verbose_on` field [#5682 @desumn] + * `OpamClientConfig.E`, `OpamArg.environment_variables`: and `OPAMVERBOSEON` + support [#5682 @desumn @rjbou] + * `OpamCudfCriteria`, `OpamBuiltinZ3.Syntax`: Move `OpamBuiltinZ3.Syntax` + into a dedicated module `OpamCudfCriteria` [#6130 @kit-ty-kate] + * `OpamFilename`: add `might_escape` to check if a path is escapable, ie + contains `..` [#5561 @rjbou] + * `OpamFileTools`: `read_opam` & `read_repo_opam` stop adding non registered + extra-files [#5564 @rjbou] + * `OpamFileTools.add_aux_files`: ignore non registered extra-files and make + the `files_subdir_hashes` argument optional (defaults to `false`) + [#5564 @rjbou] + * `OpamFormula`: add some missing comparison functions for `relop`, + `version_constraint` and `atom` (`compare_relop`, + `compare_version_constraint` and `compare_atom` respectively) + [#6122 @kit-ty-kate] + * `OpamFormula`: add `exists` [#5317 @kit-ty-kate] + * `OpamGit.fetch ?full_fetch` is now `true` by default instead of `false` + [#6146 @kit-ty-kate - fix #6145] + * `OpamHash`: export `compare_kind` [#5561 @rjbou] + * `OpamListCommand.selector`: Add `NotFlag` selector [#6098 @kit-ty-kate] + * `OpamRepository.fetch_from_cache`: when an archive is found, add a symlink + (or copy) for the ones found in opam file but not in cache + [#6068 @kit-ty-kate] + * `OpamStateConfig.opamroot_with_provenance`: restore previous behaviour to + `OpamStateConfig.opamroot` for compatibility with third party code + [#6047 @dra27] + * `OpamSolver.dependency_graph`: make `unavailable` a non-optional argument to + enforce speedups when availability information is not needed + [#5317 @kit-ty-kate] + * `OpamTypes.universe`: make `u_available` and `u_attrs` lazy to speedup + actions that do not require availiblity information + [#5317 @kit-ty-kate - fix #5314] + * `OpamTypesBase.switch_selections_{compare,equal}`: Add proper comparison + functions for `OpamTypes.switch_selections` [#6102 @kit-ty-kate] + * `OpamStd.Env`: add `env_string_list` for parsing string list environment + variables (comma separated) [#5682 @desumn] + * `OpamStd.Sys.getconf`: add a function to call the `getconf` command + [#5950 @kit-ty-kate] + * `OpamStd.Sys.resolve_command`: Fix opam unable to find executables on + systems where users belong to more than 32 groups when opam is built using + musl libc [#5381 @kit-ty-kate - fix #5373] + * `OpamSwitchCommand.import`: add optional `?deps_only` argument to install + only dependencies of root packages [#5388 @rjbou] + * `OpamSwitchState.{,reverse_}dependencies`: make `unavailable` a non-optional + argument to enforce speedups when availability information is not needed + [#5317 @kit-ty-kate] + 2.2.1: * (*) Fix a regression in `opam install --deps-only` where the direct dependencies were not set as root packages [#6125 @rjbou] diff --git a/configure b/configure index be601110dd6..8ada0e003d5 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for opam 2.3.0~alpha~dev. +# Generated by GNU Autoconf 2.71 for opam 2.3.0~alpha1. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -609,8 +609,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='opam' PACKAGE_TARNAME='opam' -PACKAGE_VERSION='2.3.0~alpha~dev' -PACKAGE_STRING='opam 2.3.0~alpha~dev' +PACKAGE_VERSION='2.3.0~alpha1' +PACKAGE_STRING='opam 2.3.0~alpha1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1300,7 +1300,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures opam 2.3.0~alpha~dev to adapt to many kinds of systems. +\`configure' configures opam 2.3.0~alpha1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1362,7 +1362,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of opam 2.3.0~alpha~dev:";; + short | recursive ) echo "Configuration of opam 2.3.0~alpha1:";; esac cat <<\_ACEOF @@ -1478,7 +1478,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -opam configure 2.3.0~alpha~dev +opam configure 2.3.0~alpha1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1595,7 +1595,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by opam $as_me 2.3.0~alpha~dev, which was +It was created by opam $as_me 2.3.0~alpha1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -7613,7 +7613,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by opam $as_me 2.3.0~alpha~dev, which was +This file was extended by opam $as_me 2.3.0~alpha1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7668,7 +7668,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -opam config.status 2.3.0~alpha~dev +opam config.status 2.3.0~alpha1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 670ad0254fb..a5a2b1281cb 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl The line below must be formatted AC_INIT([opam],[VERSION]) with no extra spaces -AC_INIT([opam],[2.3.0~alpha~dev]) +AC_INIT([opam],[2.3.0~alpha1]) AC_COPYRIGHT(Copyright 2012-2019 OcamlPro SAS) AC_CONFIG_MACRO_DIR([m4]) diff --git a/master_changes.md b/master_changes.md index b8e90329880..00be362c74e 100644 --- a/master_changes.md +++ b/master_changes.md @@ -11,59 +11,34 @@ moved, etc.), please update the _API updates_ part (it helps opam library users) ## Version - * Bump version to 2.3.0~alpha~dev [#6045 @rjbou] - * Bump opam-root-version to 2.2 [#5980 @kit-ty-kate] ## Global CLI - * Add cli version 2.3 [#6045 #6151 @rjbou] - * Improve the error message when a directory is not available while fetching using rsync [#6027 @kit-ty-kate] ## Plugins ## Init - * Suppress all the Windows menus when running with `opam init -ya` [#6034 @dra27] ## Config report - * Always list all the repositories regardless of whether or not a switch is currently set [#6116 @kit-ty-kate] - * Make `opam config report` return the actual invariant syntax expected by `--invariant` [#5619 @kit-ty-kate - fixes #5491] ## Actions - * Add support for wget2 [#6104 @kit-ty-kate] ## Install - * Fix package name display for no agreement conflicts [#6055 @rjbou - fix #6030] - * Make fetching an archive from cache add missing symlinks [#6068 @kit-ty-kate - fix #6064] - * [BUG] Fix `opam install --deps-only` set direct dependencies as root packages [#6125 @rjbou] - * [BUG] Fix `opam install --check pkg` when pkg depends on a non-existing package [#6121 @kit-ty-kate] - * Disable shallow clone by default except for opam repositories [#6146 @kit-ty-kate - fix #6145] - * Improve performance of `opam install --check` [#6122 @kit-ty-kate] - * Make `opam install --check` check if all dependencies are installed recursively [#6122 @kit-ty-kate - fix #6097] ## Build (package) - * ◈ Add `--verbose-on` option to enable verbose mode on specified package names [#5682 @desumn @rjbou] - * Remove unnecessary copies/move when fetching archives [#5018 @kit-ty-kate @rjbou] ## Remove ## Switch - * ◈ Add `opam switch import --deps-only` option to install only dependencies of root package at import [#5388 @rjbou - fix #5200] - * [BUG] Make accepted `--repos` URLs on creation consistent with `opam repository` [#6091 @Keryan-dev - fix #4673] - * ◈ opam switch list-available will not display compilers flagged with avoid-version/deprecated unless --all is given [#6098 @kit-ty-kate - fix #6089] - * Make `opam switch set-invariant` return the actual invariant syntax expected by `--invariant` [#5619 @kit-ty-kate - fixes #5491] ## Config ## Pin ## List - * ◈ Add a new `--latests-only` option to only list the latest packages [#5375 @kit-ty-kate] - * Speedup `opam list` on options that do not use availibility information [#5317 @kit-ty-kate - fix #5314] ## Show ## Var/Option - * Fix the value of the 'arch' variable when the current OS is 32bit on a 64bit machine [#5950 @kit-ty-kate - fix #5949] - * Warn when setting a variable if an option is shadowed [#4904 @rjbou - fix #4730] ## Update / Upgrade @@ -74,71 +49,34 @@ users) ## Source ## Lint - * Add E70 to check `extra-files:` duplicated fields [#5561 @rjbou] - * Add E71 to check if the same checksum algorithm is used several times for a given url in `url` section [#5561 @rjbou] - * Add E72 to check if the same checksum algorithm is used several times for a given url in `extra-sources` section [#5561 @rjbou] - * Add E73 to check that paths in `extra-files:` are not escapable [#5561 @rjbou] - * Update W59 (no checksum in `url`) to always display a warning, untying it from `--check-upstream` [#5561 @rjbou] ## Repository - * Mitigate curl/curl#13845 by falling back from --write-out to --fail if exit code 43 is returned by curl [#6168 @dra27 - fix #6120] - * Silently mark packages requiring an unsupported version of opam as unavailable [#5665 @kit-ty-kate - fix #5631] - * When loading a repository, don't automatically populate `extra-files:` field with found files in `files/` [#5564 @rjbou] ## Lock ## Clean ## Env - * Make the shell environment update hint easier to copy/paste [#6159 @kit-ty-kate - fix #6158] - * Add install.exe to the list of non-shadowed programs when adding Cygwin's bin directory to PATH (ocamlfind et al can be affected by Vim for Windows) [#6190 @dra27] ## Opamfile - * Make all writes atomic [#5489 @kit-ty-kate] - * Propagate future opamfile parse errors correctly [#6199 @dra27] - * Ensure future syntax errors are only reported when the syntax version is greater than the client, not the format library [#6199 @dra27 - fix #6188] ## External dependencies - * Always pass --no-version-check and --no-write-registry to Cygwin setup [#6046 @dra27] - * Use --quiet-mode noinput for the internal Cygwin installation (which is definitely a fully-specified command line) and --quiet-mode unattended for external Cygwin installations (in case the user does need to select something, e.g. a mirror) [#6046 @dra27] - * [BUG] Fix apt/debian lookup for installed packages [#6054 @rjbou] ## Format upgrade ## Sandbox ## VCS - * Fail when git submodule fails to update instead of showing a warning and ignoring the error [#6132 @kit-ty-kate - fix #6131] ## Build - * Synchronise opam-core.opam with opam-repository changes [#6043 @dra27] - * Unset OPAM_SWITCH_PREFIX when using make cold [#5534 @kit-ty-kate] - * Bump the vendored opam-0install-cudf to 0.5.0 [#6130 @kit-ty-kate] - * Require opam-0install-cudf >= 0.5.0 [#6130 @kit-ty-kate] - * Bump the vendored mccs to 1.1+18 [#6170 @kit-ty-kate] - * Fix Windows builds with OCaml >= 5.0 [#6189 @kit-ty-kate - fix #6148] - * Upgrade the minimum required version for dune from 2.0.0 to 2.6.0 [#5381 @dra27] ## Infrastructure - * Bump opam version used in the depext CI from 2.1.0 to 2.1.6 [#6074 @RyanGibb] - ## Release scripts - * Add the missing mccs and dune archives to the opam-full-.tar.gz archive [#6066 @kit-ty-kate] - * Ensure the configure file stays as it is in the tag, in the opam-full-.tar.gz archive [#6066 @kit-ty-kate] - * Exclude the .git directory from the release archive when using GNU tar [#6066 @kit-ty-kate] - * Ensure non-existing %.cache target fail with a fatal error [#6066 @kit-ty-kate] - * Remove opam 2.1 support from the release script [#6084 #6175 @kit-ty-kate] - * Remove the getgroups workaround allowing users belonging to more than 32 groups [#6200 @dra27 @kit-ty-kate] ## Install script - * Provide a shell/install.ps1 PowerShell script to install opam on Windows [#5906 @kit-ty-kate @dra27] - * Add opam 2.2.0 to the install scripts [#6062 @kit-ty-kate] - * Add opam 2.2.1 to the install scripts [#6173 @kit-ty-kate] ## Admin - * Change hash cache location from `~/.cache` to `/download-cache/hash-cache` [#6103 @rjbou] - * Make `opam admin cache` add missing symlinks [#6068 @kit-ty-kate - fix #6064] ## Opam installer @@ -147,142 +85,39 @@ users) ## Opam file format ## Solver - * Add support for unordered criteria with the `builtin-0install` solver [#6130 @kit-ty-kate] - * Add support for the `-changed` criteria with the `builtin-0install` solver, to make the solver prefer to keep packages installed at their current version [#6130 @kit-ty-kate] - * Add support for the `-count[avoid-version,solution]` criteria with the `builtin-0install` solver, to avoid packages marked with `avoid-version` flag [#6130 @kit-ty-kate] - * The default criteria for the `builtin-0install` solver changed from empty to `-changed,-count[avoid-version,solution]` [#6130 @kit-ty-kate] - * The upgrade and fixup criteria for the `builtin-0install` solver changed from empty to `-count[avoid-version,solution]` [#6130 @kit-ty-kate] - * Fix some of the unhelpful conflict messages by merging formulas that include each other [#5210 @kit-ty-kate] ## Client ## Shell ## Internal - * Stop using polymorphic comparison when comparing `OpamTypes.switch_selections` [#6102 @kit-ty-kate] - * Remove the meta opam packages opam and opam-admin [#6115 @kit-ty-kate] - * Reduce allocations in OpamVersionCompare [#6144 @talex5] - * Speedup OpamVersionCompare by 25% by removing the unused handling of epoch [#5518 @kit-ty-kate] - * Fix error in `OpamSystem.transform_patch` - patches were only applied when debugging [#6182 @dra27 regression since #3449] - * Remove `--with-acl` option from the configure script and its related C stubs (reverts a Cygwin fix in #4265) [#5381 @kit-ty-kate - fix #5373] - * Move Windows stubs to opam-core [#5381 @dra27] ## Internal: Windows ## Test ## Benchmarks - * Make the benchmark setup process faster and the benchmark itself more stable [#6094 @kit-ty-kate] - * Add a benchmark showing the current performance of OpamVersionCompare [#6078 @kit-ty-kate] - * Add a benchmark for `opam install --check` [#6123 @kit-ty-kate] - * Add a benchmark for `opam list --installed` on non-installed packages [#6149 @kit-ty-kate] ## Reftests ### Tests - * cli versioning: untie output from current major version [#6045 @rjbou] - * Set `opam-version` to 2.2 for some conflict message tests based on opam repository to stabilise their output [#6045 @rjbou] - * [BUG]: head -c is not posix compliant. Use cut -b instead. [#5989 @madroach] - * Add bad cudf package name encoding (dose3 lib) [#6055 @rjbou] - * Add test for filter operators in opam file [#5642 @rjbou] - * Update init test to make it no repo [#5327 @rjbou] - * Add a test in admin cache for hash cache [#6103 @rjbou] - * Add admin cache test [#6068 @rjbou] - * env: Add a test for `build-env` overwrites build env opam environment variables [#5377 @rjbou] - * clean: Add to check cleaning of sources directories [#5474 @rjbou] - * Add reftest for `--verbose-on` option [#5682 @rjbou] - * Add a test for --deps-only setting direct dependencies as root packages [#6125 @rjbou] - * Add a test file for `opam install --check` [#6121 @kit-ty-kate] - * Add reinstall test for delayed removal of packages [#6139 @rjbou] - * Add a test showing the behaviour of `opam list --latests-only` [#5375 @kit-ty-kate] - * Add a test filtering mechanism [#6105 @Keryan-dev] - * Add a package fetching test [#6146 @rjbou] - * Add a test showing the behaviour of `opam switch list-available` [#6098 @kit-ty-kate] - * Add a test for git packages with submodules [#6132 @kit-ty-kate] - * Add basic test for `install --check` [#6122 @rjbou] - * lint: add an additional test case for W37 [#5561 @rjbou] - * lint: update W37 to test other urls scheme [#5561 @rjbou] - * lint: update W37 to test other url schemes [#5561 @rjbou] - * lint: add E70 test [#5561 @rjbou] - * lint: add E71 test [#5561 @rjbou] - * lint: add E72 test [#5561 @rjbou] - * lint: add E73 test [#5561 @rjbou] - * lint: add more test cases for E59: special cases (conf, git url), with and without option `--with-check-upstream` [#5561 @rjbou] - * lint: add E70 test [#5561 @rjbou] - * lint: add E71 test [#5561 @rjbou] - * lint: add E72 test [#5561 @rjbou] - * lint: add E73 test [#5561 @rjbou] - * lint: add more test cases for E59: special cases (conf, git url), with and without option `--with-check-upstream` [#5561 @rjbou] - * lint: add more test cases for W59: special cases (conf, git url), with and without `--with-check-upstream` [#5561 @rjbou] - * Add a test showing an unhelpful conflict message [#5210 @kit-ty-kate] - * Add test in pin and lint for future opam version parse error [#6199 @dra27] ### Engine - * Add a test filtering mechanism [#6105 @Keryan-dev] - * Add a test filter on N0REP0 first line [#6105 @Keryan-dev] - * Add a makefile target `quick-test` to launch only `N0REP0` tests [#6105 @Keryan-dev] - * Speedup `make reftest-gen` [#6155 @kit-ty-kate] - * Fix some json output automatic replacement (duration and path on Windows) [#6184 @rjbou] - * Add test for reftest syntax [#6184 @rjbou] - * Add some readme file [#6184 @rjbou] - * Add new mechanism to add automatically files under `files/` directory to related opam file [#5564 @rjbou] ## Github Actions - * Depexts: replace centos docker with almalinux to fake a centos [#6079 @rjbou] - * Depexts: fix conf package install check [#6079 @rjbou] - * Depexts: specify packages to test per distribution [#6079 @rjbou] - * Depexts: add update depexts check [#6079 @rjbou] - * Depexts: move parts to docker build image, for caching [#6079 @rjbou] - * Depexts: set version for conf packages to check [#6079 @rjbou] - * Depexts: add package to test containing `os-version` in filter [#6079 @rjbou] - * Depexts: fix opensuse job [#6079 @rjbou] - * Use actions/cache instead of our own fork ocaml-opam/cache [#6081 @rjbou] - * Update action cache to v4 [#6081 @rjbou] - * Update action checkout to v4 [#6081 @rjbou] - * Update action upload-artifact to v4 [#6081 @rjbou] - * preamble: Allow local git submodules (ignore CVE-2022-39253) [#6132 @kit-ty-kate] ## Doc - * Remove the ppa from the installation instructions on Ubuntu [#5988 @kit-ty-kate - fix #5987] - * Fix pinning instructions in readme [#5946 @rjbou - fix #5945] - * Add a brief note about version ordering and an OCaml REPL example [#6119 @mbarbin] - * Update the installation documentation after the release of opam 2.2 [#6138 @kit-ty-kate] - * Fix formatting of inline code in `Environment update portability` section [#6141 @shonfeder] - * Add some missing environment variable added during a build [#5363 @kit-ty-kate @rjbou] ## Security fixes # API updates ## opam-client - * `OpamSwitchCommand.import`: add optional `?deps_only` argument to install only dependencies of root packages [#5388 @rjbou] - * `OpamArg.build_options`: add `--verbose-on` flag [#5682 @desumn @rjbou] - * `OpamClientConfig.build_options`: add `verbose_on` field [#5682 @desumn] - * `OpamClientConfig.E`, `OpamArg.environment_variables`: and `OPAMVERBOSEON` support [#5682 @desumn @rjbou] - * `OpamListCommand.selector`: Add `NotFlag` selector [#6098 @kit-ty-kate] ## opam-repository - * `OpamRepository.fetch_from_cache`: when an archive is found, add a symlink (or copy) for the ones found in opam file but not in cache [#6068 @kit-ty-kate] - * `?full_fetch` is now `true` by default instead of `false` [#6146 @kit-ty-kate - fix #6145] ## opam-state - * `OpamStateConfig.opamroot_with_provenance`: restore previous behaviour to `OpamStateConfig.opamroot` for compatibility with third party code [#6047 @dra27] - * `OpamSwitchState.{,reverse_}dependencies`: make `unavailable` a non-optional argument to enforce speedups when availability information is not needed [#5317 @kit-ty-kate] - * `OpamFilteTools.add_aux_files`: ignore non registered extra-files and make the `files_subdir_hashes` argument optional (defaults to `false`) [#5564 @@rjbou] - * `OpamFileTools`: `read_opam` & `read_repo_opam` no more add non registered extra-files [#5564 @rjbou] ## opam-solver - * `OpamCudfCriteria`, `OpamBuiltinZ3.Syntax`: Move `OpamBuiltinZ3.Syntax` into a dedicated module `OpamCudfCriteria` [#6130 @kit-ty-kate] - * `OpamSolver.dependency_graph`: make `unavailable` a non-optional argument to enforce speedups when availability information is not needed [#5317 @kit-ty-kate] ## opam-format - * Add `OpamTypesBase.switch_selections_{compare,equal}`: proper comparison functions for `OpamTypes.switch_selections` [#6102 @kit-ty-kate] - * `OpamFormula`: add `exists` [#5317 @kit-ty-kate] - * `OpamTypes.universe`: make `u_available` and `u_attrs` lazy to speedup actions that do not require availiblity information [#5317 @kit-ty-kate - fix #5314] - * `OpamFormula`: add some missing comparison functions for `relop`, `version_constraint` and `atom` (`compare_relop`, `compare_version_constraint` and `compare_atom` respectively) [#6122 @kit-ty-kate] ## opam-core - * `OpamStd.Env`: add `env_string_list` for parsing string list environment variables (comma separated) [#5682 @desumn] - * `OpamHash`: export `compare_kind` [#5561 @rjbou] - * `OpamFilename`: add `might_escape` to check if a path is escapable, ie contains `..` [#5561 @rjbou] - * Add `OpamStd.Sys.getconf` [#5950 @kit-ty-kate] - * `OpamStd.Sys.resolve_command`: Fix opam unable to find executables on systems where users belong to more than 32 groups when opam is built using musl libc [#5381 @kit-ty-kate - fix #5373] - * `OpamACL`: remove module [#5381 @kit-ty-kate] diff --git a/opam-client.opam b/opam-client.opam index b2c9407c00e..45dc91582fc 100644 --- a/opam-client.opam +++ b/opam-client.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.3.0~alpha~dev" +version: "2.3.0~alpha1" synopsis: "Client library for opam 2.2" description: """ Actions on the opam root, switches, installations, and front-end. diff --git a/opam-core.opam b/opam-core.opam index d901e7ba809..c9ec726082f 100644 --- a/opam-core.opam +++ b/opam-core.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.3.0~alpha~dev" +version: "2.3.0~alpha1" synopsis: "Core library for opam 2.2" description: "Small standard library extensions, and generic system interaction modules used by opam." diff --git a/opam-devel.opam b/opam-devel.opam index afcbcaf9c42..6c9f0e9b63f 100644 --- a/opam-devel.opam +++ b/opam-devel.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.3.0~alpha~dev" +version: "2.3.0~alpha1" synopsis: "Bootstrapped development binary for opam 2.2" description: """ This package compiles (bootstraps) opam. For consistency and safety of the installation, the binaries are not installed into the PATH, but into lib/opam-devel, from where the user can manually install them system-wide. diff --git a/opam-format.opam b/opam-format.opam index cd4cb6a03c1..7fc85dd7fc2 100644 --- a/opam-format.opam +++ b/opam-format.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.3.0~alpha~dev" +version: "2.3.0~alpha1" synopsis: "Format library for opam 2.2" description: """ Definition of opam datastructures and its file interface. diff --git a/opam-installer.opam b/opam-installer.opam index 7c93f15c623..259d43c35ba 100644 --- a/opam-installer.opam +++ b/opam-installer.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.3.0~alpha~dev" +version: "2.3.0~alpha1" synopsis: "Installation of files to a prefix, following opam conventions" description: """ opam-installer is a small tool that can read *.install files, as defined by opam [1], and execute them to install or remove package files without going through opam. diff --git a/opam-repository.opam b/opam-repository.opam index 470cb759fdd..0df391ddcbf 100644 --- a/opam-repository.opam +++ b/opam-repository.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.3.0~alpha~dev" +version: "2.3.0~alpha1" synopsis: "Repository library for opam 2.2" description: """ This library includes repository and remote sources handling, including curl/wget, rsync, git, mercurial, darcs backends. diff --git a/opam-solver.opam b/opam-solver.opam index 09e0f3ae589..ea99cae8153 100644 --- a/opam-solver.opam +++ b/opam-solver.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.3.0~alpha~dev" +version: "2.3.0~alpha1" synopsis: "Solver library for opam 2.2" description: """ Solver and Cudf interaction. This library is based on the Cudf and Dose libraries, and handles calls to the external solver from opam. diff --git a/opam-state.opam b/opam-state.opam index 8306aac95bc..c6b7a173b0f 100644 --- a/opam-state.opam +++ b/opam-state.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.3.0~alpha~dev" +version: "2.3.0~alpha1" synopsis: "State library for opam 2.2" description: """ Handling of the ~/.opam hierarchy, repository and switch states.