0.10.2

Released on 2013-09-03

Changes

Type
enhancement
Tool
Elixir
Module
CLI
Description
Add `--verbose` to elixirc, which now is non-verbose by default
Type
enhancement
Tool
Elixir
Module
Dict
Description
Add `Dict.Behaviour` as a convenience to create your own dictionaries
Type
enhancement
Tool
Elixir
Module
Enum
Description
Add `Enum.split/2`, `Enum.reduce/2`, `Enum.flat_map/2`, `Enum.chunks/2`, `Enum.chunks/4`, `Enum.chunks_by/2`, `Enum.concat/1` and `Enum.concat/2`
Type
enhancement
Tool
Elixir
Module
Enum
Description
Support negative indices in `Enum.at/fetch/fetch!`
Type
enhancement
Tool
Elixir
Module
ExUnit
Description
Show failures on CLIFormatter as soon as they pop up
Type
enhancement
Tool
Elixir
Module
IEx
Description
Allow for strings in `h` helper
Type
enhancement
Tool
Elixir
Module
IEx
Description
Helpers `r` and `c` can handle erlang sources
Type
enhancement
Tool
Elixir
Module
Integer
Description
Add `odd?/1` and `even?/1`
Type
enhancement
Tool
Elixir
Module
IO
Description
Added support to specifying a number of bytes to stream to `IO.stream`, `IO.binstream`, `File.stream!` and `File.binstream!`
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Include file and line on error report for overriding an existing function/macro
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Convert external functions into quoted expressions. This allows record fields to contain functions as long as they point to an `&Mod.fun/arity`
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Allow `foo?` and `bar!` as valid variable names
Type
enhancement
Tool
Elixir
Module
List
Description
Add `List.replace_at/3`
Type
enhancement
Tool
Elixir
Module
Macro
Description
Improve printing of the access protocol on `Macro.to_string/1`
Type
enhancement
Tool
Elixir
Module
Macro
Description
Add `Macro.to_string/2` to support annotations on the converted string
Type
enhancement
Tool
Elixir
Module
Mix
Description
Automatically recompile a project if the Elixir version changes
Type
enhancement
Tool
Elixir
Module
Path
Description
Add `Path.relative_to_cwd/2`
Type
enhancement
Tool
Elixir
Module
Regex
Description
Allow erlang `re` options when compiling Elixir regexes
Type
enhancement
Tool
Elixir
Module
Stream
Description
Add `Stream.concat/1`, `Stream.concat/2` and `Stream.flat_map/2`
Type
enhancement
Tool
Elixir
Module
String
Description
Add regex pattern support to `String.replace/3`
Type
enhancement
Tool
Elixir
Module
String
Description
Add `String.ljust/2`, `String.rjust/2`, `String.ljust/3` and `String.rjust/3`
Type
enhancement
Tool
Elixir
Module
URI
Description
`URI.parse/1` supports IPv6 addresses
Type
enhancement
Tool
Elixir
Module
Behaviour
Description
Do not compile behaviour docs if docs are disabled on compilation
Type
enhancement
Tool
Elixir
Module
ExUnit
Description
Doctests no longer eat too much space and provides detailed reports for poorly indented lines
Type
enhancement
Tool
Elixir
Module
File
Description
Fix a bug where `File.touch(file, datetime)` was not setting the proper datetime when the file did not exist
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Limit `inspect` results to 50 items by default to avoid printing too much data
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Return a readable error on oversized atoms
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Allow functions ending with `?` or `!` to be captured
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Fix default shutdown of child supervisors to `:infinity`
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Fix regression when calling a function/macro ending with bang, followed by `do/end` blocks
Type
enhancement
Tool
Elixir
Module
List
Description
Fix bug on `List.insert_at/3` that added the item at the wrong position for negative indexes
Type
enhancement
Tool
Elixir
Module
Macro
Description
`Macro.escape/2` can now escape improper lists
Type
enhancement
Tool
Elixir
Module
Mix
Description
Fix `Mix.Version` matching on pre-release info
Type
enhancement
Tool
Elixir
Module
Mix
Description
Ensure `watch_exts` trigger full recompilation on change with `mix compile`
Type
enhancement
Tool
Elixir
Module
Mix
Description
Fix regression on `mix clean --all`
Type
enhancement
Tool
Elixir
Module
String
Description
`String.strip/2` now supports removing unicode characters
Type
enhancement
Tool
Elixir
Module
String
Description
`String.slice/3` still returns the proper result when there is no length to be extracted
Type
enhancement
Tool
Elixir
Module
System
Description
`System.get_env/0` now returns a list of tuples as previously advertised
Type
enhancement
Tool
Elixir
Module
Dict
Description
`Dict.update/3` is deprecated in favor of `Dict.update!/3`
Type
enhancement
Tool
Elixir
Module
Enum
Description
`Enum.min/2` and `Enum.max/2` are deprecated in favor of `Enum.min_by/2` and `Enum.max_by/2`
Type
enhancement
Tool
Elixir
Module
Enum
Description
`Enum.join/2` and `Enum.map_join/3` with a char list are deprecated
Type
enhancement
Tool
Elixir
Module
IO
Description
`IO.stream(device)` and `IO.binstream(device)` are deprecated in favor of `IO.stream(device, :line)` and `IO.binstream(device, :line)`
Type
enhancement
Tool
Elixir
Module
Kernel
Description
`list_to_binary/1`, `binary_to_list/1` and `binary_to_list/3` are deprecated in favor of `String.from_char_list!/1` and `String.to_char_list!/1` for characters and `:binary.list_to_bin/1`, `:binary.bin_to_list/1` and `:binary.bin_to_list/3` for bytes
Type
enhancement
Tool
Elixir
Module
Kernel
Description
`to_binary/1` is deprecated in favor of `to_string/1`
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Deprecate `def/4` and friends in favor of `def/2` with unquote and friends
Type
enhancement
Tool
Elixir
Module
Kernel
Description
Deprecate `%b` and `%B` in favor of `%s` and `%S`
Type
enhancement
Tool
Elixir
Module
List
Description
`List.concat/2` is deprecated in favor of `Enum.concat/2`
Type
enhancement
Tool
Elixir
Module
Macro
Description
`Macro.unescape_binary/1` and `Macro.unescape_binary/2` are deprecated in favor of `Macro.unescape_string/1` and `Macro.unescape_string/2`
Type
enhancement
Tool
Elixir
Module
Mix
Description
`:umbrella` option for umbrella paths has been deprecated in favor of `:in_umbrella`
Type
enhancement
Tool
Elixir
Module
IO
Description
IO functions now only accept iolists as arguments
Type
enhancement
Tool
Elixir
Module
Kernel
Description
`Binary.Chars` was renamed to `String.Chars`
Type
enhancement
Tool
Elixir
Module
Kernel
Description
The previous ambiguous import syntax `import :functions, Foo` was removed in favor of `import Foo, only: :functions`
Type
enhancement
Tool
Elixir
Module
OptionParser
Description
`parse` and `parse_head` now returns a tuple with three elements instead of two