$ cat elixir/week/2026-10-05.log
the week in review · Oct 5 – Oct 11, 2026
LiveView gains PubSub for LiveViews and components
By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology
Phoenix fastlanes PubSub over a behavior, requiring an intermediate 1.8.16 release before 1.9 upgrades.
PubSub integration for LiveViews and LiveComponents phoenixframework/phoenix_live_view
LiveViews and LiveComponents can now subscribe to PubSub directly rather than routing broadcasts through a parent process. The change depends on the phoenix_pubsub pull request it names, so the upgrade order matters more than the feature itself.
Use the PubSub.Sender behavior for fastlaning phoenixframework/phoenix
Phoenix moves PubSub dispatch onto a behavior so it can be fastlaned. The PR states that updating to 1.9 should be done with 1.8.16 or later in between.
Handle chunk push timeouts in uploads phoenixframework/phoenix_live_view
A slow chunk upload previously swallowed the client timeout and left the socket waiting on the server-side timeout when UploadChannel closed it. pushChunk now handles that timeout path, which matters if you tune upload timeouts to values shorter than the channel's own.
Respect live link target and download attributes on child clicks phoenixframework/phoenix_live_view
Clicks landing on a child element, such as a span or icon inside a link, no longer bypass target and download attributes: wantsNewTab missed them when the anchor itself was not the click target. This fixes named targets and downloads on patched links with nested markup.
Optimize String.chunk with uniform fast-path and sub-binary slicing elixir-lang/elixir
Uniform strings now return immediately as a single-element list, skipping the chunk loop and its allocations, and the fallback loop reuses the first decoded codepoint and classification. The win applies to the uniform case; mixed-content strings still take the existing path.
Avoid constructing unused Float rounding intermediates elixir-lang/elixir
Rounding half-up, floor, and ceil now use one shift and small-integer arithmetic instead of building quotient, remainder, and bignum masks. The PR reports up to 30% faster in some cases, with the benchmark in the description.
Collect deps for invalidation in a single pass elixir-lang/elixir
Dependency collection for invalidation now runs in a single pass with a MapSet tracking included apps, following the recent Mix.Dep.Converger topological-sort work. It replaces repeated scans of the dependency graph, which is the cost that shows up in larger umbrella builds.
Complete errored uploads and release form loading refs phoenixframework/phoenix_live_view
Errored uploads are now completed, and form loading refs are released, closing a case where an upload that failed left state behind. Alongside: the type-system sweep that removed dead code, the LexicalTracker.add_require/3 removal, the ChannelTest Socket.t spec fix, and xref outgoing count correction.
$ ls elixir/week/ # the briefings behind this review
Keep up with Elixir & Phoenix in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
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.