Elixir release

0.12.2

Change breakdown

Organization at a glance

Detailed changelog

Enhancement

19 changes

Tool: Elixir Module: EEx

Allow EEx.AssignsEngine to accept any Dict

Tool: Elixir Module: Enum

Add Enum.flat_map_reduce/3

Tool: Elixir Module: ExUnit

Support @moduletag in ExUnit cases

Tool: Elixir Module: Kernel

Improve stacktraces to be relative to the compilation path and include the related application

Tool: Elixir Module: Stream

Add Stream.transform/3

Tool: Elixir Module: ExUnit

:include in ExUnit only has effect if a test was previously excluded with :exclude

Tool: Elixir Module: ExUnit

Only run setup_all and teardown_all if there are tests in the case

Tool: Elixir Module: Kernel

Ensure bitstring modifier arguments are expanded

Tool: Elixir Module: Kernel

Ensure compiler does not block on missing modules

Tool: Elixir Module: Kernel

Ensure <>/2 works only with binaries

Tool: Elixir Module: Kernel

Fix usage of string literals inside <<>> when utf8/utf16/utf32 is used as specifier

Tool: Elixir Module: Mix

Ensure mix properly copies _build dependencies on Windows

Tool: Elixir Module: Enum

Deprecate Enum.first/1 in favor of Enum.at/2 and List.first/1

Tool: Elixir Module: Kernel

Deprecate continuable heredocs. In previous versions, Elixir would continue parsing on the same line the heredoc started, this behavior has been deprecated

Tool: Elixir Module: Kernel

is_alive/0 is deprecated in favor of Node.alive?

Tool: Elixir Module: Kernel

Kernel.inspect/2 with Inspect.Opts[] is deprecated in favor of Inspect.Algebra.to_doc/2

Tool: Elixir Module: Kernel

Kernel.inspect/2 with :raw option is deprecated, use :records option instead

Tool: Elixir Module: Kernel

Deprecate <-/2 in favor of send/2

Tool: Elixir Module: String

Change String.next_grapheme/1 and String.next_codepoint/1 to return nil on string end