Elixir v1.13.3 released

Release: https://github.com/elixir-lang/elixir/releases/tag/v1.13.3

1. Enhancements

Mix

  • [mix format] Supply file and line to formatter plugins
  • [mix format] Support embedded Elixir expressions inside formatter plugins

2. Bug fixes

Elixir

  • [Code] Fix duplicate bindings causing errors during evaluation
  • [Kernel] Make sure signatures stored in the Documentation chunk does not contain newlines
  • [Kernel] Fix infinite loop when compiling guards with recursive map access
  • [Macro] Fix error on Macro.to_string/1 when the plain alias Elixir is given
  • [String] Fix error for certain codepoint combinations in String.split_at/2

Mix

  • [mix compile] Recompile project files when exports from dependencies change
  • [mix test] Fix total coverage always showing in red even when above the threshold

Checksums

  • Precompiled.zip SHA1: 7a2d0ff13beadcba3f566d692d960dcd785df5c8
  • Precompiled.zip SHA512: 93132c03a16479cfd48c509e2c5ee145b9062d77d528ac2eaeae460f4349f138286f14d34a1ee884e6c76081fe1bf52d27788b944ef06feaa40c07bec41a0a27
  • Docs.zip SHA1: e1110f7a791483a09914ab364ea283cf890f3157
  • Docs.zip SHA512: c477ba1bf10dd009f3c295e1c70f5272b7df3525edbd3f9ee0ae71eef49933c7a19a264cb9fa7eae4fa82d9c393c59e0f2e39b99b16b7ca6cd413f1c7d96d9a2
63 Likes

Thank you :slight_smile:

2 Likes

Oh! What a pleasure it is to watch the ugly HTML snippets written inside the ~H sigil to be formatted on save in VS Code. Thanks a lot @josevalim .
One question though. html.heex files are not getting formatted automatically. I am running mix format still. Is it file association the issue? Should I be adding heex files also to be elixir files now?

1 Like

This is probably an editor configuration. You need to teach it to run mix format or similar.

1 Like

I am using VS Code and for elixir support I am using elixir-lsp/vscode-elixir-ls: (github.com) and under the hood vscode-elixir-ls (github.com) is used.
So, the regular elixir code was getting formatted on save, if we set editor.formatOnSave=true in the VS Code settings. Even after the release of elixir 1.13, the sigils and the heex files are not getting formatted. I have asked in the vscode-elixir-ls repository How does this format the file? · Discussion #224 · elixir-lsp/vscode-elixir-ls (github.com) a question regarding this. @axelson has been very receptive and responded back. An issue Feature Request: Support mix format plugins · Issue #660 · elixir-lsp/elixir-ls (github.com) to this effect has been created as well. The main issue of contention has been elixir-ls does not use mix format but uses its own function.
However, with the release of elixir 1.13.3 suddenly, the formatting in the ~H sigil started working in all *.ex files.
I think the reason heex files are not getting formatted because they are not associated with elixir-ls extension. If they are, most likely, they also will be getting automatically formatted.
I do think not just vs-code, all the editors elixir-lsp/elixir-ls: (github.com) listed here should get the benefit of automatic formatting.

2 Likes

Thank you Jose and team! We are running 1.13.3 on prod now and all good on our end. We love Elixir, crazy I been using it since 2016 over a stranger on reddit just giving away a ticket to Orlando’s elixirconf. He radically changed my life and he probably doesn’t even know it. :smiley:

8 Likes

Is there an .heex formatter now? I got excited reading this thread, but it doesn’t appear to work out of the box, and I can’t find any documentation or sign of a formatter plugin in the Phoenix repo.

1 Like

Here it is feliperenan/heex_formatter: Formatter for Phoenix Live View templates. (github.com)

3 Likes