Skip to content

Commit e51bad3

Browse files
committed
Release 2.2.0~beta3
1 parent eff5a2a commit e51bad3

13 files changed

+84
-95
lines changed

CHANGES

+64
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,70 @@ repositories (changes that are automatically handled by the format upgrade tools
33
are not marked). Those prefixed with "(+)" are new command/option (since
44
2.1.0~alpha2).
55

6+
2.2.0~beta3:
7+
* (+) New option `opam init --cygwin-extra-packages=CYGWIN_PKGS --cygwin-internal-install`, to specify additional packages for internal Cygwin [#5930, #5964 @moyodiallo - fix #5834]
8+
* Redirect the opam root to C:\opamroot when the opam root contains spaces on Windows [#5457 @rjbou]
9+
* Out-of-the-box UTF-8 paged --help on Windows [#5970 @kit-ty-kate]
10+
* Sereval fixes were done related to environment reverting:
11+
* Fix reverting of environment variables, principally on Windows [#5935 @dra27 fix #5838]
12+
* Fix splitting environment variables [#5935 @dra27]
13+
* When opam creates an empty variable then appends/prepends a value, ensure no additional separator is added [#5935 @dra27 - fix #5925]
14+
* Fix `x-env-path-rewrite` splitting of values when reverting [#5935 @dra27 - fix #5838]
15+
* Rework the logic of := and =: so that an empty entry is correctly preserved on multiple updates [#5935 @dra27 - fix #5926]
16+
* Fix incorrect reverting of `=+` and `=:` [#5935 @dra27 - fix #5926]
17+
* Fix a performance regression when calling opam install --deps-only on an already installed package [#5908 @kit-ty-kate - fix #5817]
18+
* Fixed some issues that could appear when upgrading from previous versions of opam:
19+
* Handle init OCaml `sys-ocaml-*` eval variables during format upgrade from 2.0 -> 2.1 -> 2.2 [#5829 @dra27]
20+
* Reset the "jobs" config variable when upgrading from opam 2.1 to 2.2, instead of 2.0 to 2.1 [#5904 @kit-ty-kate - fix #5816]
21+
* Remove unused/untested Makefile targets lib-pkg [#5494 @kit-ty-kate]
22+
* Upgrade vendored packages (cmdliner 1.3.0, ocaml 4.14.2) [#5970 #5976 @kit-ty-kate]
23+
* Various fixes for Windows:
24+
* Fix download URLs containing invalid characters on Windows (e.g. the ? character in `?full_index=1`) [#5921 @dra27]
25+
* Harden the CRLF stripping when using cygcheck [#5993 @dra27]
26+
* Fix extraction of tarballs on Windows which contain symlinks both when those symlinks can't be created or if they point to files which don't exist [#5953 @dra27]
27+
* Fix curl failures - the progress meter can become interleaved with the status code on Windows [#5984 @dra27 @kit-ty-kate @rjbou]
28+
* stop hiding the Windows specific arguments of opam init on non-Windows platforms [#6003 @rjbou @kit-ty-kate]
29+
* Improve the Git-for-Windows menu shown during opam init [#5963 @dra27 - fix #5835]
30+
* For the `Cygwin` internal operator, don't allow `make.exe` to become shadowed [#5996 @dra27]
31+
* Fix incorrect quoting rule for `MANPATH` [#5972 @dra27]
32+
* Do not special case the rewriting rule for the PKG_CONFIG_PATH environment variable [#6002 @kit-ty-kate - fix #5923]
33+
* Pass --symlink-type native to Cygwin setup if symlinks are available [#5830 @dra27]
34+
* Pass --no-version-check to Cygwin setup (suppresses a message box if setup needs updating) [#5830 @dra27]
35+
* Pass --quiet-mode noinput to stop the user interrupting the setup GUI [#5830 @dra27]
36+
* Always pass --no-write-registry to the Cygwin installer, not just on first installation [#5995 @dra27]
37+
* Various other fixes:
38+
* Fix rounding error when displaying the timestamp in debug mode [#5912 @kit-ty-kate - fix #5910]
39+
* Relaxed warning 41 in opam lint to not trigger on uses of package variables which are guarded by a package:installed filter [#5927 @dra27]
40+
* Move last-env `OPAM_LAST_ENV` files outside the switch to be in `$OPAMROOT` [#5962 @moyodiallo - fix #5823]
41+
* Fix a typo in the variable description returned by "opam var" [#5961 @jmid]
42+
* (*) Display lock hold/release messages on stderr instead of stdout [#5999 @kit-ty-kate - fix #5990]
43+
* Allow to parse opam 2.1 switch import files containing extra-files [#5943 @kit-ty-kate - fix #5941]
44+
* Fix `opam tree --with-*` assigning the `with-*` variables to unrequested packages [#5919 @kit-ty-kate @rjbou - fix #5755]
45+
* Fix combinations of `opam tree --with-*` and `--no-switch` [#5919 @kit-ty-kate @rjbou - fix #5920]
46+
* Stop triggering "Undefined filter variable variable" debug warning for `?variable` [#5983 @dra27]
47+
* Upgrade the opam-root-version to 2.2~beta [#5904 @kit-ty-kate]
48+
* Improve and extend the tests [#5919 #5919 #5904 #5925 #5935 #5926 #5935 #5927 @rjbou @dra27]
49+
* Improve the benchmarks [#5909 @kit-ty-kate]
50+
* Improve the test infrastructure [#5935 #5938 #5998 @dra27]
51+
* API changes:
52+
* `OpamClient.init` and `OpamClient.reinit`: now can have additional cygwin packages to install [#5930 @moyodiallo]
53+
* Expose `OpamSolution.print_depext_msg` [#5994 @dra27]
54+
* Extracted `OpamSolution.install_sys_packages` from `OpamSolution.install_depexts` [#5994 @dra27]
55+
* `OpamDownload.download_command`: separate output from stdout and stderr [#5984 @kit-ty-kate]
56+
* `OpamPath`: remove `OpamPath.Switch.last_env` function in favor to `OpamPath.last_env` as the files are no more stored in switch directory [#5962 @moyodiallo - fix #5823]
57+
* `OpamFilter.map_up`: correct handling of FDefined [#5983 @dra27]
58+
* `OpamFilter.fold_down_left`: correct handling of FDefined and FUndef [#5983 @dra27]
59+
* `OpamStd.String`: add `split_quoted` that preserves quoted separator [#5935 @dra27]
60+
* `OpamSystem.copy_dir` and `OpamSystem.mv` may display a warning on Windows if an invalid symlink (e.g. an LXSS Junction) is found [#5953 @dra27]
61+
* `OpamStubs.getVersionInfo`: on Windows, retrives the version information block of an executable/library [#5963 @dra27]
62+
* `OpamStubs.readRegistry`: on Windows, complements `OpamStubs.writeRegistry` [#5963 @dra27]
63+
* `OpamStubs.get_initial_environment`: on Windows, returns the pristine environment for new shells [#5963 @dra27]
64+
* `OpamConsole`: Add `formatted_errmsg` [#5999 @kit-ty-kate]
65+
* `OpamConsole.menu` now supports up to 35 menu items [#5992 @dra27]
66+
* `OpamStd.Sys.resolve_command`: extracted the logic from `OpamSystem.resolve_command`, without the default environment handling from OpamProcess. [#5991 @dra27]
67+
* `OpamStd.Sys.resolve_in_path`: split the logic of `OpamStd.Sys.resolve_command` to allow searching for an arbitrary file in the search path [#5991 @dra27]
68+
* `OpamProcess.run_background`: name the stderr output file have the .err extension when cmd_stdout is given [#5984 @kit-ty-kate]
69+
670
2.2.0~beta2:
771
* Changes necessary to be able to open the PR adding support for Windows in
872
opam-repository:

configure

+9-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

configure.ac

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dnl The line below must be formatted AC_INIT([opam],[VERSION]) with no extra spaces
2-
AC_INIT([opam],[2.2.0~beta3~dev])
2+
AC_INIT([opam],[2.2.0~beta3])
33
AC_COPYRIGHT(Copyright 2012-2019 OcamlPro SAS)
44

55
AC_CONFIG_MACRO_DIR([m4])

master_changes.md

+1-76
Original file line numberDiff line numberDiff line change
@@ -11,38 +11,24 @@ moved, etc.), please update the _API updates_ part (it helps opam library
1111
users)
1212

1313
## Version
14-
* Bump version to 2.2.0~beta3~dev [#5917 @kit-ty-kate]
15-
* Bump the version number after the release of 2.2.0~beta1 [#5785 @kit-ty-kate]
16-
* Upgrade the opam-root-version to 2.2~beta [#5904 @kit-ty-kate]
1714

1815
## Global CLI
19-
* Fix a typo in the variable description returned by "opam var" [#5961 @jmid]
20-
* Out-of-the-box UTF-8 paged --help on Windows [#5970 @kit-ty-kate]
21-
* ✘ Display lock hold/release messages on stderr instead of stdout [#5999 @kit-ty-kate - fix #5990]
22-
* stop hiding the Windows specific arguments of opam init on non-Windows platforms [#6003 @rjbou @kit-ty-kate]
2316

2417
## Plugins
2518

2619
## Init
27-
* ◈ New option `opam init --cygwin-extra-packages=CYGWIN_PKGS --cygwin-internal-install`, to specify additional packages for internal Cygwin [#5930, #5964 @moyodiallo - fix #5834]
28-
* Skip Git-for-Windows menu if the Git binary resolved in PATH is Git-for-Windows [#5963 @dra27 - fix #5835]
29-
* Enhance the Git menu by warning if the user appears to need to restart the shell to pick up PATH changes [#5963 @dra27]
30-
* Include Git for Windows installations in the list of possibilities where the user instructed Git-for-Windows setup not to update PATH [#5963 @dra27]
3120

3221
## Config report
3322

3423
## Actions
3524

3625
## Install
37-
* Fix performance regression when calling opam install --deps-only on an already installed package [#5908 @kit-ty-kate - fix #5817]
3826

3927
## Remove
4028

4129
## Switch
42-
* Allow to parse opam 2.1 switch import files containing extra-files [#5943 @kit-ty-kate - fix #5941]
4330

4431
## Config
45-
* Move last-env `OPAM_LAST_ENV` files outside the switch to be in the `opam root` [#5962 @moyodiallo - fix #5823]
4632

4733
## Pin
4834

@@ -53,66 +39,38 @@ users)
5339
## Var/Option
5440

5541
## Update / Upgrade
56-
* [BUG] Stop triggering "Undefined filter variable variable" warning for `?variable` [#5983 @dra27]
5742

5843
## Tree
59-
* [BUG] Fix `opam tree --with-*` assigning the `with-*` variables to unrequested packages [#5919 @kit-ty-kate @rjbou - fix #5755]
60-
* [BUG] Fix combinations of `opam tree --with-*` and `--no-switch` [#5919 @kit-ty-kate @rjbou - fix #5920]
6144

6245
## Exec
6346

6447
## Source
65-
* Fix extraction of tarballs on Windows which contain symlinks both when those symlinks can't be created or if they point to files which don't exist [#5953 @dra27]
6648

6749
## Lint
68-
* W41: Relax warning 41 not to trigger on uses of package variables which are guarded by a package:installed filter [#5927 @dra27]
69-
* W41: Tighten w.r.t depends & depopts [#5927 @dra27]
7050

7151
## Repository
72-
* Fix download URLs containing invalid characters on Windows (e.g. the ? character in `?full_index=1`) [#5921 @dra27]
73-
* [BUG] Fix curl failures - the progress meter can become interleaved with the status code on Windows [#5984 @dra27 @kit-ty-kate @rjbou]
7452

7553
## Lock
7654

7755
## Clean
7856

7957
## Env
80-
* [BUG] Fix reverting of environment variables, principally on Windows [#5935 @dra27 fix #5838]
81-
* [BUG] Fix splitting environment variables [#5935 @dra27]
82-
* [BUG] When opam creates an empty variable then appends/prepends a value, ensure no additional separator is added [#5935 @dra27 - fix #5925]
83-
* [BUG] Fix `x-env-path-rewrite` splitting of values when reverting [#5935 @dra27 - fix #5838]
84-
* [BUG] Rework the logic of := and =: so that an empty entry is correctly preserved on multiple updates [#5935 @dra27 - fix #5926]
85-
* [BUG] Fix incorrect reverting of `=+` and `=:` [#5935 @dra27 - fix #5926]
86-
* For the `Cygwin` internal operator, don't allow `make.exe` to become shadowed [#5996 @dra27]
87-
* [BUG] Fix incorrect quoting rule for `PKG_CONFIG_PATH` [#5972 @dra27 - partial fix for #5923]
88-
* [BUG] Do not special case the rewriting rule for the PKG_CONFIG_PATH environment variable [#6002 @kit-ty-kate - fix #5923]
8958

9059
## Opamfile
9160

9261
## External dependencies
93-
* Pass --symlink-type native to Cygwin setup if symlinks are available [#5830 @dra27]
94-
* Pass --no-version-check to Cygwin setup (suppresses a message box if setup needs updating) [#5830 @dra27]
95-
* Pass --quiet-mode noinput to stop the user interrupting the setup GUI [#5830 @dra27]
96-
* Always pass --no-write-registry to the Cygwin installer, not just on first installation [#5995 @dra27]
9762

9863
## Format upgrade
99-
* Handle init OCaml `sys-ocaml-*` eval variables during format upgrade from 2.0 -> 2.1 -> 2.2 [#5829 @dra27]
100-
* Reset the "jobs" config variable when upgrading from opam 2.1 to 2.2, instead of 2.0 to 2.1 [#5904 @kit-ty-kate - fix #5816]
10164

10265
## Sandbox
66+
10367
## VCS
10468

10569
## Build
106-
* Upgrade vendored cmdliner to 1.3.0 [#5970 @kit-ty-kate]
107-
* Remove unused/untested Makefile targets lib-pkg [#5494 @kit-ty-kate]
108-
* Upgrade vendored OCaml compiler to 4.14.2 [#5976 @kit-ty-kate]
10970

11071
## Infrastructure
111-
* Ensure GNU coreutils available on the macOS 14 CI runners [#5938 @dra27]
112-
* Update the opam-repository testing sha to include the new compiler packages in opam-repository [#5998 @dra27]
11372

11473
## Release scripts
115-
* Upgrade the OCaml compiler used for releases to 4.14.2 [#5976 @kit-ty-kate]
11674

11775
## Install script
11876

@@ -127,37 +85,21 @@ users)
12785
## Solver
12886

12987
## Client
130-
* Fix rounding error when displaying the timestamp in debug mode [#5912 @kit-ty-kate - fix #5910]
13188

13289
## Shell
13390

13491
## Internal
135-
* Noisy code refactor renaming `OpamClient.git_for_windows_check` to `OpamClient.git_for_windows` [#5997 @dra27]
13692

13793
## Internal: Windows
138-
* Set the console to use UTF-8 on Windows using SetConsoleCP and SetConsoleOutputCP [#5970 @kit-ty-kate]
139-
* Harden the CRLF stripping when using cygcheck [#5993 @dra27]
14094

14195
## Test
14296

14397
## Benchmarks
144-
* Benchmark opam install --deps-only of an already installed package [#5909 @kit-ty-kate]
14598

14699
## Reftests
147100
### Tests
148-
* tree: add a test for packages that have variables in their transitive dependencies [#5919 @rjbou]
149-
* tree: add test for `opam tree pkg --with-test --no-switch` [#5919 @rjbou]
150-
* Update opam root version test with root version bump [#5904 @rjbou]
151-
* env tests: use `sort` to increase stability of the `opam env` output [#5935 @dra27 @rjbou]
152-
* env.win32: add mixed slashes test [#5935 @dra27]
153-
* env.win32: add test for environment revert not working correctly for Unix-like variables on Windows [#5935 @dra27]
154-
* env.win32: add regression test for reverting additions to PATH-like variables [#5935 @dra27]
155-
* env tests: add regression test for append/prepend operators to empty environment variables [#5925, #5935 @dra27]
156-
* env.win32: add regression test for handling the empty entry in PATH-like variables [#5926, #5935 @dra27]
157-
* lint: add W41 examples [#5927 @dra27]
158101

159102
### Engine
160-
* Add `sort` command [#5935 @dra27]
161103

162104
## Github Actions
163105

@@ -167,30 +109,13 @@ users)
167109

168110
# API updates
169111
## opam-client
170-
* `OpamClient.init` and `OpamClient.reinit`: now can have additional cygwin packages to install [#5930 @moyodiallo]
171-
* Expose `OpamSolution.print_depext_msg` [#5994 @dra27]
172-
* Extracted `OpamSolution.install_sys_packages` from `OpamSolution.install_depexts` [#5994 @dra27]
173112

174113
## opam-repository
175-
* `OpamDownload.download_command`: separate output from stdout and stderr [#5984 @kit-ty-kate]
176114

177115
## opam-state
178116

179117
## opam-solver
180118

181119
## opam-format
182-
* `OpamPath`: remove `OpamPath.Switch.last_env` function in favor to `OpamPath.last_env` as the files are no more stored in switch directory [#5962 @moyodiallo - fix #5823]
183-
* `OpamFilter.map_up`: correct handling of FDefined [#5983 @dra27]
184-
* `OpamFilter.fold_down_left`: correct handling of FDefined and FUndef [#5983 @dra27]
185120

186121
## opam-core
187-
* `OpamStd.String`: add `split_quoted` that preserves quoted separator [#5935 @dra27]
188-
* `OpamSystem.copy_dir` and `OpamSystem.mv` may display a warning on Windows if an invalid symlink (e.g. an LXSS Junction) is found [#5953 @dra27]
189-
* `OpamStubs.getVersionInfo`: on Windows, retrives the version information block of an executable/library [#5963 @dra27]
190-
* `OpamStubs.readRegistry`: on Windows, complements `OpamStubs.writeRegistry` [#5963 @dra27]
191-
* `OpamStubs.get_initial_environment`: on Windows, returns the pristine environment for new shells [#5963 @dra27]
192-
* `OpamConsole`: Add `formatted_errmsg` [#5999 @kit-ty-kate]
193-
* `OpamConsole.menu` now supports up to 35 menu items [#5992 @dra27]
194-
* `OpamStd.Sys.resolve_command`: extracted the logic from `OpamSystem.resolve_command`, without the default environment handling from OpamProcess. [#5991 @dra27]
195-
* `OpamStd.Sys.resolve_in_path`: split the logic of `OpamStd.Sys.resolve_command` to allow searching for an arbitrary file in the search path [#5991 @dra27]
196-
* `OpamProcess.run_background`: name the stderr output file have the .err extension when cmd_stdout is given [#5984 @kit-ty-kate]

opam-client.opam

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
opam-version: "2.0"
2-
version: "2.2.0~beta3~dev"
2+
version: "2.2.0~beta3"
33
synopsis: "Client library for opam 2.2"
44
description: """
55
Actions on the opam root, switches, installations, and front-end.

opam-core.opam

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
opam-version: "2.0"
2-
version: "2.2.0~beta3~dev"
2+
version: "2.2.0~beta3"
33
synopsis: "Core library for opam 2.2"
44
description: """
55
Small standard library extensions, and generic system interaction modules used by opam.

opam-devel.opam

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
opam-version: "2.0"
2-
version: "2.2.0~beta3~dev"
2+
version: "2.2.0~beta3"
33
synopsis: "Bootstrapped development binary for opam 2.2"
44
description: """
55
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.

opam-format.opam

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
opam-version: "2.0"
2-
version: "2.2.0~beta3~dev"
2+
version: "2.2.0~beta3"
33
synopsis: "Format library for opam 2.2"
44
description: """
55
Definition of opam datastructures and its file interface.

opam-installer.opam

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
opam-version: "2.0"
2-
version: "2.2.0~beta3~dev"
2+
version: "2.2.0~beta3"
33
synopsis: "Installation of files to a prefix, following opam conventions"
44
description: """
55
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.

opam-repository.opam

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
opam-version: "2.0"
2-
version: "2.2.0~beta3~dev"
2+
version: "2.2.0~beta3"
33
synopsis: "Repository library for opam 2.2"
44
description: """
55
This library includes repository and remote sources handling, including curl/wget, rsync, git, mercurial, darcs backends.

opam-solver.opam

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
opam-version: "2.0"
2-
version: "2.2.0~beta3~dev"
2+
version: "2.2.0~beta3"
33
synopsis: "Solver library for opam 2.2"
44
description: """
55
Solver and Cudf interaction. This library is based on the Cudf and Dose libraries, and handles calls to the external solver from opam.

opam-state.opam

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
opam-version: "2.0"
2-
version: "2.2.0~beta3~dev"
2+
version: "2.2.0~beta3"
33
synopsis: "State library for opam 2.2"
44
description: """
55
Handling of the ~/.opam hierarchy, repository and switch states.

0 commit comments

Comments
 (0)