Skip to content

Releases: fwup-home/fwup

v1.11.0

02 Oct 23:30
Compare
Choose a tag to compare
  • Improvements

    • Use the file size of regular files to determine the end of the image. This
      makes it possible to expand the final file system partition when working
      with Qemu disk images. It could break scripts that were expecting regular
      files to be able to grow arbitrarily. Those will need to be updated to pad
      the image files as needed.
  • Package updates

    • monocypher 3.1.3
    • libarchive 3.7.6 (static builds only)

v1.10.2

26 Apr 01:41
Compare
Choose a tag to compare

There is a regression with signed delta firmware updates. The TL;DR is that it
probably doesn't affect anyone, and if it did affect you, I think you should
have noticed firmware validation breaking by now. Please follow
#227 for updates.

RPMs are no longer distributed due to the packager I was using, FPM, no longer
running on the Ubuntu versions being used on CI. Since I don't use RPM-based
distros, I didn't not feel comfortable switching. Debian packages are still
available. Help would be appreciated for RPMs.

  • Improvements

    • Don't add superfluous timestamps to zip files (.fw files are zip files). It
      turns out that most timestamp fields could be removed completely.
    • Don't compress archive signatures
  • Bug fixes

    • When scanning attached media, filter out devices under 1 MiB since they're
      almost certainly not what's wanted. It's still possible to use these
      devices, but it won't be automatic any more.
  • Package updates

    • libarchive 3.7.3

v1.10.1

19 Jul 14:59
Compare
Choose a tag to compare

This release only is needed if you use redundant U-Boot environments.

  • Bug fixes
    • For configurations using redundant U-Boot environments, this fixes an issue
      where fwup would pick the wrong environment after about 126 updates
      (correspoding to an 8-bit counter changing from 127 to 128). This has been
      fixed and a new test has been added to ensure that fwup's behavior matches
      fw_printenv's over the entire range of the counter. Thanks to Edoardo Rossi
      for identifying the issue.

v1.10.0

02 Apr 23:25
Compare
Choose a tag to compare

This is a substantial release with improvements to delta updates and destination
write handling.

There's support for writing a final block that's not a multiple of 128KB now.
The 128KB write size was a previous limitation of fwup's caching mechanism.
The limitation was mostly invisible. GPT secondary headers were adjusted rather
than being in the final blocks. If the destination wasn't a multiple of 128KB,
it wasn't possible to use the last partial block of bytes. This release changes
that. Especially if you are using GPT partitions, you may notice this change if
you are comparing disk images.

  • New features

    • Support delta firmware updates of files on FAT file systems. See the
      delta-source-fat-offset and delta-source-fat-path and the unit test for
      details. Thanks to Jean Parpaillon for this feature.
    • Support writing to destinations that are not multiples of 128KB. Fwup's
      internal caching used to only write 128KB blocks. It now supports writing a
      partial final block.
    • Support writing to /dev/null (e.g., fwup -d /dev/null ...). This is useful for
      firmware updates that only use path_write and pipe_write since they
      don't need a destination. Thanks to Edoardo Rossi for the suggestion and
      patch.
    • Add --minimize-writes option. When enabled, it will check the destination
      media to see if a block really changed before writing it. This can be a
      performance improvement and remove some accidental corruption risk.
    • Support a backwards compatible shorthand for writing files to FAT
      partitions. The filename will default to the resource name. See fat_write.
    • Add --max-size option for specifying the max number of 512-blocks that
      fwup can write. Use this to force a max size when writing to a regular file
      (expandable partitions will obey this) or to reduce the allowed size on real
      media.
  • Bug fixes

    • Handle out of bounds reads by xdelta3. Thanks to Arthur Crepin-Leblond for
      fixing this.
  • Package updates

    • FatFS R0.15

v1.9.1

23 Aug 16:59
Compare
Choose a tag to compare
  • Bug fixes
    • Fix compilation error when using glibc 2.36. Thanks to @linusdm for debugging this.
    • Fix progress reporting and some error handling when updating U-Boot environment blocks.
    • Bump libarchive and zlib versions for static builds to 3.6.1 and 1.2.12 respectively.

v1.9.0

17 Jul 14:27
Compare
Choose a tag to compare

This release updates FatFS (the FAT filesystem library) to R0.14b and updates
Monocypher to v3.1.2. Both updates were patch releases, but the FATFS update
changed the FAT serial number calculation so you may notice that those change.

  • New features

    • Added the --metadata-key option to pull out single metadata values for
      convenience. E.g., fwup -m -i fwup.fw --metadata-key meta-uuid
  • Bug fixes

    • Fixed an issue preventing filesystem encryption secrets from being passed
      via environment variables.

v1.8.4

05 Mar 04:40
Compare
Choose a tag to compare
  • Bug fixes
    • Fix autodetection of built-in SDCard readers on Linux. These are the devices
      that show up as mmcblk0, etc. You shouldn't have to manually specify them
      any more.
    • Ensure that FAT filesystems created by fat_mkfs are the right size even
      when fwup creates disk images. This adds a write to the very last block in
      FAT filesystem.
    • Fix unit test failures related to improved fsck.fat checks in dosfstools
      v4.2. The failures involved volume labels and having a properly sized disk
      image. These particular issues don't affect real world use of fwup, but were
      concerning since they caused quite a few tests to fail.
    • Documentation updates for building on Apple M1 hardware.

v1.8.3

10 Dec 22:05
Compare
Choose a tag to compare

This release updates FatFS (the FAT filesystem library) to the latest patch
release, R0.14a.

It also updates how fwup calls into the library to reduce the time window where
fwup can be responsible for FAT filesystem corruption. The incident that
prompted this change was a device that had repeated firmware update
interruptions had accumulated enough orphaned FAT clusters to fill the partition
and prevent an update. fsck.fat can fix this easily, but it's better if this
doesn't happen and this update should reduce the probability.

v1.8.2

31 Oct 16:10
Compare
Choose a tag to compare

This release brings back and updates the Windows Chocolatey package.

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.