See full changelog
- Add a
--nullargument to suppress the output. This is used to write linters - Use the new generic ppx driver support of jbuilder
Official stable release announcements and updates from the OCaml compiler, OCaml infrastructure and the OCaml Platform Tools.
--null argument to suppress the output. This is used to
write lintersPexp_new expressions (#76, @smondet)Pexp_send _ expressions (#72, @smondet)[][ and < or > in variant types.mld files) (#61).[@@deprecated] attributes as the @deprecated tag (#57).kind-identifer syntax (part of #61).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 🙈
Contributed by @hhugo:
Migrate_parsetree module.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.
Driver: add --as-pp and --embed-errors flags.
--embed-errors causes the driver to embed exceptions raised by rewriters as extension points in the Ast
--as-pp is a shorthand for: --dump-ast --embed-errors
Expose more primitives for embedding the driver.
Fix bug where reset_args functions where not being called.
Fix "OCaml OCaml" in error messages (contributed by Adrien Guatto).
omp_driver by ppx_driver-custom_ppx by -custom_ppx,-ppx_driverInitial 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: