RepoJournal

$ cat elixir/week/2026-09-28.log

Elixir & Phoenix

Elixir & Phoenix

the week in review · Sep 28 – Oct 4, 2026

Ecto maps insert_all fields through destination schema

By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology

♥

The fix lands alongside an Elixir type-system change for list subtraction and a batch of LiveView form and upload corrections.

22 commits 20 PRs merged 6 briefings covered

all elixir reviews →

Map `insert_all` source fields through the destination schema elixir-ecto/ecto

by lukaszsamson

Ecto now maps selected fields through the destination schema and keeps headers aligned with the source select list, so renamed columns and `writeable: true` are respected instead of silently ignored. The PR also hardens checks against duplicate projections and other unsupported cases.

Preserve left element types in list subtraction elixir-lang/elixir

by lukaszsamson

The type system now knows list `--` returns a possibly empty sublist of its left operand, while both operands still have to be proper lists. Code that pattern-matches on the result of subtraction should typecheck where it previously did not.

Fix form recovery completion ordering phoenixframework/phoenix_live_view

by lukaszsamson

The mount patch callback now runs after every form recovery completes, not just the last item in the array. Previous behavior tracked completion of that single entry, so out-of-order recoveries could fire the callback early.

Wait for all ancestor locks before auto-upload phoenixframework/phoenix_live_view

by lukaszsamson

Auto-upload could start while a file input sat inside a locked ancestor, because `onUnlock` waited only for the nearest lock. LiveView now rechecks after each unlock and starts the callback only once the full ancestor chain is unlocked.

Make DateTime handling in cast consistent with Elixir's standard library elixir-ecto/ecto

by José Valim

A revert of two prior changes brings DateTime handling in `cast` back in line with the standard library. Worth a look if you adapted code around the interim behavior.

Fix LiveView unload for submitter formtarget phoenixframework/phoenix_live_view

by lukaszsamson

`DOM.isUnloadableFormSubmit` now checks the submitter's `formtarget` override, not just the form element. Forms submitted with `formtarget="_blank"` no longer unload the LiveView.

Avoid repeated dependency scans in nested Mix projects elixir-lang/elixir

by claytongentry

Loading dependencies for a nested project no longer rescans the root project's cached dependencies for each level of children; the cache is already topologically sorted, so the extra passes and filtering were redundant. Large umbrella trees with many nested projects pay for this the most.

Avoid UTF-8 re-encoding in StringIO character reads elixir-lang/elixir

by preciz

Character reads in StringIO drop a re-encoding pass that rebuilt the accumulator from the binary. The author reports a 1.2 to 1.3x speedup with no regression and lower memory, measured locally across input types including Asian strings.

$ 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.

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.

all elixir reviews →