Elixir v1.16.3 released

1. Bug fixes

Elixir

  • [bin/elixir] Properly handle the --dbg flag in Elixir’s CLI
  • [Code.Formatter] Add brackets around keyword lists when formatting the left-hand side of when
  • [Kernel] Only infer size in pinned variable in binary strings when needed
  • [System] Add a note that arguments are unsafe when invoking .bat/.com scripts on Windows via System.cmd/3
  • [Port] Add a note that arguments are unsafe when invoking .bat/.com scripts on Windows
  • [URI] Ensure :undefined fields are properly converted to nil when invoking Erlang’s API

Logger

  • [Logger] Ensure translators are persisted across logger restarts

Mix

  • [mix compile] Ensure compile paths are accessible during compilation
16 Likes

Oh, I was thinking that next patch release would contain minimum changes for Erlang 27 support. So far I have installed ref:main using asdf and all tests have passed, so it shouldn’t be hard, right? Is it planned for v1.16.4?

So far I have installed ref:main using asdf and all tests have passed, so it shouldn’t be hard, right? Is it planned for v1.16.4?

Unfortunately the answer is no.

main is the future 1.17, which will be the first version to support OTP27. You can check the compatibility matrix here.

I don’t recall exactly the issue, but 1.16 can’t support both OTP24 and OTP27 at the same time, so we first have to wait for 1.17 which drops OTP24 support.

9 Likes

Erlang guarantees byte code compatibility across 3 versions. So we can’t provide precompiled Rebar and Hex that works from 24 all the way up to 27 (sometimes we can, but not this time). The fix would be to precompile several versions of them, we want to do for future releases.

16 Likes

:pray: :pray: :pray: :clap: :clap: :clap: :tada: :partying_face: