Skip to content

Releases: nerves-project/nerves

v1.7.4

09 Feb 03:48
Compare
Choose a tag to compare
  • Experimental features
    • Packages can provide custom system environment variables to be exported.
      The initial use case for this feature is to export system specific
      information for llvm-based tools.

v1.6.6

08 Feb 15:56
Compare
Choose a tag to compare
  • Bug fixes
    • Fixes a hang when downloading artifacts from GitHub. The hang looked like
      this and affected artifact downloads from public GitHub repositories:

      Resolving Nerves artifacts...
        Resolving nerves_toolchain_xyz
        => Trying https:...

v1.7.3

29 Jan 01:14
Compare
Choose a tag to compare
  • Bug fixes
    • Fixes a hang when downloading artifacts from GitHub. The hang looked like
      this and affected artifact downloads from public GitHub repositories:

      Resolving Nerves artifacts...
        Resolving nerves_toolchain_xyz
        => Trying https:...

v1.7.2

14 Jan 15:36
Compare
Choose a tag to compare
  • Bug fixes
    • Fix Elixir semvar requirements to produce warnings on unsupported versions.
    • Produce better errors on HTTP timeouts

v1.7.1

07 Dec 18:22
Compare
Choose a tag to compare
  • Enhancements
    • Documentation and docker improvements for Windows Subsystem for Linux 2

v1.7.0

07 Oct 16:09
Compare
Choose a tag to compare

Nerves 1.7.0 removes support for creating OTP releases using Distillery and
only supports using Elixir releases. As a result, the minimum supported version
of Elixir is now version 1.9.

Official Nerves systems now support applying firmware using patches. This
greatly reduces the amount of data that required to push firmware updates
to devices. The minimum requirement for fwup has been updated to 1.8
to enable support for this feature.

  • Bug fixes
    • Pass all unspecified erlinit args to the generator instead of silently
      ignoring them.
    • Use host CC when compiling the port.

v1.6.5

24 Sep 16:59
Compare
Choose a tag to compare
  • Bug fixes
    • Fix issues with executing system commands on non mac hosts.

v1.6.4

24 Sep 16:59
Compare
Choose a tag to compare
  • Experimental features

    • Added mix firmware.patch to locally create firmware patch files for
      feature testing. This feature is under development.
      See the experimental features doc for more info.

    • Added :mksquashfs_flags to the nerves firmware config to allow passing
      additional flags to the mksquashfs call that produces the final rootfs.
      If you are experimenting with creating patchable firmware, you should
      use this feature to disable squashfs compression.

      config :nerves, :firmware
        mksquashfs_flags: ["-noI", "-noD", "-noF", "-noX"]
  • Bug fixes

    • Replace calls to System.cmd with a Nerves.Port.cmd. This code was
      provided by muontrap and is used to clean up spawned system processes
      when the vm exits.
      This fixes issues with the docker build runner executing multiple times
      and multiple calls to mix firmware after breaking out of the VM before
      the first call finishes.
    • Fix issue where SD card detection may fail while calling mix burn whenfwup
      returns additional fields.
    • Clean the release directory when calling mix firmware. This prevents
      OTP releases from accumulating unnecessary libraries and OTP applications
      over time.

v1.6.3

06 May 18:52
Compare
Choose a tag to compare
  • Bug fixes
    • Fix required key validation on github_api resolver.

v1.6.2

06 May 17:21
Compare
Choose a tag to compare
  • Bug fixes

    • Improve error message returned when calling mix firmware when the local
      system artifact cannot be found and possibly needs to be built.

    • GitHub API artifact resolver will no longer raise if missing required opts.

    The GitHub API artifact resolver is useful when you want to enable access
    to artifacts added to GitHub releases in private GitHub repositories.
    Fetching an artifact from a private GitHub repo requires the passing
    username, token, tag as options. If any of these options were omitted,
    the resolver would raise and prevent compilation from continuing.
    This is problematic when you are trying to actually compile the system
    in CI. Artifact resolvers should make a best effort on downloading the
    artifacts, and return {:error, reason} if they are unsuccessful. This
    will allow the system to fall back to performing a compile.