Package Release Info


Update Info: Base Release
Available in Package Hub : 15 SP3





Change Logs

* Mon Jan 11 2021 Sven Marquardt <>
- Elixir 1.11.3
  * Enhancements
  [Macro] Add Macro.unique_var/2 and Macro.generate_unique_arguments/2
  * Bug fixes
  [Code] Do not raise when checking for operator ambiguity when :static_atoms_encoder is set in Code.string_to_quoted
  [Kernel] Emit undefined function warnings from with
  [Kernel] Do not fail type checking when literals are used in guards
  [Module] Do not warn for attributes used in @after_compile
  [Record] Make sure nested record names do not clobber each other
  [ExUnit.Assertions] Do not crash if there are macros and module attributes on the left side of ++
  [IEx.Helpers] Do not use Unicode chars if ANSI is disabled
  [mix deps.compile] Fix compatibility with rebar v3.14
  [mix release] Do not use private ram_file:compress/1
  [mix xref] Do not crash when retrieving calls for modules in memory
* Wed Nov 04 2020 Sven Marquardt <>
- Elixir 1.11.2
  * Bug fixes
  [Code] Do not crash when getting docs for missing `erts` appdir
  [Kernel] Raise meaningful error if `:erlang.is_record` is used in guards
  [Kernel] Prune tracers when fetching `__ENV__` inside functions
  [mix] Fix regression where aliases could not call themselves recursively
  [mix compile] Do not discard tracers that are set programatically
* Mon Oct 19 2020 Sven Marquardt <>
- Elixir 1.11.1
  * Bug fixes
  [Code] Ignore tracers if lexical tracker is dead or explicitly nil when evaling code with an environment
  [GenServer] Do not show warning when using `super` in `GenServer.child_spec/1`
  [Kernel] Do not crash when :reduce is set to `nil` in comprehensions
  [Kernel] Fix a scenario where undefined function warnings were not being emitted
  [IEx.Helpers] Properly handle tags inside typespec when showing Erlang docs
  [Logger] Do not deadlock Logger if handler crashes on sync mode
  [Mix] Add inet6 fallback to Mix usage of httpc
  [mix] Do not list apps that do not match the current target
