The Wire · Showcase
ELIXIR FIXES BINARY COMPREHENSION REGRESSION, ACCESS MODULE GAINS KEYWORD SUPPORT
By RepoJournal · Filed · About Elixir & Phoenix
Elixir shipped fixes for a critical binary comprehension bug that broke pattern matching with options, while expanding the Access module to handle keyword lists alongside maps.
The binary comprehension regression [1] addressed a broken optimization that caused incorrect results when using the `uniq: true` option with pinned variables and operations in bitstring patterns. This fix [2] restores consistency across static sizes, pinned variable sizes, and operations, ensuring `for` loops with bin patterns behave predictably across all input scenarios. Separately, `Access.key/2` and `Access.key!/1` now support keyword lists [3] [4], expanding the module's utility beyond maps and bringing API consistency across different data structure types. Phoenix tightened ColocatedCSS requirements [5], now explicitly requiring tailwind >= 0.5 to prevent new apps from shipping in an unsupported state. The framework also refactored CI to isolate installer tests [6] [7], decoupling the installer's Elixir version matrix from Phoenix's library support matrix, fixing duplicate test runs during CI. A small but important win: `Kernel.put_elem/3` missed an optimization pass [8] that's now corrected for better performance on tuple updates.
Action items
- → Pull the binary comprehension fix immediately if you use bitstring patterns with options elixir-lang/elixir [immediate]
- → Update Phoenix to 1.8.8+ if using ColocatedCSS; verify tailwind >= 0.5 in your deps phoenixframework/phoenix [plan]
- → Monitor CI pipeline if you maintain custom installer tooling; Phoenix's test matrix split may affect your builds phoenixframework/phoenix [monitor]
References
- [1] Fix bin comprehensions when option is used ↗ elixir-lang/elixir
- [2] Fix bin comprehensions when option is used (#15473) elixir-lang/elixir
- [3] Add support for keyword lists in Access.key/2 and Access.key!/1 ↗ elixir-lang/elixir
- [4] Add support for keyword lists in Access.key/2 and Access.key!/1 (#15470) elixir-lang/elixir
- [5] Explicitly require :tailwind >= 0.5 for ColocatedCSS (#6731) phoenixframework/phoenix
- [6] Refactor CI workflow to isolate installer tests ↗ phoenixframework/phoenix
- [7] Refactor CI workflow to isolate installer tests (#6725) phoenixframework/phoenix
- [8] Fix missed optimization of `Kernel.put_elem/3` (#15480) elixir-lang/elixir
FAQ
- What changed in Elixir & Phoenix on June 16, 2026?
- Elixir shipped fixes for a critical binary comprehension bug that broke pattern matching with options, while expanding the Access module to handle keyword lists alongside maps.
- What should Elixir & Phoenix teams do about it?
- Pull the binary comprehension fix immediately if you use bitstring patterns with options • Update Phoenix to 1.8.8+ if using ColocatedCSS; verify tailwind >= 0.5 in your deps • Monitor CI pipeline if you maintain custom installer tooling; Phoenix's test matrix split may affect your builds
- Which Elixir & Phoenix repositories shipped on June 16, 2026?
- elixir-lang/elixir, phoenixframework/phoenix