Skip to main content

Elixir 1.20.2

Release Date: June 23, 2026

Elixir 1.20.2 has been released — the second patch release in the v1.20 series, focused on type system refinements, compiler optimizations, and bug fixes. This release builds on the landmark v1.20.0 which introduced gradual typing to the Elixir ecosystem.

Overview

Elixir 1.20.2 was released on June 23, 2026, as a maintenance update to the v1.20 branch. It requires Erlang/OTP 27+ and is compatible with Erlang/OTP 29. The release addresses several type system edge cases discovered since v1.20.0 and improves developer experience through better error messages and compiler performance.

Enhancements

Kernel.ParallelCompiler — When compiler profiling is enabled with profile: :time, per-module type checking times are now included in the output. This gives developers finer-grained insight into which modules are slowing down their compilation pipeline, making it easier to identify and optimize type-heavy code.

Bug Fixes — Elixir Core

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

Bug Fixes — Mix

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

Deprecations

No new deprecations are introduced in Elixir 1.20.2. All deprecations from v1.20.0 remain in effect. Users are encouraged to review the v1.20 upgrade guide for the full list of deprecated functions.

Upgrade Notes

To upgrade an existing Elixir project, update your dependency to 1.20.2 in your mix.exs or use your version manager of choice. The Elixir team recommends running mix test and mix dialyzer after upgrading to catch any type regressions.

Elixir 1.20.2 is available now via the official installer, asdf, and all major package managers. Visit elixir-lang.org for download instructions.

What is New?

By continuing to use the site, you agree to the use of cookies.