Elixir
Elixir Core Team
1. Enhancements
Elixir
- [Regex] Raise error message when regexes are used as default values in struct fields for compatibility with Erlang/OTP 28
- [Registry] Add key-based partitioning of duplicate registries
2. Bug fixes
Elixir
- [Kernel] Address issue with type checking not completing on protocol consolidation
ExUnit
- [ExUnit] Do not crash on empty test unit groups
Mix
- [mix help] Add
mix help app:APP - [mix test] Fix module preloading in
mix test --slowest-modules=N
Trending in News
Release: Release v2.6.0 · hexpm/hex · GitHub
Announcement: Hex v2.6 released | Hex
Backwards incompatible changes
Require --key in mix...
New
Other Trending Topics
Hey there,
I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first.
...
New
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly)
AI dream has many faces, but general...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
In 2021 I started a new library called Tempo with the objective of modelling time as a set of intervals - not as instants. In 2022 I gave...
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
- #ai
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #blog-post
- #ecto-query
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #hex











Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
josevalim
Alright folks, in a nutshell, this release addresses all feedback from the previous RCs:
Fully compatible with Erlang/OTP 28.1+
Struct update syntax has been adapted into a type assertion operator
Addresses issues with projecting taking too long to compile
This should be our final stop before v1.19, please give it a try!
neilberkman
Looking good!
belaustegui
While compiling the following functions I’m getting a warning that did not show in Elixir 1.18.x.
The Event protocol defines the callback as:
And this is the warning that I get:
Looks like the compiler is not able to understand that this is a multiclause function that acts differently depending on the struct that it receives. It is true that from the outside this function is only called with the
%GameTransactionCompleted{}struct but that call also uses the other clauses for nested structs.EDIT: I also want to note that if I rename the problematic clauses so they are not part of the same function (for example
payloadinstead ofto_payload) the warnings go away. While this workaround fixes the issue I still wonder if this should happen and why the compiler is not able to detect that the other clauses are also being called with the proper structs.josevalim
Can you please provide a code snippet that reproduces the issue? Thank you.
josevalim
Oh, I think I got it. You literally have a protocol and then in one of the implementations, you define additional clauses.
Yes, the warning is expected. The type system is enforcing that you are implementing the protocol exactly for the type of that implementation. We could not emit any warning, but then it means someone may accidentally define additional clauses, and they won’t get any help from the type system. So we chose to enforce that the first argument matches the implementation.
If the description above is not correct, then please provide a way to reproduce this or post a larger code snippet. Thanks.
idyll
I have verified across multiple projects now. We did hit the issue in rc.1
But rc.2 seems solid.
I am deploying to some QA ENVs right now but things look really good.
Probably 20k unit tests across the projects we’ve updated. All passing.
Huge improvements.
THANK YOU SO MUCH!!!
jswanner
1.19.0-rc.2 is working great for me, thanks everyone for their amazing work on this!
Note: I too was having trouble with rc.1 where our test suite would just hang, not having that issue with rc.2
stefanluptak
Exactly the same here. rc2 seems solid.
idyll
Someone should probably ask the hex team to push a docker image of 1.19.0-rc.2 to docker hub so we can test the image as well…
I don’t expect any issues, but I can’t fully test end-to-end without that.
They have an Erlang 28.1 image already.
joshknz
I just updated NervesHub (UI and API) and the test suite is passing. Elixir 1.19 helped pick up a few things that needed addressing, which was nice.
I then ran dialyzer but got a bunch of errors. Should I report any of the errors here?