Elixir
Elixir Core Team
Elixir v1.19.0-rc.1 released
1. Enhancements
Elixir
- [Kernel] Raise when U+2028 and U+2029 characters are present in comments and strings to avoid line spoofing attacks
- [Kernel] Include the line for the previous clause in errors/warnings related to conflicts between defaults on function definitions
- [Macro] Add
__escape__/1callback so structs can escape references and other runtime data types inMacro.escape/1 - [OptionParser] Support the
:regextype - [OptionParser] Enhance parsing error to display available options
- [String] Update to Unicode 17.0.0
ExUnit
- [ExUnit] Set a process label for each test
Logger
- [Logger] Accept any enumerable in
Logger.metadata/1
Mix
- [mix format] Add options to mix format to allow excluding of files
- [mix test] Add
--name-patternoption tomix test - [Mix.install/2] Support the
:compilersoption
2. Bug fixes
Elixir
- [Code] Return error on invalid unicode sequences in
Code.string_to_quoted/2instead of raising - [Code] Properly handle column annotation for
ininnot inexpressions - [Enum] Fix infinite loop on
Enum.take/2with negative index on empty enumerable - [Inspect] Inspect ill-formed structs as maps
- [Kernel] Properly increment metadata newline when
?is followed by a literal newline character
ExUnit
- [ExUnit.Assertions] Fix order in ExUnit results when listing pinned variables
- [ExUnit.Assertions] Raise if attempting to raise an assertion error with invalid message (not a binary)
IEx
- [IEx] Abort pipelines when there is an error in any step along the way
Mix
- [mix compile] Fix bug where reverting changes to an external resource (such as HEEx template) after a compilation error would make it so the source module would not be compiled
- [mix compile] Avoid failures when locking compilation across different users
- [mix compile] Fix race condition when renaming files used by the compilation lock
- [mix test] Prevent
mix testfrom overriding:failures_manifest_pathoption
3. Hard deprecations
Elixir
- [Code] Warn if line-break characters outside of
\rand\r\nare found in strings according to UX#55. This warning will be fast-tracked into an error for security reasons in Elixir v1.20, following a similar rule to bidirectional control characters. They will already raise if found in comments
Most Liked
josevalim
Creator of Elixir
Alright folks, in a nutshell, this release addresses all feedback from the previous RC:
- Fully compatible with Erlang/OTP 28.1+
- Struct update syntax has been adapted into a type assertion operator
- Addresses issues with certain dependencies taking too long to compile
Please give it a try, so we can finally ship v1.19!
38
frankdugan3
Just want to share the performance gains on deps compilations for my large day-job project on an AMD Ryzen 9 5900X 12-Core Processor:
mix deps.compile --force
frank@…git/hsm/main on main [✘!?⇡] via 💧 v1.18.4 (OTP 27) took 2m20s
mix compile --force
Compiling 569 files (.ex)
frank@…git/hsm/main on main [✘!?⇡] via 💧 v1.18.4 (OTP 27) took 18s
mix deps.compile --force
mix deps.compile running across 24 OS processes
frank@…git/hsm/main on main [✘!?⇡] via 💧 v1.19.0-rc.1 (OTP 28) took 55s
mix compile --force
Compiling 569 files (.ex)
frank@…git/hsm/main on main [✘!?⇡] via 💧 v1.19.0-rc.1 (OTP 28) took 19s
Great work, team! ![]()
20
josevalim
Creator of Elixir
@Eiji it is fine to put just a snippet asking if someone else ran into the same issue. It helps in case the issue is known so they don’t have to dig deeper.
In this case, however, this issue is not known, so we would indeed need a reproduction.
Thank you @hkrutzer, @Eiji and everythone else helping us catch the remaining bugs.
5
Popular in News
Hi everyone,
I am really happy to announce Plug v1.4.0-rc.0. It has many improvements and bug fixes:
Multipart support is now implemen...
New
This is a small release with important bug fixes for those using Cover and Dialyzer on Erlang 19.
See the release notes for more info: R...
New
Elixir v1.4.5 has been released with fixes for those interested in running Erlang/OTP 20: Release v1.4.5 · elixir-lang/elixir · GitHub
New
Hello folks,
Elixir v1.4.0-rc.0 has been released. This is a release candidate for the upcoming Elixir v1.4.0.
The most notable changes...
New
Elixir v1.5.0-rc.1 has been released.
This is the second release candidate for the upcoming Elixir v1.5. It includes bug fixes, enhancem...
New
This release adds basic support for Erlang/OTP 26. When migrating
to Erlang/OTP 26, keep it mind it changes how maps are stored
interna...
New
Hello everyone,
Two vulnerabilities have been disclosed to Plug. Applications that provide file uploading functionality to a local files...
New
Hi! :wave:
I hope everyone is well!
The Elixir team releases new versions every 6 months, typically every January and July. However, si...
New
Release: Release v1.11.0-rc.0 · elixir-lang/elixir · GitHub
Over the last releases, the Elixir team has been focusing on the compiler, b...
New
Release: Release v1.10.0 · elixir-lang/elixir · GitHub
Support for Erlang/OTP 21+
Elixir v1.10 requires Erlang/OTP 21+, allowing Elixir ...
New
Other popular topics
Anybody knows a comprehensive comparison of Django and Phoenix, thanks for the help.
Where are they similar?
Where do they differ the m...
New
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? Ecto.Repo — Ecto v3.14.0 has exampl...
New
In templates/appointment/index.html.eex:
<%= for appointment <- @appointments do %>
<tr>
<td><%= appoi...
New
lets say i have a sample like
a = 20; b = 10;
if (a > b) do
{:ok, "a"}
end
if (a < b) do
{:ok, b}
end
if (a == b) do
{:ok, "equa...
New
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New
i’m a new one to elixir
which editor can i use
vs code? or atom?
Thanks! :smiley:
New
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
What is the proper way to load a module from a file in to IEX?
In the python world, doing something like this pretty standard:
from ....
New
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including.
What is Phoenix LiveV...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









