Skip to content

Releases: ocaml/merlin

3.7.0

23 Nov 12:41
Compare
Choose a tag to compare

CHANGES:

  • merlin binary
    • ignore -error-style compiler flag (#1402, @nojb)
    • avoid a race condition when the process started to read a configuration
      file crashes/is not found (#1378, @antalsz)

v4.3.1-412

26 Jul 14:43
Compare
Choose a tag to compare

CHANGES:

Mon Jul 26 04:45:37 PM CET 2021

  • merlin binary
    • recover ill-typed patterns (#1317, #1342)
    • more accurate type-enclosing for methods (#1328, fixes #1124)
    • fix location of patterns in Occurrences (#1324, fixes ocaml/ocaml-lsp#375)
    • fix location of module definitions done via functors (#1329, fixes #1199)
    • fix -cmt-path dirs mistakenly added to build path (#1330)
    • add new module holes that can replace module expressions (#1333)
    • add a new command construct that builds a list of possible terms when
      called on a typed hole (#1318)
    • refactor-open improvements (#1313, #1314, #1366, #1372)
      • do not make paths absolute, simply prefix with the identifier under
        the cursor
        open Foo (* calling refactor-open qualify on this open *)
        let _ = Foo.bar (* previously could result in [Dune__exe.Foo.bar] *)
      • do not return identical (duplicate) edits
      • do not return unnecessary edits that when applied do not change
        the document
      • handle record fields properly
      • handle multi-line paths
      • unqualify should not qualify
    • Handle Persistent_env.Error in Typemod.initial_env (#1355)
    • locate: reset global state from all entry points (#1364)
    • Windows: replace user name by its SID in socketnames (#1345, @ttamttam)
  • editor modes
    • vim: add a simple interface to the new construct command:
      MerlinConstruct. When several results are suggested, <c-i>
      and <c-u> can be use to change the depth of the recursive
      construction. (#1318)
    • vim: add support for the merlin-locate-type command:
      MerlinLocateType (#1359)
    • emacs: add a simple interface to the new construct command:
      merlin-construct. (#1352)
    • emacs: add support for the merlin-locate-type command. (#1359)
    • emacs: fix issue with merlin--highlight and various minor improvements
      (#1367, @mattiase)
  • test suite
    • cover the new construct command (#1318)
    • disable tests failing in Opam's CI due to nested dune projects (#1373)

v4.3.1-411

26 Jul 14:45
Compare
Choose a tag to compare

CHANGES:

Mon Jul 26 04:45:37 PM CET 2021

  • merlin binary
    • recover ill-typed patterns (#1317, #1342)
    • more accurate type-enclosing for methods (#1328, fixes #1124)
    • fix location of patterns in Occurrences (#1324, fixes ocaml/ocaml-lsp#375)
    • fix location of module definitions done via functors (#1329, fixes #1199)
    • fix -cmt-path dirs mistakenly added to build path (#1330)
    • add new module holes that can replace module expressions (#1333)
    • add a new command construct that builds a list of possible terms when
      called on a typed hole (#1318)
    • refactor-open improvements (#1313, #1314, #1366, #1372)
      • do not make paths absolute, simply prefix with the identifier under
        the cursor
        open Foo (* calling refactor-open qualify on this open *)
        let _ = Foo.bar (* previously could result in [Dune__exe.Foo.bar] *)
      • do not return identical (duplicate) edits
      • do not return unnecessary edits that when applied do not change
        the document
      • handle record fields properly
      • handle multi-line paths
      • unqualify should not qualify
    • Handle Persistent_env.Error in Typemod.initial_env (#1355)
    • locate: reset global state from all entry points (#1364)
    • Windows: replace user name by its SID in socketnames (#1345, @ttamttam)
  • editor modes
    • vim: add a simple interface to the new construct command:
      MerlinConstruct. When several results are suggested, <c-i>
      and <c-u> can be use to change the depth of the recursive
      construction. (#1318)
    • vim: add support for the merlin-locate-type command:
      MerlinLocateType (#1359)
    • emacs: add a simple interface to the new construct command:
      merlin-construct. (#1352)
    • emacs: add support for the merlin-locate-type command. (#1359)
    • emacs: fix issue with merlin--highlight and various minor improvements
      (#1367, @mattiase)
  • test suite
    • cover the new construct command (#1318)
    • disable tests failing in Opam's CI due to nested dune projects (#1373)

v3.6.1

26 Jul 14:48
Compare
Choose a tag to compare

CHANGES:

Mon Jul 26 04:43:37 PM CET 2021

  • merlin binary
    • fix -cmt-path dirs mistakenly added to build path (#1330)
    • Windows: replace user name by its SID in socketnames (#1345, @ttamttam)
  • editor modes
    • vim: add support for the merlin-locate-type command:
      MerlinLocateType (#1359)
    • emacs: add support for the merlin-locate-type command. (#1359)
  • test suite
    • disable tests failing in Opam's CI due to nested dune projects

v4.2-412

13 Apr 10:15
fe7380b
Compare
Choose a tag to compare

CHANGES:

Tue Apr 12 11:44:22 AM CET 2021

  • merlin binary
    • external configuration reading:
      • use relative paths to communicate with Dune when possible. This solves
        issues related to symlinks on Unix and improve Windows support (#1271,
        fixes #1288)
      • make the workdir configuration value when using the
        dune ocaml-merlin configuration provider the same as when using
        dot-merlin-reader so that ppxes behaves in the same way as before
        (#1284, fixes ocaml/dune#4479, discussion in #1292)
    • destruct:
      • improve prefixing of generated constructors in Destruct by filtering
        opened modules (#1277)
      • make the destruct command more resilient to ill-typed expressions and
        when called without nodes (#1304, fixes #1300)
    • reintroduce some record recovery and improve completion (#1276)
    • introduce a new AST node for holes (_), allow correct typing of these
      holes and add a new holes command that returns the locations of all
      holes in the current file along with their types (#1242, #1289)
    • Mppx: don't restore cookies after invocation. Ppx are invoked only once
      so there is no need to manage cookies. This small change should increase
      performance and should not change any other behavior (#1309)
    • Windows: system command variant: do not open a window console when
      launching a ppx (#1270, fixes #714)
    • fix same file documentation bug (#1265 by @ulugbekna, fixes #1261)
  • editor modes
    • vim: Add MerlinNextHole and MerlinPreviousHole commands to navigate
      between holes. Jump to the first hole after destruct (#1287, #1303)
    • emacs: Add merlin-next-hole and merlin-previous-hole commands to
      navigate holes. Jump to the first hole after calling destruct. (#1291)
    • emacs: modernization of the elisp code and conformance with coding
      guidelines (#1247, #1310 by Steve Purcell )
    • vim & emacs : new client-side "merlin use package" commands, restoring
      previous behavior (#1272, fixes #1191)
  • test suite
    • cover constructor disambiguation and record fields (#1276)
    • cover the new holes command and AST node (#1242, #1289)
    • cover the document fix (#1265, #1315)

v4.2-411

13 Apr 10:12
Compare
Choose a tag to compare

CHANGES:

Tue Apr 12 11:44:22 AM CET 2021

  • merlin binary
    • external configuration reading:
      • use relative paths to communicate with Dune when possible. This solves
        issues related to symlinks on Unix and improve Windows support (#1271,
        fixes #1288)
      • make the workdir configuration value when using the
        dune ocaml-merlin configuration provider the same as when using
        dot-merlin-reader so that ppxes behaves in the same way as before
        (#1284, fixes ocaml/dune#4479, discussion in #1292)
    • destruct:
      • improve prefixing of generated constructors in Destruct by filtering
        opened modules (#1277)
      • make the destruct command more resilient to ill-typed expressions and
        when called without nodes (#1304, fixes #1300)
    • reintroduce some record recovery and improve completion (#1276)
    • introduce a new AST node for holes (_), allow correct typing of these
      holes and add a new holes command that returns the locations of all
      holes in the current file along with their types (#1242, #1289)
    • Mppx: don't restore cookies after invocation. Ppx are invoked only once
      so there is no need to manage cookies. This small change should increase
      performance and should not change any other behavior (#1309)
    • Windows: system command variant: do not open a window console when
      launching a ppx (#1270, fixes #714)
    • fix same file documentation bug (#1265 by @ulugbekna, fixes #1261)
  • editor modes
    • vim: Add MerlinNextHole and MerlinPreviousHole commands to navigate
      between holes. Jump to the first hole after destruct (#1287, #1303)
    • emacs: Add merlin-next-hole and merlin-previous-hole commands to
      navigate holes. Jump to the first hole after calling destruct. (#1291)
    • emacs: modernization of the elisp code and conformance with coding
      guidelines (#1247, #1310 by Steve Purcell )
    • vim & emacs : new client-side "merlin use package" commands, restoring
      previous behavior (#1272, fixes #1191)
  • test suite
    • cover constructor disambiguation and record fields (#1276)
    • cover the new holes command and AST node (#1242, #1289)
    • cover the document fix (#1265, #1315)

v3.5.0

13 Apr 10:06
Compare
Choose a tag to compare

CHANGES:

Tue Apr 12 11:44:22 AM CET 2021

  • merlin binary
    • external configuration reading:
      • use relative paths to communicate with Dune when possible. This solves
        issues related to symlinks on Unix and improve Windows support (#1271,
        fixes #1288)
      • make the workdir configuration value when using the
        dune ocaml-merlin configuration provider the same as when using
        dot-merlin-reader so that ppxes behaves in the same way as before
        (#1284, fixes ocaml/dune#4479, discussion in #1292)
    • destruct: make the destruct command more resilient to ill-typed
      expressions and when called without nodes (#1304, fixes #1300)
    • Mppx: don't restore cookies after invocation. Ppx are invoked only once
      so there is no need to manage cookies. This small change should increase
      performance and should not change any other behavior (#1309)
    • windows:
      • system command variant: do not open a window console when
        launching a ppx (#1270, fixes #714)
      • fix Emacs hanging when starting Merlin (#1263)
      • fix path canonicalization (#1254)
    • fix same file documentation bug (#1265 by @ulugbekna, fixes #1261)
  • editor modes
    • emacs:
      • modernization of the elisp code and conformance with coding
        guidelines (#1247, #1310 by Steve Purcell )
      • use opam var where applicable (#1310)
      • fix "wrong number of argument" (#1250 by @atharvashukla, fixes #1234)
      • fix for Neovim's CursorMoved semantics (#1213 by @ddickstein)
    • vim & emacs : new client-side "merlin use package" commands, restoring
      previous behavior (#1272, fixes #1191)
  • test suite

v4.1

16 Feb 10:30
Compare
Choose a tag to compare

CHANGES:

Tue Feb 16 10:33:11 AM CET 2021

  • merlin binary:
    • fix windows paths canonicalization (#1254)
    • fix hanging on windows (#1256, #1263)

v4.1-412

16 Feb 10:11
Compare
Choose a tag to compare

CHANGES:

Tue Feb 16 10:33:11 AM CET 2021

  • merlin binary:
    • fix windows paths canonicalization (#1254)
    • fix hanging on windows (#1256, #1263)

v4.1-411

16 Feb 10:06
Compare
Choose a tag to compare

CHANGES:

Tue Feb 16 10:33:11 AM CET 2021

  • merlin binary:
    • fix windows paths canonicalization (#1254)
    • fix hanging on windows (#1256, #1263)