7 ms·
Erlang/OTP 29.0
- solid_fuel 5mo agoLooks like a nice set of improvements. Disabling the SSH daemon [0] by default is a good security change, same with disabling the SFTP by default. I think the io_ansi [1] module sounds pretty cool, imo erlang doesn't have a great story for building complicated CLI applications right now, but I haven't tried much. I imagine having this in the stdlib will be a nice leg up in the future. The way fwrite works seamlessly across nodes is very nice, and exactly what I love to see from erlang. The addition of Native Records [2] is really cool. I'm curious how this will be leveraged in Elixir in the future, since right now I think there is a mix of records, tuples, and maps depending on exactly what is being done. Like the EEP says, I doubt we'll ever see the old records deprecated entirely but this looks like a substantial improvement. [0] https://www.erlang.org/doc/apps/ssh/ssh.html https://www.erlang.org/doc/apps/ssh/ssh.html [1] https://www.erlang.org/docs/29/apps/stdlib/io_ansi.html https://www.erlang.org/docs/29/apps/stdlib/io_ansi.html [2] https://github.com/erlang/eep/pull/81 https://github.com/erlang/eep/pull/81
- toast0 5mo agoI don't think the ssh daemon was ever automatically enabled or started. The two bullet points are phrased differently, but I think they mean the same thing, when starting the ssh daemon, the listed parts won't be started by default. > The SSH daemon now defaults to disabled for shell and exec services, implementing the “secure by default” principle. This prevents authenticated users from executing arbitrary Erlang code unless explicitly configured. > The SFTP subsystem is no longer enabled by default when starting an SSH daemon.
- SteveGregory 5mo agoCan someone please explain the innards?
- Jtsummers 5mo agoInnards of which part? The BEAM Book may be of interest to you: https://blog.stenmans.org/theBeamBook/ https://blog.stenmans.org/theBeamBook/
- tmoertel 5mo agoFor anyone wondering what the "OTP" part is in Erlang/OTP, it is a set of libraries and associated principles that, in effect, standardize the creation of highly reliable, fault-tolerant applications, originally for the telecom domain. It's worth checking out the brief introduction to the fundamental ideas in the introduction to "OTP Design Principles": https://www.erlang.org/doc/system/design_principles.html https://www.erlang.org/doc/system/design_principles.html
- hackernudes 5mo agoOTP = Open Telecom Platform
- dnautics 5mo agono longer. That is legacy. OTP now just stands for "OTP"
- ramchip 5mo agoIt's still referred as such through the official documentation: https://www.erlang.org/faq/introduction.html#idm24 https://www.erlang.org/faq/introduction.html#idm24 You may be thinking of comments like: https://erlangforums.com/t/should-otp-be-the-standard-library/957/9 https://erlangforums.com/t/should-otp-be-the-standard-librar...
- davidw 5mo ago"Outlaw Techno Psychobitch" https://www.youtube.com/watch?v=rRbY3TMUcgQ https://www.youtube.com/watch?v=rRbY3TMUcgQ
- Rendello 5mo agoAnd then Elixir was born! I swear there's a video of Joe Armstrong et al. presenting part of this on stage and laughing along with it. I tried to find it last week but couldn't figure out which talk it was. A few years ago I think I watched every Erlang/OTP talk in existence.
- ch4s3 5mo agoI'm interested to see how records play out in the ecosystem.
- sbrother 5mo agoI was about to say "what, we've had records for decades" but then I read the changelog. Interesting. I wonder if there a world where Elixir starts compiling maps to "native records"?
- dnautics 5mo agoprobably not maps, but structs yes.
- s3cur3 5mo agoI dunno… it’d break a looooot of code if structs were suddenly not also maps. My bet is this becomes a new option you have to manually migrate to.
- dnautics 5mo agoWould it? I bet you could be very clever with transitional guards and the patching compiler to defensively handle both cases on detection of %{...}
- out_of_protocol 5mo agoProbably going to be replacement rather than direct recompilement of structs. I imagine all sorts of corner cases are lurking around if you swap implementation around, e.g. if someone force-pushed unknown key into a struct at runtime. Would be nice to keep current struct syntax though with the only difference in declaration
- keyle 5mo agoAdded support for -unsafe attributes Right in time for the Rust rewrite! /s
- ksec 5mo agoDoes anyone knows if WhatsApp is still based on Erlang?
- olivermuty 5mo agoIt is (source, old employee of me now works for them)
- toast0 5mo agoI don't have first hand knowledge (I left in 2019), but WhatsApp's public Erlang related repos are still active, and afaik, Erlang didn't escape into Meta at large, so if WA had moved off, there's no sense working on Erlang after that.
- SirGiggles 5mo agoI think it's pretty likely they are since they gave a talk at Code BEAM Europe 2025: https://www.youtube.com/watch?v=tC435RGwRCI https://www.youtube.com/watch?v=tC435RGwRCI
- phyrex 5mo agoYes, erlang and increasingly rust
- frays 5mo agoYes. I’ve been using Erlang since the early 2010s, right around the time we (the tech industry) discovered that WhatsApp was supporting over 400 million active users with only like 30 engineers. I reached out to one of their engineers at the time (when I still lived in the US) who kindly responded to some of my questions via email. We ended up meeting for coffee and still stay in touch to this day. I can tell you that Erlang is still very much a part of WhatsApp.
- ksec 5mo agoI don't think we ever got an actual figure but I often wonder how many of those 30 engineers were actually using Erlang, i expect most of them are iOS and Android engineers.
- faangguyindia 5mo agoWho even uses Erlang? I used Rails and then i tried Phoenix and it was lot more difficult to get things done. I don't understand Phoenix hype For solo devs, Rails is arguably most productive webapp system. LLM is very good at writing ruby rails code. Much better than writing django in my experience even though python training corpus is huge. I write my experimental apps in Rail when it stabilizes, i do a Go rewrite. I don't write directly in Go because, it consumes lot more token when the app scope is unknown but it's very efficient for rails. These day i don't need react or angular anymore, i use Hotwire in Rails and HTMX in Go. Erlang forum itself uses Discourse (written in Rails)
- tommica 5mo agoErlang != Elixir - but otherwise a good question. I think WhatsApp uses erlang
- sph 5mo agoI’ve been writing Elixir apps full time since 2016. Clients are very, very happy never to see a crash. In fact, all the applications I have deployed in production in the past 10 years have 100% uptime. (Apart from hardware, OS and network faults outside my control) You might want to broaden your horizons.
- signa11 5mo agohello, would you please recommend a good resource to get started with elixir ? thanks for your time !
- cpursley 5mo agoThis is a good place to start: https://elixirisallyouneed.dev/resources https://elixirisallyouneed.dev/resources
- sph 5mo agoThis is a good list. I started with the books by Saša Jurić (they are excellent), and the Programming Phoenix LiveView is a must have if you want to do anything web-related. If you're on the fence, this'll convince you: https://www.youtube.com/watch?v=JvBT4XBdoUE https://www.youtube.com/watch?v=JvBT4XBdoUE
- sph 5mo agoYou might want to update prod apps ASAP to this or the latest point version if below 29. Just deployed an app to production, automated security scans found 2 CRITICAL CVEs and half a dozen of HIGH risk ones dated Feb-May 2026.
- pdimitar 5mo agoDo you have a list?
- sph 5mo agoCopied from the defectdojo report (generated on an Elixir 1.19 app on ubuntu noble base image from February 2026): Critical CVE-2025-32433 in erlang:27.3 Critical CVE-2026-28808 in erlang:27.3 High CVE-2026-23941 in erlang:27.3 High CVE-2026-32144 in erlang:27.3 High CVE-2025-48041 in erlang:27.3 High CVE-2025-68973 in gpgv:2.4.4-2ubuntu17 High CVE-2025-30211 in erlang:27.3 High CVE-2025-68973 GPGV 2.4.4-2ubuntu17 All these seem to be fixed by upgrading to latest ubuntu image + Erlang/OTP 28.5
- pdimitar 5mo agoThank you. The problem with new OTP releases is that usually there's a X.0.1 release shortly after because something was broken. At least it was that way with 28. I'll wait a few weeks.
- copx 5mo agoIs anyone still using Erlang for green field projects? I know there are plenty of Elixir enthusiasts here, I mean plain ol' Erlang. If you are still using Erlang, why do you prefer it to Elixir?
- deleted 5mo ago[deleted]
- worthless-trash 5mo agoYes, this year alone - New IOT thing on atomvm. - Application server written in erlang. - TUI framework (still WIP). Why do you prefer it to Elixir: - Elixir doesn't pose any real advantage for me over erlang, i'm sure there may be be some, but it fits my brain easier. I'd probably even love to make it a social event to learn/get help, but I never seem to find anything that suits.
- mordv 5mo agoCan you provide some links? The IoT thing sounds interesting in particular.
- worthless-trash 5mo agoI dox myself: IOT basic (I have more sensors uncommited, but thats the basic outline ) - https://github.com/wmealing/limestone https://github.com/wmealing/limestone My TUI framework (still a long way to go). - https://github.com/wmealing/cellium https://github.com/wmealing/cellium