v0.10.3
Pre-release
Pre-release
Enhancements
- [Enum] Add
Enum.take_every/2 - [IEx] IEx now respects signals sent from the Ctrl+G menu
- [Kernel] Allow documentation for types with
@typedoc - [Mix] Allow apps to be selected in umbrella projects
- [Record] Generated record functions
newandupdatealso take options with strings as keys - [Stream] Add
Stream.unfold/1
Bug fixes
- [Dict] Fix a bug when a HashDict was marked as equal when one was actually a subset of the other
- [EEx] Solve issue where
doblocks inside templates were not properly aligned - [ExUnit] Improve checks and have better error reports on poorly aligned doctests
- [Kernel] Fix handling of multiple heredocs on the same line
- [Kernel] Provide better error messages for match, guard and quoting errors
- [Kernel] Make
Kernel.raise/2a macro to avoid messing up stacktraces - [Kernel] Ensure
&()works on quoted blocks with only one expression - [Mix] Address an issue where a dependency was not compiled in the proper order when specified in different projects
- [Mix] Ensure
compile: falseis a valid mechanism for disabling the compilation of dependencies - [Regex] Fix bug on
Regex.scan/3when capturing groups and the regex has no groups - [String] Fix a bug with
String.split/2when given an empty pattern - [Typespec] Guarantee typespecs error reports point to the proper line
Deprecations
- [Kernel] The previous partial application syntax (without the
&operator) has now been deprecated - [Regex]
Regex.captures/3is deprecated in favor ofRegex.named_captures/3 - [String]
String.valid_codepoint?/1is deprecated in favor of pattern matching with<<_ :: utf8 >>
Backwards incompatible changes
- [IEx] The
r/0helper has been removed as it caused surprising behaviour when many modules with dependencies were accumulated - [Mix]
Mix.Versionwas renamed toVersion - [Mix]
File.IteratorErrorwas renamed toIO.StreamError - [Mix]
mix newnow defaults to the--supoption, use--bareto get the previous behaviour