Skip to content

v0.12.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@josevalim josevalim released this 15 Jan 15:07

Enhancements

  • [EEx] Allow EEx.AssignsEngine to accept any Dict
  • [Enum] Add Enum.flat_map_reduce/3
  • [ExUnit] Support @moduletag in ExUnit cases
  • [Kernel] Improve stacktraces to be relative to the compilation path and include the related application
  • [Stream] Add Stream.transform/3

Bug fixes

  • [ExUnit] :include in ExUnit only has effect if a test was previously excluded with :exclude
  • [ExUnit] Only run setup_all and teardown_all if there are tests in the case
  • [Kernel] Ensure bitstring modifier arguments are expanded
  • [Kernel] Ensure compiler does not block on missing modules
  • [Kernel] Ensure <>/2 works only with binaries
  • [Kernel] Fix usage of string literals inside <<>> when utf8/utf16/utf32 is used as specifier
  • [Mix] Ensure mix properly copies _build dependencies on Windows

Deprecations

  • [Enum] Deprecate Enum.first/1 in favor of Enum.at/2 and List.first/1
  • [Kernel] Deprecate continuable heredocs. In previous versions, Elixir would continue parsing on the same line the heredoc started, this behavior has been deprecated
  • [Kernel] is_alive/0 is deprecated in favor of Node.alive?
  • [Kernel] Kernel.inspect/2 with Inspect.Opts[] is deprecated in favor of Inspect.Algebra.to_doc/2
  • [Kernel] Kernel.inspect/2 with :raw option is deprecated, use :records option instead
  • [Kernel] Deprecate <-/2 in favor of send/2

Backwards incompatible changes

  • [String] Change String.next_grapheme/1 and String.next_codepoint/1 to return nil on string end