Skip to content

Releases: fwup-home/fwup

v1.8.1

15 Jul 13:23
Compare
Choose a tag to compare

This release only contains meaningful changes for the host side. There is no
need to upgrade devices.

  • Bug fixes
    • Improved automatic detection of SD Cards on Linux and OSX. This includes
      checks for whether they're writable, removable and non-virtual on Mac so
      that a number of false positive drives can be removed from the list.
    • Remove arbitrary 64 GB max SD card size for automatic detection for OSX and
      Linux. If you have a 128 GB or larger SD Card, you no longer have to force
      it to be selected. The previous change makes this behavior less risky.

v1.8.0

03 Jun 12:07
Compare
Choose a tag to compare
  • New features

    • U-Boot redundant environment support - Thanks to Davide Pianca, fwup can
      read and update devices with redundant U-Boot environments. Add the
      block-offset-redund to your fwup.conf U-Boot environment specification to
      enable and use.
  • Bug fixes

    • Fixed memory leaks in archive verification and when processing empty
      fwup.conf files. Neither of these leaks were in code paths that would
      normally be exercised on devices.

v1.7.0

01 May 13:19
Compare
Choose a tag to compare

In this release, fwup verifies writes to raw devices. Regular files are not
verified unless forced with the --verify-writes option. Writes are verified as
they're written. Since the final write with fwup firmware updates is usually
to toggle the active partition, corruption can fail an update before the toggle
occurs.

  • New features

    • Writes verification on raw devices. This may be forced with
      --verify-writes or disabled with --no-verify-writes.
    • The boot option works for GPT partitions now. boot=true will set the GPT
      attribute flags appropriately. Since the archive creation process replaces
      the boot parameter with raw flags, older versions of fwup can apply
      updates that use this.
  • Bug fixes

    • After a write error was detected, fwup would continue to try to write a
      few more blocks before exiting. Now it no longer writes after an error. An
      on-error handle can perform a write, but it will start from a clean slate
      now.

v1.6.0

20 Apr 12:42
Compare
Choose a tag to compare

This release adds beta support for VCDIFF delta updates. This makes it possible
to significantly reduce firmware update sizes if you know the firmware version
running on the device. See the README.md for details.

IMPORTANT: If you were using fwup's sparse file support, the skip-holes
option now defaults to false. You must set skip-holes=true for any resources
that should be scanned. Since this is an optimization, nothing should break, but
it will be slower. This will affect firmware that writes large and empty ext2/4
filesystems (and similar). Most known fwup usage is unaffected. The default
was changed since skip-holes could cause confusion and it was incompatible
with delta updates.

  • Improvements

    • VCDIFF support using xdelta3
    • Progress bar now shows bytes in
    • Updated to FatFS R0.14
  • Bug fixes

    • Refactor firmware archive validation logic to more closely match firmware
      update code to avoid false failures due to differences in ZIP file
      processing

v1.5.2

31 Mar 14:10
Compare
Choose a tag to compare

This release does not change any functionality. It provides a modest (~30%) reduction in fwup's footprint by trimming easy-to-remove code.

  • Support a minimal "apply-only" of fwup. Use ./configure --enable-minimal-build to select this.
  • Replace libsodium with Monocypher. Monocypher is a small crypto library that's very similar to libsodium in many ways, but optimizes for code size rather than performance.

Note that the regression tests will fail with the minimal version of fwup since almost all tests create .fw archives and the minimal one can't do that. It's possible to use a full-featured version of fwup to handle the creation parts only so that the minimal fwup can be tested on everything else. See the CI scripts if you'd like to replicate these tests.

v1.5.1

26 Nov 16:40
Compare
Choose a tag to compare
  • Improvements
    • Check exact size when decoding hex strings for MBR bootcode blocks. This
      fixes an error that makes a typo really hard to see.
    • Support hex strings for encrypted filesystem secrets to match dm-crypt.

v1.5.0

16 Nov 21:55
Compare
Choose a tag to compare
  • Bug fixes

    • Fixed overrun when writing to devices with non-128KB sizes. Fwup tries to
      write in 128KB blocks for efficiency and in an attempted to avoid
      read/modify/write operations for partial blocks on Flash-based devices. The
      code for this could write past the end of a device and this became more
      apparent with GPT support which writes partition information to the end of a
      device.
  • New feature

    • Encrypted partition support for use with dm-crypt. This functionality should
      be considered "beta". Only the simplest encryption method (aes-cbc-plain)
      is available. This works, but requires some knowledge about working with
      encrypted root filesystems (the likely scenario for this feature).

v1.4.0

01 Nov 13:07
Compare
Choose a tag to compare
  • New feature
    • GPT partitions. This is perhaps the oldest feature request for fwup. Thanks
      for your patience. The support in this version allows for static GPT
      partitions and ones where the last partition grows to available space. All
      UUIDs must be specified (but you can use variables to inject dynamic UUIDs
      from scripts calling fwup. See the new gpt_write function and details in
      the README.md.

v1.3.2

20 Sep 13:59
Compare
Choose a tag to compare
  • Improvements
    • Support SOURCE_DATE_EPOCH for reproducible archive creation. See
      https://reproducible-builds.org/ for motivation and details. Similar support
      was available by setting the NOW environment variable, but this makes
      fwup follow the conventions used by pretty much everyone else.

v1.3.1

11 Mar 01:16
Compare
Choose a tag to compare
  • Bug fixes
    • Fix partition expansion on OSX.
    • Update img2fwup script to only require a generic sh instead of bash.
      Also support ./configure --disable-scripts to disable installation of
      img2fwup completely. It isn't needed in embedded systems.