Skip to content

Releases: fwup-home/fwup

v1.0.0

22 Jan 18:05
Compare
Choose a tag to compare
  • 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

15 Dec 18:24
Compare
Choose a tag to compare
  • 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 with require-path-on-device to
      figure out the actively running partition.
  • Bug fixes

    • Fix relative path inclusion to be relative to the .conf file rather than
      relative to the current working directory.

v0.18.1

02 Dec 21:12
Compare
Choose a tag to compare
  • Bug fixes
    • Fix an error in the syscall validator that was triggered by glibc 2.26.
      This caused many unit tests to incorrectly fail.
    • Reverted Windows fwup script that broke the Chocolatey package

v0.18.0

18 Nov 03:30
Compare
Choose a tag to compare
  • New features

    • Added FWUP_SIZE_<resource_name> feature to support use in UBI systems.
      Thanks to Michael Schmidt for this feature.
  • 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

17 Oct 03:06
Compare
Choose a tag to compare
  • New features

    • Added --exit-handshake to reduce code needed to integrate with Erlang
      and Elixir programs.
  • 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

11 Oct 20:41
Compare
Choose a tag to compare
  • New features
    • Added support for setting the signature field in the MBR

v0.16.0

04 Oct 01:56
Compare
Choose a tag to compare
  • 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.
  • Bug fixes

    • Support overwriting files in FAT partitions. Previously you had to remove
      the files first.
    • Fix tests to run on BSD systems again.

v0.15.4

05 Aug 18:21
Compare
Choose a tag to compare
  • 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.
  • 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.

v0.15.3

12 Jul 23:34
Compare
Choose a tag to compare
  • 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)

v0.15.2

08 Jul 22:42
Compare
Choose a tag to compare
  • 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.
  • 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