Releases: ocaml/opam
opam 2.0 preview release
2.0-alpha4 2.0~alpha4
1.2.2
This bug-fix release fixes some small issues 1.2.1 had, and brings a couple improvements:
Fixes:
- The state-cache was broken on OSX, which could cause longer startup times
opam config report
didn't report the external solver correctly--dry-run --verbose
didn't give the expected output- Providing a simple path to an aspcud executable as external solver without expliciting the arguments works again
- Fixed a fd leak on solver calls
opam list
now returns 0 when no packages match but no pattern was supplied
Improvements:
- Conflict messages now report the original version constraints without translation, they are more concise in some cases
- Some new
opam lint
checks,opam lint
now numbers its warnings and may provide script-friendly output - Feature to automatically install plugins, e.g.
opam depext
will prompt to installdepext
if available and not already installed - Priority to newer versions even when the latest can't be installed (with a recent solver only. Before, all non-latest versions were equivalent to the solver)
- Added
opam list --resolve
to list a consistent installation scenario - Be cool by default on errors in opam files, for easier format updates without shouting at end-users
As usual, see the more detailed changelog for details.
1.2.2~rc
This bug-fix release fixes some small issues 1.2.1 had, and brings a couple improvements:
Fixes:
- The state-cache was broken on OSX, which could cause longer startup times
opam config report
didn't report the external solver correctly--dry-run --verbose
didn't give the expected output- Providing a simple path to an aspcud executable as external solver without expliciting the arguments works again
Improvements:
- Conflict messages now report the original version constraints without translation, they are more concise in some cases
- Some new
opam lint
checks,opam lint
now numbers its warnings and may provide script-friendly output - Feature to automatically install plugins, e.g.
opam depext
will prompt to installdepext
if available and not already installed - Priority to newer versions even when the latest can't be installed (with a recent solver only. Before, all non-latest versions were equivalent to the solver)
As usual, see the (slightly) more detailed changelog for details.
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
1.2.1~rc2
1.2.1~rc
Release candidate for 1.2.1
This fixes a few bugs of the last beta, and adds a little more flexibility in some parts of the interface (specifying version-control URLs, choosing solver and download commands)
As before, if you're updating from 1.2.0 (or below), you may want to update the jobs parameter in ~/.opam/config to benefit from the new parallelism engine (it used to be disabled at opam init by default)
1.2.1~beta3
Fixes a critical bug on opam init
that the beta2 had
1.2.1~beta2
This second beta for 1.2.1 fixes a few issues of beta1 and adds some preliminary features that will ease further evolution in next versions:
- ~/.opam/config no longer mentions OPAM's patch version, so don't worry about testing the beta and getting back to 1.2.0 anymore.
- Such features include: field
libexec:
in.install
files, fieldfeatures:
, flagverbose
and dependency flagdev
inopam
files, string converter syntax in "filters" inopam
files - Overall OPAM should better support further improvements on these files' formats
- Better message formatting
If you're updating from 1.2.0
, you may want to update the jobs
parameter in ~/.opam/config
to benefit from the new parallelism engine (it used to be disabled at opam init
by default)
1.2.1~beta
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
.
There is no format change in this version. However, it will mark ~/.opam/config
as 1.2.1
, after which OPAM 1.2.0 may complain. You can safely revert the field to 1.2.0
in that case, if you need to switch back.
Summary of the changes
- 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, set by default on local VC repos: 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
- Lots of bug-fixes
Closed issues
https://github.com/ocaml/opam/issues?q=closed%3A%3E2014-10-16+
1.2.0 Release
This version introduces many new features and lots of improvement, mostly related to UI and stability, and a new, integrated development workflow.
See the full changelog at https://raw.githubusercontent.com/ocaml/opam/1.2.0/CHANGES
Important note
There are small changes in the repository format, your
.opam/
will be automatically updated on first run.
Back it up if you may need to roll back to an older OPAM version.