-
Notifications
You must be signed in to change notification settings - Fork 359
/
CHANGES
1549 lines (1475 loc) · 81.3 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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.6:
* Changes necessary for opam repository
* Warn if `GNU patch` is not detected when a patch is applied
[#5893 @kit-ty-kate]
* Use `gpatch` by default instead of `patch` on NetBSD and DragonFlyBSD
[#5893 @kit-ty-kate]
* Use `gpatch` if it exists and is detected as GNU patch when `patch` is not
`GNU patch` [#5893 @kit-ty-kate]
* Better recognize depexts on Gentoo, NetBSD, OpenBSD [#5065 @mndrix]
* Upgrade the vendored dune to 3.14.0 [#5869 @kit-ty-kate]
* Vendor mccs.1.1+17 [#5769 @kit-ty-kate]
* Require mccs >= 1.1+17: Fix debug logs showing up regardless of verbosity on
macOS 12.7.1 / 13.6.3 / 14.2 and FreeBSD [#5769 @kit-ty-kate]
* API Changes:
* `OpamSystem.patch` now displays a warning when GNU patch is not detected
and looks for both patch and gpatch as a backup option depending on the OS
[#5893 @kit-ty-kate]
2.1.5:
* [BUG] Variables are now expanded in build-env (as for setenv) [#5352 @dra27]
* Correctly handle empty environment variable additions [#5350 @dra27]
* Skip empty environment variable additions [#5350 @dra27]
* [BUG] Fix passing `archive-mirrors` field from init config file to config
[#5315 @hannesm]
* git, hg: Use the full SHA1 revision instead of just the 8 first characters
[#5342 @reynir]
* [BUG] Fix opam installing packages without checking their checksum when the
local cache is corrupted in some case [#5538 @kit-ty-kate]
2.1.4:
* Add support for OCaml 5.0. Dose3 >= 6.1 and base64 >= 3.1.0 are now required [#5357 @kit-ty-kate @dra27 - fix #5354]
* [BUG] Fix all empty conflict explanation messages [#5378 @kit-ty-kate - partial fix #4373]
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]
2.0.7:
* opam exec: display command not found message. [#4133 @rjbou - fix #4131]
* Escape Windows paths on manpages. [#4129 @AltGr @rjbou - fix #4100]
* Fix opam installer opam file. [#4058 @rjbou]
* Fix various warnings. [#4132 @rjbou @AltGr - fix #4100]
2.0.6:
* Do not fail if `$HOME/.ccache` is missing. [#3957 @mseri - fix
https://discuss.ocaml.org/t/dune-1-11-1-compilation-failed/4248]
* Add dune cache as rw. [#4019 @rjbou - fix #4012]
* Check both size and mtime for dirtrack cached entries. [#4038 @hannesm]
* Build man pages with dune. [#3937 @AltGr @dra27]
* make cold: fail if patch or bunzip2 missing. [#4006 @rjbou - fix #3842]
* Documentation [#3999 @maroneze]
2.0.5:
* `opam lint --check-upstream` enables lint checks on archive urls. This
option lead to download archives to check their checksum. [#3758 @rjbou]
* Lint W59: No url checksum given (if `check-upstream` enabled).
[#3758 @rjbou]
* Lint E60: Unavailable archive or checksum mismatching (if `check-upstream`
enabled). [#3758 @rjbou]
* Lint E61: Out-of-scope `with-test` variable in `run-test:` field.
[#3763 @rjbou - fix AltGr/Camelus/issues/27]
* Lint W58: Restrain warning to filters. [#3871 @rjbou - fix
ocaml/opam-repository#14280 (comment)]
* Lint E61: Restrain to `run-test:`. [#3860 @rjbou]
* Read jobs variable from `OpamStateConfig` [#3881 @dra27]
* Fix cppo detection. [#3915 @rjbou]
* Documentation [#3809#3891 @dra27]
2.0.4:
* Remove mismatching extra-files: sort list before comparing them.
[#3744 @rjbou]
* Update source of (version) pinned directory. [#3726 @rjbou - fix #3651]
* Fix `--ignore-pin-depends` with autopin. [#3736 @AltGr]
* Fix pin not installing/upgrading already pinned package. [#3800 @AltGr]
* Fix hg opam1.2 url parsing. [#3754 @rjbou]
* Use `git -c diff.noprefix=false diff`. [#3788/#3628 @Blaisorblade - fix
#3627]
* Lint W47: Update warning message. [#3753 @rjbou - fix #3738]
* Harmonization of `opam config list` and `opam config var <var>`: resolve
variable first with switch state (loading it only for package defined
variables), otherwise, global state. [#3723 @rjbou - fix #3717]
* Considering the possibility that TMPDIR is unset. [#3597 @herbelin - fix
#3576]
* Unconditionally display MANPATH when fish version is 2.7 or late.
[#3728 @gregory-nisbet]
* Fix precise tracking mode: missing `to_hex` conversion. [#3796 @rjbou]
* Catch signal to select ones that are really cancelling a blocking state (e.g.
waiting for a lock to be released). [#3541 @rjbou]
* `opam clean`: ignore errors trying to remove directories.
[#3732 @kit-ty-kate]
* Documentation [#3731 @MisterDA]
2.0.3:
* On init, retrieve `root is ok` from global options instead of initialization.
[#3704 @rjbou - fix #3695]
* Regenerate missing environment file. [#3691 @rjbou - fix #3690 #3594]
* Documentation [#3703 @rjbou - fix #3700]
2.0.2:
* Check consistency with opam file when reading lock file to suggest
regeneration message [#3680 @rjbou - fix #3654]
* Remove pin depends messages. [#3679 @rjbou]
* Upgrade pin depends on pinning. [#3684 @rjbou - fix #3508]
* To avoid lint warning 57 (description error) on 1.2 opam file pinning, add
auxiliary files (descr, url) before linting. [#3687 @rjbou]
* Don't check hash with --no-checksum on pull_upstream. [#3658 @rjbou - fix
#3652]
* Lint E52: Fix `light_uninstall` flag. [#3631 @rjbou - fix #3625]
* On init, don't fail if empty compiler given. [#3633 @rjbou - fix #3614]
* Sandbox: make `/var` read-only instead of empty and rw. [#3605 @bobot - fix
#3604]
* Handle symlinks in bwrap sandbox. [#3661 @mroch - fix #3660]
* Sandbox: Change one-line conditional to `if` statement which was incompatible
with `set -e`. [#3645 @rjbou - fix #3607]
* Release use of unix sockets on MacOS. [#3663 @silene - fix #3659]
* Fix closure computation in the presence of cycle. [#3670 @AltGr - fix #3662
#3666]
* Fix some cases of listing coinstallable package. [#3689 @AltGr]
* Extract archived source files of version-pinned packages. [#3610 @rjbou - fix
#3600]
* Add function to upgrade opam file, including its auxiliary files: descr, url,
files/. [#3624 @rjbou]
* Set `.out` suffix for `read_command_output` stdout file. [#3644 @rjbou]
{2.0.2}
* Default opam root is resolved at creation, in order to have the correct
linked path. [#3681 @rjbou - fix #3622]
* Reinsert and deprecate `alias-of` & `no-autoinstall` option. [#3685 @rjbou -
fix #3390]
* Updates for OCaml 4.07. [#3474 @dra27]
* Documentation [#3656 @rjbou - fix #3634 #3653 #3639] [#3685 @rjbou - fix
#3390]
2.0.1:
* Add `opam list --silent` to not write in the output, exit with return
code 0 if the list is not empty, 1 otherwise. [#3533 @rjbou - fix #3525]
* Fix `opam list --external` [#3558 @rjbou - fix #3557
ocaml/opam-repository#12677]
* Show command with local opam file returns local file information. Fixes also
the non 1.2 conversion to 2.0 format of local files with `opam show --raw`.
[#3536 @rjbou - fix #3423]
* Show command display string fields printed with quotes, as lists.
[#3368 @rjbou - fix #3365]
* Pin edit: fix editing an opam file without a name field. [#3535 @rjbou]
* Don't execute validation hook if update is empty. [#3490 @hannesm]
* Git: fallback, fetch all repository remotes to get SHA1 with git < 2.1.
[#3561 @rjbou - fix #3523 #3548]
* Lint E57: A description or a synopsis must be present and non empty.
[#3581 @rjbou - fix ocaml/opam-repository#12729]
* Lint W58: Advise to use `with-test` and `with-doc` variables if `test`
and `doc` are present. [#3591 @rjbou - fix #3580 ocaml/opam-repository#12729]
* Add `gtar` as OpenBSD required tool, as tar does not support the `J` flag.
[#3538 @adamsteen]
* Hash: fallback to internal library in case of openssl error. [#3543 @rjbou -
fix ocaml/opam-repository#12613]
* Respect user's TMPDIR when invoking bwrap sandbox. [#3487 @3noch]
* Add a way to mount unusual path in bwrap sandbox: introduction of
`OPAM_USER_PATH_RO` environment variable. [#3540 @ErwanGa]
* opam admin: handle non http backend on repository upgrade: compute hash only
for http or distant rsync backend [#3596 @rjbou - fix #3590]
* Upgrade to opam 2.0 format overlay opam files of pinned package.
[#3528 @rjbou - fix #3513]
* Add compiler file translation to opam 2.0 format function. [#3530 @rjbou -
fix ocaml/opam-repository#12523]
* Tar extract fail error message: if a tar extract fails, it checks the
presence of underlying commands (bzip2, xz, lzma, gzip) to display the error
message in verbose mode. [#3502 @rjbou - fix #3497]
* Remove link files only if it exists. [#3519 @rjbou - fix
ocaml/opam-depext#104]
* Remove GNUism from bootstrap-ocaml.sh [#3481 @dra27 - fix #3480]
* Avoid sed -i, a GNU sed extension, use mv instead [#3603 @hannesm]
* Add patch & bunzip2 check in configure. [#3531 @rjbou - fix #3520]
* Not having wget or curl is now only a hard-error if src_ext/archives doesn't
contain the archives (i.e. if make -C src_ext cache-archives has not been run)
which means that this should no longer be a requirement for building with the
"full" tarball. [#3572 @dra27 - fix #3551]
* C++ test for MCCS is now moved to the correct place and the message as to
whether the solver will be build should work correctly with --disable-checks.
Note that not having a C++ compiler is not considered an error if
--disable-checks is specified because configure is permitted to believe that
the MCCS library exists even if it couldn't detect it. [#3572 @dra27]
2.0.0
* Fixes and documentation
* Add `opam admin add-hashes` helper to add more secure hashes to the repository
2.0.0~rc3
* Fixes
* Added subcommand `switch link` to link a local switch to a defined one
* Added option `--assume-built` to install an already built pinned package
* Better Windows support
* Obsolete `opam config setup` option
2.0.0~rc2
* Fixes
* Much faster CUDF universe loading
* Much faster `opam env` and similar commands
* Added `opam admin check` for integrity checks on package repositories
* Added the ability to setup scripts on `opam init` from `.opamrc`
* Setup wrappers to sandbox builds by default, based on `bubblewrap` on Linux and `sandbox-exec` on MacOS
* Windows support for many aspects including parallel processes, environment
variables setup, color console and utf8 (using specific C stubs)
* Better detection of the running shell
* Added shell helpers to automatically sync the environment on every prompt
* Support for selecting different backends if compiled in the `ocaml-mccs` solver lib
2.0.0~rc
* Fixes
* Support compiling on OCaml 4.06.0
* `opam env` and `opam exec` no longer set the `OPAMROOT` or `OPAMSWITCH`
variables
* Allow in-source package metadata to be gathered in an `opam/` directory
2.0.0~beta6
* Small UI fixes
* Fixed a rare case of looping while processing actions
2.0.0~beta5
* Added timeout support to the solvers (default 1min)
* Added `--unlock-base` to allow changing the compiler of a switch
* Added the `{post}` dependency flag for packages to be installed together, but
in no specific order. Use it for `base-*` packages.
* Fixed issue with OCaml 4.05.0 and installed programs not found (`Unix.execvpe`
behaviour changes, https://caml.inria.fr/mantis/view.php?id=7640)
* Added a `pin-depends` field for easier development project dependency
management and sharing
* Some optimisations to repository loading
* Fixed --best-effort with the built-in solver
* Shorten conflict messages even more
* Added `opam admin add-constraint` to amend a set of reverse dependencies in a
repository
* New format for `depexts:`, easier to understand and more flexible. Depexts for
the host can now be inferred by opam
* Optimised search criteria for the built-in solver
* Added a `build-id` variable to identify package builds
* Extend hooks (new variable `installed-files`, new session hooks)
* `opam switch create DIR` now installs packages defined in `DIR`
* Added system-related variables `arch`, `os`, `os-distribution`, `os-family`,
`os-version`
* Added support for using `opam.locked` files instead of `opam` ones (`--locked`)
* Opam plugins are now made available across switches
2.0.0~beta4
* Building with OCaml < 4.02.3 is no longer supported
* Support compilation with a built-in mccs solver (removing run-time dependency
to aspcud). Integrated half-working "heuristics" dropped.
* Remove jsonm and transitive uutf dependency.
* Switch build systems to `jbuilder`, including `lib-ext` support
* Allow repeated and or'd arguments to the `list` command
* Many code and build system portability fixes (Windows, BSD)
* Add `switch export --full` to include package definitions
* Add `announce:` and `stamp:` fields to repositories (`repo` files)
* Add a global cache of git objects (greatly speeding up multiple cloning)
* Allow `opam pin URL` without a package name
* Many error handling, messages and corner case fixes
* Updated the versions of dependencies
* Removed the unused `features:` field, and proposal for a new syntax
* More informative exit codes, and documentation thereof
2.0.0~beta3
* (*) Renamed `--soft-request` to `--best-effort`
* Fixed and improved speed of the package file tracking mechanism
* Added `--ignore-constraints-on` to temporarily bypass version constraints on
some dependencies
* Fields `build-test:`, `build-doc:` are now deprecated, in favor of specifying
conditions on the `with-test` and `with-doc` variables within the `build:`
field, and of the new `run-test:` field
* (*) The command-line options have been renamed accordingly to `--with-test`
and `--with-doc`
* Removed the `opam build` command
* Allow directories in place of package specifications for the `install`,
`remove`, `upgrade`, `reinstall` and `show` commands. `opam` files can also be
specified for `install` and `show`
* On local switch creation, check for package definitions and choose a
compatible compiler if possible
* Add `opam install|remove --destdir` to copy the package's installed files
somewhere else
* Allow `opam init --config=URL`
2.0~beta2
* Fixes (mainly to `opam build`)
* Faster coinstallability check
2.0~beta
* New, by-hash package archive caching system
* Simpler HTTP repository update
* Allow specification of multiple checksums per file
* Add `opam reinstall --pending`, to handle reinstallations of changed packages
* Support for defining trust anchors and repository validation hooks (for use
with Conex)
* (*) Added `opam install --working-dir`, removed "mixed mode" for pinned packages
* Added `opam install --soft-request`, a non-failing "do what can be done"
install mode
* Simplified, better conflict messages
* Added `opam list --coinstallable-with PKG`
* Added command `opam clean`
* Added `opam upgrade --all PKGS`, to do a full upgrade while guaranteeing
`PKGS` are kept installed
* Allow `&` in conflict version constraints, e.g. `conflicts: "foo" {>= "3" & <
"4"}`
* Added an `opam admin` command, with various, better organised repository admin
commands, and remove the `opam-admin` tool
* Added an `opam build` command, to handle `opam` files found in the current
directory
* Internally upgrade repositories in 1.2 format automatically to 2.0 (on `init`,
`update` or `repo add`)
2.0~alpha5
* Merge stdout and stderr of child processes by default
* Fixed regression on solver call times
* Added a few shorter command aliases: `opam var` `opam exec`, `opam env` for
the corresponding `opam config` commands
* (*) Simplified `opam repo` to only use `add` and `remove` in normal use,
always meaning the current switch (only) if not specified otherwise
* (*) Restrict package names and versions to a reasonable character set
* Added support for SHA256 and SHA512 checksums
* Separated the opam format lexer/parser/printers into a separate
`opam-file-format` library
* Reporting on package definition file errors only when the file will be used,
and on by default (rather than all-off by default, and optionally all-on)
* `opam lint` now accept multiple input files
* `opam pin` interface yet improved, allow pinning all at once when a source
directory contains multiple packages. `opam unpin <dir>` now allowed to cancel
`opam pin <dir>`
* Updated version of the dose lib dependency
* (*) All patch files used in package definitions are now assumed to apply with
`-p1`.
2.0~alpha4
* Added pre and post hooks for package command sections; allowed per-switch
configuration
* Re-packaged the libraries and opam into 7 individual packages
* Convert opam 1.2 files on the fly when pinning
* `opam list` can now match patterns on versions
* Allow switches to be created below arbitrary directories using `opam switch
create <dir>`. Automatically select a switch found in `$PWD`
* Add `install --reuse-build-dir` to be used together with `--keep-build-dir`
and allow incremental recompilations
* Add `install --inplace-build` to build locally pinned packages directly in
their source directory
2.0~alpha3