Skip to content

Latest commit

 

History

History
37 lines (28 loc) · 2.8 KB

CHANGELOG.md

File metadata and controls

37 lines (28 loc) · 2.8 KB

Changelog for Elixir v1.1

v1.1.0-dev

1 Enhancements

  • [CLI] Add support for --werl in Windows bash-like shells
  • [Dict] Add Dict.get_and_update/3 as provided in the Access protocol
  • [Enum] Add Enum.sample/1, Enum.minmax/1, Enum.minmax_by/2 and Enum.reverse_slice/3
  • [Enum] Inline common map usages in Enum functions for performance
  • [ExUnit] Add number of skipped tests to ExUnit output
  • [File] Add File.lstat/1 and File.lstat/1 that works like File.stat/1 but is able to return symlink information (i.e. it does not traverse symlinks)
  • [Integer] Add Integer.digits/2 and Integer.undigits/2
  • [Inspect] Add the :safe option to inspect/2 and make it safe by default, meaning failures while inspecting won't trigger other failures. Instead, it will be wrapped in an exception which is properly formatted
  • [Kernel] Raise when var.Alias syntax is used and it does not expand to an atom at compile time (previously it just warned)
  • [Mix] mix help task now supports mix help --search PATTERN for filtering task names
  • [Mix] Check Elixir version right after archive installation and provide feedback if there is a mismatch
  • [StringIO] StringIO.flush/1 was added to flush the output of a StringIO device
  • [URI] Default ports were added for "ws" and "wss" schemas

2. Bug fixes

  • [Code] :delegate_locals_to failed to delegate to the chosen module in many situations and messed up stacktraces. This option has therefore been replaced by imports
  • [Exception] Do not fail when calculating an exception message, even if the message is invalid
  • [ExUnit] Skipped tests now correctly count towards the total of tests in the result returned by ExUnit.run/0
  • [ExUnit] Fix a bug where failures when inspecting data structure or retrieving error messages could bring the whole ExUnit runner down
  • [ExUnit] Ensure the Logger is flushed when running ExUnit via Mix
  • [Regex] Fix splitting of empty strings with regexes when trim is set to true. Now both String.split/3 and Regex.split/3 return an empty list when called with an empty string and trim is enabled
  • [Regex] Fix Regex.replace/4 so it doesn't discard escape characters

3. Soft deprecations (no warnings emitted)

  • [Regex] Ungreedy option r is deprecated in favor of U (which is standard in regular expressions in other languages)

4. Deprecations

  • [Access] The Access protocol is deprecated. The Access protocol relies on the code server in development and test mode (when protocol consolidation is not applied) and it generated a bottleneck when working with multiple processes and the Access protocol was invoked hundreds of times (which is not uncommon). In future releases the Access protocol will be removed although we will keep the Access module around for compatibility reasons