github elixir-lang/elixir v1.20.2

latest release: main-latest
2 hours ago

1. Enhancements

Elixir

  • [Kernel.ParallelCompiler] Include per-module type checking times when compiler profiling is enabled with profile: :time

2. Bug fixes

Elixir

  • [Kernel] Fix binary comprehensions with sizes when options such as :uniq or :into are used
  • [Kernel] Improve compiler error messages when quote with unquote is used inside a pattern or guard
  • [Kernel] Restore the compiler optimization of Kernel.put_elem/3 to emit :erlang.setelement/3
  • [Module] Fix type checking when applying an empty function type
  • [Module] Fix type checking of bitstring patterns that reuse variables
  • [Module] Fix type information for __info__(:struct) to include the :required key
  • [Module] Fix type operations on map and optional keys during difference/intersection, including open keys and empty intersections
  • [Module] Fix typing of list types involving dynamic or empty lists
  • [Module] Include bitstrings as a possible domain key in the type system
  • [Module] Preserve file metadata from each clause in type system warnings
  • [Module] Fix type warnings for protocol implementations whose protocol module defines additional callbacks
  • [Module] Raise clearer type checking errors when an expected struct is removed or redefined during compilation

Mix

  • [mix compile] Avoid unnecessary umbrella recompilation when a path dependency's manifest is newer but unchanged
  • [mix deps.compile] Recompile fetched dependencies when their compile-time environment changes

Don't miss a new elixir release

NewReleases is sending notifications on new releases.