Elixir release

1.5.1

Change breakdown

Organization at a glance

Detailed changelog

Enhancement

4 changes

Tool: EEx Module: EEx.Engine

Add handle_begin and handle_end to EEx

Tool: Elixir Module: Kernel

Do not use references on function/macro definitions - this provides large improvements in compilation times in some rare corner cases

Tool: Elixir Module: Supervisor

Support mixing old and new typespecs in Supervisor.init/2 and Supevisor.start_link/2

Tool: Mix Module: mix profile.*

Allow profile tasks to run without a project

Bugfix

8 changes

Tool: EEx Module: EEx.Engine

Do not re-use the value of the init/1 callback throughout the compilation stack

Tool: Elixir Module: Kernel

Ensure dialyzer does not emit warnings in some uses of with

Tool: Elixir Module: Kernel

Fix dialyzer warnings when defmacrop is used in modules

Tool: Elixir Module: Kernel

Ensure Elixir modules can be dialyzed without starting the Elixir application

Tool: Elixir Module: Kernel

Do not serialize references in quoted expressions

Tool: Elixir Module: Kernel

Make sure structs expansion use the latest definition available when struct modules are recompiled

Tool: Elixir Module: Task

Support :infinity timeout on Task streams

Tool: Elixir Module: Typespec

Ensure typespecs allow tuple to be used as variable names