- [EEx] Allow markers
/and|to be used in a custom EEx engine
- [Inspect.Algebra] Add
:strictand:flexbreaks - [Inspect.Algebra] Add
force_break/1andnext_break_fits/2which give more control over document fitting - [Inspect.Algebra] Add
collapse_lines/1for collapsing multiple lines to a maximum value - [Inspect.Algebra] Allow
nest/2to be:resetor be set to the current:cursorposition - [Kernel] Prefix variables with V when emitting Erlang code. This improves the integration with tools such as Erlang code formatters and the GUI debugger
- [Kernel] Warn on the use of
length(x) == 0in guards - [Kernel] Warn if
catchcomes beforerescuein try - [Kernel.ParallelCompiler] Add
compile/2,compile_to_path/3andrequire/2which provide detailed information about warnings and errors - [Stream] Add
Stream.intersperse/2 - [String] Update to Unicode 10
- [String] Allow passing empty string
matchtoString.replace/4 - [Time] Add
Time.add/3
- [ExUnit.Callbacks] Add
ExUnit.Callbacks.start_supervised!/2
- [mix archive.build] Allow
mix archive.buildto bundle dot files via an option - [mix compile] Define a behavior for Mix compiler tasks
- [mix test] Run all functions in a describe block by giving the
file:linethe describe block starts - [mix test] Report the top N slowest tests with the
--slowest Nflag
- [Kernel] Validate variable struct name is atom when used in pattern matching
- [Macro] Fix
Macro.to_string/2for tuple calls, such asalias Foo.{Bar, Baz} - [MapSet] Return valid MapSet when unioning a legacy MapSet
- [URI] Preserve empty fragments in
URI.parse/1
- [mix deps] Ensure optional dependencies in umbrella applications are loaded
- [Inspect.Algebra]
surround/3andsurround_many/6are deprecated in favor ofcontainer_doc/6 - [Kernel.ParallelCompiler]
files/2andfiles_to_path/3are deprecated in favor ofcompile/2andcompile_to_path/3 - [Kernel.ParallelRequire]
files/2is deprecated in favor ofKernel.ParallelCompiler.require/2
- [ExUnit.Formatter]
:case_startedand:case_finishedevents are deprecated in favor of:module_startedand:module_finished
- [Mix.Shell] The
cmd/2callback is deprecated in favor ofSystem.cmd/3andMix.Shell.cmd/3
- [Enum]
Enum.partition/2is deprecated in favor ofEnum.split_with/2 - [Keyword]
Keyword.replace/3is deprecated in favor ofKeyword.fetch/2andKeyword.put/3 - [Map]
Map.replace/3is deprecated in favor ofMap.fetch/2andMap.put/3
The CHANGELOG for v1.5 releases can be found in the v1.5 branch.