This release no longer supports WERL (a graphical user interface for the Erlang terminal on Windows). For a better user experience on Windows terminals, use Erlang/OTP 26+.
TODO.
TODO.
- [CLI] Add experimental PowerShell scripts for
elixir
,elixirc
, andmix
on Windows. Those provide a safer entry point for running Elixir from other platforms - [Code] Support several migration options in
Code.format_string!/2
- [Code] Add parenthesis around
--
and---
inCode.format_string!/2
to make precedence clearer - [Config] Add
Config.read_config/1
- [Enumerable] Add
Enum.product_by/2
andEnum.sum_by/2
- [Exception] Add
MissingApplicationsError
exception to denote missing applications - [Kernel] Update source code parsing to match UTS #55 latest recommendations. In particular, mixed script is allowed in identifiers as long as they are separate by underscores (
_
), such ashttp_сервер
. Previously allowed highly restrictive identifiers, which mixed Latin and other scripts, such as the japanese word for t-shirt,Tシャツ
, now require the underscore as well - [Kernel] Warn on bidirectional confusability in identifiers
- [Kernel] Now verify the type of the binary generators
- [Kernel] Track the type of tuples in patterns and inside
elem/2
- [List] Add
List.ends_with?/2
- [Macro] Improve
dbg
handling ofif/2
and of code blocks - [Process] Handle arbitrarily high integer values in
Process.sleep/1
- [String] Inspect special whitespace and zero-width characters using their Unicode representation
- [ExUnit] Support parameterized tests on
ExUnit.Case
- [IEx] Add
:dot_iex
support toIEx.configure/1
- [IEx] Add report for normal/shutdown exits in IEx
- [mix format] Add
mix format --migrate
to migrate from deprecated functionality - [mix test] Taint failure manifest if requiring or compiling tests fail
- [Code.Fragment] Properly handle keyword keys as their own entry
- [Inspect.Algebra] Ensure
next_break_fits
respectsline_length
- [Module] Include module attribute line and name when tracing its aliases
- [ExUnit.Assertions] Raise if guards are used in
assert/1
with=
- [mix compile] Ensure warnings from external resources are emitted with
--all-warnings
when files do not change - [mix deps.compile] Fix escaping issues when invoking
rebar3
in some cases - [mix escript] Fix escript layout and support storing
priv
directories - [mix release] Make
.app
files deterministic in releases
- [Kernel] Deprecate
unless
in favor ofif
. Usemix format --migrate
to automate the migration
- [EEx]
<%#
is deprecated in favor of<%!--
or<% #
- [EEx]
c:EEx.handle_text/2
is deprecated in favor ofc:EEx.handle_text/3
- [Enumerable] Deprecate returning a two-arity function in
Enumerable.slice/1
- [List]
List.zip/1
is deprecated in favor ofEnum.zip/1
- [Module] Deprecate
Module.eval_quoted/3
in favor ofCode.eval_quoted/3
- [Range] Deprecate inferring negative ranges on
Range.new/2
- [mix cmd] Deprecate
mix cmd --app APP
in favor ofmix do --app APP
The CHANGELOG for v1.17 releases can be found in the v1.17 branch.