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

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

Base validation regression fixed, formatter comments stay put

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

Elixir repaired the large-input slowdown its own SWAR rewrite introduced in Base32 and Base64 validation, and the formatter stopped duplicating operator comments it started misplacing after a recent change.

Fix large-input regressions in Base validation elixir-lang/elixir

by preciz

Stepping by 8 bytes extracted an extra byte and ran valid_char?/1 on every stride, which was slower on large inputs than the pure 7-byte SWAR path. The fix checks the length remainder modulo 4 (Base64) or 8 (Base32) once at entry, recovering large-input throughput while also improving small and medium inputs, with fewer LOC and a smaller .beam.

Keep formatter output stable with comments elixir-lang/elixir

by mandar1045

Since a recent change a comment can attach to the leftmost operand of an operator, so the formatter printed it mid-expression and moved it again on the next run. Comments now pop together with the operator and land before the whole expression, and fn and (a, b -> c) clauses break onto their own line when their arguments carry comments, so runs are idempotent again.

Don't treat code 1000 as special phoenixframework/phoenix

by SteffenDE

Close code 1000 was treated as the signal for the documented "disconnect" broadcast to stop the browser reconnecting, but that code is not always under your control: a middleware closing with 1000 left the browser permanently disconnected. Phoenix no longer special-cases 1000, so verify any client relying on that convention before upgrading.

Revert cancelled popstate navigation by the traversed distance phoenixframework/phoenix_live_view

by aptinio

When phx:before-navigate cancels a history traversal, the popstate handler reverted with a single history.back() or history.forward() chosen from state.position. Fragment entries and entries pushed by other scripts have no position, so a traversal crossing one reverted the wrong way and bounced between two entries; it now reverts by the traversed distance.

Only spawn tasks if more than one core elixir-ecto/ecto

by José Valim

Ecto now spawns tasks only when the machine has more than one core, avoiding pointless task overhead on single-core hosts; ExUnit.CaptureLog also picked up a documentation rewrite that makes its concurrent-log test actually concurrent and demonstrates running a fun once and asserting against the captured log repeatedly.

Quick answers

What shipped in Elixir & Phoenix on October 21, 2026?
Elixir repaired the large-input slowdown its own SWAR rewrite introduced in Base32 and Base64 validation, and the formatter stopped duplicating operator comments it started misplacing after a recent change. In total, 9 commits, 5 pull requests, and 2 releases landed.
Who contributed to Elixir & Phoenix on October 21, 2026?
6 developers shipped this update, including preciz, mandar1045, novaugust, SteffenDE, aptinio, and José Valim.
What were the notable Elixir & Phoenix updates?
Fix large-input regressions in Base validation, Keep formatter output stable with comments, and Don't treat code 1000 as special.