Update dependency elixir to v1.15.7 #362
No reviewers
Labels
No Label
ActivityPub
Bug
Indie/Micropub
Indie/Microsub
Indie/Webmention
Special/MEGA
Special/Renovate
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Reference: inhji/chiya#362
Loading…
Reference in New Issue
No description provided.
Delete Branch "renovate/elixir-1.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
1.15.0-otp-26
->1.15.7
Release Notes
elixir-lang/elixir (elixir)
v1.15.7
Compare Source
1. Enhancements
Elixir
2. Bug fixes
EEx
Mix
v1.15.6
Compare Source
This release also includes fixes to the Windows installer.
1. Bug fixes
EEx
Elixir
Mix
v1.15.5
Compare Source
1. Enhancements
IEx
2. Bug fixes
Elixir
ExUnit
IEx
Mix
v1.15.4
Compare Source
1. Bug fixes
Mix
v1.15.3
Compare Source
1. Enhancements
Elixir
Mix
2. Bug fixes
Elixir
IEx
Mix
v1.15.2
Compare Source
1. Bug fixes
IEx
v1.15.1
Compare Source
1. Enhancements
2. Bug fixes
ExUnit
IEx
Logger
Mix
v1.15.0
Compare Source
Official announcement: https://elixir-lang.org/blog/2023/06/19/elixir-v1-15-0-released/
This release requires Erlang/OTP 24 and later.
Elixir v1.15 is a smaller release with focused improvements
on compilation and boot times. This release also completes
our integration process with Erlang/OTP logger, bringing new
features such as log rotation and compaction out of the box.
You will also find additional convenience functions in
Code
,Map
,Keyword
, all Calendar modules, and others.Compile and boot-time improvements
The last several releases brought improvements to compilation
time and this version is no different. In particular, Elixir
now caches and prunes load paths before compilation, ensuring your
project (and dependencies!) compile faster and in an environment
closer to production.
In a nutshell the Erlang VM loads modules from code paths. Each
application that ships with Erlang and Elixir plus each dependency
become an entry in your code path. The larger the code path, the
more work Erlang has to do in order to find a module.
In previous versions, Mix would only add entries to the load paths.
Therefore, if you compiled 20 dependencies and you went to compile
the 21st, the code path would have 21 entries (plus all Erlang and
Elixir apps). This allowed modules from unrelated dependencies to
be seen and made compilation slower the more dependencies you had.
With this release, we will now prune the code paths to only the ones
listed as dependencies, bringing the behaviour closer to
mix release
.Furthermore, Erlang/OTP 26 allows us to start applications
concurrently and cache the code path lookups, decreasing the cost of
booting applications. The combination of Elixir v1.15 and Erlang/OTP 26
should reduce the boot time of applications, such as when starting
iex -S mix
or running a single test withmix test
, from 5% to 30%.The compiler is also smarter in several ways:
@behaviour
declarationsno longer add compile-time dependencies and aliases in patterns and
guards add no dependency whatsoever, as no dispatching happens. Furthermore,
Mix now tracks the digests of
@external_resource
files, reducing theamount of recompilation when swapping branches. Finally, dependencies
are automatically recompiled when their compile-time configuration changes.
Potential incompatibilities
Due to the code path pruning, if you have an application or dependency
that does not specify its dependencies on Erlang and Elixir application,
it may no longer compile successfully in Elixir v1.15. You can temporarily
disable code path pruning by setting
prune_code_paths: false
in yourmix.exs
, although doing so may lead to runtime bugs that are onlymanifested inside a
mix release
.Compiler warnings and errors
The Elixir compiler can now emit many errors for a single file, making
sure more feedback is reported to developers before compilation is aborted.
In Elixir v1.14, an undefined function would be reported as:
In Elixir v1.15, the new reports will look like:
A new function, called
Code.with_diagnostics/2
, has been added so thisinformation can be leveraged by editors, allowing them to point to several
errors at once.
Potential incompatibilities
As part of this effort, the behaviour where undefined variables were
transformed into nullary function calls, often leading to confusing error
reports, has been disabled during project compilation. You can invoke
Code.compiler_options(on_undefined_variable: :warn)
at the top of your
mix.exs
to bring the old behaviour back.Integration with Erlang/OTP logger
This release provides additional features such as global logger
metadata and file logging (with rotation and compaction) out-of-the-box!
This release also soft-deprecates Elixir's Logger Backends in
favor of Erlang's Logger handlers. Elixir will automatically
convert your
:console
backend configuration into the newconfiguration. Previously, you would set:
Which is now translated to the equivalent:
If you use
Logger.Backends.Console
with a custom device or otherbackends, they are still fully supported and functional. If you
implement your own backends, you want to consider migrating to
:logger_backends
in the long term.
See the new
Logger
documentation for more information on thenew features and on compatibility.
1. Enhancements
EEx
Elixir
ExUnit
IEx
Logger
Mix
2. Bug fixes
Elixir
ExUnit
IEx
Mix
3. Soft deprecations (no warnings emitted)
Elixir
Logger
Mix
4. Hard deprecations
Elixir
Logger
v1.15.0-rc.2-otp-26
Compare Source
v1.15.0-rc.2-otp-25
Compare Source
v1.15.0-rc.2-otp-24
Compare Source
v1.15.0-rc.1-otp-26
Compare Source
v1.15.0-rc.1-otp-25
Compare Source
v1.15.0-rc.1-otp-24
Compare Source
v1.15.0-rc.0-otp-26
Compare Source
v1.15.0-rc.0-otp-25
Compare Source
v1.15.0-rc.0-otp-24
Compare Source
v1.15.0-rc.2
Compare Source
Note this release includes offline Elixir installers for Windows per supported Erlang/OTP version.
1. Enhancements
Elixir
ExUnit
2. Bug fixes
Elixir
ExUnit
Mix
v1.15.0-rc.1
Compare Source
1. Enhancements
Elixir
ExUnit
2. Bug fixes
Elixir
ExUnit
IEx
Mix
3. Soft deprecations
Elixir
v1.15.0-rc.0
Compare Source
This release requires Erlang/OTP 24 and later.
Elixir v1.15 is a smaller release with focused improvements
on compilation and boot times. This release also completes
our integration process with Erlang/OTP logger, bringing new
features such as log rotation and compaction out of the box.
You will also find additional convenience functions in
Code
,Map
,Keyword
, all Calendar modules, and others.Compile and boot-time improvements
The last several releases brought improvements to compilation
time and this version is no different. In particular, Elixir
now caches and prunes load paths before compilation, ensuring your
project (and dependencies!) compile faster and in an environment
closer to production.
In a nutshell the Erlang VM loads modules from code paths. Each
application that ships with Erlang and Elixir plus each dependency
become an entry in your code path. The larger the code path, the
more work Erlang has to do in order to find a module.
In previous versions, Mix would only add entries to the load paths.
Therefore, if you compiled 20 dependencies and you went to compile
the 21st, the code path would have 21 entries (plus all Erlang and
Elixir apps). This allowed modules from unrelated dependencies to
be seen and made compilation slower the more dependencies you had.
With this release, we will now prune the code paths to only the ones
listed as dependencies, bringing the behaviour closer to
mix release
.Furthermore, Erlang/OTP 26 allows us to start applications
concurrently and cache the code path lookups, decreasing the cost of
booting applications. The combination of Elixir v1.15 and Erlang/OTP 26
should reduce the boot time of applications, such as when starting
iex -S mix
or running a single test withmix test
, from 5% to 30%.The compiler is also smarter in several ways:
@behaviour
declarationsno longer add compile-time dependencies and aliases in patterns and
guards add no dependency whatsoever, as no dispatching happens. Furthermore,
Mix now tracks the digests of
@external_resource
files, reducing theamount of recompilation when swapping branches. Finally, dependencies
are automatically recompiled when their compile-time configuration changes.
Potential incompatibilities
Due to the code path pruning, if you have an application or dependency
that does not specify its dependencies on Erlang and Elixir application,
it may no longer compile successfully in Elixir v1.15. You can temporarily
disable code path pruning by setting
prune_code_paths: false
in yourmix.exs
, although doing so may lead to runtime bugs that are onlymanifested inside a
mix release
.Compiler warnings and errors
The Elixir compiler can now emit many errors for a single file, making
sure more feedback is reported to developers before compilation is aborted.
In Elixir v1.14, an undefined function would be reported as:
In Elixir v1.15, the new reports will look like:
A new function, called
Code.with_diagnostics/2
, has been added so thisinformation can be leveraged by editors, allowing them to point to several
errors at once.
Integration with Erlang/OTP logger
This release provides additional features such as global logger
metadata and file logging (with rotation and compaction) out-of-the-box!
This release also soft-deprecates Elixir's Logger Backends in
favor of Erlang's Logger handlers. Elixir will automatically
convert your
:console
backend configuration into the newconfiguration. Previously, you would set:
Which is now translated to the equivalent:
If you use
Logger.Backends.Console
or other backends, they arestill fully supported and functional. If you implement your own
backends, you want to consider migrating to
:logger_backends
in the long term.
See the new
Logger
documentation for more information on thenew features and on compatibility.
v1.15.0-rc.0 (2022-05-22)
1. Enhancements
EEx
Elixir
ExUnit
IEx
Logger
Mix
2. Bug fixes
Elixir
ExUnit
IEx
Mix
3. Soft deprecations (no warnings emitted)
Elixir
Logger
Mix
4. Hard deprecations
Elixir
Logger
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.
Step 1:
From your project repository, check out a new branch and test the changes.Step 2:
Merge the changes and update on Forgejo.