RepoJournal
Elixir & Phoenix Elixir & Phoenix
107 wires and counting

$ follow Elixir & Phoenix

Keep up with Elixir & Phoenix in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

$ status

wire 2026-09-14
stories 15

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

Elixir's typechecker stops crashing on non-Elixir structs, Phoenix unifies path validation

By RepoJournal · Filed · About Elixir & Phoenix · Composed from the cited sources · methodology

Elixir's 1.21.0-dev typechecker gets two fixes for warnings and crashes it was generating on its own, while Phoenix pulls its path and host handling into line across the endpoint and transport layers.

Fix typechecker crash on non elixir struct module in defimpl elixir-lang/elixir

by lukaszsamson

Defining a protocol implementation for a module outside Elixir, such as `defimpl OxP, for: :gen_server`, blew up compilation with `function :gen_server.__info__/1 is undefined or private` because the typechecker invoked it without checking it was exported first. The fix mimics the existing guard in `struct_info/6`, so modules that don't export `__info__/1` no longer take the compiler down with ...

unify path validation phoenixframework/phoenix

by SteffenDE

Steffen Deusch's change consolidates how Phoenix validates request paths so the endpoint and transport layers no longer apply separate rules. If you've been asserting on which layer rejects a malformed path, expect that behavior to converge.

Mark type-check macro expansions as generated elixir-lang/elixir

by shoutoutuoadi325

Since `%_{}` patterns became precise, the type-check macros leaked their own expansion warnings into user code, so `def uri?(%URI{} = uri), do: is_struct(uri)` warned that a clause "cannot match because the previous clauses already matched all possible values." Marking those expansions as generated silences warnings that came from the checker, not your code.

Optimize Keyword.split/2 with :lists.partition/2 elixir-lang/elixir

by claytongentry

Rails-level trivia: `Keyword.split/2` swaps its fold-and-reverse implementation for `:lists.partition/2`. Benchmarks across list sizes 0, 2, 5, 10 and 20 generally favor the candidate, though the author notes p99 timings were volatile and flip-flopped during measurement.

align nil host handling in endpoint and transport phoenixframework/phoenix

by SteffenDE

Related housekeeping: nil host handling in the endpoint and transport is now aligned, matching the same unification effort as the path validation work. Formatter suite warnings and the underlying commits round out a quiet stretch on the Elixir side.

Quick answers

What shipped in Elixir & Phoenix on September 14, 2026?
Elixir's 1.21.0-dev typechecker gets two fixes for warnings and crashes it was generating on its own, while Phoenix pulls its path and host handling into line across the endpoint and transport layers. In total, 10 commits and 5 pull requests landed.
Who contributed to Elixir & Phoenix on September 14, 2026?
5 developers shipped this update, including lukaszsamson, José Valim, claytongentry, shoutoutuoadi325, and SteffenDE.
What were the notable Elixir & Phoenix updates?
Fix typechecker crash on non elixir struct module in defimpl, unify path validation, and Mark type-check macro expansions as generated.