|
1 | 1 | ### Unreleased
|
2 | 2 |
|
| 3 | +### v0.17.0: x October 2023 |
| 4 | + |
| 5 | +#### Highlights |
| 6 | + |
| 7 | +- Language Server now emit parser errors and warnings on type in .ex, .exs and .eex files |
| 8 | +- Language Server provides better completions for elixir reserved words. Thanks [Kevin Kalb](https://github.com/kkalb) for initial work |
| 9 | +- Debugger now automatically breaks on `Kernel.dbg` macro. This allows inspecting variables, evaluating expressions and stepping through piped function calls. A setting `breakOnDbg` defaulting to `true` can be used to turn off that behaviour |
| 10 | +- Progress reports and cancel support added in debugger. This can be used to terminate long running evaluate requests. |
| 11 | +- Improved rendering of documentation in hover provider |
| 12 | +- Improved support for Unicode identifiers and atoms. Elixir supports Unicode identifiers since v1.5 and now all ElixirLS features should work with them |
| 13 | + |
| 14 | +#### Improvements |
| 15 | + |
| 16 | +- Added support for fish shell [Sergey Kislyakov](https://github.com/Defman21) |
| 17 | +- Consistently render parens for basic types in Suggest Contracts Code Lense and markdown |
| 18 | +- Debugger should now be better at handling some common crashes |
| 19 | +- Debugger now optimistically translates erlang versioned variable names to elixir names |
| 20 | +- Debugger emits better warnings when modules cannot be interpreted |
| 21 | +- Debugger can be launched with `"noDebug": true`. This allows `Run Without Debugging` in VSCode |
| 22 | +- Debugger will now emit exit code via `exited` DAP event. This allows tracking mix task result in debug session e.g. when running tests |
| 23 | +- New setting added to debugger `exitAfterTaskReturns`, defaulting to `true` - controls wether to end debug session when mix task returns |
| 24 | +- Language server will now reset cwd to project root after interrupted build |
| 25 | +- All ElixirLS dependencies are now vendored and should not conflict with client project dependencies |
| 26 | +- ElixirLS unloads deps used during startup and compilation |
| 27 | +- *nix launch scripts has been refactored and split into dedicated bash, fish, zsh [Florian Neumann](https://github.com/florianb) |
| 28 | +- A workaround for elixir formatter accidentally compiling the project has been implemented |
| 29 | +- Language fences added in complete/signature/hover provided markdown fragments |
| 30 | +- Language server stability should be improved by unloading project's applications. This works around elixir not updating application controller state after recompilation |
| 31 | +- Completions provider is now able to suggest keyword params on macros. Previously only functions was supported |
| 32 | +- Added `float` to list of bitstring modifiers in completions provider |
| 33 | + |
| 34 | +#### Fixes |
| 35 | + |
| 36 | +- Debugger will not allow mix task with a `/` |
| 37 | +- A bug preventing `do` completion when there's a whitespace after cursor has been fixed |
| 38 | +- Document symbol provider will not crash when unable to get selection location for AST node |
| 39 | +- Signature provider now highlights the correct parameter in calls with default arguments when default arguments are not after required ones |
| 40 | +- Completions now work correctly after Unicode characters |
| 41 | +- Do not error if client returns `null` to `workspace/configuration` reverse request |
| 42 | +- Fixed a crash when getting a parameter name from complex parameter type. This bug made completions on `:pg` module fail. |
| 43 | +- Fixed invalid aliases in scope inference when a submodule `__MODULE__.Some` is used |
| 44 | + |
| 45 | +#### Potential incompatibilities |
| 46 | + |
| 47 | +- Debugger will terminate the debug session and return result code when mix task returns. Previously, debugger would continue running. If the new behavior is not wanted, please set `exitAfterTaskReturns` to `false` in your launch configuration |
| 48 | +- `debugExpressionTimeoutMs` debugger launch configuration setting no longer has any effect. DAP `cancel` request can now be used to terminate long running debugger evaluate requests. |
| 49 | +- Debugger will now auto break on `Kernel.dbg` macro. If this is not intended consider setting `breakOnDbg` to `false` in your launch configuration |
| 50 | + |
3 | 51 | ### v0.16.0: 19 August 2023
|
4 | 52 |
|
5 | 53 | #### Highlights
|
|
0 commit comments