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-07-09
stories 16

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

ECTO FIXES CRITICAL SPLICE BUG, PHOENIX ADOPTS BOB FOR DOCKER IMAGES

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

Ecto shipped a fix for a long-standing splice parameter bug that was causing placeholder mismatches in dynamic expressions, while Phoenix moved to Bob's API for smarter Docker image selection in release generation.

Ecto's dynamic expression builder had a nasty problem: when splicing parameters, the postwalker appended the same parameter multiple times per placeholder occurrence, resulting in k placeholders generating k copies of parameters and broken bindings [1]. The fix recurses through splices into a map on first occurrence, so subsequent placeholders reuse the param instead of duplicating it [1]. That same release also tackles a data-modifying CTE planner cache traversal issue [2] that could corrupt query state. On the Phoenix side, `phx.gen.release` now uses Bob's API instead of hardcoded Docker image logic [3], which means generated Dockerfiles will automatically pull the optimal image for your target architecture and Elixir version. Phoenix also shipped Seenode deployment support [4], adding it as a first-class option alongside existing platforms. The Elixir repo meanwhile corrected documentation inconsistencies: `IO.read/2` docs incorrectly claimed the count argument was in bytes when it counts characters [5], and `MapSet.split_with/2` had a copy-pasted doctest that passed a two-element tuple to a single-argument predicate [6].

Action items

References

  1. [1] Fix splice params in dynamic expressions ↗ elixir-ecto/ecto
  2. [2] Fix data-modifying CTE planner cache traversal ↗ elixir-ecto/ecto
  3. [3] use Bob API for finding best docker image in phx.gen.release ↗ phoenixframework/phoenix
  4. [4] Add Seenode support to Phoenix deployment guide ↗ phoenixframework/phoenix
  5. [5] Fix `IO.read/2` docs: integer count is in characters, not bytes ↗ elixir-lang/elixir
  6. [6] Align `Access.filter/1` spec with its truthy semantics ↗ elixir-lang/elixir

Quick answers

What shipped in Elixir & Phoenix on July 9, 2026?
Ecto shipped a fix for a long-standing splice parameter bug that was causing placeholder mismatches in dynamic expressions, while Phoenix moved to Bob's API for smarter Docker image selection in release generation. In total, 8 commits and 8 pull requests landed.
Who contributed to Elixir & Phoenix on July 9, 2026?
4 developers shipped this update, including lukaszsamson, SteffenDE, GeoSegun, and nseaSeb.
What were the notable Elixir & Phoenix updates?
Fix splice params in dynamic expressions, Fix data-modifying CTE planner cache traversal, and use Bob API for finding best docker image in phx.gen.release.