lawik

lawik

Nerves Core Team

NervesHub v2.0.0 officially released

It is my pleasure to announce the official release of the new generation of NervesHub with the v2.0.0 release.

Containers are tagged. :package: Migration notes are .. not really needed. And v1.x is officially dubbed Legacy NervesHub.

A lot of credit to Eric Oestrich, Josh Kalderimis and Jon Carstens for the bulk of the work and about 17 more people that contributed, big things and small, along the way. Company credit for responsible open source operations go to SmartRent more than anyone for pushing this along and funding people that worked on it. Also some credit to NervesCloud which is the company me and Josh Kalderimis have started to to provide a managed, hosted commercial-grade version of NervesHub.

NervesHub is now easier to run yourself, requires less infrastructure, is proven to scale to several hundreds of thousands of devices in production (we don’t know an upper bound) :chart_with_upwards_trend:

It has been running happily in production for some time so actually tagging the version 2 release is late and could have been comfortably done way earlier. Thank you to the people who asked for it or we might not have realized folks were waiting :man_facepalming:

Features, new and old

  • Easier onboarding of devices via Shared Secret
  • Secure device authentication via device certificates & NervesKey
  • Secure, signed and authenticated firmware delivery
  • Remote IEx console
  • File transfer via remote IEx console
  • Running scripts on connect
  • Running scripts on new firmware deploy
  • Non-firmware artifact delivery
  • Resilience to thundering herds via multiple mechanisms
    • Early TLS cancellation (reject early before expensive cryptographic work is done)
    • Rate limiting
    • Jitter
  • more…

Read the changelog for slightly more detail.

The most exciting thing is probably that this is not an end state for NervesHub. It may be moving faster than ever and we have major things planned. Some will be previewed at Code BEAM Europe in Berlin. Some will come when they are ready.

From all of us in the Nerves core team and working on NervesHub. Enjoy :slight_smile:

Questions and issue reports very welcome.

First Post!

lawik

lawik

Nerves Core Team

I meant to mention. The NervesHub docs need work. We are aware of that and it is in progress :slight_smile:

Where Next?

Popular in News & Updates Top

zachdaniel
Hey folks! We’ve just released the beta 0.1.0 version of ash_sqlite. Take a look at the guide here: https://hexdocs.pm/ash_sqlite/get-sta...
New
zachdaniel
We’re working hard on improving docs, and have some substantial things that it would be great to get some thoughts on. One of the bigges...
New
fhunleth
We recently released Nerves 1.4.0 and an update to the Nerves new project generator, nerves_bootstrap. The biggest change is support for ...
New
jjcarstens
Do you like Hacktoberfest? Also enjoy working with Nerves and want to contribute? Fantastic! :tada: :beers: Here are some potential sta...
New
zachdaniel
Hey folks! We’re starting a new weekly newsletter with the goings on of the various Ash packages and other interesting news from myself a...
New
zachdaniel
Working with nested forms in Ash was already great, but it’s even better now with a the new features that will be in the next release of ...
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
bartblast
I’m excited to announce Hologram v0.5.0, a major evolution of the full-stack Elixir web framework! This release brings massive performanc...
New
bartblast
Hey Elixir community! :waving_hand: First, I owe you all an apology. There’s a running joke among my friends that Hologram is like nucle...
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

Other popular topics Top

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...
3268 119930 1237
New
shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
977 41022 311
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
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New

We're in Beta

About us Mission Statement