Skip to content

Releases: ocaml/merlin

v3.3.4

15 Apr 05:35
Compare
Choose a tag to compare

CHANGES:

Tue Apr 14 15:25:05 CEST 2020

  • ocaml support
    • full support from OCaml 4.02 to OCaml 4.10 (#1117, #1127)
    • fix desynchronized cache (#1120)
    • short path for OCaml 4.09 and OCaml 4.10 (#1082, #1117)
    • catch and test environment initialization errors (#1083, #1130)
    • restore type levels after recovery (#1092)
  • merlin binary
    • fix syntax errors in 4.08 and 4.09 (#1081)
    • complete-prefix command accepts -kind option to filter results (#1071)
    • code cleanup (#1093, #1079, #1112)
    • better handling of expression and pattern extra nodes during browse tree
      traversal (#1091, #1121)
    • improve context detection (e.g. appropriate namespace for lookup) for
      various queries (#1104, #1110)
    • add stdlib to locate source path (#1085)
  • editor modes
  • test suite
    • dune rules for the test suite are now generated, deterministic and
      can be run individually (#1068, #1070, #1072)
    • fix incorrect command-line arguments in tests (#1073)
    • better coverage of frontend features (#1075, #1078, #1088, #1089, #1126)

Build no longer relies on implicit transitive_deps (#1065).

v3.3.4-preview1

02 Mar 13:29
Compare
Choose a tag to compare

CHANGES:

Mon Mar 2 14:26:32 CET 2020

This is a preview release that adds support for OCaml 4.10.
Short-path is disabled. Other versions of OCaml are not supported.

v3.3.3

29 Nov 16:40
Compare
Choose a tag to compare

CHANGES:

Fri Nov 29 17:35:58 CET 2019

  • backend
    • support OCaml 4.09 (#1055)
    • fix parse errors in 4.08 (#1037)
    • update 4.08 support to OCaml 4.08.1 (#1053)
    • support without_cmis
    • separate reading from caching in file-cache, use caching in
      Env.check_state_consistency (#1044)
    • simplify compiler state management (#1056, #1059)
    • fix creation of initial environment, improve compatibility with
      upstream 4.08 (#1052)
  • frontend
    • code re-organization (#1042)
    • error command: select which kind of errors to show (#995)
    • print value types in outline (#1014)
    • fix process handling in windows (#1005)
  • editor modes
    • emacs
      • bugfixes in merlin-imenu, merlin-xref (#1000, #1021, #1001)
      • show types in merlin-imenu (#1013)
      • reset buffer local configurations when resetting server (#1004)
      • remove merlin-use-tuareg-imenu
      • fix stack overflow (#1024)
      • fix merlin-occurrence (#1043)
    • vim
      • display warn-error warnings as errors (#1009)
  • testsuite
    • cover file-cache and check_state_consistency (#1044)
    • check inconsistent assumptions, test server versus single modes (#1047)

v3.3.2

15 Jul 10:00
Compare
Choose a tag to compare

CHANGES:

Mon Jul 15 11:10:35 CEST 2019

  • backend
    • ** globbing in .merlin won't look into hidden directories
      (starting with a '.') (by Daniel Bünzl, #990)
    • fallback to "/dev/null" configuration for findlib
    • better 4.08 support:
      • support for letop (let+, and+, ...) (#986)
      • fix parsing recovery for 4.08 constructions (#987)
      • catch an exception raised by 4.08 Printtyp trying to rename a
        persistent identifier (#991)
    • locate: treat local locations differently from external locations (coming
      from a cmi), this fixes "jump to definition" on mutually recursive
      bindings (#984)
    • when completing an infix operator in a sub-module, wrap with () (#992)
    • disable arity checks on externals (for Bucklescript compatibility)
    • remove parser preprocessing (simplify compilation for OCaml < 4.08) (#997)
  • editor modes
    • emacs
      • fix position computation in presence of tabs or multi-byte characters (#981)
      • log arguments in "merlin-debug-last-commands" (#981)
    • vim
      • install reason.vim file (by Hezekiah M. Carty, #974)

v3.3.1

17 Jun 15:17
Compare
Choose a tag to compare
  • backend
    • catch findlib initialization failures and keep going on

v3.3.0

31 May 10:25
Compare
Choose a tag to compare

CHANGES:

Fri May 31 11:09:08 BST 2019

  • backend

    • interpret -pp flag
    • backtrack warnings in all versions, not just 4.06
    • silence C compiler warnings (by David Allsopp and Bernhard Schommer)
    • remove sturgeon support
    • allow to select sections to log
    • better error message on ocaml version mismatch
    • locate:
      • handle functors and functor applications
      • do not use the location coming from the environment
    • tweaked caching policy
    • fix environment when a file disappears
    • fix -short-paths handling of classes and class types (by Leo White)
    • don't select deprecated paths in -short-paths (by Leo White)
    • return type info in outline query (by Andrey Popp)
    • properly handle new lines in the lexer
    • better tracking of errors reported by the parser and by preprocessors
    • add support for OCaml 4.08
    • tweaked the recovery strategy in presence of syntax errors
    • timing information in replies now includes wall clock time.
    • dump command can new dump the parsetree post preprocessing
  • editors modes

    • emacs

      • fix merlin-xref.el install (by Emilio Jesus Gallego Arias)
      • keep labels matching the prefix the user has typed rather than
        dropping them (by Mitchell Plamann)
      • remove unused merlin--overlay function (by Wilfred Hughes)
      • show the number of errors in the modline (by Wilfred Hughes)
      • call a logger on the client side if one is defined
      • allow user to disable completion inside comments and strings
      • show errors and types even when buffer is narrowed (by Wilfred Hughes)
      • make sure PATH is updated when merlin-command is 'opam
    • vim

      • better FindBinary
      • make the log buffer a scratch buffer (by Tom Johnson)
      • execute buffer switching silently (by Fabian)
      • restore view after updating merlin type buffer (by Fabian)
  • testsuite

    • Switched to mdx with cram syntax.

Special thanks to Rudi Grinberg for helping us in reviewing and merging
pull-requests.

v3.2.2

09 Oct 10:27
Compare
Choose a tag to compare

CHANGES:

Tue Oct 9 11:25:12 BST 2018

Update cmt magic number for 4.07.1

v3.2.1

08 Oct 10:45
Compare
Choose a tag to compare

CHANGES:

Mon Oct 8 10:41:24 BST 2018

Switched build to dune (thanks to @nojb).
Added support for 4.07.1
Various bugfixes in the backend and in the editor modes.

v3.2.0

08 Oct 09:49
Compare
Choose a tag to compare

CHANGES:

Mon Oct 8 10:41:24 BST 2018

Switched build to dune (thanks to @nojb).
Added support for 4.07.1
Various bugfixes in the backend and in the editor modes.

v2.5.0

13 Jun 22:30
Compare
Choose a tag to compare

This is the first release of Merlin supporting OCaml 4.03.0.

The frontend can now be extended using merlin-extend. This allows to support Reason. More preprocessors might be added later.

Otherwise there are no new user-facing features, but a lot of code has been cleaned up or rewritten.

The next step is to have a clean code base for Merlin 3.0 and start adding new features... or fixing existing ones.