Elixir release

1.10.3

Change breakdown

Organization at a glance

Detailed changelog

Bugfix

11 changes

Tool: Elixir Module: Code

Return [{mod, bin}] from Code.compile_file/2, Code.require_file/2, Code.load_file/2

Tool: Elixir Module: Code

Make sure the formatter respects newlines before and after module attributes

Tool: Elixir Module: Kernel.ParallelCompiler

Fix a bug where the parallel compiler would raise in long compilation cycles

Tool: Elixir Module: Kernel.ParallelCompiler

Fix a bug where the parallel compiler would raise if some of the modules being compiled referred to a module that has been loaded directly to memory

Tool: Elixir Module: Module

Fix accidental breaking change where bodiless clauses had their body value on @on_definition callbacks set to an empty list instead of nil

Tool: Elixir Module: String

Undeprecate String.normalize/2 normalize and fix infinite loop caused by certain invalid strings

Tool: ExUnit Module: ExUnit.Assertions

Fix pattern matching diff when matching on pinned variables

Tool: ExUnit Module: ExUnit.Assertions

Fix pattern matching diff when matching variable struct names

Tool: ExUnit Module: ExUnit.Assertions

Fix pattern matching diff when matching on the binary concat operator (<>) and the left side is not a literal string

Tool: ExUnit Module: ExUnit.Assertions

Fix pattern matching diff when matching on pseudo-vars (__MODULE__, __DIR__, etc)

Tool: Mix Module: mix release

Respect the :path option when creating a :tar file for releases