View Source Changelog for Elixir v1.15

This release requires Erlang/OTP 24 and later.

v1-15-0-dev

v1.15.0-dev

1-enhancements

1. Enhancements

EEx

  • [EEx] Include source code snippets in syntax errors

Elixir

ExUnit

IEx

Mix

  • [Mix.Project] Support def cli to unify all CLI defaults in a single place
  • [mix compile] Set --all-warnings by default
  • [mix compile.app] Write optional_applications to .app file
  • [mix deps.get] Automatically install Hex and Rebar on mix deps.get/mix deps.update
  • [mix deps.get] Support --check-locked which raises if changes to the lockfile are required
  • [mix format] Allow multiple formatters per file extension and sigil
  • [mix format] Show diffs whenever --check-formatted fails

2-bug-fixes

2. Bug fixes

Elixir

  • [Code.Formatter] Fix a scenario where a keyword followed by parenthesis could go above the maximum line length
  • [Code.Formatter] Remove unecessary parens in nullary type funs
  • [File] Do not raise if there are file system race conditions in File.cp/2
  • [Kernel] Expand macros on the left side of -> in try/rescue
  • [Kernel.ParallelCompiler] Make sure compiler doesn't crash when there are stray messages in the inbox
  • [URI] Make sure URI.merge/2 works accordingly with relative paths

ExUnit

  • [ExUnit] Do not merge context as tags inside the runner to reduce memory usage when emitting events to formatters
  • [ExUnit] Do not expand or collect vars from quote in ExUnit assertions

IEx

  • [IEx] Do not spawn a process to read IO. This fixes a bug where multiline paste stopped working whenever the input reader was killed
  • [IEx] Do not perform completion for prompts triggered during code evaluation

3-soft-deprecations-no-warnings-emitted

3. Soft deprecations (no warnings emitted)

Mix

  • [Mix.Project] :preferred_cli_env is deprecated in favor of :preferred_envs in def cli
  • [Mix.Project] :preferred_cli_target is deprecated in favor of :preferred_targets in def cli

4-hard-deprecations

4. Hard deprecations

Elixir

Logger

v1-14

v1.14

The CHANGELOG for v1.14 releases can be found in the v1.14 branch.