Listen "222: OTP Update and Deprecating Unless"
Episode Synopsis
News includes the release of OTP 27.1 with significant improvements to the Zip module, the upcoming deprecation of the unless keyword in Elixir 1.18, support for Data Channels in Elixir WebRTC, new test-related feature highlighted by ElixirStreams to tackle intermittent failures, a detailed blog from Discord on reducing their websocket traffic by 40%, ElixirConf Lightning talks on YouTube, and more!
Show Notes online - http://podcast.thinkingelixir.com/222 (http://podcast.thinkingelixir.com/222)
Elixir Community News
https://erlangforums.com/t/erlang-otp-27-1-released/4006 (https://erlangforums.com/t/erlang-otp-27-1-released/4006?utm_source=thinkingelixir&utm_medium=shownotes) – OTP 27.1 was released, which is the first maintenance patch for OTP 27. It brings important fixes including upgrades in the Zip module with support for large archives, extended timestamps, UID/GID support, and enhanced directory handling. Several Windows-specific fixes are also included.
https://x.com/moomerman/status/1838235643983364206 (https://x.com/moomerman/status/1838235643983364206?utm_source=thinkingelixir&utm_medium=shownotes) – unless keyword will be deprecated in upcoming Elixir 1.18. Users are encouraged to use if !condition instead. A mix format --migrate command is available to assist with the transition.
https://github.com/elixir-lang/elixir/pull/13851 (https://github.com/elixir-lang/elixir/pull/13851?utm_source=thinkingelixir&utm_medium=shownotes) – Related GitHub pull request regarding the deprecation of unless keyword.
https://github.com/elixir-lang/elixir/pull/13841 (https://github.com/elixir-lang/elixir/pull/13841?utm_source=thinkingelixir&utm_medium=shownotes) – Another related GitHub pull request for deprecating the unless keyword in Elixir 1.18.
https://github.com/gleam-lang/gleam/releases/tag/v1.5.0-rc2 (https://github.com/gleam-lang/gleam/releases/tag/v1.5.0-rc2?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam v1.5.0-rc2 was released for testing.
https://elixir-webrtc.org/ (https://elixir-webrtc.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Support for Data Channels in Elixir WebRTC was added, enhancing the project with features for sending arbitrary data over P2P connections.
https://github.com/elixir-webrtc (https://github.com/elixir-webrtc?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub organization for Elixir WebRTC, including recent updates and projects.
https://x.com/mickel8v2/status/1838565408711880801 (https://x.com/mickel8v2/status/1838565408711880801?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter announcement about the addition of data channels in Elixir WebRTC.
https://blog.swmansion.com/data-channels-in-elixir-webrtc-0853c7d0e256 (https://blog.swmansion.com/data-channels-in-elixir-webrtc-0853c7d0e256?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post explaining the significance and uses of data channels in Elixir WebRTC.
https://www.elixirstreams.com/tips/mix-test-repeat-until-failure (https://www.elixirstreams.com/tips/mix-test-repeat-until-failure?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirStreams video tip on using mix test --repeat-until-failure n to run tests until failure, handy for diagnosing intermittent test failures.
Mark's favorite seed to use is --seed 0, which runs tests in sequential order, which is helpful during TDD.
https://www.elixirstreams.com/tips/mix-test-slowest-modules (https://www.elixirstreams.com/tips/mix-test-slowest-modules?utm_source=thinkingelixir&utm_medium=shownotes) – New --slowest-modules n flag added to mix test helps identify modules with the slowest tests, complementing the existing --slowest n flag for individual tests.
https://discord.com/blog/how-discord-reduced-websocket-traffic-by-40-percent (https://discord.com/blog/how-discord-reduced-websocket-traffic-by-40-percent?utm_source=thinkingelixir&utm_medium=shownotes) – Discord shared a new blog post detailing how they reduced websocket traffic by 40% by switching from zlib to zstandard for compression and implementing PASSIVE_UPDATE_V2.
https://github.com/silviucpp/ezstd (https://github.com/silviucpp/ezstd?utm_source=thinkingelixir&utm_medium=shownotes) – The Erlang library ezstd used by Discord, which they contributed to by adding streaming support.
https://www.youtube.com/watch?v=QJCWzN1Vahs (https://www.youtube.com/watch?v=QJCWzN1Vahs?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf Lightning talks released on YouTube, available as a single hour-long video with chapter timestamps.
https://www.youtube.com/playlist?list=PLqj39LCvnOWbW2Zli4LurDGc6lL5ij-9Y (https://www.youtube.com/playlist?list=PLqj39LCvnOWbW2Zli4LurDGc6lL5ij-9Y?utm_source=thinkingelixir&utm_medium=shownotes) – Playlist for ElixirConf Lightning talks on YouTube.
https://elixirfriends.transistor.fm/episodes/friend-1-peter-ullrich (https://elixirfriends.transistor.fm/episodes/friend-1-peter-ullrich?utm_source=thinkingelixir&utm_medium=shownotes) – A new Elixir podcast called 'Elixir Friends' launched by German Velasco, featuring a casual and relaxed format. The first episode guest is Peter Ullrich.
https://www.youtube.com/watch?v=5apHLuFi5JI (https://www.youtube.com/watch?v=5apHLuFi5JI?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir Friends podcast is also available as a YouTube video with a runtime of 1:22:10.
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Message the show on Fediverse - @[email protected] (https://genserver.social/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- Mark Ericksen on Fediverse - @[email protected] (https://genserver.social/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- David Bernheisel on Fediverse - @[email protected] (https://genserver.social/dbern)
Show Notes online - http://podcast.thinkingelixir.com/222 (http://podcast.thinkingelixir.com/222)
Elixir Community News
https://erlangforums.com/t/erlang-otp-27-1-released/4006 (https://erlangforums.com/t/erlang-otp-27-1-released/4006?utm_source=thinkingelixir&utm_medium=shownotes) – OTP 27.1 was released, which is the first maintenance patch for OTP 27. It brings important fixes including upgrades in the Zip module with support for large archives, extended timestamps, UID/GID support, and enhanced directory handling. Several Windows-specific fixes are also included.
https://x.com/moomerman/status/1838235643983364206 (https://x.com/moomerman/status/1838235643983364206?utm_source=thinkingelixir&utm_medium=shownotes) – unless keyword will be deprecated in upcoming Elixir 1.18. Users are encouraged to use if !condition instead. A mix format --migrate command is available to assist with the transition.
https://github.com/elixir-lang/elixir/pull/13851 (https://github.com/elixir-lang/elixir/pull/13851?utm_source=thinkingelixir&utm_medium=shownotes) – Related GitHub pull request regarding the deprecation of unless keyword.
https://github.com/elixir-lang/elixir/pull/13841 (https://github.com/elixir-lang/elixir/pull/13841?utm_source=thinkingelixir&utm_medium=shownotes) – Another related GitHub pull request for deprecating the unless keyword in Elixir 1.18.
https://github.com/gleam-lang/gleam/releases/tag/v1.5.0-rc2 (https://github.com/gleam-lang/gleam/releases/tag/v1.5.0-rc2?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam v1.5.0-rc2 was released for testing.
https://elixir-webrtc.org/ (https://elixir-webrtc.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Support for Data Channels in Elixir WebRTC was added, enhancing the project with features for sending arbitrary data over P2P connections.
https://github.com/elixir-webrtc (https://github.com/elixir-webrtc?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub organization for Elixir WebRTC, including recent updates and projects.
https://x.com/mickel8v2/status/1838565408711880801 (https://x.com/mickel8v2/status/1838565408711880801?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter announcement about the addition of data channels in Elixir WebRTC.
https://blog.swmansion.com/data-channels-in-elixir-webrtc-0853c7d0e256 (https://blog.swmansion.com/data-channels-in-elixir-webrtc-0853c7d0e256?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post explaining the significance and uses of data channels in Elixir WebRTC.
https://www.elixirstreams.com/tips/mix-test-repeat-until-failure (https://www.elixirstreams.com/tips/mix-test-repeat-until-failure?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirStreams video tip on using mix test --repeat-until-failure n to run tests until failure, handy for diagnosing intermittent test failures.
Mark's favorite seed to use is --seed 0, which runs tests in sequential order, which is helpful during TDD.
https://www.elixirstreams.com/tips/mix-test-slowest-modules (https://www.elixirstreams.com/tips/mix-test-slowest-modules?utm_source=thinkingelixir&utm_medium=shownotes) – New --slowest-modules n flag added to mix test helps identify modules with the slowest tests, complementing the existing --slowest n flag for individual tests.
https://discord.com/blog/how-discord-reduced-websocket-traffic-by-40-percent (https://discord.com/blog/how-discord-reduced-websocket-traffic-by-40-percent?utm_source=thinkingelixir&utm_medium=shownotes) – Discord shared a new blog post detailing how they reduced websocket traffic by 40% by switching from zlib to zstandard for compression and implementing PASSIVE_UPDATE_V2.
https://github.com/silviucpp/ezstd (https://github.com/silviucpp/ezstd?utm_source=thinkingelixir&utm_medium=shownotes) – The Erlang library ezstd used by Discord, which they contributed to by adding streaming support.
https://www.youtube.com/watch?v=QJCWzN1Vahs (https://www.youtube.com/watch?v=QJCWzN1Vahs?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf Lightning talks released on YouTube, available as a single hour-long video with chapter timestamps.
https://www.youtube.com/playlist?list=PLqj39LCvnOWbW2Zli4LurDGc6lL5ij-9Y (https://www.youtube.com/playlist?list=PLqj39LCvnOWbW2Zli4LurDGc6lL5ij-9Y?utm_source=thinkingelixir&utm_medium=shownotes) – Playlist for ElixirConf Lightning talks on YouTube.
https://elixirfriends.transistor.fm/episodes/friend-1-peter-ullrich (https://elixirfriends.transistor.fm/episodes/friend-1-peter-ullrich?utm_source=thinkingelixir&utm_medium=shownotes) – A new Elixir podcast called 'Elixir Friends' launched by German Velasco, featuring a casual and relaxed format. The first episode guest is Peter Ullrich.
https://www.youtube.com/watch?v=5apHLuFi5JI (https://www.youtube.com/watch?v=5apHLuFi5JI?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir Friends podcast is also available as a YouTube video with a runtime of 1:22:10.
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Message the show on Fediverse - @[email protected] (https://genserver.social/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- Mark Ericksen on Fediverse - @[email protected] (https://genserver.social/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- David Bernheisel on Fediverse - @[email protected] (https://genserver.social/dbern)
More episodes of the podcast Thinking Elixir Podcast
283: Erlang Turns 27 and React at Risk
16/12/2025
282: Type Systems and View Transitions
09/12/2025
281: Planning for the Unexpected
02/12/2025
280: Dark Matter Developers
25/11/2025
279: Hot Code Upgrades and Hotter AI Takes
18/11/2025
278: WAL-ing Through Database Changes
11/11/2025
277: Searching Across the Hexiverse
04/11/2025
276: Elixir v1.19 Types and Speed
28/10/2025
275: From Slop to Success?
21/10/2025
274: Protocols, Permissions, and Performance
14/10/2025
ZARZA We are Zarza, the prestigious firm behind major projects in information technology.