fhunleth

fhunleth

Co-author of Nerves

Nerves 1.8 released!

The Nerves core team is proud to announce the Nerves v1.8.0 release.

Nerves provides the core tooling for creating self-contained, BEAM-powered firmware images for a variety of embedded devices.

This is one of our larger releases in terms of amount of code changed. We expect it to be a straightforward upgrade for most Nerves users since we focused on documentation and code cleanup. This new release does require Elixir 1.11 or later. We are continuing to make Nerves v1.7 patch releases for users who can’t update. The latest right now is v1.7.17.

The Nerves Project is more than just the Nerves library and includes many companion libraries and device ports maintained by the Nerves core team. To help users find these, we now have a list at github.com/nerves-project/nerves. This list includes what we have decided to maintain as a core team. The Nerves community has contributed many additional libraries, and we highly encourage checking the Elixir Circuits list and searching hex.pm for additional device support or functionality.

Since we as a team spend most of our time working on code outside of the core library, I’d like to highlight other updates we’ve made over the past couple months:

  1. Upgrade crosscompilers to GCC 11.3 for C and C++ code. Nerves includes OpenMP support and the option to use Fortran for numerical workloads. See toolchains v1.6.0 release
  2. Official support for the GRiSP 2
  3. 64-bit RISC-V support. See the v1.6.0 toolchains and nerves_system_mangopi_mq_pro for use on RISC-V hardware.
  4. Raspberry Pi boards are now all using Linux 5.15. Support is available for new variants like the Pi Zero 2 and new compute modules. See nerves_system_rpi4’s 1.20.0 release
  5. Improved support for compiling NIFs and ports so that processor-specific optimizations and security hardening is applied consistently. This is handled transparently unless you’re porting to a new device. See the TARGET_GCC_FLAGS docs
  6. Replaced all remaining use of SystemRegistry with PropertyTable. This probably only affects code reacting to Linux UEvents and not using udevd. See NervesUEvent.
  7. Improve visibility of hardware watchdog and Erlang heart information. See Nerves.Runtime.Heart
  8. Improve support for Nerves configurations that don’t have data partitions or use U-Boot environment blocks
  9. Support more flexibility in OTP release script application start ordering. The start order is now deterministic among libraries with no dependency relationship (alphabetically is the final tie breaker). Libraries can be marked to favor them to be started earlier or later.

If you want to try the Nerves updates out quickly, the following all use Nerves 1.8 now:

  1. Elixir Circuits Quickstart
  2. Nerves Livebook
  3. The Nerves example projects

Thanks to our sponsors and all of our users. We’ve had so much support from people in the community this year that it’s made working on Nerves a joy. Please continue doing all of the cool things that you do with Nerves that push the boundaries of what we support!

Most Liked

AstonJ

AstonJ

Congrats Frank and everyone on the Nerves team :041: It’s great to see Nerves go from strength to strength :023:

apoorv-2204

apoorv-2204

Very Happy to see such huge progress.
Good Luck

Where Next?

Popular in News & Updates Top

zachdaniel
Hey folks! AshEvents Release We’ve just released the first version of AshEvents, an Event Sourcing tool for Ash Framework apps. Check o...
New
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
ConnorRigby
This week we added official Nerves support for the OSD32MP1 line of SOMs. Currently we have tested the osd32mp1-brk breakout board, and ...
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
zachdaniel
The second video from the Ash Primers series is out! https://www.youtube.com/watch?v=GtsL_lIis4Q This one is about the migration generato...
New
hugobarauna
Thanks to advancements in the overall Numerical Elixir ecosystem, Livebook v0.11 includes a highly improved integration with Whisper. To...
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
zachdaniel
Ash Framework 3.0: Official Release! I’m here with the fine folks at Gig City Elixir, pushing the button live on stage :sunglasses: T...
New
zachdaniel
Hey folks, made some recent performance improvements to spark, the tool underlying all of our DSLs. GitHub - ash-project/spark: Tooling f...
New
sorenone
We have for you a new release candidate. Take :notes: if you use partitioned queues or make heavy use of Workflows. This is the RC for yo...
New

Other popular topics Top

Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 127536 1222
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New

We're in Beta

About us Mission Statement