Skip to content

Releases: ocaml/merlin

4.9-501preview

31 May 15:08
Compare
Choose a tag to compare

CHANGES:

unreleased

  • merlin binary
    • Preview support for OCaml 5.1-alpha1. Short path is temporary disabled and
      inline records might not behave as expected.
    • Allow monadic IO in dot protocol (#1581)
    • Add a scope option to the occurrences command in preparation for
      the upcoming project-wide-occurrences feature (#1596)
    • Construct bool-typed holes as false instead of true in the
      construct command, for consistency (#1599).
    • Add a hook to configure system command for spawning ppxes when Merlin is
      used as a library. (#1585)
    • Implement an all-or-nothing cache for the PPX phase (#1584)
    • Cleanup functors caches when backtracking, to avoid memory leaks
      (#1609, fixes #1529 and ocaml-lsp#1032)
    • Fix construct results ordering for sum types sand poly variants (#1603)
    • Fix object method completion not working (#1606, fixes #1575)
    • Improve context detection for package types (#1608, fixes #1607)
    • Fix incorrect locations for string literals (#1574)
    • Fixed an issue that caused errors to erroneously alert about missing
      cmi files (#1577)
    • Prevent destruct from crashing on closed variant types (#1602,
      fixes #1601)
    • Improve longident parsing (#1612, fixes #945)
  • editor modes
    • emacs: call the user's configured completion UI in
      merlin-construct (#1598)
  • test suite
    • Add missing dependency to a test using ppxlib (#1583)
    • Add tests for the new PPX phase cache (#1584)
    • Add and update tests for construct ordering (#1603)

4.9-500

26 May 12:43
d203dd9
Compare
Choose a tag to compare

CHANGES:

Fri May 26 15:23:42 CEST 2023

  • merlin binary
    • Allow monadic IO in dot protocol (#1581)
    • Add a scope option to the occurrences command in preparation for
      the upcoming project-wide-occurrences feature (#1596)
    • Construct bool-typed holes as false instead of true in the
      construct command, for consistency (#1599).
    • Add a hook to configure system command for spawning ppxes when Merlin is
      used as a library. (#1585)
    • Implement an all-or-nothing cache for the PPX phase (#1584)
    • Cleanup functors caches when backtracking, to avoid memory leaks
      (#1609, fixes #1529 and ocaml-lsp#1032)
    • Fix construct results ordering for sum types sand poly variants (#1603)
    • Fix object method completion not working (#1606, fixes #1575)
    • Improve context detection for package types (#1608, fixes #1607)
    • Fix incorrect locations for string literals (#1574)
    • Fixed an issue that caused errors to erroneously alert about missing
      cmi files (#1577)
    • Prevent destruct from crashing on closed variant types (#1602,
      fixes #1601)
    • Improve longident parsing (#1612, fixes #945)
  • editor modes
    • emacs: call the user's configured completion UI in
      merlin-construct (#1598)
  • test suite
    • Add missing dependency to a test using ppxlib (#1583)
    • Add tests for the new PPX phase cache (#1584)
    • Add and update tests for construct ordering (#1603)

4.9-414

26 May 12:41
df75a45
Compare
Choose a tag to compare

CHANGES:

Fri May 26 15:23:42 CEST 2023

  • merlin binary
    • Allow monadic IO in dot protocol (#1581)
    • Add a scope option to the occurrences command in preparation for
      the upcoming project-wide-occurrences feature (#1596)
    • Construct bool-typed holes as false instead of true in the
      construct command, for consistency (#1599).
    • Add a hook to configure system command for spawning ppxes when Merlin is
      used as a library. (#1585)
    • Implement an all-or-nothing cache for the PPX phase (#1584)
    • Cleanup functors caches when backtracking, to avoid memory leaks
      (#1609, fixes #1529 and ocaml-lsp#1032)
    • Fix construct results ordering for sum types sand poly variants (#1603)
    • Fix object method completion not working (#1606, fixes #1575)
    • Improve context detection for package types (#1608, fixes #1607)
    • Fix incorrect locations for string literals (#1574)
    • Fixed an issue that caused errors to erroneously alert about missing
      cmi files (#1577)
    • Prevent destruct from crashing on closed variant types (#1602,
      fixes #1601)
    • Improve longident parsing (#1612, fixes #945)
  • editor modes
    • emacs: call the user's configured completion UI in
      merlin-construct (#1598)
  • test suite
    • Add missing dependency to a test using ppxlib (#1583)
    • Add tests for the new PPX phase cache (#1584)
    • Add and update tests for construct ordering (#1603)

4.8-501preview

18 Apr 16:54
Compare
Choose a tag to compare

CHANGES:

Tue Apr 24 16:55:42 CEST 2023

  • merlin binary
    • Preview support for OCaml 5.1-alpha1. Short path is temporary disabled and
      inline records might not behave as expected.

4.8-500

24 Feb 16:09
1fbb47f
Compare
Choose a tag to compare

CHANGES:

Fri Feb 24 16:55:42 CEST 2023

  • merlin binary
    • Recognize OCaml 5.0 cmi magic number in compiler version mismatch message
      (#1554, fixes #1553)
    • Upgrade Merlin from the RC2 to the stable 5.0.0 compiler release (#1559,
      fixes #1558)
    • Improve type-enclosing behaviour when used on records' labels (#1565,
      fixes #1564)
    • Restore compatibility with the compiler's command line by accepting the
      -safe-string flag as a no-op instead of rejecting it (#1544, fixes
      #1518)
    • Traverse aliases when jumping to declaration. This matches
      jump-to-definition's behavior (#1563)
    • Improve locate's behavior in various ill-typed expressions (#1546, fixes
      #1567 and partially #1543)
    • Correctly traverse patterns when looking for docs in the typedtree (#1572)
    • Get documentation when the declaration or definition is selected (#1542,
      fixes #1540)
    • On Windows, change to a harmless directory when launching server to avoid
      locking down current directory (#1569, fixes #1474)
  • editor modes
    • emacs: Fix misuse of eq comparison (#1549, @mattiase)
    • emacs: xref works from context menus; better highlighting of xref matches;
      xref recognises operators and binding operators at the cursor position;
      bad locations are filtered out (#1385, fixes #1410, @mattiase)
  • test suite
    • Add a test for incorrect alert defaults (#1559)
    • Add multiple tests for locate over ill-typed expressions (#1546)
    • Add non-regression tests for other fixes in this release

4.8-414

24 Feb 16:07
Compare
Choose a tag to compare

CHANGES:

Fri Feb 24 16:55:42 CEST 2023

  • merlin binary
    • Update internal typer to match OCaml 4.14.1 release (#1557)
    • Improve type-enclosing behaviour when used on records' labels (#1565,
      fixes #1564)
    • Restore compatibility with some OCaml compiler's debug flags that were
      incorrectly rejected by Merlin (#1556)
    • Traverse aliases when jumping to declaration. This matches
      jump-to-definition's behavior (#1563)
    • Improve locate's behavior in various ill-typed expressions (#1546, fixes
      #1567 and partially #1543)
    • Correctly traverse patterns when looking for docs in the typedtree (#1572)
    • Get documentation when the declaration or definition is selected (#1542,
      fixes #1540)
    • On Windows, change to a harmless directory when launching server to avoid
      locking down current directory (#1569, fixes #1474)
  • test suite
    • Add multiple tests for locate over ill-typed expressions (#1546)
    • Add non-regression tests for other fixes in this release

4.7.1-500

13 Dec 10:32
f3643ea
Compare
Choose a tag to compare

CHANGES:

Thu Dec 13 11:49:42 CEST 2022

  • merlin binary
    • Restore compatibility with the compiler's command line by accepting
      the -safe-string flag as a no-op instead of rejecting it. (#1544,
      fixes #1518)
    • Mark some C variables as unused to remove warnings (#1541, @antalsz)

4.7-500

24 Nov 17:02
Compare
Choose a tag to compare

CHANGES:

Thu Nov 24 17:49:42 CEST 2022

  • merlin binary
    • Replace custom "holes" AST nodes by extensions. This restores binary
      compatibility and fixes issues with PPXs when using typed-holes.
      (#1503)
    • Do not change temporarily Merlin's cwd when starting a PPX (#1521,
      fixes #1420)
    • Fix a parsing issue when declaring the (??) custom prefix operator.
      (#1507, fixes #1506)
    • Fix variant constructors' comments grouping (#1516, @mheiber, fixes #1513)
    • Filter-out duplicates from the enclosing command result (#1512)
    • Add a new verbosity=smart mode for type enclosing that only expand
      modules' types (#1374, @ulugbekna)
    • Improve locate for labels' declarations in the current buffer.
      (#1505, fixes #1524)
    • Fix locate on module without implementation (#1522, fixes #1519)
    • Allow program name customization when merlin is used as a library. (#1532)
  • editor modes
    • vim: load the plugin when necessary if it wasn't loaded before (#1511)
    • emacs: update CI for newer releases and fix some warnings (#1454,
      @mattiase)
  • test suite
    • Add tests for constructors' documentation (#1511)
    • Add test cases for label comment documentation (#1526, @mheiber)
    • Add a test for the enclosing command (#1512)
    • Add tests for interactions between locate and record labels (#1505)
    • Add test showing an issue with locate and implicit transitive deps

4.7-414

24 Nov 09:13
b01e78e
Compare
Choose a tag to compare

CHANGES:

Thu Nov 24 13:31:42 CEST 2022

  • merlin binary
    • Replace custom "holes" AST nodes by extensions. This restores binary
      compatibility and fixes issues with PPXs when using typed-holes.
      (#1503)
    • Do not change temporarily Merlin's cwd when starting a PPX (#1521,
      fixes #1420)
    • Fix a parsing issue when declaring the (??) custom prefix operator.
      (#1507, fixes #1506)
    • Fix variant constructors' comments grouping (#1516, @mheiber, fixes #1513)
    • Filter-out duplicates from the enclosing command result (#1512)
    • Add a new verbosity=smart mode for type enclosing that only expand
      modules' types (#1374, @ulugbekna)
    • Improve locate for labels' declarations in the current buffer.
      (#1505, fixes #1524)
    • Fix locate on module without implementation (#1522, fixes #1519)
    • Allow program name customization when merlin is used as a library. (#1532)
  • editor modes
    • vim: load the plugin when necessary if it wasn't loaded before (#1511)
    • emacs: update CI for newer releases and fix some warnings (#1454,
      @mattiase)
  • test suite
    • Add tests for constructors' documentation (#1511)
    • Add test cases for label comment documentation (#1526, @mheiber)
    • Add a test for the enclosing command (#1512)
    • Add tests for interactions between locate and record labels (#1505)
    • Add test showing an issue with locate and implicit transitive deps

4.7-413

24 Nov 09:25
Compare
Choose a tag to compare

CHANGES:

Thu Nov 24 13:31:42 CEST 2022

  • merlin binary
    • Replace custom "holes" AST nodes by extensions. This restores binary
      compatibility and fixes issues with PPXs when using typed-holes.
      (#1503)
    • Fix a parsing issue when declaring the (??) custom prefix operator.
      (#1507, fixes #1506)
    • Fix variant constructors' comments grouping (#1516, @mheiber, fixes #1513)
    • Filter-out duplicates from the enclosing command result (#1512)
  • editor modes
    • vim: load the plugin when necessary if it wasn't loaded before (#1511)
  • test suite
    • Add tests for constructors' documentation (#1511)
    • Add test cases for label comments documentation (#1526, @mheiber)
    • Add a test for the enclosing command (#1512)