1.2.1 Final release
This patch-version over 1.2.0 brings lots of fixes and a rewritten action and parallel processing engine. Although visible mostly in the messages displayed, this will bring a big improvement on reliability and predictability. It should also be faster.
Note that older versions disabled parallelism at init by default. If you want to benefit from it, you may want to change the jobs
field in ~/.opam/config
.
NOTE: there is no change between 1.2.1~rc2 and this final relase.
Summary of the changes
Fixes and new features
- Non-system compiler definitions without source are now allowed
- Stronger handling of compiler "base" packages, they can't be removed anymore
- Rewritten action resolution mechanism to be based on atomic actions.
Actions are not aborted anymore on first failure when there is no
dependency. - Rewritten parallel command execution engine
- Better display of actions, lots of improved messages
opam upgrade pkg
now fails if no new version ofpkg
can be installed- fixed shell configuration for various shells
- Updated Dose dependency to 3.3
- Fixed behaviour of
opam switch
and related commands when a switch
is locally set in a shell (throughOPAMSWITCH
) - Better behaviour on failed
opam switch
- New pinning mode: when pinning using version-control on a local path and
without a branch specified, use current file tree, but limited to
version-tracked files - Faster and cleaner handling of downloads
- Now compiles with --safe-string on OCaml 4.02, better compatibility handling
opam unpin
now accepts multiple argumentsopam pin add <pkg>.<version> <target>
is now allowed to specify
the advertised version- Fixed bug leading to a bad
CAML_LD_LIBRARY_PATH
when switching from system - Better
opam lint
, reporting warnings and errors, including format errors opam config setup
now takes--shell=
instead of--sh
,--csh
,--fish
,--zsh
- Better definition of the
filter
language within opam files, it now propagates undefined values - OPAM git-like plugins (commands of the form opam-xxx) are now searched in the
correct OPAM path ~/.opam/config
doesn't refer to OPAM's patch-version anymore, to allow
downgrading- Recognise
<name>.opam
files and directories when pinning a package to source - Pinning URL can now be explicit in the form
VC+URL
, e.g.git+ssh://
,
hg+https://
... - Cleaned up debug and verbose messages, allow more control (
-v
can now be
repeated) - New flexible way to specify download and solver commands in
~/.opam/config
or in variablesOPAMFETCH
andOPAMEXTERNALSOLVER
- Lots of bug-fixes
Experimental features
Those are not intended to be used on the official opam-repository yet.
- Dependency flag
dev
is accepted (but does nothing) - New field
features:
in opam files (see features proposal and the section in the new manual) - bool-to-string converter syntax in filters (
"%{bool-var?str-if-true:str-if-false-or-undefined}%"
), generalises variables likepkg:enable
- New package flag
verbose
allowed in opam files - New field
libexec:
in .install files
Closed issues
https://github.com/ocaml/opam/issues?q=closed%3A%3E2014-10-16+closed%3A%3C2015-03-05