Releases: ocaml/opam
2.0.0~rc4 FINAL
This is the final release of opam 2.0.0.
Since there is a repository format change involved from our last stable release 1.2.0, we are leaving a few weeks for things to settle before officially switching the official package repository to 2.0.0 format. This release remains tagged as rc4
in the meantime.
You are encouraged to switch as soon as you see fit:
- there is already a
2.0.0
branch in the official repository, that is automatically used by opam 2, and automatically updated. - opam 2.0.0 can read 1.2.0 repositories and package definition files transparently.
- on the other hand, once the switch is made, new packages will appear only on opam 2.0.0. Backports to the 1.2.0 repository will be limited.
See the Upgrade Guide to get started with opam 2.0 and see what is new.
One more release candidate for opam 2.0.0
- A bunch of fixes over rc2
- A new
opam switch link SWITCH [DIR]
command to bind a directory to a switch - A new
opam install --assume-built
option to install through opam packages that have been built by hand
2.0.0~rc2
This new release candidate for opam 2.0.0 fixes many small issues with the previous one, is much faster in many areas, and brings sandboxing of package commands (enabled by default) on macOS and Linux.
opam init
now also provides the option to setup a hook in your shell such that the environment is synchronised at every prompt, avoiding the need for ever running eval $(opam env)
. This is particularly useful when working with local switches.
2.0.0~rc
2.0.0~beta6
Small fixes over beta5
2.0.0~beta5
This new beta brings many usability improvements and fixes. Most notably:
- A new, clearer and more expressive format for
depexts:
. Opam can now directly extract them for the current system (opam-depext
is still required to talk to the host package manager, although hooks are even possible to make that automatic) - Optimised use of the built-in solver,
glpk
is now also built in, hence not required to compile opam - Support for "locked" opam files and reproduceable build environments with the new
pin-depends:
field - A fix for a bug that appeared with OCaml 4.05.0, where installed executables where not found (requiring extra
eval $(opam env)
) - Installed opam plugins can now be used even if the switch they were installed from is not currently selected
There is much more, please see the changelog for details.
NOTE: due to format changes, be careful when using the official 2.0 repository (at https://opam.ocaml.org/2.0): once it is switched to the new format, older betas will complain (depexts
issues or post
flags). Until then, this release will already work fine except for some possible quirks with depexts.
2.0.0~beta4
This beta brings many small fixes, some polish to the CLI, and most importantly a built-in solver, so it isn't needed to care about having aspcud
installed anymore.
More detailed log:
- 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
, includinglib-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:
andstamp:
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
This release brings a few speed and stability improvements, replaces the opam build
command with opam install <dir>
(see this announcement for details), makes the interface for handling packages' test and doc dependencies and instruction clearer, and extends the CLI in a few areas.
2.0.0~beta2
2.0.0-beta2 2.0.0~beta2
2.0.0~beta
2.0.0-beta 2.0.0~beta