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

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

Faster Range.disjoint?, LiveUploader trims copies, Ecto filter/2 docs corrected

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

Elixir's Range.disjoint?/2 now finds intersections with modulo instead of floor divisions, and Phoenix LiveView removes redundant array copies in LiveUploader, while Ecto documents that filter/2 has limited database support.

Range.disjoint?/2 was rewritten to find the first intersection using modulo in the later progression, dropping floor divisions and redundant bounds checks [1]. The same change is described as doing less math with the same result, and is expected to run around 1.3x faster [2]. This is internal arithmetic in a hot path, not a new API.

Alongside that, José Valim landed a safe_relative_to deprecation in Elixir [3] and added a --coverage-format text option with agentic usage instructions [4]. If your tooling parses coverage output, the new text format option is the one to check; the deprecation is the one to watch for warnings.

In Phoenix LiveView, redundant array copies were removed from LiveUploader [5], and the assets were updated [6]. Ecto, meanwhile, updated the filter/2 docs to note limited database support [7]. If you use filter/2 in code that runs against more than one database, the docs now say so plainly.

No security fixes and no breaking changes are in this batch. The performance work in Range.disjoint?/2 and LiveUploader is the substance; the Ecto note is a documentation correction that prevents a wrong assumption.

Action items

References

  1. [1] Simplify Range.disjoint?/2 intersection arithmetic (#15884) ↗ elixir-lang/elixir
  2. [2] Simplify Range.disjoint?/2 intersection arithmetic ↗ elixir-lang/elixir
  3. [3] Add safe_relative_to deprecation ↗ elixir-lang/elixir
  4. [4] Add --coverage-format text option and agentic usage instructions ↗ elixir-lang/elixir
  5. [5] Remove redundant array copies in LiveUploader (#4439) ↗ phoenixframework/phoenix_live_view
  6. [6] Update assets ↗ phoenixframework/phoenix_live_view
  7. [7] Update filter/2 docs to note limited database support (#4791) ↗ elixir-ecto/ecto

Quick answers

What shipped in Elixir & Phoenix on September 12, 2026?
Elixir's Range.disjoint?/2 now finds intersections with modulo instead of floor divisions, and Phoenix LiveView removes redundant array copies in LiveUploader, while Ecto documents that filter/2 has limited database support. In total, 8 commits and 4 pull requests landed.
Who contributed to Elixir & Phoenix on September 12, 2026?
4 developers shipped this update, including Barna Kovacs, José Valim, SteffenDE, and colacheng.
What were the notable Elixir & Phoenix updates?
Simplify Range.disjoint?/2 intersection arithmetic (#15884), Simplify Range.disjoint?/2 intersection arithmetic, and Add safe_relative_to deprecation.