View Source Changelog

This project does NOT follow semantic versioning. The version increases as follows:

  1. Major version updates are breaking updates to the build infrastructure. These should be very rare.
  2. Minor version updates are made for every major Buildroot release. This may also include Erlang/OTP and Linux kernel updates. These are made four times a year shortly after the Buildroot releases.
  3. Patch version updates are made for Buildroot minor releases, Erlang/OTP releases, and Linux kernel updates. They're also made to fix bugs and add features to the build infrastructure.

v0.9.0

This is a major Buildroot update.

Please see the nerves_system_br v1.27.0 release notes for upgrade instructions if you've forked this system.

v0.8.0

This is a major Buildroot update.

Please see the nerves_system_br v1.26.0 release notes for upgrade instructions if you've forked this system.

v0.7.1

This is a security/bug fix update.

Package updates

v0.7.0

This is a major Buildroot and toolchain update that also adds support for HDMI output and runtime device tree overlays.

Please see nerves_system_br v1.25.0 release notes for upgrade instructions if you've forked this system.

  • New features

    • Fixed issues preventing the HDMI output from working and enabled libcairo to support Scenic. Scenic works out of the box, but it appears that there are still HDMI output issues for some monitors (1024x768 display instead of 1080p).
    • Enabled runtime device tree overlay support. This is currently an expert feature, but it does work for simple overlays.
  • Updated dependencies

v0.6.1

This is a security/bug fix update.

v0.6.0

This is a Buildroot version update that appears to mostly contain bug and security fixes. It should be a low risk upgrade from v1.23.2.

v0.5.2

v0.5.1

This is a bug and security fix update. It should be a low risk upgrade.

v0.5.0

This is a major update that brings in Erlang/OTP 26 and Buildroot 2023.02.2.

v0.4.3

This is a bug and security fix update. It should be a low risk upgrade.

v0.4.2

This is a bug fix and Erlang version bump from 25.2 to 25.2.3. It should be a low risk upgrade from v0.4.1.

v0.4.1

  • Changes
    • Patch upstream device tree in v0.4.0 so that it supports the LEDs, SPI and I2C0 without additional configuration.

v0.4.0

Not firmware upgradable from v0.3.2!

This release pulls in upstream updates that remove bootloader workarounds, but required the U-Boot environment block to move. This means that it's not possible to firmware update from v0.3.2 to this one.

  • Changes

    • Switch from Musl C to Glibc. This was done to increase compatibility - specifically with RustlerPrecompiled which doesn't support Musl C on RISC-V.
  • Updated dependencies

v0.3.2

  • Changes

    • Two Buildroot patch updates and an Erlang minor version update
    • Nerves Heart v2.0 is now included. Nerves Heart connects the Erlang runtime to a hardware watchdog. v2.0 has numerous updates to improve information that you can get and also has more safeguards to avoid conditions that could cause a device to hang forever.
  • Updated dependencies

v0.3.1

  • Changes

    • Fix regression when building on x86_64 Linux where wrong toolchain was used.
    • Reduce first-time Linux kernel download by using tarball source
  • Updated dependencies

v0.3.0

v0.2.5

v0.2.4

  • Fixes
    • Fix USB gadget mode on MacOS

v0.2.3

This release synchronizes the device tree configuration with upstream's new MangoPi MQ Pro device tree. This has at least two noticable changes:

  1. The Blue LED is now called ":status". It was "blue:indicator" so any references will need to be updated.
  2. The SPI device that's on the GPIO header pins is now spidev0. This makes it the same as the Raspberry Pi, so this was a welcome change.
  • Updates
    • Update Linux to smauel's wip-all branch. This is currently his latest and it includes device tree updates specifically for the MangoPi MQ Pro.
    • Serial numbers are now 8 hex digits since collisions were found with just 4.
    • USB Gadget mode works on the OTG port (right-most port)
    • Reverting firmware works now

v0.2.2

v0.2.1

This release has several updates, but mostly makes it possible to use SPI now.

  • Updates
    • Linux 5.19-rc0 (smauel's wip-d1 Linux branch)
    • SPI1 works now through the GPIO header
    • Clean up DTB handling. The U-Boot device tree is the only one that's used so all patching and building of the Linux one has been removed. Also U-Boot is updated on firmware updates. This isn't good, but it's easier than reburning the MicroSD card every time.

v0.2.0

This release updates the Linux kernel to 5.18 in the hopes of fixing some Linux kernel flakiness.

U-Boot has changed enough that I don't believe that a v0.1.1 image is upgradable. Please rewrite your MicroSD image.

  • Updates
    • Linux 5.18-rc4 (smauel's wip-d1 Linux branch)
    • Switch to the Nezha device tree since upstream updates have fixed the warnings that caused me to create a custom dts.
    • Enable earlycon for earlier logging from Linux

v0.1.1

The release fixes some issues that made v0.1.0 hard to use. The flaky MMC boot issue is still present. If your board hits it, unplugging and replugging in the MicroSD card has been found to be a more reliable workaround than rebooting.

  • Updates

    • Enable the RISC-V vector extension
  • Fixes

    • Fix compilation warnings when using C standard headers. If a library had -Werror, these would end up breaking Elixir libraries that had C/C++ code.
    • Make sure that the watchdog is active during boot and can't be disabled. This recovers (with a reboot) from some more hangs.

v0.1.0

This is the initial release.