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.
One email a day. Unsubscribe in one click.
Keep up with Elixir & Phoenix in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
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