* Mon Oct 19 2020 Sven Marquardt <>
- Elixir 1.11.0
  * Enhancements
  [EEx] Track column information in EEx templates when enabled in the compiler
  [EEx] Show column information in EEx error messages
  [EEx] Support `:indentation` option when compiling EEx templates for proper column tracking
  [Access] Add `!/1`
  [Calendar] Add `Calendar.strftime/3` for datetime formatting
  [Calendar] Add linear integer representations to Calendar modules:
    `Date.from_gregorian_days/2`, `Date.to_gregorian_days/1`, `NaiveDateTime.from_gregorian_seconds/3`,
    and `Time.to_seconds_after_midnight/1`
  [Calendar] Add `new!` to Date/Time/NaiveDateTime/DateTime (`new` has also been added to `DateTime` for completeness)
  [Calendar] Support custom starting day of the week in `Date.day_of_week/2`
  [Calendar] Add `Date.beginning_of_month/1` and `Date.end_of_month/1`
  [Calendar] Add `Date.beginning_of_week/2` and `Date.end_of_week/2`
  [Code] Add `:column` to `Code.string_to_quoted*/2`
  [Code] Add `Code.can_await_module_compilation?/0` to check if the parallel compiler is enabled
    and it can await for other modules to be compiled
  [Config] Support `config_env/0` and `config_target/0` in `config` files
  [Config] Allow `import_config` to be disabled for some configuration files
  [Enum] Allow a sorting function on `Enum.min_max_by/3,4`, including the new `compare/2` conventions
  [Kernel] Add `is_struct/2` guard
  [Kernel] Add `is_exception/1` and `is_exception/2` guards
  [Kernel] Support `map.field` syntax in guards
  [Kernel] Add `+++` and `---` with right associativity to the list of custom operators
  [Kernel] Warn if a variable that looks like a compiler variable (such as `__MODULE__`) is unused
  [Kernel.ParallelCompiler] Report individual file compilation times when `profile: :time` is given
  [Kernel.ParallelCompiler] Improve precision of `:long_compilation_threshold` so it takes only compilation times into
    account (and not waiting times)
  [Registry] Add `Registry.delete_meta/2`
  [Task] Add `Task.await_many/2`
  [ExUnit] Add support for coloring on Windows 10 consoles/shells
  [ExUnit] Add `ExUnit.fetch_test_supervisor/0`
  [ExUnit] Add `@tag :tmp_dir` support to ExUnit. The temporary directory is automatically created and pruned before each test
  [ExUnit] Add file and line to ExUnit's `--trace`
  [ExUnit.Assertion] Allow receive timeouts to be computed at runtime
  [ExUnit.Case] Add `register_test/6` to speed up compilation of custom tests
  [ExUnit.Doctest] Allow users to add tags to doctests
  [IEx] Add support for coloring on Windows 10 consoles/shells
  [IEx.Helpers] Show docs from Erlang modules that have been compiled with the docs chunk
  [Logger] Add `notice`, `critical`, `alert`, and `emergency` log levels
  [Logger] Support structured logging by logging maps or keyword lists
  [Logger] Allow level to be set per module with `Logger.put_module_level/2`
  [Logger] Include `erl_level` in Logger's metadata
  [mix] Add `MIX_BUILD_ROOT` to config `_build` dir
  [mix] Introduce `MIX_XDG` as a simpler mechanism to opt-in to the XDG specification
  [mix] Allow requirements for a Mix task to be listed via the `@requirements` module attribute
  [mix] Allow optional dependencies to be defined in `:extra_applications` and `:applications`
  [mix app.config] Add new `mix app.config` task that compiles applications and loads runtime configuration
  [mix archive.install] Support `--repo` option on Hex packages
  [mix compile] Support the `__mix_recompile__?/0` callback for custom behaviour on when Mix should recompile a given
  [mix compile.elixir] Mark modules for path dependencies as "Export dependencies" if they changed but their public
    interface is the same
  [mix compile.elixir] Track application boundaries in the Elixir compiler.
    If you invoke code from Erlang or Elixir standard libraries and you don't depend on the proper
    applications, a warning will be emitted. A warning will also be emitted if you invoke code from
    an umbrella sibling that you don't depend on - effectively forbidding cyclic dependencies between
  [mix deps] Sort the dependencies alphabetically before printing
  [mix deps] Use `origin/HEAD` as the default Git ref in dependencies
  [mix deps] Redact Git `username`/`password` in output log
  [mix deps] Support rebar3's `git_subdir` resource type
  [mix deps.compile] Allow local deps to be skipped on `mix deps.compile`
  {mix deps.unlock] Print which dependencies get unlocked when using the `--unused` flag
  [mix escript.install] Support `--repo` option on Hex packages
  [mix new] Add `@impl` to application generated by `mix new --sup`
  [mix release] Enable overriding `sys.config` location via `RELEASE_SYS_CONFIG` env var
  [mix release] Boot a release under configuration in interactive mode and then swap to embedded mode
    (if running on Erlang/OTP 23+)
  [mix release] Add `rel_templates_path` to configure the source of template files such as "", "vm.args.eex"
    and "overlays"
  [mix release] Allow some chunks to be kept in the `:strip_beams` config
  [mix test] Allow `:ignore_modules` inside `:test_coverage` option
  [mix test.coverage] Add `mix test.coverage` that aggregates coverage results from umbrellas and OS partitioning
  [mix xref] Make the `--label` option for `mix xref graph` transitive by default and add `--only-direct` for only
    direct dependencies
  [mix xref] Add `--format cycles` support for `mix xref graph`
  [mix xref] Add support to `mix xref graph` for using `--source` and `--sink` at the same time
  * Bug fixes
  [EEx] Make trimming behaviour via the `:trim` option more consistent
  [Application] Warn if non-atom keys are given to `put_env`, `get_env`, `fetch_env`, and `delete_env`
  [Code] Do not send language keyword through the `:static_atoms_encoder` in `Code.string_to_quoted`
  [Kernel] Validate values given to `:line` in quote to avoid emitting invalid ASTs
  [Kernel] Report the correct line number when raising inside a macro
  [Kernel] Fix an issue where `elixirc` would not accept paths with backslash (`\`) separators on Windows
  [Kernel] Properly parse `&//2` (i.e. the capture of the division operator)
  [Kernel] Raise `CompileError` when trying to define reserved types
  [Kernel] Improve compiler error message when using `|` in a `def` signature
  [Kernel] Improve error message when trying to use invalid list operators in guards
  [Kernel.SpecialForms] Add `|/2` to the list of special forms to avoid inconsistent behaviour on overrides
  [Keyword] Enforce keys to be atoms in `Keyword.keys/1`
  [Record] Keep lexical ordering when creating records
  [Registry] Do not crash when a process with key-value has been registered using `:via` and it fails to start on `init`
  [URI] `URI.decode_query/2` emits an empty string for parameters without values, according to
    [URL's living standard]( - note this behaviour i
    s not specified in the spec implemented by the URI module, so the living standard was chosen
  [Version] Add defaults and enforce keys in `Version` struct
  [ExUnit.CaptureIO] Fix race condition where a dead capture would still be considered as active
  [ExUnit.Diff] Do not crash when failing to eval/inspect struct
  [ExUnit.Diff] Properly diff numbers in respect to `==` and `===` operators
  [IEx] Fix tokenizer emitting repeated warnings in the REPL
  [IEx] Ensure `--dot-iex` is preserved when restarting the evaluator and after shell respawn
  [IEx.Pry] Ensure `IEx.pry` can be triggered more than twice when invoked from the same process
  [mix cmd] Fix a bug where only the first --app option would be executed
  [mix compile] Fix an issue where new protocol implementations would not propagate when running `mix compile` from
    an umbrella root
  [mix deps.compile] Use `gmake` instead of `make` when compiling deps on NetBSD/DragonFlyBSD
  [mix release] Load `.app` from dependencies path when it is a project dependency
  [mix release] Always include "rel/overlays" in the list of overlays directories if available
  [mix release] Change `erts/bin/erl` binary mode to `0o755`
  [mix test] Compare to test coverage threshold inclusively
  [Logger] Print metadata for all types that implement String.Chars
  * Soft-deprecations (no warnings emitted)
  [Exception] `Exception.exception?/1` is deprecated in favor of `Kernel.is_exception/1`
  [Regex] `Regex.regex?/1` is deprecated in favor of `Kernel.is_struct/2`
  [Logger] `warn` log level is deprecated in favor of `warning`
  [mix release] `config/releases.exs` is deprecated in favor of a more general purpose `config/runtime.exs`
  * Hard-deprecations
  [Supervisor] Deprecate `Supervisor.start_child/2` and `Supervisor.terminate_child/2` in favor of `DynamicSupervisor`
  [Supervisor.Spec] Deprecate `Supervisor.Spec.worker/3` and `Supervisor.Spec.supervisor/3` in favor of the new typespecs
  [System] Deprecate `System.stacktrace/0` in favor of `__STACKTRACE__`
  [Mix.Project] Deprecate `Mix.Project.compile/2` in favor of `"compile", args)`
  Full release notes:
* Wed Jul 08 2020 Gabriele Santomaggio <>
- Elixir 1.10.4
  * Bug fixes
  [Kernel] Fix a bug where custom types were printed as built-in types
  [Kernel] Don't add compile-time dependency on defdelegate
  [Kernel] Add line numbers to warnings on deprecated imports
  [Kernel] Report the correct line number when raising inside a macro
  [Task] Include callers in translated Logger metadata for Task
  [Task] Fix Task PID and caller in Task Supervisor reports
  [ExUnit.Formatter] Avoid crashes when diffing guards when the pattern does not match
  [ExUnit.Formatter] Also blame exceptions that come from linked and trapped exits
  [IEx.Helpers] Do not crash when printing a type that cannot be code formatted
  [mix app.start] Fix reading .app file located in archives (.ez files)
  [mix local.hex] Provide more guidance when Hex can't be installed
  [mix release] Properly encode config in releases
* Sat Apr 25 2020 Sven Marquardt <>
- Elixir 1.10.3
  * Bug fixes
  [Code] Return `[{mod, bin}]` from `Code.compile_file/2`, `Code.require_file/2`, `Code.load_file/2`
  [Code] Make sure the formatter respects newlines before and after module attributes
  [Kernel.ParallelCompiler] Fix a bug where the parallel compiler would raise in long compilation cycles
  [Kernel.ParallelCompiler] Fix a bug where the parallel compiler would raise if some of the modules being compiled referred to a module that has been loaded directly to memory
  [Module] Fix accidental breaking change where bodiless clauses had their body value on `@on_definition` callbacks set to an empty list instead of `nil`
  [String] Undeprecate `String.normalize/2` normalize and fix infinite loop caused by certain invalid strings
  [ExUnit.Assertions] Fix pattern matching diff when matching on pinned variables
  [ExUnit.Assertions] Fix pattern matching diff when matching variable struct names
  [ExUnit.Assertions] Fix pattern matching diff when matching on the binary concat operator (`<>`) and the left side is not a literal string
  [ExUnit.Assertions] Fix pattern matching diff when matching on pseudo-vars (`__MODULE__`, `__DIR__`, etc)
  [mix release] Respect the `:path` option when creating a `:tar` file for releases
* Thu Apr 16 2020 Gabriele Santomaggio <>
- Elixir 1.10.2
  * Bug fixes
    [Macro] Fix a bug where Macro.to_string/1 would emit invalid code for sigils
    [Task] Do not crash async_stream monitor if it receives spurious DOWN messages
    [Logger] Fix a bug where the Logger formatter would fail when handling unknown metadata values
    [mix compile] Do not write files to disk if --warnings-as-errors was given and warnings were emitted
- Elixir 1.10.1
  * Bug fixes
    [Code] Do not emit invalid code when formatting nil, false, and true keys in maps
    [Kernel] Ensure with clauses properly unpack "implicit guards" (such as matching on the struct name)
    [Kernel] Do not warn if commas are used by themselves in ~w/~W sigils
    [Kernel] Do not validate the :line option in quote (the validation has been moved to v1.11 to give users more time to update their code)
    [Module] Ensure the code verifier handles the :erlang.size/1 guard properly
    [Logger] Properly handle the report_cb/2 option from Erlang
    [Logger] Fix truncation for multi-byte characters
    [Logger] Do not rebroadcast messages from remote nodes as this is now taken care by Erlang's logger
    [ExUnit] Ensure assert_receive produces valid exception messages in case of errors
    [mix release] Make sure the install command (Window specific) works on paths with spaces in the name
    [mix release] Allow using remote and rpc commands with Application.compile_env/3
- Elixir 1.10.0
  * Elixir 1.10.0 is a new main release.
    Full release notes: