Elixir v1.17.3 released

1. Bug fixes

Elixir

  • [Duration] Fix parsing of fractional durations with non-positive seconds
  • [Kernel] Do not attempt to group module warnings when they have a large context

IEx

  • [IEx.Helpers] Properly reconsolidate protocols on recompile

Mix

  • [mix compile.elixir] Do not verify modules twice
  • [mix xref] Respect the --label option on stats and cycles
30 Likes

Thank you very much for the release!

Some tests do not pass under Erlang 27.1 (I’m current maintainer of Erlang, Elixir and their friends for Guix System), everything else seems to be fine. What could be wrong?

  1) test translates Supervisor progress with name (Logger.TranslatorTest)
     test/logger/translator_test.exs:963
     Assertion with =~ failed
     code:  assert capture_log(:info, fn ->
              ref = Process.monitor(pid)
              Supervisor.start_child(pid, worker(Task, [__MODULE__, :sleep, [self()]]))
              Process.exit(pid, :normal)

              receive do
                {:DOWN, ^ref, _, _, _} -> :ok
              end
            end) =~ ~r"\[info\] Child Task of Supervisor Logger.TranslatorTest started
            "
     left:  ""
     right: ~r/\[info\] Child Task of Supervisor Logger.TranslatorTest started\n/
     stacktrace:
       test/logger/translator_test.exs:966: (test)

  2) test translates Supervisor progress (Logger.TranslatorTest)
     test/logger/translator_test.exs:948
     Assertion with =~ failed
     code:  assert capture_log(:info, fn ->
              ref = Process.monitor(pid)
              Supervisor.start_child(pid, worker(Task, [__MODULE__, :sleep, [self()]]))
              Process.exit(pid, :normal)

              receive do
                {:DOWN, ^ref, _, _, _} -> :ok
              end
            end) =~ ~r"\[info\] Child Task of Supervisor #PID<\d+\.\d+\.\d+> \(Supervisor\.Default\) started
            Pid: #PID<\d+\.\d+\.\d+>
            Start Call: Task.start_link\(Logger.TranslatorTest, :sleep, \[#PID<\d+\.\d+\.\d+>\]\)
            "
     left:  ""
     right: ~r/\[info\] Child Task of Supervisor #PID<\d+\.\d+\.\d+> \(Supervisor\.Default\) started\nPid: #PID<\d+\.\d+\.\d+>\nStart Call: Task.start_link\(Logger.TranslatorTest, :sleep, \[#PID<\d+\.\d+\.\d+>\]\)\n/
     stacktrace:
       test/logger/translator_test.exs:951: (test)
4 Likes

I believe Erlang changes the level of those reports from info to debug. Other than that, we should be all good.

4 Likes

I have submitted a tiny PR which fixes the failing tests.

7 Likes