0.15.1

Released on 2014-08-10

Changes

Type
enhancement
Tool
Elixir
Module
GenEvent
Description
Support `:ack` mode for GenEvent streams
Type
enhancement
Tool
Elixir
Module
Inspect
Description
Support `:base` option in `inspect/2` to choose the base (`:binary`, `:octal`, `:decimal` or `:hex`) numbers a printed
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Print warnings when used `?` with characters with escape codes
Type
enhancement
Tool
Elixir
Module
Logger
Description
Add SASL log forwarding option to Logger
Type
enhancement
Tool
Elixir
Module
Logger
Description
Add `$padlevel` to option Logger formatter
Type
enhancement
Tool
Elixir
Module
Logger
Description
Backends receive the exact handler value when added, allowing a key to be passed for configuration lookup
Type
enhancement
Tool
Elixir
Module
Logger
Description
Add `Logger.flush/0` to flush the Logger (useful for testing)
Type
enhancement
Tool
Elixir
Module
Logger
Description
Persist backends dynamically added or removed via `add_backend/2` and `remove_backend/2`
Type
enhancement
Tool
Elixir
Module
Macro
Description
Add `Macro.validate/1` to recursively check if a value is a valid quoted expression
Type
enhancement
Tool
Elixir
Module
Mix
Description
Load mix deps only when there is a need to use them (this improves the timing for the majority of tasks in a Mix project)
Type
enhancement
Tool
Elixir
Module
Mix
Description
Make the environment explicit on the success message generated after `escript.build` is invoked
Type
enhancement
Tool
Elixir
Module
Mix
Description
Load `config/config.exs` inside escripts
Type
enhancement
Tool
Elixir
Module
Mix
Description
Store and check Elixir version requirement for generated archives
Type
enhancement
Tool
Elixir
Module
CLI
Description
Fix shell bugs when running on Windows with Cygwin or MinGW
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Modules compiled by Elixir now report the correct beam location when `:code.which/1` is invoked. If the bytecode is only available in memory, `:code.which/1` returns `:in_memory`
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Do not expand args for unknown functions/macros
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Ensure `defstruct`, `@attr` inside and friends raise a nice error messages when values cannot be properly escaped
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Do not raise conflicts on imports used from inside quotes
Type
enhancement
Tool
Elixir
Module
Logger
Description
Metadata is now correctly merged on each `Logger.metadata/1` call
Type
enhancement
Tool
Elixir
Module
Logger
Description
Use the Logger PID on `:error_logger` wrapper to avoid race conditions on shutdown
Type
enhancement
Tool
Elixir
Module
Macro
Description
Ensure bitstrings work with `Macro.escape/1`
Type
enhancement
Tool
Elixir
Module
Mix
Description
Ensure aliases are invoked on umbrella recursive tasks
Type
enhancement
Tool
Elixir
Module
Mix
Description
Leave it up to the application to start the Logger after compilation
Type
enhancement
Tool
Elixir
Module
Mix
Description
Accept more forms of git versions (like "git version 1.9.3 (Apple Git-50)")
Type
enhancement
Tool
Elixir
Module
Path
Description
Do not normalize paths in `Path.join/2` as normalization is beyond the scope of such function
Type
enhancement
Tool
Elixir
Module
URI
Description
`to_string/1` now properly converts URI to strings when the schema is missing
Type
enhancement
Tool
Elixir
Module
Collectable
Description
Having a function as collectable is deprecated
Type
enhancement
Tool
Elixir
Module
Module
Description
`Module.function/3` is deprecated, please use `:erlang.make_fun/3` instead