Skip to content

Releases: ocaml/opam

opam 2.0 preview release

15 Sep 17:13
Compare
Choose a tag to compare
Pre-release
2.0-alpha4

2.0~alpha4

1.2.2

27 Apr 08:19
Compare
Choose a tag to compare

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 install depext 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

16 Apr 08:06
Compare
Choose a tag to compare
1.2.2~rc Pre-release
Pre-release

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 install depext 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

18 Mar 01:58
Compare
Choose a tag to compare

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 of pkg 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 (through OPAMSWITCH)
  • 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 arguments
  • opam 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 variables OPAMFETCH and OPAMEXTERNALSOLVER
  • 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 like pkg: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

04 Mar 03:12
Compare
Choose a tag to compare
1.2.1~rc2 Pre-release
Pre-release

Fixes an opam update bug from 1.2.1-rc

1.2.1~rc

03 Mar 03:03
Compare
Choose a tag to compare
1.2.1~rc Pre-release
Pre-release

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

14 Feb 05:38
Compare
Choose a tag to compare
1.2.1~beta3 Pre-release
Pre-release

Fixes a critical bug on opam init that the beta2 had

1.2.1~beta2

13 Feb 08:51
Compare
Choose a tag to compare
1.2.1~beta2 Pre-release
Pre-release

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, field features:, flag verbose and dependency flag dev in opam files, string converter syntax in "filters" in opam 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

29 Jan 06:26
Compare
Choose a tag to compare
1.2.1~beta Pre-release
Pre-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.

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 of pkg 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 (through OPAMSWITCH)
  • 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 arguments
  • opam 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

23 Oct 07:49
Compare
Choose a tag to compare

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.