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