Releases: fwup-home/fwup
v0.10.0
- New features
- Add U-Boot environment support. This allows firmware updates to modify
the U-Boot environment to indicate things like which partition is active.
fwup can also look at the U-Boot environment to decide which partition to
update. - Add raw_memset to write a fixed value over a range of blocks. This is good
for invalidating SDCard regions in manufacturing so that they're
guaranteed to be reinitialized on first boot. SDCard TRIM support would be
better, but fwup doesn't work on the bulk programmers. - Add define_eval() to support running simple math expressions when building
firmware update packages. This makes entering offset/size pairs less
tedious.
- Add U-Boot environment support. This allows firmware updates to modify
- Bug fixes
- Re-enable max SDCard size check on Linux to reduce risk of writing to an
hard drive partition by accident.
- Re-enable max SDCard size check on Linux to reduce risk of writing to an
v0.9.2
- Bug fixes
- Fix SDCard corruption issue on Windows. Disk volumes are now locked for
the duration of the write process. Thanks to @michaelkschmidt for the fix. - Allow /dev/sda to be auto-detected as an SDCard on Linux. It turned out
that for some systems, this was a legit location. Most people will not
see it, since it doesn't pass other tests. - Set compression parameters on libarchive's zip compressor. This wasn't a
actually a bug, but there seemed to be some variability in how .fw files
were compressed.
- Fix SDCard corruption issue on Windows. Disk volumes are now locked for
v0.9.1
- New features
- Build Chocolatey package for Windows - lets Windows user run
choco install fwup
once the package is accepted into the Chocolatey repo. - Build a
.deb
package for Raspbian. This makes it easier to install
fwup
on Raspberry Pis. CI now builds and tests 32-bit armhf versions.
- Build Chocolatey package for Windows - lets Windows user run
v0.9.0
- New features
- Windows port - It's now possible to natively write to SDCards on
Windows.
- Windows port - It's now possible to natively write to SDCards on
- Bug fixes
- Don't create files in
/dev
. This fixes a TOCTOU bug where an SDCard
exists during enumeration time and disappears before the write. When this
happened, a regular file was created in/dev
which just confused
everyone. - Support writing 0-byte files to FAT partitions. They were being skipped
before. This is different thantouching
a file since it can be used to
truncate an existing file.
- Don't create files in
v0.8.2
This release addresses a corruption issue when updating
an existing FAT filesystem. The corruption manifests itself as zero'ing out 512 bytes
at some place in the filesystem that wasn't being upgraded. It appears that the
location stays the same with the configuration that reproduced the issue. Due to some luck,
the condition that causes this is relatively rare and appears to only have
caused crashes for BeagleBone Green users. BeagleBone Black users still had the
corruption, but it did not seem to affect operation.
It is highly recommended to upgrade the version of fwup
on your target to this
version.
- Bug fixes
- Fix FAT filesystem corruption when running a software update.
v0.8.1
This release is a bug fix release on v0.8.0. The combination of significantly
improved code coverage on the regression tests (see Coveralls status) and the
Windows port uncovered several bugs. People submitting fwup to distributions are
highly encouraged to run the regression tests (make check
), since some issues
only appear when running against old or misconfigured versions of libconfuse and
libarchive.
- Bug fixes
- Use pkg-config in autoconf scripts to properly discover transitive
dependencies. Thanks to the Buildroot project for discovering a broken
configuration. - Fix lack of compression support in libarchive in static builds (regression
test added to catch this in the future) - Fix MBR partition handling on 32-bit systems (offsets between 2^31 and
2^32 would fail) - Fix uninitialized variable when framing on stdin/stdout is enabled
- Various error message improvements thanks to Greg Mefford.
- Use pkg-config in autoconf scripts to properly discover transitive
v0.8.0
- New features
- Added assertions for verifying that inputs don't excede their expected
sizes. The assertions are only checked at .fw creation time. - Add support for concatenating files together to create one resource. This
was always possible before using a preprocessing script, but is more
convenient now. - Add "framed" input and output when using stdin/stdout to simplify
integration with Erlang and possibly other languages. - Detecting attached SDCards no longer requires superuser permissions on
Linux. - Listing detected SDCards (
--detect
option) prints the SDCard size as
well. _This is a breaking change if you're usingfwup --detect
in a script_
- Added assertions for verifying that inputs don't excede their expected
- Bug fixes
- Fixed va_args bug that could cause a crash with long fwup.conf inputs
- fwup compiles against uclibc now
- autoreconf can be run without creating the m4 directory beforehand
v0.7.0
This release introduces a change to specifying requirements on upgrade sections.
Previously, the only supported option was require-partition1-offset
.
Requirements can now be specified using function syntax. If you have older versions of
fwup
in the field, using this new feature will create .fw files that won't
apply. The change makes requirement support less of a hack. If you don't change
to the new syntax, fwup
will continue to create .fw
files that are
compatible with old versions.
- New features
- Task requirement code now uses functions for checks
- Add fat_touch to create 0 length files on FAT filesystems
- Add require-fat-file-exists to check for the existance of a file when
determining which task to run - libconfuse 3.0's unknown attribute support is now used to make fwup
more robust against changes to meta.conf contents - open_memstream (or its 3rd party implementation) is no longer needed. This
helps portability. - The meta.conf file is stripped of empty sections, lists, and attributes
set to their defaults. If you have an old fwup version in the field, or
you're using libconfuse < 3.0, it is now much harder to generate
incompatible fwup files assuming you don't use features newer than your
deployed fwup versions.
- Bug fixes
- Autodetection will work for SDCards up to 64 GB now
- Fixed off-by-month bug when creating files in FAT partitions