Elixir
Elixir Core Team
This release requires Erlang/OTP 27+ and is compatible with Erlang/OTP 29.
1. Enhancements
EEx
- [EEx] Optimize compiler by flattening expr list only once
Elixir
- [Base] Optimize Base validation functions by using SWAR techniques
- [Float] Optimize
Float.round/2by avoiding big integers - [Inspect] Increase inspect limit to help print deeply nested data structures
- [Inspect] Support printing Erlang records (using Erlang notation)
- [Kernel] Add occurrence typing on
case,cond, andwith - [Registry] Switch
{:duplicate, :key}key_ets to ordered_set with composite keys - [String] SWAR-optimize ASCII fast paths in
String.length/1andString.slice/3
ExUnit
- [ExUnit] Show remaining runs when using
--repeat-until-failure
IEx
- [IEx.Helpers] Add
source/1
Mix
- [mix app.tree] Support
--outputoption - [mix deps.tree] Support
--outputoption - [mix help] Support printing docs for types and callbacks
- [mix format] Support
--no-compileoption - [mix source] Add
mix source MODULEto print or open a given module/function location
2. Potential breaking changes
Elixir
- [Kernel] Disallow raw CR line ending in strings, comments and after
?for security reasons
3. Bug fixes
Elixir
- [Kernel] Fix a compiler crash when importing a module with
only: :sigilsoption when the imported module exports non-sigil symbols withsigil_prefix - [Kernel] Reject negative Duration in
to_timeout/1 - [Macro] Fix generation of heredocs in
Macro.to_string/1with escaped trailing newline - [Path] Consistently return path as binary in
Path.relative_to_cwd/2 - [Stream] Raise in
Stream.cycle/1when enumerable reduce call yields no elements - [String] Support empty pattern list in
String.count/2
Logger
- [Logger] Persist log level to app env in
Logger.configure/1
Mix
- [Mix] Use
non_executable_binary_to_termon loopback pubsub - [mix compile.elixir] Fix scenario where Elixir would tag mtimes in the future
Trending in News
Other Trending Topics
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #blog-post
- #ai
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming











Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
josevalim
As usual, this release has additional type checks and performance improvements. Please give it a try. We expect only one additional RC after this one with any pending fixes, so we can release v1.20.0.
vkryukov
Congratulations on the release! Are you interested in false positive type warnings - should we report them as bugs? E.g., I have a piece of HEEX where the type checker complains but stop complaining if I simply change the order
The type warning:
josevalim
That’s unexpected, please file a report!
vkryukov
Done: False positive type warning depending on a HEEX clause ordering · Issue #15370 · elixir-lang/elixir · GitHub
slouchpie
I think this warning was introduced with this version:
I think this is not good.
||wil short-circuit butorwill evaluate the right-hand side.If right-hand side is computationally intense, this is encouraging less performant code.
sodapopcan
Weird, I think I always thought both short-circuited
, but it seem neither do?
jswanner
jswanner
Need to use
truefor short-circuit:sodapopcan
LOL… oh boy, uhhhh… who are you responding to? I never said anything!
They both seem to short circuit, though:
Both of those return instantly, in IEx, at least.
Am I just completely misunderstand what short circuiting is?
jswanner
They do both indeed short-circuit, and the docs for both say they do. The difference is
orrequires the left side to be a boolean and it can be used in guards, while||does a “truthy” check of the left hand side and cannot be used in guards.