Releases: fwup-home/fwup
Releases · fwup-home/fwup
v1.0.0
- Bug fixes:
- Add #include due to change in new versions of glibc
- Disable failing test on Arch Linux (appears to be due to root filesystem
options and not specifically Arch. The test doesn't affect archive
creation, so it's only relevant if you're using Arch on the embedded device.)
v0.19.0
-
New features
- Implement
require-fwup-version
so .conf files that require newer
versions of fwup can force a nicer error message. - Add
require-path-at-offset
to support matching off the block offset of a
partition. This is intended to be used withrequire-path-on-device
to
figure out the actively running partition.
- Implement
-
Bug fixes
- Fix relative path inclusion to be relative to the .conf file rather than
relative to the current working directory.
- Fix relative path inclusion to be relative to the .conf file rather than
v0.18.1
v0.18.0
-
New features
- Added FWUP_SIZE_<resource_name> feature to support use in UBI systems.
Thanks to Michael Schmidt for this feature.
- Added FWUP_SIZE_<resource_name> feature to support use in UBI systems.
-
Fixes
- Fixed undefined use of pthreads. OpenBSD caught this and some other issues.
- Fixed regression issues when run on the new APFS in OSX High Sierra.
- Reduced progress bar width to avoid rendering issues on thin terminals.
v0.17.0
-
New features
- Added
--exit-handshake
to reduce code needed to integrate with Erlang
and Elixir programs.
- Added
-
Bug fixes
- Fixed the TRIM amount for manual trim() requests
- Don't close stdin early when streaming. This would cause an EPIPE in
programs that weren't expecting the pipe to half close. Previously, stdin
would be closed when done to workaround libarchive draining all input. A
different workaround is now in place. - Made the progress bar 64-bit safe.
- Add out of bounds checks to trim() and memset() to catch a couple issues
at creation time (included uninitialized variables). - Cleaned up old progress bar trails when updates printed out information.
v0.16.1
v0.16.0
-
New features
- Added path_write, pipe_write, and execute commands. These are only usable
if the --unsafe flag is passed. They enable people using raw NAND to
invoke the ubi tools. It's also possible for fwup to upgrade other chips now with
these commands. The commands are considered experimental, can create
platform-dependent .fw files, and open up some security issues. However,
assuming signed firmware updates, they can be very useful. Thanks to
Michael Schmidt for these additions. - Progress bar now includes approximate bytes written.
- Added path_write, pipe_write, and execute commands. These are only usable
-
Bug fixes
- Support overwriting files in FAT partitions. Previously you had to remove
the files first. - Fix tests to run on BSD systems again.
- Support overwriting files in FAT partitions. Previously you had to remove
v0.15.4
-
New features
- Changed signing keys to be base64 encoded so that they'd be easier to bake
into firmware and pass in environment variables on CI systems. The
previous raw binary format still works and will remain supported. - Added commandline parameters for passing public and private keys via
commandline arguments. Along with the base64 change, this cleans up CI
build scripts.
- Changed signing keys to be base64 encoded so that they'd be easier to bake
-
Bug fixes/Improvements
- Fix lseek seek_end issue on Mac when working with SDCards. This fixed an
issue where upgrade tasks didn't work on Macs. Not a common issue, but
confusing since you'd hit it while debugging. - Make requirement checks report their result with
-v
. - Fix verbose prints to use the fwup_warn helper instead of calling fprintf
directely. (Cleanup) - Enlarged trim cache for up to 64 GiB memory devices. Large ones will work,
but trim caching is ignored after 64 GiB. This should support almost all
known uses of fwup now. The use of fwup on large SSDs still works, since
fwup is pretty much only used at lower offsets.
- Fix lseek seek_end issue on Mac when working with SDCards. This fixed an
v0.15.3
- Bug fixes/Improvements
- Fix segfault when using large media. This was found on a 1 TB SSD, but
should have affected much smaller media. - Improved error messages for when FAT filesystems get corrupt and start
returning weird errors. - Fixed trimming on media that wasn't a multiple of 128K bytes. This could
have resulted in loss of data if anything was stored in the final bytes. - Fixed memory leaks identified by valgrind (nothing affecting proper
operation)
- Fix segfault when using large media. This was found on a 1 TB SSD, but
v0.15.2
-
New features
- Added meta-misc and meta-vcs-identifier metadata fields. This addition is
backwards compatible assuming you're using libconfuse 3.0 or later. If you
don't use these metadata fields in your fwup.conf files, there is no
compatibility issue.
- Added meta-misc and meta-vcs-identifier metadata fields. This addition is
-
Bug fixes/Improvements
- Order block cache flush logic so that blocks get written in fwup.conf
order. This fixes an issue where the cache could write the A/B partition
swap before the new firmware was completely written. Given that the
cache is pretty small and there was an extra flush before on-final,
systems without the fix are likely fine. - Improve the caching heuristics to reduce the number of writes to FAT
filesystems. - Improve detection of typos in variable names and content. This catches
accidental writes to offset 0 when creating fwup.config files among other
annoyances. - Improve MBR error messages
- Order block cache flush logic so that blocks get written in fwup.conf