Skip to content

Release v0.24.0

Compare
Choose a tag to compare
@github-actions github-actions released this 06 Oct 20:22

v0.24.0: 6 October 2024

Highlights

  • Local file code intelligence engine provided by elixir_sense library has been rewritten from scratch using new elixir 1.17 Macro.Env APIs. The new APIs has been backported to earlier elixir versions 1.13 - 1.16. The new engine expands and traverses elixir AST in a way that mirrors the elixir compiler behavior. As a result, ElixirLS is able to more accurately infer aliases/imports/requires, track variable/attribute definitions and usage, track calls, defined functions, modules and typespecs. It is now also able to expand some macros. All that information is used for completions, navigation to definition, finding references and other LSP operations requiring understanding of elixir code.
    Limitations: The new engine does not expand local macros, and support for dynamically defined functions, modules, and typespecs (including those with unquote fragments) is partial.

Improvements

  • vendored dialyxir updated to v1.4.4
  • vendored jason updated to v1.4.4
  • guard type inference is now smarter and better handle various guard expressions

Fixes

  • fixed crash when analyzing types in guard with map

Breaking changes

  • elixir 1.12 reached end of life and is no longer supported. ElixirLS will fail to start on versions lower than 1.13. Consider updating to 1.13+ or use v0.23
  • Deprecated ez archives release mode is no longer supported. It never worked with elixir 1.16+