Releases: fwup-home/fwup
v1.16.0
This release makes it possible for firmware updates to request larger block
cache sizes. Earlier versions fixed the cache at 8 MB which is too small for
many delta firmware update use cases. The visible effect is that delta firmware
updates become extremely slow (sometimes >1 hour) due to thrashing when their
source window is set to values much larger than 8 MB.
-
New features
- Adjustable block cache specified in the fwup.conf. See
block-cache-size-mb. Thanks to @kybishop - Support dm-crypt aes-xts-plain64 encrypted partitions
- Adjustable block cache specified in the fwup.conf. See
-
Bug fixes
- Fix AES compilation on 32-bit ARMv8 like a Raspberry Pi 3 with a 32-bit OS
- Fix compilation on PowerPC Macs. Thanks to @barracuda156
v1.15.1
This release addresses some amazingly poor performance when updating encrypted
firmware partitions. It was most noticeable when using delta firmware updates
due to a combination of repeated decryption and a slow AES implementation.
v1.15.0
-
New features
- Added
require-executeto be able to run an arbitrary program to determine
whether or not to run a task. This requires the--unsafeflag to use. - Added firmware nicknames like
guitar-weatherso that it's easier to refer
to firmware files rather than by using UUIDs. Nicknames are computed from
the UUID and don't affect.fwfiles. They're not guaranteed unique, so
continue to use the UUIDs for uniqueness guarantees. See themeta-nickname
metadata. You can still refer to firmware versions. This handles the
development and debug cases where you're not regularly updating version numbers.
- Added
-
Bug fixes
- Fixed success message when creating public/private signing key pairs. It
previously printed out the wrong filename on some systems.
- Fixed success message when creating public/private signing key pairs. It
v1.14.0
NOTE: This release changes metadata stored in the .fw files in a way that
doesn't affect any functionality, but is visible in the firmware UUID
construction. In other words if you use the exact same inputs with this version
of fwup and an older version, you'll get different UUIDs. This was done to
prevent compatibility issues between fwup versions when parsing metadata that
needed to change from being an integer to a string for holding very large
numbers.
- Improvements
- U-Boot environment blocks can now be written to offsets beyond 2 GB. Prior
versions would likely silently fail - Don't unconditionally double quote strings in the metadata file. This allows
more flexibility in changing fields to strings when they go beyond what's
supported by libconfuse while not breaking backward compatibility.
- U-Boot environment blocks can now be written to offsets beyond 2 GB. Prior
v1.13.2
v1.13.1
- Bug fixes
- Allow images to be expanded after initial creation if they're regular files.
Previously this resulted in an error. - Fix error handling triggered by a delta firmware update that resulted in a
hang. In theory, this should be possible to trigger without a delta
firmware, but I wasn't able to get it to happen. - Fix verification error on delta firmware image that had an empty entry.
- Allow images to be expanded after initial creation if they're regular files.
v1.13.0
-
New features
- Support applying firmware deltas that read directly from encrypted source
partitions. This addsdelta-source-raw-optionswhere you can add details,
but most likely add environment variables to allow secrets to be passed when
applying the update.
- Support applying firmware deltas that read directly from encrypted source
-
Package updates
- libarchive 3.7.9 (static builds only)
v1.12.0
-
New features
- Add 4-parameter
fat_cpfunction to support copying files between FAT
partitions. The previous (and still supported) 3-parameterfat_cprequired
files to be on the same partition. - Support extended partitions in master boot records. This makes it possible
to have more than four partitions without switching to GPT partitions. See
README.md for details. - Add
reboot-paramfunction for setting parameters to be sent toreboot.
This is useful for implementing the Raspberry Pi tryboot functionality
withinfwup.
- Add 4-parameter
-
Improvements
- Update
require-path-on-deviceon Linux to be able to traverse device
mapper block devices. This allows encryption and other device mapper
features to be in use when checking where file systems are mounted.
Workarounds shouldn't be needed any more.
- Update
-
Bug fixes
v1.11.0
-
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.
- Use the file size of regular files to determine the end of the image. This
-
Package updates
- monocypher 3.1.3
- libarchive 3.7.6 (static builds only)
v1.10.2
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
- Don't add superfluous timestamps to zip files (.fw files are zip files). It
-
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.
- When scanning attached media, filter out devices under 1 MiB since they're
-
Package updates
- libarchive 3.7.3