0.13.0

Released on 2014-04-20

Changes

Type
enhancement
Tool
Elixir
Module
Base
Description
Add `Base` module which does conversions to bases 16, 32, hex32, 64 and url64
Type
enhancement
Tool
Elixir
Module
Code
Description
Add `Code.eval_file/2`
Type
enhancement
Tool
Elixir
Module
Collectable
Description
Add the `Collectable` protocol that empowers `Enum.into/2` and `Stream.into/2` and the `:into` option in comprehensions
Type
enhancement
Tool
Elixir
Module
Collectable
Description
Implement `Collectable` for lists, dicts, bitstrings, functions and provide both `File.Stream` and `IO.Stream`
Type
enhancement
Tool
Elixir
Module
EEx
Description
Add `handle_body/1` callback to `EEx.Engine`
Type
enhancement
Tool
Elixir
Module
Enum
Description
Add `Enum.group_by/2`, `Enum.into/2`, `Enum.into/3`, `Enum.traverse/2` and `Enum.sum/2`
Type
enhancement
Tool
Elixir
Module
ExUnit
Description
Randomize cases and tests suite runs, allow seed configuration and the `--seed` flag via `mix test`
Type
enhancement
Tool
Elixir
Module
ExUnit
Description
Support `--only` for filtering when running tests with `mix test`
Type
enhancement
Tool
Elixir
Module
ExUnit
Description
Raise an error if another `capture_io` process already captured the device
Type
enhancement
Tool
Elixir
Module
ExUnit
Description
Improve formatter to show source code and rely on lhs and rhs (instead of expected and actual)
Type
enhancement
Tool
Elixir
Module
IEx
Description
Allow prompt configuration with the `:prompt` option
Type
enhancement
Tool
Elixir
Module
IEx
Description
Use werl on Windows
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Support `ERL_PATH` in `bin/elixir`
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Support interpolation in keyword syntax
Type
enhancement
Tool
Elixir
Module
Map
Description
Add a Map module and support 17.0 maps and structs
Type
enhancement
Tool
Elixir
Module
Mix
Description
Add dependency option `:only` to specify the dependency environment. `mix deps.get` and `mix deps.update` works accross all environment unless `--only` is specified
Type
enhancement
Tool
Elixir
Module
Mix
Description
Add `Mix.Shell.prompt/1`
Type
enhancement
Tool
Elixir
Module
Mix
Description
Ensure the project is compiled in case Mix' CLI cannot find a task
Type
enhancement
Tool
Elixir
Module
Node
Description
Add `Node.ping/1`
Type
enhancement
Tool
Elixir
Module
Process
Description
Include `Process.send/3` and support the `--gen-debug` option
Type
enhancement
Tool
Elixir
Module
Regex
Description
Regexes no longer need the "g" option when there is a need to use named captures
Type
enhancement
Tool
Elixir
Module
Stream
Description
Add `Stream.into/2` and `Stream.into/3`
Type
enhancement
Tool
Elixir
Module
StringIO
Description
Add a `StringIO` module that allows a String to be used as IO device
Type
enhancement
Tool
Elixir
Module
System
Description
Add `System.delete_env/1` to remove a variable from the environment
Type
enhancement
Tool
Elixir
Module
CLI
Description
Ensure `--app` is handled as an atom before processing
Type
enhancement
Tool
Elixir
Module
ExUnit
Description
Ensure `ExUnit.Assertions` does not emit compiler warnings for `assert_receive`
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Ensure the same pid is not queued twice in the parallel compiler
Type
enhancement
Tool
Elixir
Module
Macro
Description
`Macro.to_string/2` considers proper precedence when translating `!(foo > bar)` into a string
Type
enhancement
Tool
Elixir
Module
Mix
Description
Automatically recompile on outdated Elixir version and show proper error messages
Type
enhancement
Tool
Elixir
Module
Mix
Description
Ensure generated `.app` file includes core dependencies
Type
enhancement
Tool
Elixir
Module
Mix
Description
Allow a dependency with no SCM to be overridden
Type
enhancement
Tool
Elixir
Module
Mix
Description
Allow queries in `mix local.install` URL
Type
enhancement
Tool
Elixir
Module
OptionParser
Description
Do not recognize undefined aliases as switches
Type
enhancement
Tool
Elixir
Module
Dict
Description
`Dict.empty/1`, `Dict.new/1` and `Dict.new/2` are deprecated
Type
enhancement
Tool
Elixir
Module
Exception
Description
`Exception.normalize/1` is deprecated in favor of `Exception.normalize/2`
Type
enhancement
Tool
Elixir
Module
Kernel
Description
`lc` and `bc` comprehensions are deprecated in favor of `for` (this is a soft deprecation, no warning will be emitted)
Type
enhancement
Tool
Elixir
Module
ListDict
Description
`ListDict` is deprecated in favor of `Map` (this is a soft deprecation, no warning will be emitted)
Type
enhancement
Tool
Elixir
Module
Record
Description
`defrecord/2`, `defrecordp/3`, `is_record/1` and `is_record/2` macros in Kernel are deprecated. Instead, use the new macros and API defined in the `Record` module (this is a soft deprecation, no warnings will be emitted)
Type
enhancement
Tool
Elixir
Module
ExUnit
Description
Formatters are now required to be a GenEvent and `ExUnit.run/2` returns a map with results