v0.12.2
Pre-release
Pre-release
Enhancements
- [EEx] Allow
EEx.AssignsEngine
to accept any Dict - [Enum] Add
Enum.flat_map_reduce/3
- [ExUnit] Support
@moduletag
in ExUnit cases - [Kernel] Improve stacktraces to be relative to the compilation path and include the related application
- [Stream] Add
Stream.transform/3
Bug fixes
- [ExUnit]
:include
in ExUnit only has effect if a test was previously excluded with:exclude
- [ExUnit] Only run
setup_all
andteardown_all
if there are tests in the case - [Kernel] Ensure bitstring modifier arguments are expanded
- [Kernel] Ensure compiler does not block on missing modules
- [Kernel] Ensure
<>/2
works only with binaries - [Kernel] Fix usage of string literals inside
<<>>
whenutf8
/utf16
/utf32
is used as specifier - [Mix] Ensure mix properly copies _build dependencies on Windows
Deprecations
- [Enum] Deprecate
Enum.first/1
in favor ofEnum.at/2
andList.first/1
- [Kernel] Deprecate continuable heredocs. In previous versions, Elixir would continue parsing on the same line the heredoc started, this behavior has been deprecated
- [Kernel]
is_alive/0
is deprecated in favor ofNode.alive?
- [Kernel]
Kernel.inspect/2
withInspect.Opts[]
is deprecated in favor ofInspect.Algebra.to_doc/2
- [Kernel]
Kernel.inspect/2
with:raw
option is deprecated, use:records
option instead - [Kernel] Deprecate
<-/2
in favor ofsend/2
Backwards incompatible changes
- [String] Change
String.next_grapheme/1
andString.next_codepoint/1
to returnnil
on string end