Revisions of elixir
Fabrizio Sestito (fabriziosestito)
accepted
request 946961
from
Matwey Kornilov (matwey)
(revision 76)
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
Matwey Kornilov (matwey)
accepted
request 946462
from
Fabrizio Sestito (fabriziosestito)
(revision 75)
- 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
Matwey Kornilov (matwey)
accepted
request 944534
from
Sven Marquardt (MaSven)
(revision 74)
- 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 - 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 `@__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 `@callback`, `@macrocallback` and `@optional_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 `@external_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
Matwey Kornilov (matwey)
accepted
request 929657
from
Matwey Kornilov (matwey)
(revision 73)
- Add 0001-Add-retries-to-tests-that-write-to-stderr-on-Windows.patch: fix build for Factory
Matwey Kornilov (matwey)
accepted
request 922053
from
Sven Marquardt (MaSven)
(revision 72)
- 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`
Matwey Kornilov (matwey)
accepted
request 905894
from
Sven Marquardt (MaSven)
(revision 71)
- 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
buildservice-autocommit
accepted
request 899989
from
Matwey Kornilov (matwey)
(revision 70)
baserev update by copy to link target
Matwey Kornilov (matwey)
accepted
request 899988
from
Sven Marquardt (MaSven)
(revision 69)
Changes for Elixir 1.12 and 1.12.1
buildservice-autocommit
accepted
request 880236
from
Matwey Kornilov (matwey)
(revision 68)
baserev update by copy to link target
Matwey Kornilov (matwey)
accepted
request 880182
from
Sven Marquardt (MaSven)
(revision 67)
- 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
buildservice-autocommit
accepted
request 862876
from
Matwey Kornilov (matwey)
(revision 66)
baserev update by copy to link target
Matwey Kornilov (matwey)
accepted
request 862427
from
Sven Marquardt (MaSven)
(revision 65)
- 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 @after_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
buildservice-autocommit
accepted
request 847072
from
Gabriele Santomaggio (gsantomaggio_suse)
(revision 64)
baserev update by copy to link target
Gabriele Santomaggio (gsantomaggio_suse)
accepted
request 846082
from
Sven Marquardt (MaSven)
(revision 63)
Update to elixir 1.11.2
buildservice-autocommit
accepted
request 844356
from
Gabriele Santomaggio (gsantomaggio_suse)
(revision 62)
baserev update by copy to link target
Gabriele Santomaggio (gsantomaggio_suse)
accepted
request 844333
from
Sven Marquardt (MaSven)
(revision 61)
Updateto elixir version 1.11.0 and 1.11.1
buildservice-autocommit
accepted
request 822142
from
Gabriele Santomaggio (gsantomaggio_suse)
(revision 60)
baserev update by copy to link target
Gabriele Santomaggio (gsantomaggio_suse)
accepted
request 821640
from
Matwey Kornilov (matwey)
(revision 59)
Fix sources file
Matwey Kornilov (matwey)
accepted
request 819689
from
Gabriele Santomaggio (gsantomaggio_suse)
(revision 58)
- Elixir 1.10.4 * Bug fixes Elixir [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 [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 [IEx.Helpers] Do not crash when printing a type that cannot be code formatted Mix [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
buildservice-autocommit
accepted
request 798116
from
Gabriele Santomaggio (gsantomaggio_suse)
(revision 57)
baserev update by copy to link target
Displaying revisions 21 - 40 of 96