Elixir release

0.15.0

Change breakdown

Organization at a glance

Detailed changelog

Enhancement

27 changes

Tool: Elixir Module: Agent

Improve the Agent API to also accept functions that receive explicit module, function and arguments

Tool: Elixir Module: IEx

Support --werl call on Windows

Tool: Elixir Module: Logger

Add Logger

Tool: Elixir Module: Map

Add Map.from_struct/1

Tool: Elixir Module: Mix

Allow --app flag to be passed to mix new

Tool: Elixir Module: Mix

Support lowercase http(s)_proxy environment variables

Tool: Elixir Module: Mix

Allow elixirc_paths to also be given through the command line to mix compile.elixir

Tool: Elixir Module: String

String.slice/2 and String.slice/3 have been optimized

Tool: Elixir Module: IEx

Ensure functions in Kernel.SpecialForms and IEx.Helpers are also auto-completed

Tool: Elixir Module: IEx

Ensure remote shells can be started with --remsh

Tool: Elixir Module: Kernel

Correctly parse unary/binary operators regardless of number of spaces

Tool: Elixir Module: Kernel

Ensure private functions are not exported

Tool: Elixir Module: Protocol

Do not expose protocol convention on assert_impl!/2

Tool: Elixir Module: Regex

Do not consider include captures on Regex.split/3 results

Tool: Elixir Module: Stream

Implement the Inspect protocol for Streams so we do not leak the Stream representation

Tool: Elixir Module: IEx

IEx color configuration expects a list of atoms instead of a string with colors separated by comma

Tool: Elixir Module: Inspect

Inspect.Algebra.surround_many/6 now expects Inspect.Opts instead of an integer limit

Tool: Elixir Module: Inspect

Inspect.Algebra.pretty/2 is deprecated in favor of Inspect.Algebra.format/2 that instead returns iodata. This function was used only by documentation examples and it is unlikely to affect actual code

Tool: Elixir Module: IO

IO.ANSI.terminal? is deprecated in favor of IO.ANSI.enabled?

Tool: Elixir Module: IO

IO.ANSI.escape/2 and IO.ANSI.escape_fragment/2 is deprecated in favor of IO.ANSI.format/2 and IO.ANSI.format_fragment/2

Tool: Elixir Module: Kernel

Leading 0 for octals is deprecated in favor of 0o

Tool: Elixir Module: Kernel

0X for hexadecimals is deprecated in favor of 0x

Tool: Elixir Module: Kernel

0B for binaries is deprecated in favor of 0b

Tool: Elixir Module: Mix

Mix color configuration expects a list of atoms instead of a string with colors separated by comma

Tool: Elixir Module: String

\NNN, \NN and \N for octals are deprecated inside string, sigils and chars in favor of hexadecimal entries with \x

Tool: Elixir Module: Kernel

binding/1 and binding/2 expecting a list were removed

Tool: Elixir Module: Regex

Do not consider include captures on Regex.split/3 results