fhunleth

fhunleth

Co-author of Nerves

Nerves supports Erlang/OTP 26 and Elixir 1.15 now

It looks like it’s finally safe to announce that Nerves supports Erlang/OTP 26 and Elixir 1.15!

We’ve updated dozens of Nerves and closely related libraries over the past month. The Erlang and Elixir-specific updates include:

  • Runtime support for Erlang’s new TTY implementation
  • Interactive mode is no longer slow on Nerves. The Nerves default is still embedded, but it can finally be changed back for projects that want to use it. (José actually fixed this one, not us)
  • CA certificates included by default to support new Erlang SSL defaults.
  • Many, many deprecation and compile-time warning fixes

We also have Nerves system updates that are worth highlighting:

  • The Raspberry Pi 4 has been updated to support libcamera and all of the official Pi cameras
  • The GRiSP 2 port has better support for its Pmod interfaces
  • Buildroot has been upgraded from 2022.11 to 2023.02 and contains many security and bug fixes for Linux libraries

Here’s how to update an existing project:

  1. Install Elixir 1.15.1+ and OTP 26.0.2+
  2. Update the :nerves dependency to 1.10.3 or later
  3. Update your Nerves System to use :nerves_system_br v1.23.2. If using official Nerves systems, update them to the latest versions.
  4. Run mix hex.outdated --all and review library updates.
  5. Run mix firmware on your project and update rel/vm.args.eex based on an error that you’ll get at the end

For step 4, please check out the Changelog or use the hexdiff feature on hex.pm for comparing versions. Most libraries maintained by the Nerves core team have the Changelog ordered first so that when you look at the diff, you can see the notes at the top. It should be safe for casual Nerves users to blindly update, but we do try to add notes there for specific situations.

For those of you customizing Nerves systems on MacOS, the Nerves system shell is not working with OTP 26, and we’re unsure when a fix will be available. We recommend looking at the nerves_systems project. It requires running Linux. Running Linux on MacOS in a UTM VM works well.

Happy hardware hacking!

Where Next?

Popular in News & Updates Top

josevalim
Hi everyone, just a heads up that we announced https://livebook.dev, a website for everyone to learn more about Livebook. One of the coo...
New
zachdaniel
:police_car_light: New AshAuthentication Installers :police_car_light: The AshAuthentication igniter installers are released! Today on s...
New
zachdaniel
Just released: Ash AI, a new extension for Ash Framework. LLM integration for Elixir apps. Use Ash’s declarative approach for structured ...
New
lawik
It is my pleasure to announce the official release of the new generation of NervesHub with the v2.0.0 release. Containers are tagged. :p...
New
fhunleth
We recently released Nerves 1.6 and corresponding updates to the Nerves new project generator, nerves_bootstrap and our official systems....
New
bartblast
Hologram v0.6.0 is here, bringing production-ready features to the full-stack Elixir web framework! This release focuses on enhanced secu...
New
jjcarstens
The Raspberry Pi is a very popular hardware platform for Nerves users and the official systems are getting an upgrade! :tada: :beers: Wh...
New
fhunleth
We are thrilled to announce another update for Nerves Systems to nerves_system_br 1.22.5-based releases. Nerves systems are the device su...
New
mat-hek
Hi there! So far we’ve been posting news about Membrane & multimedia mostly on X/Twitter, but from now on we’d like to share them on ...
New
mat-hek
Happy to announce kino_membrane - the tool for introspecting Membrane pipelines :tada: It provides interactive graphs, metrics & mor...
New

Other popular topics Top

TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 42158 114
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 54250 245
New
vegabook
I’m brand new to Phoenix and I have stripped one of the demo applications to the bone. I just want to get an svg up on the screen. Here i...
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New

We're in Beta

About us Mission Statement