Skip to content

Releases: ocaml/ocaml-lsp

1.16.1

20 Jun 18:29
1f78031
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Support building with OCaml 5.0 and 5.1 (#1150)

1.16.0-4.14

18 Jun 14:39
16030d0
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Disable code lens by default. The support can be re-enabled by explicitly
    setting it in the configuration. (#1134)

  • Fix initilization of ocamlformat-rpc in some edge cases when ocamlformat is
    initialized concurrently (#1132)

  • Kill unnecessary $ dune ocaml-merlin with SIGTERM rather than SIGKILL
    (#1124)

  • Refactor comment parsing to use odoc-parser and cmarkit instead of
    octavius and omd (#1088)

    This allows users who migrated to omd 2.X to install ocaml-lsp-server in the
    same opam switch.

    We also slightly improved markdown generation support and fixed a couple in
    the generation of inline heading and module types.

  • Allow opening documents that were already open. This is a workaround for
    neovim's lsp client (#1067)

  • Disable type annotation for functions (#1054)

  • Respect codeActionLiteralSupport capability (#1046)

  • Fix a document syncing issue when utf-16 is the position encoding (#1004)

  • Disable "Type-annotate" action for code that is already annotated.
    (#1037), fixes
    #1036

  • Fix semantic highlighting of long identifiers when using preprocessors
    (#1049, fixes
    #1034)

  • Fix the type of DocumentSelector in cram document registration (#1068)

  • Accept the --clientProcessId command line argument. (#1074)

  • Accept --port as a synonym for --socket. (#1075)

  • Fix connecting to dune rpc on Windows. (#1080)

Features

  • Add "Remove type annotation" code action. (#1039)

  • Support settings through didChangeConfiguration notification (#1103)

  • Add "Extract local" and "Extract function" code actions. (#870)

  • Depend directly on merlin-lib 4.9 (#1070)

1.15.1-5.0

19 Jan 08:10
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Fix race condition when a document was being edited and dune in watch mode was
    running (#1005, fixes
    #941,
    #1003)

1.15.1-4.14

19 Jan 08:04
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Fix race condition when a document was being edited and dune in watch mode was
    running (#1005, fixes
    #941,
    #1003)

1.15.0-5.0

07 Jan 16:08
Compare
Choose a tag to compare

CHANGES:

Features

  • Add support for OCaml 5.0

  • Enable semantic highlighting
    support by default (#933)

  • Support connecting over pipes and socket. Pipes on Windows aren't yet
    supported (#946)

    More
    about communication channels in LSP specification.

  • Re-enable ocamlformat-rpc for formatting code snippets (but not files and
    not on Windows) (#920, #939)

    One needs to have installed either ocamlformat package version > 0.21.0 or,
    otherwise, ocamlformat-rpc package. Note that previously ocamlformat-rpc
    came in a standalone OPAM package, but since ocamlformat version > 0.21.0,
    it comes within ocamlformat package.

  • Add custom
    ocamllsp/hoverExtended
    request (#561)

  • Support utf-8 position encoding clients (#919)

    More about position encoding in LSP specification.

  • Show unwrapped module alias types on hovering over module names. This is due
    to upgrading to merlin 4.7 and using merlin's verbosity=smart by default
    (#942)

Fixes

  • Respect the client's completion item resolve and preSelect capabilities
    (#925, #936)

  • Disable polling for dune's watch mode on Windows and OCaml 4.14.0 (#935)

  • Fix semantic highlighting of "long identifiers," e.g., Foo.Bar.x (#932)

  • Fix syncing of document contents:

    • For ranges that span an entire line (#927)
    • Previously, whole line edits would incorrectly eat the newline characters (#971)

1.15.0-4.14

07 Jan 15:58
Compare
Choose a tag to compare

CHANGES:

Features

  • Enable semantic highlighting
    support by default (#933)

  • Support connecting over pipes and socket. Pipes on Windows aren't yet
    supported (#946)

    More
    about communication channels in LSP specification.

  • Re-enable ocamlformat-rpc for formatting code snippets (but not files and
    not on Windows) (#920, #939)

    One needs to have installed either ocamlformat package version > 0.21.0 or,
    otherwise, ocamlformat-rpc package. Note that previously ocamlformat-rpc
    came in a standalone OPAM package, but since ocamlformat version > 0.21.0,
    it comes within ocamlformat package.

  • Add custom
    ocamllsp/hoverExtended
    request (#561)

  • Support utf-8 position encoding clients (#919)

    More about position encoding in LSP specification.

  • Show unwrapped module alias types on hovering over module names. This is due
    to upgrading to merlin 4.7 and using merlin's verbosity=smart by default
    (#942)

Fixes

  • Respect the client's completion item resolve and preSelect capabilities
    (#925, #936)

  • Disable polling for dune's watch mode on Windows and OCaml 4.14.0 (#935)

  • Fix semantic highlighting of "long identifiers," e.g., Foo.Bar.x (#932)

  • Fix syncing of document contents:

    • For ranges that span an entire line (#927)
    • Previously, whole line edits would incorrectly eat the newline characters (#971)

1.15.0+5.0preview1

16 Dec 20:09
Compare
Choose a tag to compare

CHANGES:

Features

  • Add support for OCaml 5.0

  • Semantic highlighting support is enabled by default (#933)

  • Re-enable ocamlformat-rpc for formatting code snippets (but not files) (#920, #939)

    One needs to have either ocamlformat version > 0.21.0 or, otherwise,
    ocamlformat-rpc package installed.

  • Add custom ocamllsp/hoverExtended request (#561)

  • Support utf-8 position encoding clients (#919)

  • Upgrade to merlin 4.7 and use merlin's verbosity=smart by default, which
    allows unwrapping module alias types (#942)

Fixes

  • Fix document syncing for ranges that span an entire line (#927)

  • Respect the client's completion item resolve and preSelect capabilities
    (#925, #936)

  • Disable polling for dune's watch mode on Windows and OCaml 4.14.0 (#935)

  • Fix semantic highlighting of "long identifiers," e.g., Foo.Bar.x (#932)

1.14.2

06 Nov 00:08
ca836e9
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Fix random requests failing after switching documents (#904, fixes #898)

  • Do not offer related diagnostic information unless the user enables in client
    capabilities (#905)

  • Do not offer diagnostic tags unless the client supports them (#909)

  • Do not attach extra data to diagnostics unless the client supports this
    (#910)

  • Use /bin/sh instead of /bin/bash. This fixes ocamllsp on NixOS

1.14.1

21 Oct 00:29
5e6b3c9
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Fix various server crashes when opening non OCaml/Reason files. Files such as
    dune, cram, etc. would cause the server to crash. (#884, fixes #871)

  • Ignore unknown tags in merlin configuration to improve forward compatibility
    with Dune. (#883)

1.14.0

15 Oct 01:17
Compare
Choose a tag to compare

CHANGES:

Features

  • Code action for inlining let bindings within a module or expression. (#847)

  • Tag "unused code" and "deprecated" warnings, allowing clients to better
    display them. (#848)

  • Refresh merlin configuration after every dune build in watch mode (#853)

Fixes

  • Respect showDocument capabilities. Do not offer commands or code actions
    that rely on this request without client support. (#836)

  • Fix signatureHelp on .mll files: avoid "Document.dune" exceptions