RepoJournal

$ cat elixir/week/2026-08-31.log

Elixir & Phoenix

Elixir & Phoenix

the week in review · Aug 31 – Sep 6, 2026

Phoenix drops Ecto from phx.new.web default

Elixir core also reworks the test manifest for parameterized runs and inlines Calendar.ISO parsing heads.

68 commits 57 PRs merged 7 briefings covered

What shipped: The week's most structural change is Phoenix's new app generator dropping Ecto from Web-only projects by default. Alongside it, the team split integration test suites into focused async modules [1], improved CI visibility and healthchecks [2], and removed blind Process.sleep waits from integration tests [3], opting to run them on a host runner in CI [4]. Elixir core fixed the swapped Hex version check condition [5] and corrected precedence when parsing unary operations with do-end blocks [6].

Why it matters: The generator and test-suite changes affect your next Phoenix app scaffold and your CI pipeline, not your running code. Elixir core's test manifest fix stops parameterized failures from overriding sibling failures [7], which makes your test reports accurate when multiple assertions fail in the same parameterized test. LiveView clarified navigation in chained JS commands [8] and removed an unused parameter from to_component_tracking [9]. Ecto now counts codepoints by default [10].

Under the hood: Inlined Calendar.ISO parsing heads eliminate guarded helpers [11]. Date.Range.member?/2 now branches on step sign [12]. Enum.min_max/1,2 get a fast path for non-empty lists [13]. Elixir reworked the test manifest for parameterized failures [7][14]. Also: improvements to defstruct @enforce_keys [15], a fix for unsound refinement of min/2 and max/2 arguments [16], corrected tuple-difference comments [17], a __CALLER__.macro_aliases type fix [18], Phoenix's dependency bump [19], and Elixir compiler-warning fixes [20].

References

  1. [1] Split integration test suites into focused async modules ↗ phoenixframework/phoenix
  2. [2] Improve integration test CI visibility, healthchecks, and reliability ↗ phoenixframework/phoenix
  3. [3] Eliminate Process.sleep from integration tests (#6830) ↗ phoenixframework/phoenix
  4. [4] Run integration tests on host runner in CI (#6831) ↗ phoenixframework/phoenix
  5. [5] Fix swapped Hex version check condition, closes #15847 ↗ elixir-lang/elixir
  6. [6] Fix precedence when parsing unary ops with do-end blocks ↗ elixir-lang/elixir
  7. [7] fix: Test Manifest, parameterized do not override sibling failures ↗ elixir-lang/elixir
  8. [8] clarify navigation in chained JS commands (#4412) ↗ phoenixframework/phoenix_live_view
  9. [9] Remove unused extra parameter from to_component_tracking (#4417) ↗ phoenixframework/phoenix_live_view
  10. [10] Count codepoints by default ↗ elixir-ecto/ecto
  11. [11] Inline Calendar.ISO parsing heads and eliminate guarded helpers (#15840) ↗ elixir-lang/elixir
  12. [12] Optimize Date.Range.member?/2 by branching on step sign (#15838) ↗ elixir-lang/elixir
  13. [13] Optimize Enum.min_max/1,2 for non-empty lists ↗ elixir-lang/elixir
  14. [14] Do not overlap sibling failures in parameterized tests failures manifest ↗ elixir-lang/elixir
  15. [15] Improve defstruct @enforce_keys ↗ elixir-lang/elixir
  16. [16] Fix unsound refinement of `min/2` and `max/2` arguments ↗ elixir-lang/elixir
  17. [17] Correct tuple difference comments (#15859) ↗ elixir-lang/elixir
  18. [18] Fix __CALLER__.macro_aliases type (#15853) ↗ elixir-lang/elixir
  19. [19] Bump the minor-and-patch group with 4 updates ↗ phoenixframework/phoenix
  20. [20] Fix Elixir 1.15 compiler warnings ↗ phoenixframework/phoenix

$ ls elixir/week/ # the briefings behind this review