0.12.3

Released on 2014-02-02

Changes

Type
enhancement
Tool
Elixir
Module
Kernel
Description
Warnings now are explicitly tagged with "warning:" in messages
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Explicit functions inlined by the compiler, including operators. This means that `Kernel.+/2` will now expand to `:erlang.+/2` and so on
Type
enhancement
Tool
Elixir
Module
Mix
Description
Do not fail if a Mix dependency relies on an outdated Elixir version
Type
enhancement
Tool
Elixir
Module
Process
Description
Add `Process.send/2` and `Process.send_after/3`
Type
enhancement
Tool
Elixir
Module
Version
Description
Add `Version.compare/2`
Type
enhancement
Tool
Elixir
Module
Atom
Description
Inspect `:...` and `:foo@bar` without quoting
Type
enhancement
Tool
Elixir
Module
Keyword
Description
The list `[1, 2, three: :four]` now correctly expands to `[1, 2, {:three, :four}]`
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Ensure undefined `@attributes` shows proper stacktrace in warnings
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Guarantee nullary funs/macros are allowed in guards
Type
enhancement
Tool
Elixir
Module
Process
Description
Ensure monitoring functions are inlined by the compiler
Type
enhancement
Tool
Elixir
Module
IEx
Description
The helper `m/0` has been deprecated. The goal is to group all runtime statistic related helpers into a single module
Type
enhancement
Tool
Elixir
Module
Kernel
Description
`binary_to_term/1`, `binary_to_term/2`, `term_to_binary/1` and `term_to_binary/2` are deprecated in favor of their counterparts in the `:erlang` module
Type
enhancement
Tool
Elixir
Module
Kernel
Description
`//` for default arguments is deprecated in favor of `\\`. This is a soft deprecation, no warnings will be emitted for it in this release
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Deprecated `@behavior` in favor of `@behaviour`
Type
enhancement
Tool
Elixir
Module
Record
Description
`to_keywords`, `getter` and `list getter` functionalities in `defrecordp` are deprecated
Type
enhancement
Tool
Elixir
Module
Record
Description
`Record.import/2` is deprecated
Type
enhancement
Tool
Elixir
Module
Dict
Description
Implementations of `equal?/2` and `merge/2` in `HashDict` and `ListDict` are no longer polymorphic. To get polymorphism, use the functions in `Dict` instead
Type
enhancement
Tool
Elixir
Module
File
Description
`File.cp/3` and `File.cp_r/3` no longer carry Unix semantics where the function behaves differently if the destination is an existing previous directory or not. It now always copies source to destination, doing it recursively in the latter
Type
enhancement
Tool
Elixir
Module
IEx
Description
IEx now loads the `.iex.exs` file instead of `.iex`
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Remove `**` from the list of allowed operators
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Limit sigils delimiters to one of the following: `<>`, `{}`, `[]`, `()`, `||`, `//`, `"` and `'`
Type
enhancement
Tool
Elixir
Module
Range
Description
`Range` is no longer a record, instead use `first .. last` if you need pattern matching
Type
enhancement
Tool
Elixir
Module
Set
Description
Implementations of `difference/2`, `disjoint?/2`, `equal?/2`, `intersection/2`, `subset?/2` and `union/2` in `HashSet` are no longer polymorphic. To get polymorphism, use the functions in `Set` instead