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
Official announcement: Elixir v1.6 released - The Elixir programming language
Thanks everyone who gave the release candidate a try and g...
New
Hello everyone,
A vulnerability has been disclosed to Plug. All applications that set cookies based on user input is vulnerable. The vul...
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
Hi everyone,
We are glad to announce that the first release candidate for Elixir v1.6.0 is out.
Check out the CHANGELOG and give the re...
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
In Elixir we are continuously trying to improve the experience for developers learning the language. However, there are still common road...
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
Release: Release v1.12.0-rc.0 · elixir-lang/elixir · GitHub
Note: this is a release candidate. Please try it out and give us feedback! G...
New
Note: this is a language proposal so please keep the discussion on topic. If you want to talk about related behaviour but not strictly pa...
New
Hello folks,
I am super excited to finally share what I’ve been working on in the last few months: StreamData, an Elixir library for dat...
New
Other popular topics
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch.
This project took far...
New
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service.
Currently when I de...
New
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
New
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
As promised, the first release candidate of Phoenix 1.3.0 is out! This release focuses on code generators with improved project structure...
New
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar.
I p...
New
Hi,
I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
Hi there,
I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
I would like to know what is the best IDE for elixir development?
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








