OPAM 1.0.0 released
I am very happy to announce the first official release of OPAM!
Many of you already know and use OPAM so I won't be long. Please read beta-release-of-opam for a longer description.
1.0.0 fixes many bugs and add few new features to the previously announced beta-release.
The most visible new feature, which should be useful for beginners with
OCaml and OPAM, is an auto-configuration tool. This tool easily enables all
the features of OPAM (auto-completion, fix the loading of scripts for the
toplevel, opam-switch-eval alias, etc). This tool runs interactively on each
opam init invocation. If you don't like OPAM to change your configuration
opam init --no-setup. If you trust the tool blindly, use
opam init --auto-setup. You can later review the setup by doing
opam config setup --list and call the tool again using
opam config setup
(and you can of course manually edit your ~/.profile (or ~/.zshrc for zsh
users), ~/.ocamlinit and ~/.opam/opam-init/*).
- Bug reports and feature requests for the OPAM tool:
- Packaging issues or requests for a new packages:
- General queries to:
- More specific queries about the internals of OPAM to:
Packages for Debian and OSX (at least homebrew) should follow shortly and I'm looking for volunteers to create and maintain rpm packages. The binary installer is up-to-date for Linux and Darwin 64-bit architectures, the 32-bit version for Linux should arrive shortly.
If you want to build from sources, the full archive (including dependencies) is available here:
If you are upgrading from 0.9.* you won't have anything special to do apart
installing the new binary. You can then update your package metadata by
opam update. If you want to use the auto-setup feature, remove the
opam config env line you have previously added in your ~/.profile
opam config setup --all.
So everything should be fine. But you never know ... so if something goes horribly wrong in the upgrade process (of if your are upgrading from an old version of OPAM) you can still trash your ~/.opam, manually remove what OPAM added in your ~/.profile (~/.zshrc for zsh users) and ~/.ocamlinit, and start again from scratch.
Great success on github. Thanks everybody for the great contributions!
https://github.com/OCamlPro/opam: +2000 commits, 26 contributors
https://github.com/OCamlPro/opam-repository: +1700 commits, 75 contributors, 370+ packages
+400 unique visitor per week, 15k 'opam update' per week
+1300 unique visitor per month, 55k 'opam update' per month
3815 unique visitor since the alpha release
The full change-log since the beta release in January:
1.0.0 [Mar 2013]
- Improve the lexer performance (thx to @oandrieu)
- Fix various typos (thx to @chaudhuri)
- Fix build issue (thx to @avsm)
0.9.6 [Mar 2013]
- Fix installation of pinned packages on BSD (thx to @smondet)
- Fix configuration for zsh users (thx to @AltGr)
- Fix loading of
~/.profilewhen using dash (eg. in Debian/Ubuntu)
- Fix installation of packages with symbolic links (regression introduced in 0.9.5)
0.9.5 [Mar 2013]
- If necessary, apply patches and substitute files before removing a package
opam remove <pkg> --keep-build-dirkeeps the folder if a source archive is extracted
- Add build and install rules using ocamlbuild to help distro packagers
- Support arbitrary level of nested subdirectories in packages repositories
opam config exec "CMD ARG1 ... ARGn" --switch=SWITCHto execute a command in a subshell
- Improve the behaviour of
opam updatewrt. pinned packages
- Change the default external solver criteria (only useful if you have aspcud installed on your machine)
- Add support for global and user configuration for OPAM (
opam config setup)
- Stop yelling when OPAM is not up-to-date
- Update or generate
- Fix tests on *BSD (thx Arnaud Degroote)
- Fix compilation for the source archive
0.9.4 [Feb 2013]
- Disable auto-removal of unused dependencies. This can now be enabled on-demand using
- Fix compilation and basic usage on Cygwin
- Fix BSD support (use
whichto detect existing commands)
- Add a way to tag external dependencies in OPAM files
- Better error messages when trying to upgrade pinned packages
opam info pkg.versionshows the metadata for this given package version
- Add missing
opam listnow only shows installable packages
0.9.3 [Feb 2013]
- Add system compiler constraints in OPAM files
- Better error messages in case of conflicts
- Cleaner API to install/uninstall packages
- On upgrade, OPAM now perform all the remove action first
- Use a cache for main storing OPAM metadata: this greatly speed-up OPAM invocations
- after an upgrade, propose to reinstall a pinned package only if there were some changes
- improvements to the solver heuristics
- better error messages on cyclic dependencies
0.9.2 [Jan 2013]
- Install all the API files
opam repo remove repo-name
opam config env
- support for
opam-fooscripts (which can be called using
- 'opam update pinned-package' works
- Fix 'opam-mk-repo -a'
- Fix 'opam-mk-repo -i'
- clean-up pinned cache dir when a pinned package fails to install
0.9.1 [Jan 2013]
- Use ocaml-re 1.2.0
OCamlPro is a R&D lab founded in 2011, with the mission to help industrial users benefit from state-of-the art programming languages like OCaml and Rust.
We design, create and implement custom ad-hoc software for our clients. We also have a long experience in developing and maintaining open-source tooling for OCaml, such as Opam, TryOCaml, ocp-indent, ocp-index and ocp-browser, and we contribute to the core-development of OCaml, notably with our work on the Flambda optimizer branch.
Another area of expertise is that of Formal Methods, with tools such as our SMT Solver Alt-Ergo (check our Alt-Ergo Users'). We also provide vocational trainings in OCaml and Rust, and we can build courses on formal methods on-demand. Do not hesitate to reach out by email: email@example.com.