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