Add support for 4.06. Use Leo White's short-path for 4.05. Various bug fixes (in locate, in emacs serialization).
See full changelog
Oops, we went looking but didn't find the changelog for this release π
Official stable release announcements and updates from the OCaml compiler, OCaml infrastructure and the OCaml Platform Tools.
Add support for 4.06. Use Leo White's short-path for 4.05. Various bug fixes (in locate, in emacs serialization).
Oops, we went looking but didn't find the changelog for this release π
The major change Windows support is contributed by David Allsopp.
Other changes are a bunch of fixes:
Oops, we went looking but didn't find the changelog for this release π
Bug fix after 3.0.1:
Oops, we went looking but didn't find the changelog for this release π
Bug fix release after 3.0.0 major release.
Oops, we went looking but didn't find the changelog for this release π
The major change is a new protocol that moves process management inside Merlin codebase, saving a lot of pain in Emacs and Vim. There are not much new user facing features.
Windows support is not yet available.
In editor configuration is now done with merlin-flags, merlin-extensions and merlin-use in Emacs and :MerlinFlags, :MerlinExtensions and :MerlinPackages in Vim. In previous versions, enabled extensions, flags and packages were retained while now only the last command is remembered.
"M-x merlin-use a", "M-x merlin-use b" should be replaced by "M-x merlin-use a,b". ":MerlinUse a", ":MerlinUse b" should be replaced by ":MerlinUse a b".
The old protocol is still supported, so existing editor modes should not be affected (tested with Atom, Visual Studio and Sublime-text).
Other main changes:
Thanks to the many contributors (Jochen Bartl, tddsg, Ximin Luo, Jason Staten, Leo White, Leandro Ostera, Jacob Bass, Xavier GuΓ©rin, Yotam Barnoy, Jacques Pascal Deplaix, David Allsopp, ...).
Oops, we went looking but didn't find the changelog for this release π
Minor release.
html-deps subcommand behavior: it now expects to be given a
directory, not a single odoc file.utop.el (#210, Louis Gesbert)-implicit-bindings option to automatically bind expressions to names
_0, _1 and so on. For example, 3 + 4;; becomes let _0 = 3 + 4;;
(#161, #193, Fabian Hemmer)#mod_use (#181, Leonid Rozenberg)#help in #utop_help (#190, Fabian Hemmer)#utop_stash and #utop_save to save the session to a file
(#169, #199, Christopher Mcalpine and Fabian Hemmer)UTop_main.interactMinor release.
Initial release.
Minor release.
The package for opam-lib version 1.3 has just been released in the official opam repository. There is no release of opam with version 1.3, but this is an intermediate version of the library that retains compatibility of the file formats with 1.2.2.
The purpose of this release is twofold:
lint functionThis version is compatible with the current stable release of opam (1.2.2), but dependencies have been updated so that you are not (e.g.) stuck on an old version of ocamlgraph.
Therefore, I encourage all maintainers of tools based on opam-lib to migrate to 1.3.
The respective APIs are available in HTML for 1.2 and 1.3.
A note on plugins: when you write opam-related tools, remember that by setting
flags: pluginin their definition and installing a binary namedopam-toolname, you will enable the users to install packagetoolnameand run your tool with a singleopam toolnamecommand.
If you need to migrate from 1.2 to 1.3, these tips may help:
there are now 6 different ocamlfind sub-libraries instead of just 4: format
contains the handlers for opam types and file formats, has been split out from
the core library, while state handles the state of a given opam root and
switch and has been split from the client library.
OpamMisc is gone and moved into the better organised OpamStd, with
submodules for String, List, etc.
OpamGlobals is gone too, and its contents have been moved to:
OpamConsole for the printing, logging, and shell interface handling partOpamXxxConfig modules for each of the libraries for handling the global
configuration variables. You should call the respective init functions,
with the options you want to set, for proper initialisation of the lib
options (and handling the OPAMXXX environment variables)OpamPath.Repository is now OpamRepositoryPath, and part of the
repository sub-library.
The development version of the opam-lib (2.0~alpha5 as of writing) is already
available on opam. The name has been changed to provide a finer granularity, so
it can actually be installed concurrently -- but be careful not to confuse the
ocamlfind package names (opam-lib.format for 1.3 vs opam-format for 2.0).
The provided packages are:
opam-file-format: now
separated from the opam source tree, this has no dependencies and can be used
to parse and print the raw opam syntax.opam-core: the basic toolbox
used by opam, which actually doesn't include the opam specific part. Includes
a tiny extra stdlib, the engine for running a graph of processes in parallel,
some system handling functions, etc. Depends on ocamlgraph and re only.opam-format: defines opam
data types and their file i/o functions. Depends just on the two above.opam-solver: opam's interface
with the dose3 library and external
solvers.opam-repository: fetching
repositories and package sources from all handled remote types.opam-state: handling of the
opam states, at the global, repository and switch levels.opam-client: the client
library, providing the top-level operations (installing packages...), and CLI.opam-devel: this packages the
development version of the opam tool itself, for bootstrapping. You can
install it safely as it doesn't install the new opam in the PATH.The new API can be also be browsed ; please get in touch if you have trouble migrating.
This release mainly brings support for OCaml 4.04. Internal code was simplified and bugs were fixed in the meantime (cache invalidation, ast traversal, type error recovery, certain cases of completion, ppx working directory, locate, ...).
Oops, we went looking but didn't find the changelog for this release π
Bug fix release before major version.
UTop.set_external_editorUTop.set_margin_function to allow users to set
the margin for the toplevel outcome. It is 80 by default{|...|})#pwd directiveUTop_main.interact_ Deferred.t value).
The new version is more robust against future change in Asyncreplace-in-string function in the
emacs mode (Syohei Yoshida)backend:
emacs & vim: minor fixes
This release also contains contributions from: Rudi Grinberg, Fourchaux, Christopher Reichert, David Allsopp, Nick Borden, Mario Rodas, @Twinside, Pierre Chambart, Philipp Haselwarter, Tomasz KoΕodziejski and Syohei Yoshida.
backend:
documentation:
emacs:
vim:
utop-minor-mode to make integration with major modes cleanerUTop.end_and_accept_current_phrase to avoid typing ;; at the
end of every phrasesbackend:
emacs:
vim:
OPAM 1.2.2 has just been released. This fixes a few issues over 1.2.1 and brings a couple of improvements, in particular better use of the solver to keep the installation as up-to-date as possible even when the latest version of a package can not be installed.
See the normal installation instructions: you should generally pick up the packages from the same origin as you did for the last version -- possibly switching from the official repository packages to the ones we provide for your distribution, in case the former are lagging behind.
There are no changes in repository format, and you can roll back to earlier versions in the 1.2 branch if needed.
opam lint checks, opam lint now numbers its warnings and may
provide script-friendly outputopam depext will prompt
to install depext if available and not already installedopam list --resolve to list a consistent installation scenarioopam lint to check them.opam config report has been fixed to report the external solver properly--dry-run --verbose properly outputs all commands that would be run againopam list now returns 0 when no packages match but no pattern was supplied,
which is more helpful in scripts relying on it to check dependencies.OPAM 1.2.1 has just been released. This patch version brings a number of fixes and improvements over 1.2.0, without breaking compatibility.
See the normal installation instructions: you should generally pick up the packages from the same origin as you did for the last version -- possibly switching from the official repository packages to the ones we provide for your distribution, in case the former are lagging behind.
No huge new features in this point release -- which means you can roll back to 1.2.0 in case of problems -- but lots going on under the hood, and quite a few visible changes nonetheless:
jobs: to a value greater than 1 in
~/.opam/config in case you updated from an older version.<name>.opam files for package
pinning. URLs of the form git+ssh:// or hg+https:// are now allowed.opam lint has been vastly improved.... and much more
There is also a new manual documenting the file and repository formats.
See the changelog for a summary or closed issues in the bug-tracker for an overview.
These are mostly improvements to the file formats. You are welcome to use them, but they won't be accepted into the official repository until the next release.
features: in opam files, to help with ./configure scripts and
documenting the specific features enabled in a given build. See the
original proposal
and the section in the new manuallibexec: in <name>.install files, to install into the package's
lib dir with the execution bit set.packages: field are now resolved and then
locked. In practice, this means that repository maintainers can move the
compiler itself to a package, giving a lot more flexibility.Main new feature is a faster short-path, and also a lot of buxfixes.
backend:
build system:
vim:
emacs:
backend:
fake:
'_ type variables.vim:
This release also contains contributions from: Geoff Gole, Rudi Grinberg, Markus Mottl, Roman Vorobets and Arthur Wendling.
backend:
L.m will expand to List.map ; List.m... ; ListLabels.map ; ... if
L doesn't exist.emacs:
misc:
vim:
:Locate command:Renamefileencoding where necessary (#332)Config.load_path as UTop.load_path (Peter Zotov)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 π
We are very proud to announce the availability of OPAM 1.2.0.
Simply follow the usual instructions, using your preferred method (package from your distribution, binary, source, etc.) as documented on the homepage.
NOTE: There are small changes to the internal repository format (~/.opam). It will be transparently updated on first run, but in case you might want to go back and have anything precious there, you're advised to back it up.
Lot of work has been put into providing a cleaner interface, with helpful behaviour and messages in case of errors.
The documentation pages also have been largely rewritten for consistency and clarity.
This is just the top of the list:
opam pin command. See the
Simplified packaging workflowopam sourceopam lint command to check the quality of packagesFor more detail, see the announcement for the beta, the full changelog, and the bug-tracker.
The package format has been extended to the benefit of both packagers and users. The repository already accepts packages in the 1.2 format, and this won't affect 1.1 users as a rewrite is done on the server for compatibility with 1.1.
If you are hosting a repository, you may be interested in these administration scripts to quickly take advantage of the new features or retain compatibility.
Oops, we went looking but didn't find the changelog for this release π
After a few months of development, we are pleased to announce the stable release of Merlin 2.0. Supported OCaml versions range from 4.00.1 to 4.02.1.
Merlin is a tool focused on helping you code in OCaml by providing features such as:
We provide integration into Vim and Emacs. An external plugin is also available for Sublime Text.
This release provides great improvements in robustness and quality of analysis. Files that changed on disk are now automatically reloaded. The parsing process is finer grained to provide more accurate recovery and error messages. Integration with Jane Street Core and js_of_ocaml has also improved.
Vim & Emacs are still the main targeted editors. Thanks to Luc Rocher, preliminary support for Sublime Text is also available, see Sublime-text-merlin. Help is welcome to improve and extend supported editing environments.
Windows support also received some fixes. Merlin is now distributed in WODI. Integration in OCaml-on-windows is planned.
This new version of Merlin is already available with opam using opam install merlin, and can also be built from the sources which are available at
the-lambda-church/merlin.
This is a major release which we worked on for several months, rewriting many parts of the codebase. An exhaustive list of changes is therefore impossible to give, but here are some key points (from an user perspective):
This release also contains contributions from: Yotam Barnoy, Jacques-Pascal Deplaix, Geoff Gole, Rudi Grinberg, Steve Purcell and Jan Rehders.
We also thank Gabriel Scherer and Jane Street for their continued support.
Minor update to installation procedure
Oops, we went looking but didn't find the changelog for this release π