OPAM 1.1.0 beta released
We are very happy to announce the beta release of OPAM version 1.1.0!
OPAM is a source-based package manager for OCaml. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow which. OPAM is edited and maintained by OCamlPro, with continuous support from OCamlLabs and the community at large (including its main industrial users such as Jane-Street and Citrix).
Since its first official release last March, we have fixed many bugs and added lots of new features and stability improvements. New features go from more metadata to the package and compiler descriptions, to improved package pin workflow, through a much faster update algorithm. The full changeset is included below.
We are also delighted to see the growing number of contributions from
the community to both OPAM itself (35 contributors) and to its
metadata repository (100+ contributors, 500+ unique packages, 1500+
packages). It is really great to also see alternative metadata
repositories appearing in the wild (see for instance the repositories
for Android, Windows and so on). To be sure that the
community efforts will continue to benefit to everyone and to
underline our committment to OPAM, we are rehousing it at
https://opam.ocaml.org and switching the license to CC0 (see issue #955,
where 85 people are commenting on the thread).
The binary installer has been updated for OSX and x86_64:
- http://www.ocamlpro.com/pub/opam_installer.sh
You can also get the new version either from Anil's unstable PPA: add-apt-repository ppa:avsm/ppa-testing apt-get update sudo apt-get install opam
or build it from sources at :
- http://www.ocamlpro.com/pub/opam-full-1.1.0-beta.tar.gz
- https://github.com/OCamlPro/opam/releases/tag/1.1.0-beta
NOTE: If you upgrade from OPAM 1.0, the first time you will run the
new opam binary it will upgrade its internal state in an incompatible
way: THIS PROCESS CANNOT BE REVERTED. We have tried hard to make this
process fault-resistant, but failures might happen. In case you have
precious data in your ~/.opam folder, it is advised to backup that
folder before you upgrade to 1.1.
See full backstage
- Automatic backup before any operation which might alter the list of installed packages
- Support for arbitrary sub-directories for metadata repositories
- Lots of colors
- New option opam update -uequivalent toopam update && opam upgrade --yes
- New opam-admintool, bundling the features ofopam-mk-repoandopam-repo-check+ new 'opam-admin stats' tool
- New available: field in opam files, supersedingocaml-versionandosfields
- Package names specified on the command-line are now understood case-insensitively (#705)
- Fixed parsing of malformed opam files (#696)
- Fixed recompilation of a package when uninstalling its optional dependencies (#692)
- Added conditional post-messages support, to help users when a package fails to install for a known reason (#662)
- Rewrite the code which updates pin et dev packages to be quicker and more reliable
- Add {opam,url,desc,files/} overlay for all packages
- opam config envnow detects the current shell and outputs a sensible default if no override is provided.
- Improve opam pinstability and start display information about dev revisions
- Add a new manfield in.installfiles
- Support hierarchical installation in .installfiles
- Add a new stublibsfield in.installfiles
- OPAM works even when the current directory has been deleted
- speed-up invocation of opam config var VARIABLEwhen variable is simple (eg.prefix,lib, ...)
- opam listnow display only the installed packages. Use- opam list -ato get the previous behavior.
- Inverse the depext tag selection (useful for ocamlot)
- Add a --sexpoption toopam config envto load the configuration under emacs
- Purge ~/.opam/logon each invocation of OPAM
- System compiler with versions such as version+patchesare now handled as if this was simplyversion
- New OpamVCSfunctor to generate OPAM backends
- More efficient opam update
- Switch license to LGPL with linking exception
- opam searchnow also searches through the tags
- minor API changes for API.listandAPI.SWITCH.list
- Improve the syntax of filters
- Add a messagesfield
- Add a --jobscommand line option and add%{jobs}%to be used in OPAM files
- Various improvements in the solver heuristics
- By default, turn-on checking of certificates for downloaded dependency archives
- Check the md5sum of downloaded archives when compiling OPAM
- Improved opam infocommand (more information, non-zero error code when no patterns match)
- Display OS and OPAM version on internal errors to ease error reporting
- Fix opam reinstallwhen reinstalling a package wich is a dependency of installed packages
- Export and read OPAMSWITCHto be able to call OPAM in different switches
- opam-clientcan now be used in a toplevel
- -nnow means- --no-setupand not- --no-checksumsanymore
- Fix support of FreeBSD
- Fix installation of local compilers with local paths endings with ../ocaml/
- Fix the contents of ~/.opam/opam-init/variable.shafter a switch