See full changelog
- Indentation of comments now follows ocamldoc conventions properly
- Partial indent adapts more closely to manual indentation
- Various small fixes (indent on empty lines, freeform comments...)
Read the latest releases and updates from the OCaml ecosystem.
Oops, we went looking but didn't find the changelog for this release 🙈
Oops, we went looking but didn't find the changelog for this release 🙈
Oops, we went looking but didn't find the changelog for this release 🙈
Oops, we went looking but didn't find the changelog for this release 🙈
Oops, we went looking but didn't find the changelog for this release 🙈
Oops, we went looking but didn't find the changelog for this release 🙈
Oops, we went looking but didn't find the changelog for this release 🙈
After a while staged as RC, we are proud to announce the final release of OPAM 1.1.0!
Thanks again to those who have helped testing and fixing the last few issues.
The repository format has been improved with incompatible new features; to account for this, the new repository is now hosted at [opam.ocaml.org][], and the legacy repository at [opam.ocamlpro.com][] is kept to support OPAM 1.0 installations, but is unlikely to benefit from many package updates. Migration to [opam.ocaml.org][] will be done automatically as soon as you upgrade your OPAM version.
You're still free, of course, to use any third-party repositories instead or in addition.
NOTE: When switching from 1.0, the internal state will need to be upgraded.
THIS PROCESS CANNOT BE REVERTED. We have tried hard to make it 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.0.
Using the binary installer:
Using the .deb packages from Anil's PPA (binaries are [currently syncing][1]): add-apt-repository ppa:avsm/ppa apt-get update sudo apt-get install opam
For OSX users, the homebrew package will be updated shortly.
or build it from sources at :
OPAM is a source-based package manager for OCaml. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow. 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).
The 'official' package repository is now hosted at [opam.ocaml.org][], synchronised with the Git repository at [http://github.com/ocaml/opam-repository][repo], where you can contribute new packages descriptions. Those are under a CC0 license, a.k.a. public domain, to ensure they will always belong to the community.
Thanks to all of you who have helped build this repository and made OPAM such a success.
Too many to list here, see https://raw.github.com/OCamlPro/opam/1.1.0/CHANGES
For packagers, some new fields have appeared in the OPAM description format:
depexts
provides facilities for dealing with system (non ocaml) dependenciesmessages
, post-messages
can be used to notify the user eg. of licensing information,
or help her troobleshoot at package installation.available
supersedes ocaml-version
and os
constraints, and can contain
more expressive formulasAlso, we have integrated the main package repository with Travis, which will help us to improve the quality of contributions (see Anil's post).
OPAM 1.1.0 is ready, and we are shipping a release candidate for packagers and all interested to try it out.
This version features several bug-fixes over the September beta release, and quite a few stability and usability improvements. Thanks to all beta-testers who have taken the time to file reports, and helped a lot tackling the remaining issues.
This release is synchronized with the migration of the main repository from ocamlpro.com to ocaml.org. A redirection has been put in place, so that all up-to-date installation of OPAM should be redirected seamlessly. OPAM 1.0 instances will stay on the old repository, so that they won't be broken by incompatible package updates.
We are very happy to see the impressive amount of contributions to the OPAM repository, and this change, together with the licensing of all metadata under CC0 (almost pubic domain), guarantees that these efforts belong to the community.
The internal state will need to be upgraded at the first run of OPAM 1.1.0.
THIS PROCESS CANNOT BE REVERTED. We have tried hard to make it 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.0.
Using the binary installer:
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 :
Too many to list here, see https://raw.github.com/OCamlPro/opam/1.1.0-RC/CHANGES
For packagers, some new fields have appeared in the OPAM description format:
depexts
provides facilities for dealing with system (non ocaml)
dependenciesmessages
, post-messages
can be used to notify the user or help her troubleshoot at package installation.available
supersedes ocaml-version
and os
constraints, and can contain
more expressive formulasdocumentation:
emacs:
vim:
backend:
documentation:
emacs
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:
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 :
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.
opam update -u
equivalent to opam update && opam upgrade --yes
opam-admin
tool, bundling the features of opam-mk-repo
and
opam-repo-check
+ new 'opam-admin stats' toolavailable
: field in opam files, superseding ocaml-version
and os
fieldsopam config env
now detects the current shell and outputs a sensible default if
no override is provided.opam pin
stability and start display information about dev revisionsman
field in .install
files.install
filesstublibs
field in .install
filesopam config var VARIABLE
when variable is simple
(eg. prefix
, lib
, ...)opam list
now display only the installed packages. Use opam list -a
to get
the previous behavior.ocamlot
)--sexp
option to opam config env
to load the configuration under emacs~/.opam/log
on each invocation of OPAMversion+patches
are now handled as if this
was simply version
OpamVCS
functor to generate OPAM backendsopam update
opam search
now also searches through the tagsAPI.list
and API.SWITCH.list
messages
field--jobs
command line option and add %{jobs}%
to be used in OPAM filesopam info
command (more information, non-zero error code when no patterns match)opam reinstall
when reinstalling a package wich is a dependency of installed packagesOPAMSWITCH
to be able to call OPAM in different switchesopam-client
can now be used in a toplevel-n
now means --no-setup
and not --no-checksums
anymore../ocaml/
~/.opam/opam-init/variable.sh
after a switchMinor release, but merlin is now compatible with ocaml versions > 4.00.1. The only noticeable changes since 1.3 is the use of short paths even with version 4.00.1 of ocaml.
Oops, we went looking but didn't find the changelog for this release 🙈
backend:
emacs:
extensions:
misc:
vim:
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 http://www.ocamlpro.com/blog/2013/01/17/opam-beta.html 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
files, use 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/*).
Please report:
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:
http://www.ocamlpro.com/pub/opam-full-latest.tar.gz
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
running opam update
. If you want to use the auto-setup feature, remove the
"eval opam config env
line you have previously added in your ~/.profile
and run 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
on http://opam.ocamlpro.com/ +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]
0.9.6 [Mar 2013]
~/.profile
when using dash (eg. in Debian/Ubuntu)0.9.5 [Mar 2013]
opam remove <pkg> --keep-build-dir
keeps the folder if a source archive is extractedopam config exec "CMD ARG1 ... ARGn" --switch=SWITCH
to execute a command in a subshellopam update
wrt. pinned packagesopam config setup
)~/.ocamlinit
when running opam init
0.9.4 [Feb 2013]
-a
type
instead of which
to detect existing commands)depends
and depopts
fields in opam info
opam info pkg.version
shows the metadata for this given package versiondoc
fields in .install
filesopam list
now only shows installable packages0.9.3 [Feb 2013]
0.9.2 [Jan 2013]
opam repo remove repo-name
opam config env
opam-foo
scripts (which can be called using opam foo
)0.9.1 [Jan 2013]