Elixir release

0.14.1

Change breakdown

Organization at a glance

Detailed changelog

Enhancement

18 changes

Tool: Elixir Module: Base

Decoding and encoding functions now accept the :case as an option

Tool: Elixir Module: ExUnit

The test process now exits with :shutdown reason

Tool: Elixir Module: GenEvent

GenEvent.stream/2 now accepts :sync and :async modes

Tool: Elixir Module: Node

Add Node.start/3 and Node.stop/0

Tool: Elixir Module: String

Updated Unicode database to 7.0

Tool: Elixir Module: Task

Log when tasks crash

Tool: Elixir Module: Enum

Enum.slice/2 and Enum.slice/3 always returns a list (and never nil)

Tool: Elixir Module: Kernel

Disambiguate (w)erl to (w)erl.exe

Tool: Elixir Module: Mix

Ensure umbrella project is recompiled when a dependency inside an umbrella child changes

Tool: Elixir Module: OptionParser

Do not allow underscores in option names

Tool: Elixir Module: Path

Fix path expansion of "/.."

Tool: Elixir Module: Path

Do not match files starting with . in Path.wildcard/2 by default

Tool: Elixir Module: Process

Process.info(pid, :registered_name) returns {:registered_name, nil} if there is no registered name

Tool: Elixir Module: String

String.slice/2 and String.slice/3 always returns a list (and never nil)

Tool: Elixir Module: URI

encode/1 does not escape reserved/unreserved characters by default nor encodes whitespace as + (check URI.encode_www_form/1 and URI.decode_www_form/1 for previous behaviour)

Tool: Elixir Module: Mix

:escript_* options were moved into a single :escript group

Tool: Elixir Module: GenEvent

GenEvent.stream/2 defaults to :sync mode

Tool: Elixir Module: Kernel

Remove get_in/1