RepoJournal
Elixir & Phoenix Elixir & Phoenix
138 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-07-15
stories 16

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

ELIXIR FIXES ENUM SORTER BUG THAT BROKE CUSTOM COMPARATORS

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

Enum.min and Enum.max were silently returning wrong results when you passed a custom sorter on ranges, and the core team just caught it.

The bug [1] is subtle but brutal: range comparisons only looked at endpoints, which works fine for natural ordering but fails completely with custom sorters. Pass `Enum.max(1..10, fn a, b -> rem(a, 5) >= rem(b, 5) end)` and you'd get 1 instead of 4. The fix now applies the custom sorter properly across the full range. Separately, three smaller but important fixes landed overnight. Duration specs [2] were incorrectly typed to forbid negative microsecond values, even though the module's own doctests produce them. Map.from_struct [4] had a typecheck issue that's now resolved. IEx completion [3] was crashing when maps contained non-atom keys, a common pattern that should never blow up the REPL.

Quick answers

What shipped in Elixir & Phoenix on July 15, 2026?
Enum.min and Enum.max were silently returning wrong results when you passed a custom sorter on ranges, and the core team just caught it. In total, 8 commits and 8 pull requests landed.
Who contributed to Elixir & Phoenix on July 15, 2026?
2 developers shipped this update, including AlexGx and pnezis.
What were the notable Elixir & Phoenix updates?
Fix `Enum.min/2,3` and `Enum.max/2,3` with a custom sorter on ranges, Fix `Duration` specs to allow negative microsecond values (#15611), and Fix IEx completion crash on maps with non-atom keys (#15612).