OCaml Changelog

RSS

Read the latest releases and updates from the OCaml ecosystem.

Merlin 1.5

See full changelog
  • backend:

    • better handling of paths (both sources and build)
    • split build path into cmi and cmt path. New directives "CMI" and "CMT" are now available in .merlin files ("B" still works as previously)
    • doesn't get confused anymore when the user switch between buffers (the state is cleaned)
  • emacs:

    • adds ability to enable/disable extensions manually
    • adds a command to clear all the errors from a buffer
    • displaying of errors can now be disabled
  • extensions

    • updated bin_prot for version >= 109.45.00
    • bugfix for [with compare] in presence of parametrized types
    • added support for "here" (when activated adds [val here : Lexing.position])
    • added support for [assert_lwt]
    • fixed typing of [while_lwt]
  • vim:

    • vim plugin can be installed into a custom directory and has its own makefile target (contribution from Vsevolod Velichko)
    • added "ClearEnclosing" command to remove merlin's overlay after a call to TypeOf.
See full changelog
  • documentation:

    • updates of the emacs section of the readme by Ronan Lehy.
  • emacs:

    • bugfix for ac-mode: merlin-ac-prefix wasn't called.
    • better formatting for completion suggestions.
  • vim:

    • bugfix for the "selectPhrase" command, an overflow on 32b plateform was causing complete desynchronisation between vim and merlin.
    • better formatting for completion suggestions.

Merlin 1-4

See full changelog
  • backend:

    • lazy processing of open directives makes merlin much faster
    • simplified buffer management
    • tweak signal handling to improve windows compatibility
    • track verbosity of query: repeated queries are considered more "verbose"
    • type expansion: expand type aliases for verbose query
    • add support for OUnit-like Benchmark extension
    • more tolerant type checker, to provide completion on ill-typed expressions
    • proper version reporting with git revision
    • refactored logging subsystem
    • add support "val constructs" in implementation: report errors but add definition to current environment
    • add FLG, EXT and PRJ in .merlin
    • "locate" command now works in much more situations
    • one distribution for 4.00 and 4.01, introduced common interface between both, typers now live in https://github.com/def-lkb/merlin-typers
    • new implementation of the main merlin state tracking ast & types
    • better error reporting thanks to a contribution from Ronan Lehy
  • documentation:

    • started a wiki (https://github.com/def-lkb/merlin/wiki)
    • wrote 'from-scratch' guides to ease setting-up merlin in your editor
  • emacs

    • during completion with auto-complete, you can hit C-c C-l on a candidate to jump on its definition
    • made communication with merlin asynchronous (using transfer queues) hence improving responsiveness
    • when running a merlin command, the errors present in all phrases but the current one are displayed
    • fixed buffer cleaning
    • successive call to C-c C-t do not climb the typed tree but improve merlin's verbosity. To move inside the tree use C-down and C-up (which implements phrase movement if there is no enclosing started).
    • customize data for merlin
    • refactoring and numerous bugfixes

Minor 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.

See full changelog

Oops, we went looking but didn't find the changelog for this release 🙈

Merlin 1-3

See full changelog
  • backend:

    • added a "locate" command to find the definition location of the given identifier works on the local buffer out of the box and at project level if it the build directories contain cmt files
  • emacs:

    • various bugfixes
    • aesthetic changes for highlighting
    • introduced "semantic movements": add commands (and keybindings) to go to the next/previous phrase
    • support for completion in emacs 23
    • reporting of syntax errors
    • removed "idle-typing" feature
    • asynchronous fetching of types so that long signatures won't make emacs hang
  • extensions:

    • add support for "type nonrec" declaration
    • add support for "with compare" from type-conv
    • add partial support for "with fields" from type-conv
  • misc:

    • added specific support for omake's polling mode
  • vim:

    • ':TypeOf' command now accepts an (optional) argument and tries to type it in the current context (i.e. at cursor position)
    • better catching of errors
If you want to contribute to a new release announcement, check out the Contributing Guide on GitHub.