SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for elixir115-1.15.7-3.47.noarch.rpm :

* Tue Nov 21 2023 Matwey Kornilov - Use pregenerated documentation
* Mon Nov 13 2023 Simon Lees - Switch from %patch0 to %autosetup
* Sat Nov 11 2023 Matwey Kornilov - Update to Elixir 1.15.7:
* Fix build for Erlang 26
* Changelog available at https://hexdocs.pm/elixir/1.15.7/changelog.html- Add 0001-Use-PID-valid-for-32-bit-systems-closes-12741.patch:
* Fix build for 32bit- Add 0001-Use-PID-valid-for-32-bit-systems-followup-to-12741-1.patch:
* Fix build for 32bit
* Thu May 04 2023 Dominique Leuenberger - Add _multibuild to define 2nd spec file as additional flavor. Eliminates the need for source package links in OBS.
* Tue Feb 07 2023 Gordon Leung - Drop git as a requires and switch buildrequires from git to git-core
* Git is not needed to use Elixir, only to run some tests (which git-core can accomplish on its own without git)
* Tue Jan 10 2023 Fabrizio Sestito - Elixir 1.14.2
* 1. Enhancements Elixir [Code] Add Code.eval_quoted_with_env/4 with support for the :prune_binding option ExUnit [ExUnit.Case] Allow test cases to not be registered on use [ExUnit.DocTest] Include :doctest and :doctest_line as meta tags [ExUnit.Formatter] Expose ExUnit.Formatter.format_assertion_diff/4 Mix [Mix] Mix.install/2 accepts atoms as paths
* 2. Bug fixes Elixir [Code.Formatter] Fix size
*unit shortcut in bitstring [Kernel] Generate unique variables for macro expansion of defguard [Protocol] Expand :for in protocols with the appropriate env ExUnit [ExUnit] Do not run duplicate cases on ExUnit.run/1 Mix [mix test] Ensure proper error message when there is no test directory- Elixir 1.14.1
* 1. Enhancements Elixir [Kernel] Perform partial expansion of literals in module attributes [Kernel] Do not add compile-time dependencies for literals as defaults in Application.compile_env/3 inside module attributes [Macro] Add Macro.expand_literals/2 and Macro.expand_literals/3 [System] Add :close_stdin to System.shell/2 Mix [mix test] Accept --all-warnings option
* 2. Bug fixes Elixir [Kernel] Fix misleading warning when :uniq is given in for comprehensions and the result is unused [Kernel] Improve error message for when there is a conflicting struct and ignoring module conflict [Kernel] Do not delete AATTenforce_keys attribute after defstruct declaration [Kernel] Do not crash the checker on modules with missing :debug_info chunk [Macro] Fix error in Macro.to_string/2 when converting an AST with :erlang.binary_to_atom/2 [String] Fix String.split/3 and String.next_grapheme/1 returning invalid results on invalid UTF-8 encoding [System] Do not close stdin by default in System.shell/2 [URI] Do not return uri.port as :undefined in certain cases in URI.new/1 ExUnit [ExUnit.DocTest] Do not crash when both :moduledoc and functions are specified in :only IEx [CLI] Fix invalid argument handling when --no-pry is given Mix [mix format] Do not cache inputs from .formatter.exs so they are properly re-evaluted on every call
* Wed Sep 07 2022 Fabrizio Sestito - Elixir 1.14
* 1. Enhancements EEx [EEx] Support multi-line comments to EEx via <%!-- --%> [EEx] Add EEx.tokenize/2 Elixir [Access] Add Access.slice/1 [Application] Add Application.compile_env/4 and Application.compile_env!/3 to read the compile-time environment inside macros [Calendar] Support ISO8601 basic format parsing with DateTime.from_iso8601/2 [Calendar] Add day/hour/minute on add/diff across different calendar modules [Code] Add :normalize_bitstring_modifiers to Code.format_string!/2 [Code] Emit deprecation and type warnings for invalid options in on Code.compile_string/2 and Code.compile_quoted/2 [Code] Warn if an outdated lexical tracker is given on eval [Code] Add Code.env_for_eval/1 and Code.eval_quoted_with_env/3 [Code] Improve stacktraces from eval operations on Erlang/OTP 25+ [Code.Fragment] Add support for __MODULE__ in several functions [Code.Fragment] Support surround and context suggestions across multiple lines [Enum] Allow slicing with steps in Enum.slice/2 [File] Support dereference_symlinks: true in File.cp/3 and File.cp_r/3 [Float] Do not show floats in scientific notation if below 1.0e16 and the fractional value is precisely zero [Float] Add Float.min_finite/0 and Float.max_finite/0 [Inspect] Improve error reporting when there is a faulty implementation of the Inspect protocol [Inspect] Allow :optional when deriving the Inspect protocol for hiding fields that match their default value [Inspect] Inspect struct fields in the order they are declared in defstruct [Inspect] Use expression-based inspection for Date.Range, MapSet, and Version.Requirement [IO] Support Macro.Env and keywords as stacktrace definitions in IO.warn/2 [IO] Add IO.ANSI.syntax_colors/0 and related configuration to be shared across IEx and dbg [Kernel] Add new dbg/0-2 macro [Kernel] Allow any guard expression as the size of a bitstring in a pattern match [Kernel] Allow composite types with pins as the map key in a pattern match [Kernel] Print escaped version of control chars when they show up as unexpected tokens [Kernel] Warn on confusable non-ASCII identifiers [Kernel] Add .. as a nullary operator that returns 0..-1//1 [Kernel] Implement Unicode Technical Standard #39 recommendations. In particular, we warn for confusable scripts and restrict identifiers to single-scripts or highly restrictive mixed-scripts [Kernel] Automatically perform NFC conversion of identifiers [Kernel] Add binary_slice/2 and binary_slice/3 [Kernel] Lazily expand module attributes to avoid compile-time deps [Kernel] Automatically cascade generated: true annotations on macro expansion [Keyword] Add Keyword.from_keys/2 and Keyword.replace_lazy/3 [List] Add List.keysort/3 with support for a sorter function [Macro] Add Macro.classify_atom/1 and Macro.inspect_atom/2 [Macro] Add Macro.expand_literal/2 and Macro.path/2 [Macro.Env] Add Macro.Env.prune_compile_info/1 [Map] Add Map.from_keys/2 and Map.replace_lazy/3 [MapSet] Add MapSet.filter/2, MapSet.reject/2, and MapSet.symmetric_difference/2 [Node] Add Node.spawn_monitor/2 and Node.spawn_monitor/4 [Module] Support new AATTafter_verify attribute for executing code whenever a module is verified [PartitionSupervisor] Add PartitionSupervisor that starts multiple isolated partitions of the same child for scalability [Path] Add Path.safe_relative/1 and Path.safe_relative_to/2 [Registry] Add Registry.count_select/2 [Stream] Add Stream.duplicate/2 and Stream.transform/5 [String] Support empty lookup lists in String.replace/3, String.split/3, and String.splitter/3 [String] Allow slicing with steps in String.slice/2 [Task] Add :zip_input_on_exit option to Task.async_stream/3 [Task] Store :mfa in the Task struct for reflection purposes [URI] Add URI.append_query/2 [Version] Add Version.to_string/1 [Version] Colorize Version.Requirement source in the Inspect protocol ExUnit [ExUnit] Add ExUnit.Callbacks.start_link_supervised!/2 [ExUnit] Add ExUnit.run/1 to rerun test modules [ExUnit] Colorize summary in yellow with message when all tests are excluded [ExUnit] Display friendly error when test name is too long IEx [IEx] Evaluate --dot-iex line by line [IEx] Add line-by-line evaluation of IEx breakpoints [IEx.Autocomplete] Autocomplete bitstrings modifiers (after :: inside <<...>>) [IEx.Helpers] Allow an atom to be given to pid/1 [IEx.Helpers] Support sigils in h/1 Logger [Logger] Add Logger.put_process_level/2 Mix [Mix] Add :config_path and :lockfile options to Mix.install/2 [mix compile] Add --no-optional-deps to skip optional dependencies to test compilation works without optional dependencies [mix compile] Include column information on error diagnostics when possible [mix deps] Mix.Dep.Converger now tells which deps formed a cycle [mix do] Support --app option to restrict recursive tasks in umbrella projects [mix do] Allow using + as a task separator instead of comma [mix format] Support filename in mix format - when reading from stdin [mix format] Compile if mix format plugins are missing [mix new] Do not allow projects to be created with application names that conflict with multi-arg Erlang VM switches [mix profile] Return the return value of the profiled function [mix release] Make BEAM compression opt-in [mix release] Let :runtime_config_path accept false to skip the config/runtime.exs [mix test] Improve error message when suite fails due to coverage [mix test] Support :test_elixirc_options and default to not generating docs nor debug info chunk for tests [mix xref] Support --group flag in mix xref graph
* 2. Bug fixes Elixir [Calendar] Handle widths with \"0\" in them in Calendar.strftime/3 [CLI] Improve errors on incorrect --rpc-eval usage [CLI] Return proper exit code on Windows [Code] Do not emit warnings when formatting code [Enum] Allow slices to overflow on both starting and ending positions [Kernel] Do not allow restricted characters in identifiers according to UTS39 [Kernel] Define __exception__ field as true when expanding exceptions in typespecs [Kernel] Warn if any of True, False, and Nil aliases are used [Kernel] Warn on underived AATTderive attributes [Kernel] Remove compile-time dependency from defimpl :for [Kernel] Track all arities on imported functions [Kernel] Fix equality in guards for dynamic ranges without steps [Module] Fix loop while unifying type variables [Protocol] Warn if a protocol has no definitions [Regex] Show list options when inspecting a Regex manually defined with Regex.compile/2 [String] Allow slices to overflow on both starting and ending positions [System] Raise non-generic exception on missing env in System.fetch_env!/1 to mirror map operations ExUnit [ExUnit] Do not crash when diffing unknown bindings in guards [ExUnit] Properly print diffs when comparing improper lists with strings at the tail position [ExUnit] Add short hash to tmp_dir in ExUnit to avoid test name collision [ExUnit] Do not store logs in the CLI formatter (this reduces memory usage for suites with capture_log) [ExUnit] Run ExUnit.after_suite/1 callback even when no tests run [ExUnit] Fix scenario where setup with imported function from within describe failed to compile IEx [IEx] Disallow short-hand pipe after matches [IEx] Fix exports/1 in IEx for long function names Mix [mix compile.elixir] Fix --warnings-as-errors when used with --all-warnings [mix compile.elixir] Ensure semantic recompilation cascades to path dependencies [mix compile.elixir] Lock the compiler to avoid concurrent usage [mix format] Do not add new lines if the formatted file is empty [mix format] Properly compile dependencies on mix format [mix release] Only set RELEASE_MODE after env.{sh,bat} are executed [mix release] Allow application mode configuration to cascade to dependencies [mix xref] Do not emit already consolidated warnings during mix xref trace [Mix] Do not start apps with runtime: false on Mix.install/2
* 3. Soft deprecations (no warnings emitted) Elixir [File] Passing a callback as third argument to File.cp/3 and File.cp_r/3 is deprecated. Instead pass the callback the :on_conflict key of a keyword list EEx [EEx] Using <%# ... %> for comments is deprecated. Please use <% # ... %> or the new multi-line comments with <%!-- ... --%> Logger [Logger] Deprecate Logger.enable/1 and Logger.disable/1 in favor of Logger.put_process_level/2 Mix [mix cmd] The --app option in mix cmd CMD is deprecated in favor of the more efficient mix do --app app cmd CMD
* 4. Hard deprecations Elixir [Application] Calling Application.get_env/3 and friends in the module body is now discouraged, use Application.compile_env/3 instead [Bitwise] use Bitwise is deprecated, use import Bitwise instead [Bitwise] ~~~ is deprecated in favor of bnot for clarity [Kernel.ParallelCompiler] Returning a list or two-element tuple from :each_cycle is deprecated, return a {:compile | :runtime, modules, warnings} tuple instead [Kernel] Deprecate the operator <|> to avoid ambiguity with upcoming extended numerical operators [String] Deprecate passing a binary compiled pattern to String.starts_with?/2 Logger [Logger] Deprecate $levelpad on message formatting Mix [Mix] Mix.Tasks.Xref.calls/1 is deprecated in favor of compilation tracers
* 5. Backwards incompatible changes Mix [mix local.rebar] Remove support for rebar2, which has not been updated in 5 years, and is no longer supported on recent Erlang/OTP versions
* Sat Apr 09 2022 Fabrizio Sestito - Elixir 1.13.4
* 1. Enhancements Elixir [Code] Allow iodata to be returned in sigil formatting functions [Code] Pass opening delimiter information to sigil formatting functions
* 2. Bug fixes Elixir [Kernel] Tweak type unification to fix infinite loop with recursive vars [Kernel] Add compile-time dependencies on require [Registry] Make Registry send work with named triplets
* 3. Deprecations Mix [mix rebar] Deprecate Rebar 2 as it no longer works on Erlang/OTP 25
* Tue Feb 22 2022 Fabrizio Sestito - Elixir 1.13.3
* 1. Enhancements Mix [mix format] Supply file and line to formatter plugins [mix format] Support embedded Elixir expressions inside formatter plugins
* 2. Bug fixes Elixir [Code] Fix duplicate bindings causing errors during evaluation [Kernel] Make sure signatures stored in the Documentation chunk does not contain newlines [Kernel] Fix infinite loop when compiling guards with recursive map access [Macro] Fix error on Macro.to_string/1 when the plain alias Elixir is given [String] Fix error for certain codepoint combinations in String.split_at/2 Mix [mix compile] Recompile project files when exports from dependencies change [mix test] Fix total coverage always showing in red even when above the threshold
* Fri Jan 14 2022 Fabrizio Sestito - Elixir 1.13.2
* 1. Enhancements Mix [mix format] Allow plugins to also format .ex and .exs files [mix release] Allow bypassing application mode validation in release spec [mix test] Print a message when the suite fails due to the coverage threshold
* 2. Bug fixes Elixir [Code] Do not emit warnings on Code.Fragment.container_cursor_to_quoted/2 [Kernel] Fix a crash when a for-comprehension with :uniq was used inside another comprehension with :uniq [Kernel] Ensure env.context_modules is properly set inside optimized defmodule [Keyword] Deprecate the recently added Keyword.map/2 as it is equivalent to Keyword.new/2 [Map] Deprecate the recently added Map.map/2 as it is equivalent to Map.new/2 [Protocol] Warn on zero arity callbacks inside protocols
* Thu Jan 06 2022 Sven Marquardt - Elixir 1.13.1
* 1. Bug fixes Elixir [Code] Do not show code snippets in `SyntaxError` and `TokenMissingError` if line is empty [Exception] Do not fail blaming `ArgumentError` for improper lists on `apply/3` [Macro] Set a max `line_length` for `Macro.to_string/1` [Macro] Fix formatting of lists on module attributes for `Macro.to_string/1` [String] Fix incorrect codepoint byte counting in `slice` with negative positions in ranges [Task] Ensure async streams can be consumed from another process than the one that creates them [URI] Undeprecate `URI.parse/1` as `URI.new/1` is too strict in many common cases [URI] Make sure `URI.new/1` returns nil for empty paths IEx [IEx] Make sure the `--version` flag halts IEx Mix [Mix] Make protocol consolidation part of the `Mix.install/2` cache
* Thu Jan 06 2022 Sven Marquardt - Elixir 1.13.0
* Enhancements EEx [EEx] Add `:parser_options` to EEx functions Elixir [Calendar] Add `c:Calendar.year_of_era/3` to support calendars where the beginning of a new era does not align with the beginning of a new year [CLI] Support `--short-version` on the CLI that does not boot the VM [Code] Add `Code.string_to_quoted_with_comments/2` and `Code.quoted_to_algebra/2` [Code] Add more `:token_metadata` to aliases and remote calls when parsing strings [Code] Add `Code.Fragment` module to provide best-effort information from code fragments. The module currently provides an updated `Code.Fragment.cursor_context/2` with operator support and `Code.Fragment.surround_context/2` which looks at a given position in a fragment and find its surrounding delimiters [Code] Allow custom sigil formatting on `Code.format_string!/2` [Code] Add `{:on_module, bytecode, :none}` trace to compilation tracers [Enum] Optimize `Enum.concat/1` for lists of lists [Enum] Add `Enum.slide/3` [Exception] Better format Elixir exceptions in Erlang [Inspect] Allow default inspect fun to be set globally with `Inspect.Opts.default_inspect_fun/1` [IO] Allow `:eof` to be given as limit to `IO.getn/2` [Kernel] Support the `:sigils` option in `import Mod, only: :sigils` and allow the sigil modifiers to be also digits [Kernel] Make `get_in` consistently abort and return `nil` when `nil` values are found (previously Elixir would raise an error in this case). This allows a user to use `get_in` as a safe navigation operator. [Kernel] Improve compilation times by reducing the amount of copies of the AST across compiler processes [Kernel] Raise if trying to define a module with a slash in its name [Kernel] Warn when `?\\` is used and there is no need for a escape character [Kernel] Track structs in typespecs as export deps instead of compile-time deps [Kernel] Add power operator (`
*
*/2`) [Keyword] Add `Keyword.validate/2` [Keyword] Implement `Keyword.filter/2` and `Keyword.map/2` [List] Add `List.keyfind!/3` [Macro] Add `Macro.prewalker/1` and `Macro.postwalker/1` [Macro.Env] Add the following reflection functions: `required?/2`, `lookup_import/2`, `fetch_alias/2`, and `fetch_macro_alias/2` [Map] Implement `Map.filter/2` and `Map.map/2` [Module] Support `:nillify_clauses` in `Module.get_definition/3` [Module] Add `Module.attributes_in/1` and `Module.overridables_in/1` [OptionParser] Add \"did you mean?\" suggestions to `OptionParser.ParseError` messages [Record] Add record reflection via `AATT__records__` [Task] Add `Task.completed/1` [Task] Add `Task.ignore/1` to keep a task running but ignoring all of its results [Task] Reduce the amount of copying `Task.async
*` functions [URI] Add `URI.new/1` and `URI.new!/1` ExUnit [ExUnit] Show hint if comparing different but equivalent strings [ExUnit.CaptureIO] Add `with_io/3` to return result with captured io [ExUnit.CaptureLog] Add `with_log/2` to return result with captured logs IEx [IEx.Autocomplete] Add path autocompletion whenever when the cursor follows `\"./` or `\"/` or `\"DRIVER:` where `DRIVER` is a single letter [IEx.Autocomplete] Add autocompletion for sigils, struct names, and struct fields [IEx.Helpers] Allow multiple modules to be given to `r/1` Logger [Logger] Add `Logger.put_application_level/2` [Logger] Print all log levels in accordance to Erlang/OTP. This also means `[warn]` is now shown as `[warning]` Mix [Mix] Add `MIX_INSTALL_FORCE` environment variable support [Mix] Support `:config` and `:system_env` in `Mix.install/2` [Mix] Add `Mix.installed?/0` [Mix.Shell] Add `:default` option to `Mix.Shell.yes?` [mix archive.install] Run `loadconfig` before building archive [mix compile] Move Elixir version check to before deps are compiled, in order to give feedback earlier [mix compile.elixir] Do not recompile files if their modification time change but their contents are still the same and the .beam files are still on disk [mix compile.elixir] Do not recompile all Elixir sources when Erlang modules change, only dependent ones [mix compile.elixir] Do not recompile Elixir files if `mix.exs` changes, instead recompile only files using `Mix.Project` or trigger a recompilation if a compiler option changes [mix compile.elixir] Only recompile needed files when a dependency is added, updated or removed [mix compile.elixir] Only recompile needed files when a dependency is configured [mix deps] Add `:subdir` option to git deps [mix escript.install] Run `loadconfig` before building escript [mix format] Support `:plugins` in `mix format` that can hook into custom extensions and sigils [mix format] Add `Mix.Tasks.Format.formatter_for_file/2` [mix local.rebar] No longer support `sub_dirs` in Rebar 2 to help migration towards Rebar 3 [mix local.rebar] Support `--if-missing` option when installing Rebar [mix local.rebar] Set `REBAR_PROFILE=prod` when compiling Rebar dependencies [mix test] Support `--profile-require=time` to profile the time loading test files themselves [mix test] Allow filtering modules from coverage using regex [mix test] Allow the exit status of ExUnit to be configured and set the default to 2 [mix test] Exit with a status of 3 when coverage falls below threshold [mix test] Write failed manifest when suite fails due to --warnings-as-errors [mix test] Ignore `MIX_TEST_PARTITION` when partitions set to 1 [mix xref] Support multiple sinks and sources in `mix xref graph` [mix xref] Add `trace` subcommand to print compilation dependencies between files [mix xref] Add `--fail-above` option to `mix xref` [mix xref] Add `--label compile-connected` to `mix xref`
* 2. Bug fixes EEx [EEx] Accept comments in EEx between do and the first clause [EEx] Accept EEx expressions where `->` is followed by newline Elixir [Application] Allow any expression as first argument of `compile_env` [Application] Warn if `Application.compile_env` or `Application.compile_env!` are called without a require [Code] Make sure `:static_atoms_encoder` in `Code.string_to_quoted/2` also applies to quoted keyword keys [Code] Ensure bindings with no context are returned as atoms instead of `{binding, nil}` in eval operations [Inspect] Fix a bug when inspecting a non-binary bitstring with colors [Kernel] Reject bidirectional formatting characters in strings and comments [Kernel] Support escaping of terminators in uppercase sigils heredocs for consistency [Kernel] Raise if `__CALLER__` or `__ENV__` or `__STACKTRACE__` are used in match [Kernel] Improve error message on invalid argument for `byte_size` from binary concat [Kernel] Raise when aliasing non-Elixir modules without `:as` [Kernel] Allow `unquote_splicing` inside `%{...}` without parens [Kernel] Ensure that waiting on a struct expansion inside a typespec is correctly tracked as waiting time in the compiler [Kernel] Correctly parse the atom `.` as a keyword list key [Kernel] Do not leak variables from the first generator in `with` and `for` special forms [Kernel] Fix column number on strings with NFD characters [Kernel] Fix a bug where a combination of dynamic line in `quote` with `unquote` of remote calls would emit invalid AST metadata [OptionParser] Validate switch types/modifiers early on to give more precise feedback [Protocol] Add `defdelegate` to the list of unallowed macros inside protocols as protocols do not allow function definitions [Protocol] Warn if `AATTcallback`, `AATTmacrocallback` and `AATToptional_callbacks` are defined inside protocol [Protocol] Ensure protocol metadata is deterministic on consolidation [Range] Always show step when range is descending [String] Update Unicode database to version 14.0 [URI] Only percent decode if followed by hex digits (according to https://url.spec.whatwg.org/#percent-decode) [Version] Ensure proper precedence of `and`/`or` in version requirements ExUnit [ExUnit] Fix formatter and counters from `ExUnit.run/0` to consider all tests in a module whenever if a module\'s `setup_all` fails [ExUnit] Allow doctests newlines to be terminated by CRLF IEx [IEx] Fix the loss of `.iex.exs` context after a pry session [IEx] Stop evaluator before exiting IEx server to avoid evaluators leaking Logger [Logger] Raise clear error message for invalid `:compile_time_purge_matching` configuration [Logger] Fix a bug where Logger would not reset its discard counter under some scenarios Mix [mix compile.elixir] Track transitive runtime dependencies coming from local/path dependencies [mix compile.elixir] Recompile file if `AATTexternal_resource` is deleted [mix compile.elixir] Print number of compiling files on all compiler cycles. This will make the `Compiling N files (.ex)` show up multiple times if necessary [mix deps] Raise if local dep is unavailable while compiling [mix deps.unlock] Fix blank output when unlocking a dependency that is not locked [mix local.install] Do not respect `MIX_DEPS_PATH` for install commands [mix release] Improve release scripts by making sure shell errors cascade (this is done by avoiding exporting and defining variables in a single step) [mix release] Do not boot release if `RELEASE_COOKIE` is empty [mix release] Allow releases running as a daemon to be restarted [mix release] Raise proper error message when non-serializable values are in configs [mix test] Fix coverage engine to also tag `case`, `cond`, and `receive` branches where the right side is a literal
* 3. Soft-deprecations (no warnings emitted) Elixir [Code] Environment options in `Code.eval_quoted/3` and `Code.eval_string/3`, such as `:aliases` and `:tracers`, have been deprecated in favor of passing an environment [IO] `:all` on `IO.getn` is deprecated in favor of `:eof` [URI] `URI.parse/1` is deprecated in favor of `URI.new/1` and `URI.new!/1` Mix [mix format] `Mix.Tasks.Format.formatter_opts_for_file/2` is deprecated in favor of `Mix.Tasks.Format.formatter_for_file/2`
* 4. Hard-deprecations Elixir [Code] `Code.cursor_context/2` is deprecated, use `Code.Fragment.cursor_context/2` instead [Macro] `Macro.to_string/2` is deprecated, use `Macro.to_string/1` instead [System] `System.get_pid/0` is deprecated, use `System.pid/0` instead [Version] Using `!` or `!=` in version requirements is deprecated, use `~>` or `>=` instead Mix [mix escript.build] `:strip_beam` option is deprecated in favor of `:strip_beams` [Mix] `:exit_code` in `Mix.raise/2` has been deprecated in favor of `:exit_status` [Mix.Config] `Mix.Config` is deprecated in favor of `Config` module Full release notes: https://github.com/elixir-lang/elixir/releases/tag/v1.13.0 - Drop 0001-Add-retries-to-tests-that-write-to-stderr-on-Windows.patch: upstreamed
* Fri Nov 05 2021 Matwey Kornilov - Add 0001-Add-retries-to-tests-that-write-to-stderr-on-Windows.patch: fix build for Factory
* Tue Sep 28 2021 Sven Marquardt - Elixir 1.12.3
* Bug fixes Elixir [Code] Make sure that bindings in the default context returned by `Code.eval_
*` functions are not returned as tagged tuples [Kernel] Do not crash when handling ambiguity errors [Range] Still match on old range patterns throughout the stdlib IEx [IEx.Autocomplete] Do not error autocompletion with module attribute Mix [Mix] Rename inconsistent `:exit_code` option to `:exit_status` on `Mix.raise/2`
* Mon Jul 12 2021 Sven Marquardt - Elixir 1.12.2
* Bug fixes Elixir [Kernel] Ensure deprecated macros emit warnings Mix [mix deps] Ensure unconstrained rebar deps generate valid mix specifications
* Enhancements Elixir [elixirc] Change the output of `--profile time` to make it easier to detect outliers [Application] Do not add compile time deps on args to `Application.compile_env/2` and `Application.compile_env!/2` [Enum] Optimize `Enum.into/3` and `Map.new/2` Mix [mix compile] Compile most recently changed files first [mix compile, mix run, mix test] Speed up the time taken to load dependencies. This should make the usage of Mix inside projects quite more responsive
* Mon Jun 14 2021 Sven Marquardt - Elixir 1.12.1
* Bug fixes Elixir [Code] Make sure `Code.format_string!/2` formats multiline expression inside interpolation on the first run [Macro] Revert keeping of underscores between digits in camelize Mix [Mix] Make sure `Mix.install/2` expand paths for deps [mix deps.get] Silence false positives on `httpc` warnings [mix test] Do not run the whole suite when there are no --failed tests as it won\'t behave as expected inside umbrellas
* Mon Jun 14 2021 Sven Marquardt - Elixir 1.12
* Enhancements EEx [EEx.Engine] Add `c:EEx.Engine.handle_text/3` callback that receives text metadata [EEx.Engine] Emit warnings for unused \"do\" expression in EEx Elixir [Code] Add `Code.cursor_context/2` to return the context of a code snippet [Code] Do not add newlines around interpolation on code formatting. Note this means formatted code that has interpolation after the line length on Elixir v1.12 won\'t be considered as formatted on earlier Elixir versions [Code] Do not add brackets when keywords is used in the access syntax [Calendar] Support basic datetime format in `Calendar.ISO` parsing functions [Code] Improve evaluation performance on systems running on Erlang/OTP 24+ [Date] Support steps via `Date.range/3` [DateTime] Add `offset` to `DateTime.to_iso8601/2` (now `to_iso8601/3`) [Enum] Add `Enum.count_until/2` and `Enum.count_until/3` [Enum] Add `Enum.product/1` [Enum] Add `Enum.zip_with/2`, `Enum.zip_with/3`, `Enum.zip_reduce/3`, and `Enum.zip_reduce/4` [Enum] Add support for functions as the second argument of `Enum.with_index/2` [Exception] Show `error_info` data for exceptions coming from Erlang [Float] Add `Float.pow/2` [Integer] Add `Integer.pow/2` and `Integer.extended_gcd/2` [IO] Add `IO.stream/0` and `IO.binstream/0` which default to STDIO with line orientation [List] Add default value for `List.first/1` and `List.last/1` [Kernel] Add `first..last//step` as support for stepped ranges [Kernel] Also warn for literal structs on `min/2` and `max/2` [Kernel] Add `Kernel.tap/2` and `Kernel.then/2` [Kernel] Do not add runtime dependencies to remotes in typespecs [Kernel] When there is an unused variable warning and there is a variable with the same name previously defined, suggest the user may have wanted to use the pin operator [Kernel] Improve error messages on invalid character right after a number [Kernel] Show removal and deprecated tips from Erlang/OTP [Macro] Add export dependencies on `Macro.struct!/2` [Macro] Support `:newline` to customize newlines escaping in `Macro.unescape_string/2` [Module] Raise on invalid `AATTdialyzer` attributes [Module] Add `Module.get_definition/2` and `Module.delete_definition/2` [Module] Allow `AATTon_load` to be a private function [Module] Validate `AATTdialyzer` related module attributes [Module] Add `Module.reserved_attributes/0` to list all reserved attributes by the language [Range] Add `Range.new/3` and `Range.size/1` [Regex] Add offset option to `Regex.scan/3` and `Regex.run/3` [Registry] Support `:compression` on `Registry` tables [Registry] Support `Registry.values/3` for reading values under a given key-pid pair [Stream] Add `Stream.zip_with/2` and `Stream.zip_with/3` [String] Add `:turkic` mode option to String case functions [String] Update to Unicode 13.0 [System] Add `System.trap_signal/3` and `System.untrap_signal/2` [System] Add `System.shell/2` to invoke a command that is interpreted by the shell [Tuple] Add `Tuple.sum/1` and `Tuple.product/1` [URI] Support RFC3986 compliant encoding and decoding of queries via the `:rfc3986` option ExUnit [ExUnit] Intercept SIGQUIT (via Ctrl+\\\\) and show a list of all aborted tests as well as intermediate test results [ExUnit] Interpolate module attributes in match assertions diffs [ExUnit] Print how much time is spent on `async` vs `sync` tests [ExUnit] Improve error messages for doctests [ExUnit] Compile doctests faster (often by two times) [ExUnit] Add `ExUnit.async_run/0` and `ExUnit.await_run/1` IEx [IEx] Make IEx\' parser configurable to allow special commands [IEx] Show function signature when pressing tab after the opening parens of a function [IEx] If an IEx expression starts with a binary operator, such as `|>`, automatically pipe in the result of the last expression Mix [Mix] Add `Mix.install/2` for dynamically installing a list of dependencies [Mix] Support `:exit_code` option in `Mix.raise/2` [Mix] Discard `MIX_ENV` and `MIX_TARGET` values if they are empty strings [Mix] Print the time taken to execute a task with on `MIX_DEBUG=1` [mix compile.erlang] Compile multiple files in parallel [mix escript.build] Deep merge configuration and ensure argv is set when executing `config/runtime.exs` [mix release] Add `RELEASE_PROG` to releases with the name of the executable starting the release [mix release] Support `remote.vm.args` to customize how the connecting VM boots [mix test] Run all available tests if there are no pending `--failed` tests. This provides a better workflow as you no longer need to toggle the `--failed` flag between runs
* Bug fixes Elixir [CLI] Ensure `-e \"\"` (with an empty string) parses correctly on Windows [Inspect] Do not override user supplied `:limit` option for derived implementations [Kernel] Allow heredoc inside a heredoc interpolation [Kernel] Preserve CRLF on heredocs [Kernel] Public functions without documentation now appear as an empty map on `Code.fetch_docs/1`, unless they start with underscore, where they remain as `:none`. This aligns Elixir\'s implementation with EEP48 [Kernel] Do not crash when complex literals (binaries and maps) are used in guards [Kernel] Properly parse keywords (such as `end`) followed by the `::` operator [Kernel] Do not ignore unimplemented signatures from generated functions [Kernel] Improve error message when an expression follows a keyword list without brackets [Macro] `Macro.decompose_call/1` now also consider tuples with more than 2 elements to not be valid calls [Macro] Fix `Macro.to_string/1` double-escaping of escape characters in sigils [Macro] Fix `Macro.underscore/1` on digits preceded by capitals: \"FOO10\" now becomes \"foo10\" instead of \"fo_o10\" [Macro] Preserve underscores between digits on `Macro.underscore/1` [OptionParser] Properly parse when numbers follow-up aliases, for example, `-ab3` is now parsed as `-a -b 3` [Path] Fix `Path.relative_to/2` when referencing self [Path] Do not crash when a volume is given to `Path.absname/1`, such as \"c:\" [Task] Ensure `Task.async_stream/2` with `ordered: false` discard results as they are emitted, instead of needlessly accumulating inside the stream manager [Task] Raise if `:max_concurrency` is set to 0 on streaming operations [URI] Do not discard empty paths on `URI.merge/2` ExUnit [ExUnit.Case] Make `AATTtag tmp_dir` an absolute directory, avoiding inconsistencies if the test changes the current working directory [ExUnit.Diff] Fix cases where the diffing algorithm would fail to print a pattern correct IEx [IEx] Fix auto-completion inside remote shells Mix [mix app.config] Do not emit false positive warnings when configured dependencies that have `runtime: false` set [mix compile.elixir] Ensure that a manifest is generated even with no source code [mix compile.elixir] Make sure export dependencies trigger recompilation when the dependency is removed as well as when the whole file is removed [mix compile.elixir] Do not emit false positive warnings when a path dependency adds a module that is then used by the current application in the same `mix compile` cycle [mix test] Ensure protocols within the current project are consolidated when `--cover` is given [mix release] Improve compliance of release scripts with stripped down Linux installations [mix release] Preserve file mode when copying non-beam ebin files [mix xref] Ensure args are passed to the underlying `mix compile` call
* Soft-deprecations (no warnings emitted) Elixir [Kernel] Using `first..last` to match on ranges is soft-deprecated and will warn on future Elixir versions. Use `first..last//step` instead [Kernel] Using `first..last` to create decreasing ranges is soft-deprecated and will warn on future versions. Use `first..last//-1` instead
* Hard-deprecations EEx [EEx.Engine] `use EEx.Engine` is deprecated in favor of explicit delegation Elixir [Kernel] The binary operator `^^^` is deprecated. If you are using `Bitwise.^^^/2`, use `Bitwise.bxor/2` instead [Kernel] Deprecate `AATTfoo()` in favor of `AATTfoo` [System] Deprecate `System.stacktrace/0` (it was already deprecated outside of catch/rescue and now it is deprecated everywhere) Mix [mix compile] The `:xref` compiler is deprecated and it has no effect. Please remove it from your mix.exs file. Full release notes: https://github.com/elixir-lang/elixir/releases/tag/v1.12.0
* Fri Mar 19 2021 Sven Marquardt - Elixir 1.11.4
* Enhancements Elixir [Kernel] Update formatting when printing warnings and errors from Erlang/OTP 24+ [Kernel] Support float-16 on bitstrings Mix [mix local.rebar] This task will now install rebar3 version 3.14.4, compiled with Erlang/OTP 21
* Mon Jan 11 2021 Sven Marquardt - Elixir 1.11.3
* Enhancements Elixir [Macro] Add Macro.unique_var/2 and Macro.generate_unique_arguments/2
* Bug fixes Elixir [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 AATTafter_compile [Record] Make sure nested record names do not clobber each other ExUnit [ExUnit.Assertions] Do not crash if there are macros and module attributes on the left side of ++ IEx [IEx.Helpers] Do not use Unicode chars if ANSI is disabled Mix [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
 
ICM