From 5acc0622aa819ad9c8ecb56f286d0a3c2cc42c5b58df059598df9bab90ddd516 Mon Sep 17 00:00:00 2001 From: Matwey Kornilov Date: Fri, 23 Sep 2022 17:58:14 +0000 Subject: [PATCH] Accepting request 1005280 from home:fabriziosestito:branches:devel:languages:erlang - 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 @after_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 @derive 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 OBS-URL: https://build.opensuse.org/request/show/1005280 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang/elixir?expand=0&rev=80 --- elixir-1.13.4.tar.gz | 3 - elixir-1.14.0.tar.gz | 3 + elixir-doc.spec | 2 +- elixir.changes | 190 +++++++++++++++++++++++++++++++++++++++++++ elixir.spec | 2 +- 5 files changed, 195 insertions(+), 5 deletions(-) delete mode 100644 elixir-1.13.4.tar.gz create mode 100644 elixir-1.14.0.tar.gz diff --git a/elixir-1.13.4.tar.gz b/elixir-1.13.4.tar.gz deleted file mode 100644 index 2cbbc6e..0000000 --- a/elixir-1.13.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:95daf2dd3052e6ca7d4d849457eaaba09de52d65ca38d6933c65bc1cdf6b8579 -size 2912984 diff --git a/elixir-1.14.0.tar.gz b/elixir-1.14.0.tar.gz new file mode 100644 index 0000000..183fadf --- /dev/null +++ b/elixir-1.14.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac129e266a1e04cdc389551843ec3dbdf36086bb2174d3d7e7936e820735003b +size 3067581 diff --git a/elixir-doc.spec b/elixir-doc.spec index d22cfda..5696ffb 100644 --- a/elixir-doc.spec +++ b/elixir-doc.spec @@ -17,7 +17,7 @@ Name: elixir-doc -Version: 1.13.4 +Version: 1.14.0 Release: 0 Summary: Documentation for elixir License: Apache-2.0 diff --git a/elixir.changes b/elixir.changes index f8a146c..ab9280b 100644 --- a/elixir.changes +++ b/elixir.changes @@ -1,3 +1,193 @@ +------------------------------------------------------------------- +Wed Sep 7 06:38:23 UTC 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 @after_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 @derive 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 9 11:16:39 UTC 2022 - Fabrizio Sestito diff --git a/elixir.spec b/elixir.spec index e9cf7c1..96c4118 100644 --- a/elixir.spec +++ b/elixir.spec @@ -17,7 +17,7 @@ Name: elixir -Version: 1.13.4 +Version: 1.14.0 Release: 0 Summary: Functional meta-programming aware language built atop Erlang License: Apache-2.0