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-10
stories 10

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

LiveView preserves caret in more input types, Elixir changes type projection and guards

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

Phoenix LiveView now keeps the caret and selection intact when a patch re-focuses search, url, tel, and password inputs, while Elixir tightened two long-standing type and pattern behaviors.

Phoenix LiveView fixed a long-standing focus bug for inputs beyond text and textarea. The `hasSelectionRange` check only accepted `text` and `textarea`, but `setSelectionRange` is also valid for `search`, `url`, `tel`, and `password`. When a patch re-focused one of those inputs, focus was restored but the caret and selection were not, leaving the cursor at the start. The change makes caret preservation work for all valid input types [1], and the commit landed alongside an assets update that rebuilds the bundled JavaScript [2].

On the Elixir side, José Valim changed how atom keys are projected into expected types: projection now happens only when there are no other unions present, closing issue #15858 [3]. This narrows type inference for maps and keyword lists with mixed union branches, so code that relied on the previous broader projection may see different type results.

Elixir also added support for guards after patterns, closing issue #15717 [4]. Previously, guards written after a pattern in certain constructs were not processed; they now are, which changes how matching clauses with post-pattern guards are evaluated and compiled.

No security fixes or breaking CVE patches landed in the last 24 hours. The LiveView caret fix [5] is the only user-visible behavior change in that repo.

Action items

References

  1. [1] Preserve caret for additional input types ↗ phoenixframework/phoenix_live_view
  2. [2] Update assets ↗ phoenixframework/phoenix_live_view
  3. [3] Only project atom keys into expected types if there are no other unions, closes #15858 ↗ elixir-lang/elixir
  4. [4] Process guards after patterns, closes #15717 ↗ elixir-lang/elixir
  5. [5] Preserve caret for additional input types (#4436) ↗ phoenixframework/phoenix_live_view

Quick answers

What shipped in Elixir & Phoenix on September 10, 2026?
Phoenix LiveView now keeps the caret and selection intact when a patch re-focuses search, url, tel, and password inputs, while Elixir tightened two long-standing type and pattern behaviors. In total, 6 commits and 4 pull requests landed.
Who contributed to Elixir & Phoenix on September 10, 2026?
3 developers shipped this update, including José Valim, lukaszsamson, and SteffenDE.
What were the notable Elixir & Phoenix updates?
Preserve caret for additional input types, Update assets, and Only project atom keys into expected types if there are no other unions, closes #15858.