The Wire · Showcase
ELIXIR PATCHES TEST BEHAVIOR AND DATABASE SECRETS LEAKS
By RepoJournal · Filed · About Elixir & Phoenix
Mix test now respects the --raise flag when warnings are treated as errors, closing a consistency gap in CI pipelines, while Ecto fixes a critical bug that exposed database credentials in SASL progress reports.
The Elixir team tightened `mix test --warnings-as-errors` behavior [1] so the --raise flag now triggers an exception when warnings occur, matching its existing behavior for test failures and pattern mismatches. This closes a gap where CI systems could miss warnings-as-errors without explicit exit codes. On the Ecto side, `Ecto.Repo.Supervisor` was dumping plaintext credentials into SASL progress reports when logger's handle_sasl_reports was enabled [2], a vulnerability that mirrors an earlier db_connection fix. The patch redacts sensitive config values from the child spec MFA before supervisor inspection. Elsewhere, ExUnit's diff formatter now uses infinity width by default [3] with explicit terminal-width overrides for layout tests, fixing a latent wrapping issue introduced in earlier changes. Documentation clarifications landed for `File.cp_r/3` [4] to explicitly note that directory permissions only copy when the `:preserve_directory_permissions` option is set, and `Mix.Task.requirements/1` got a spec fix [5] to correctly reflect its list-of-strings return type.
Action items
- → Upgrade Ecto immediately to patch database credential leaks in logs elixir-ecto/ecto [immediate]
- → Review CI configurations using mix test --warnings-as-errors for correct exit handling elixir-lang/elixir [plan]
- → Update code using File.cp_r to explicitly set preserve_directory_permissions if needed elixir-lang/elixir [monitor]
References
- [1] Respect --raise when mix test --warnings-as-errors passes with warnings ↗ elixir-lang/elixir
- [2] Redact repo config from SASL progress reports (#4718) ↗ elixir-ecto/ecto
- [3] Scope ExUnit diff width tests ↗ elixir-lang/elixir
- [4] Clarify File.cp_r directory permission docs ↗ elixir-lang/elixir
- [5] Fix `Mix.Task.requirements/1` spec ↗ elixir-lang/elixir
FAQ
- What changed in Elixir & Phoenix on May 16, 2026?
- Mix test now respects the --raise flag when warnings are treated as errors, closing a consistency gap in CI pipelines, while Ecto fixes a critical bug that exposed database credentials in SASL progress reports.
- What should Elixir & Phoenix teams do about it?
- Upgrade Ecto immediately to patch database credential leaks in logs • Review CI configurations using mix test --warnings-as-errors for correct exit handling • Update code using File.cp_r to explicitly set preserve_directory_permissions if needed
- Which Elixir & Phoenix repositories shipped on May 16, 2026?
- elixir-lang/elixir, elixir-ecto/ecto