<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2017 Richard Hughes <richard@hughsie.com> -->
<component type="console-application">
  <id>org.freedesktop.fwupd</id>
  <metadata_license>CC0-1.0</metadata_license>
  <project_license>LGPL-2.0+</project_license>
  <name>fwupd</name>
  <summary>Update device firmware on Linux</summary>
  <description>
    <p>
      This project aims to make updating firmware on Linux automatic, safe and
      reliable.
      You can either use a GUI software manager like GNOME Software to view and
      apply updates, the command-line tool or the D-Bus interface directly.
    </p>
    <p>
      The fwupd process is a system daemon to allow session software to update
      device firmware on your local machine.
      It is designed for desktops, but this project is also usable on phones,
      tablets and on headless servers.
    </p>
  </description>
  <url type="bugtracker">https://github.com/fwupd/fwupd/issues</url>
  <url type="homepage">https://fwupd.org/</url>
  <url type="translate">https://hosted.weblate.org/projects/fwupd/fwupd/</url>
  <url type="vcs-browser">https://github.com/fwupd/fwupd</url>
  <update_contact>richard_at_hughsie.com</update_contact>
  <developer_name>The fwupd authors</developer_name>
  <developer id="org.fwupd">
    <name translate="no">The fwupd authors</name>
  </developer>
  <translation type="gettext">fwupd</translation>
  <content_rating type="oars-1.1">
    <content_attribute id="social-info">moderate</content_attribute>
  </content_rating>
  <provides>
    <binary>fwupdmgr</binary>
    <binary>fwupdtool</binary>
  </provides>
  <releases>
    <release version="2.1.6" date="2026-07-01">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add --filter-protocol to fwupdmgr and fwupdtool</li>
          <li>Add a new HSI attribute for coreboot verified boot</li>
          <li>Add hashes for the latest DBX for offline machines</li>
          <li>Allow parsing Hayden Bridge Thunderbolt firmware</li>
          <li>Handle HPE Redfish reset-required updates</li>
          <li>Ignore efivar free space on VMWare, GCE and EC2 VMs</li>
          <li>Prevent FwupdClient from downloading the same file multiple times</li>
          <li>Split UEFI Memory Protection HSI from NX Compat</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Avoid an integer overflow in the ifwi-cpd manifest length check</li>
          <li>Avoid truncating the AMD Kria FRU board area offset</li>
          <li>Block dbx updates on ASUSTeK GL553VD</li>
          <li>Check SMEE hardware bit directly for AMD SME detection</li>
          <li>Create the ESP OS directory if not found</li>
          <li>Detect the BCR device on Celeron LPC SPI controllers</li>
          <li>Fall back to a binary firmware when no specific MTD image type is set</li>
          <li>Fix AI table clear behavior of the elantp boot code.</li>
          <li>Fix errors with fwupd-refresh service not working properly</li>
          <li>Fix Genesys GL32xx device locker crash due to argument mismatch</li>
          <li>Fix installing KEK updates when using snapd by sending the correct blob</li>
          <li>Fix integer underflow when Elan firmware is smaller than one page</li>
          <li>Fix possible NULL pointer dereference when updating SteelSeries firmware</li>
          <li>Fix the display of the HP UEFI db certificate</li>
          <li>Improved usi-dock progress reporting behavior</li>
          <li>Increase the parser item limit from 100 to 1000 for large KEKs</li>
          <li>Log out of the Redfish session when required on HPE hardware</li>
          <li>Only show 'authenticating' after a short delay</li>
          <li>Re-process the device metadata when required after all devices are added</li>
          <li>Require sealed memfd input to prevent possible TOCTOU attacks</li>
          <li>Sanitise the Jabra GNP device version in a more secure way</li>
          <li>Validate raydium-tp buffer size before direct index access</li>
          <li>Validate that Lenovo dock device-reported program sizes are valid</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Lenovo dual-bank accessory dongle and paired peripherals</li>
        </ul>
      </description>
    </release>
    <release version="2.1.5" date="2026-06-09">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Allow overriding the detected CPU vendor to allow more self tests</li>
          <li>Allow updating the Windows-specific UEFI CA on dual boot machines</li>
          <li>Install the db updates on broken hardware with new firmware</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add tests for the vbe, upower, uefi-sbat, pci-bcr, mtd, gpio and msr plugins</li>
          <li>Check the array index in some runtime-generated code</li>
          <li>Claim the udev netlink backend before old libusb versions</li>
          <li>Expand the netlink socket buffer to prevent packet loss during event floods</li>
          <li>Fix a msgpack regression when updating some Huddly cameras</li>
          <li>Fix HID feature read buffer size in goodix-tp device probe</li>
          <li>Fix reproducible builds</li>
          <li>Fix the check-reboot-needed command</li>
          <li>Increase the i2c-hid re-bind delay for synaptics-rmi PID 0x96e7</li>
          <li>Parse the dell-dock marketing name in a more safe way</li>
          <li>Set a firmware size limit on intel-gsc aux and oprom firmware types</li>
          <li>Simplify the engine by only loading the config object once</li>
          <li>Use a cryptographically secure RNG when building the idle and inhibit IDs</li>
          <li>Use a more appropriate firmware maximum size for Huddly cameras</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Elan touchscreens</li>
        </ul>
      </description>
    </release>
    <release version="2.1.4" date="2026-05-29">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a libcrypto-based JCat implementation for Android</li>
          <li>Add support for NixOS to the quickstart script</li>
          <li>Add support for the Compal BIOS version format</li>
          <li>Allow a remote to specify that a username or password is required</li>
          <li>Allow storing a per-user password in XDG_CONFIG_HOME</li>
          <li>Detect encrypted swap devices below device-mapper</li>
          <li>Ensure that all firmware subclasses set the maximum size</li>
          <li>Remove the flashrom plugin</li>
          <li>Save the SMBIOS BiosReleaseDate string to uploaded reports</li>
          <li>Tell Star Labs coreboot users to manually update when required</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a retry limit when updating failing Goodix MoC devices</li>
          <li>Add several bounds checks for when updating Dell docks</li>
          <li>Add vendor name and name for the various Framework UEFI certificates</li>
          <li>Allow recovery if the Lenovo dock internal state is invalid</li>
          <li>Avoid trunctaion when calculating the AMD GPU atombios size</li>
          <li>Check firmware size against Novatek flash start address</li>
          <li>Check for config offset overflow when updating Synaptics RMI devices</li>
          <li>Check for multiplication overflow in BCM57xx stage1 size calculation</li>
          <li>Check for overflow when writing to CCGX DMC devices</li>
          <li>Check stream size before calculating Legion HID ID offset</li>
          <li>Check stream size before subtracting Ilitek ITS CRC length</li>
          <li>Clear Sunplus camera download state if the previous flash failed</li>
          <li>Do not show plugin warnings when using --version</li>
          <li>Filter the install flags provided by the D-Bus client</li>
          <li>Fix a potential heap buffer overflow in FDT strlist parsing</li>
          <li>Fix a potential heap buffer overflow in Nordic HID peer validation</li>
          <li>Fix a potential OOB read in DFOTA modem response parsing</li>
          <li>Fix a potential path traversal vulnerability in firmware backup</li>
          <li>Fix a regression when searching for file magic</li>
          <li>Fix a regression when using report-export --sign</li>
          <li>Fix fwupd domain check bypass when using Qubes</li>
          <li>Ignore efivar free space requirement on Microsoft Hyper-V hosts</li>
          <li>Limit the number of hints a D-Bus client can set</li>
          <li>Limit the size of parsed USB descriptors to ~64KiB</li>
          <li>Make it easy to enable an authenticated remote</li>
          <li>Make the Novatek boot update more reliable</li>
          <li>Only read BCR from Intel SPI controllers</li>
          <li>Prevent a possible division by zero error in the progressbar code</li>
          <li>Prevent decompression bomb attacks in uSWID zlib payload parsing</li>
          <li>Prevent NVRAM-seeded ptential path traversal when loading ESP files</li>
          <li>Redact the username and password of remotes when using a non-active console</li>
          <li>Require authorization for firmware installation on emulated devices</li>
          <li>Require authorization for more D-Bus methods from non-local users</li>
          <li>Restrict Curl protocols to prevent potential SSRF attacks</li>
          <li>Restrict ModifyRemote to prevent a supply-chain redirection</li>
          <li>Show a short easy-to-read string as the Pixart touchpad name</li>
          <li>Tolerate post-quantum CA PKCS#7 failures when using Qubes</li>
          <li>Validate ACPI PHAT specific data offset before parsing</li>
          <li>Validate Corsair write size before subtracting header size</li>
          <li>Validate DFU address offset before parsing the header</li>
          <li>Validate Elan touchpad IAP address is within firmware bounds</li>
          <li>Validate Logitech TAP AP region bounds before calculating size</li>
          <li>Validate payload length is large enough for FPC sec-link</li>
          <li>Validate sector range before writing pixart-tp firmware</li>
          <li>Validate VBE area start does not exceed area size</li>
          <li>Validate write offset does not exceed TI TPS6598x stream size</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Egis MoC devices with PID 9201</li>
          <li>Intel Arc Pro B65 and Arc Pro B70 (#10389)</li>
          <li>Lenovo dock devices in 'provisioned' mode</li>
          <li>Pixart TP devices with PID 1343</li>
          <li>Several GigaDevice and Puya SPI chips</li>
        </ul>
      </description>
    </release>
    <release version="2.1.3" date="2026-05-12">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add support for Redfish bearer token authentication</li>
          <li>Add support for several XMC SPI chips</li>
          <li>Parse JCat files in libfwupd without using libjcat</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow configuring a Redfish URI with a path prefix</li>
          <li>Avoid firmware matching errors for Cat-6 and Cat-12 modems</li>
          <li>Calculate and export a floating point percentage progress value</li>
          <li>Do not print clean remote success message if aborted</li>
          <li>Do not probe all Nordic devices with USB VID 0x1915</li>
          <li>Fix force table support in Elan IC types 0x13 and 0x14</li>
          <li>Fix Raydium information check flow to avoid incorrect validation</li>
          <li>Fix the Thunderbolt version number by ignoring the reserved bits</li>
          <li>Load well-known paths in dbxtool to prevent a regression</li>
          <li>Match a specific Raydium device to prevent resetting older hardware</li>
          <li>Only copy the HIDRAW USB properties if a DS-20 has been provided</li>
          <li>Use CA1 for a SK Hynix NVMe drive</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>SHIFT6mq and SHIFTphone 8</li>
        </ul>
      </description>
    </release>
    <release version="2.1.2" date="2026-04-24">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add an HSI check for AMD SB-7033 aka EntrySign</li>
          <li>Add native CBOR parsing and drop libcbor2 as a dep</li>
          <li>Add server platform detection to suspend HSI checks</li>
          <li>Allow setting a maximum version number for a device</li>
          <li>Allow setting context flags from HWID matches</li>
          <li>Increment the progressbar when waiting for replug</li>
          <li>Require Windows 8+ for the MSI build artifact</li>
          <li>Support loading EFI authenticated variables with ContentInfo headers</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add daemon support for modems that export ttyUSB devices</li>
          <li>Add decompression ratio limit to prevent parsing emulation ZIP bombs</li>
          <li>Add device activation flag for Dell servers after firmware upgrade</li>
          <li>Allow using a custom Telink HidToolVer quirk</li>
          <li>Check the UEFI capsule payload is less than 4GiB in size</li>
          <li>Cleanup all the user inhibits when required</li>
          <li>Do not allow using non-regular files like devnull as metadata</li>
          <li>Do not use capsule-on-disk on Lenovo ThinkCentre M60e Tiny</li>
          <li>Fix a buffer overread when parsing a malicious PE file</li>
          <li>Fix a CRC validation mistake in ZIP firmware parser</li>
          <li>Fix a maybe-impossible NULL pointer dereference when parsing netlink data</li>
          <li>Fix a small memory leak when writing Redfish firmware</li>
          <li>Fix accessing Nordic devices connected through a dongle</li>
          <li>Fix handling snapd payloads with only a default image</li>
          <li>Fix potential NULL pointer dereference in QMI firmware write</li>
          <li>Fix the auto-generated Redfish HBA device name</li>
          <li>Fix the displayed Thunderbolt version number by ignoring reserved bits</li>
          <li>Fix UF2 race with UDisks2 volume discovery during replug</li>
          <li>Fix warning when probing removable USB devices with no medium</li>
          <li>Guard HSI feature with platforms requirements</li>
          <li>Hardcode the modification timestamp in generated zip archive</li>
          <li>Increase the resolution of the progress bar updates</li>
          <li>Limit the maximum number of files that can be parsed from ZIP archives</li>
          <li>Prevent users from asking for unlimited system inhibits</li>
          <li>Properly handle Dell iDRAC when using Redfish</li>
          <li>Reject DFU sectors with zero size to prevent a possible infinite loop</li>
          <li>Restore the VID check in Algoltek USBCR probe function</li>
          <li>Set sensible parsing limits in each FuFirmware subclass</li>
          <li>Show a suitable version when the Novatek update is interrupted</li>
          <li>Support CAB image filenames longer than 255 chars</li>
          <li>Update the Focal touch firmware format to the latest release</li>
          <li>Use overflow-checked arithmetic for all offset calculations</li>
          <li>Use prepared queries when querying silos</li>
          <li>Validate CCGX record data size before flash write</li>
          <li>Validate Nordic HID peer index before accessing peers cache array</li>
          <li>Validate Synaptics cxaudio EEPROM size before trusting it</li>
          <li>Wait for mock snapd API socket to appear when running tests</li>
          <li>Wait for the new version when updating the Nordic TK059 Keyboard</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Elan TP IC type 0x19</li>
          <li>Google Moonstone</li>
          <li>HP 400 and 405 Mouse</li>
          <li>Lenovo USB-4 dock</li>
          <li>LX Semicon SW42101 touch controller</li>
          <li>Parade USB hubs with GPIO control</li>
          <li>Pixart PLP239 devices</li>
          <li>Raydium TP devices</li>
          <li>Sunplus cameras</li>
        </ul>
      </description>
    </release>
    <release version="2.1.1" date="2026-03-11">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a new fwupd security check for HP Sure Start</li>
          <li>Add a new plugin to verify Intel CSME using SMBIOS data</li>
          <li>Add a new tpm-eventlog command to explain the TPM eventlog output</li>
          <li>Add CycloneDX and SPDX support to uSWID</li>
          <li>Add support for AMD Platform Secure boot</li>
          <li>Add support for changing AMD GPU UMA carveout size</li>
          <li>Add support for emulation for bluetooth devices</li>
          <li>Allow systems to use the udev event source without using systemd</li>
          <li>Disable the UEFI plugins on 32bit x86</li>
          <li>Drop support for GPG signing of metadata and firmware</li>
          <li>No longer depend on json-glib, libarchive or protobuf-c</li>
          <li>Remove the concept of blocked firmware</li>
          <li>Show translated problems when a device cannot be installed</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a timeout to the fwupd-refresh systemd unit</li>
          <li>Allow systemd service to access block-sr devices</li>
          <li>Always show the correct new firmware version in 'fwupdmgr get-history'</li>
          <li>Be more defensive with invalid Corsair device responses</li>
          <li>Cache the payload verification result to speed up installing modem firmware</li>
          <li>Check for integer overflow when constructing a partial stream</li>
          <li>Clear the remaining qc-firehose power reset logs</li>
          <li>Decompress a zip file in Aver HID rather than a bz2 archive</li>
          <li>Do not allow efivar update without TIME_BASED_AUTHENTICATED_WRITE_ACCESS</li>
          <li>Do not hang when parsing an invalid USB descriptor</li>
          <li>Do not include EV_NO_ACTION when calculating the TPM PCRs</li>
          <li>Do not return an error if the fastboot property is not provided</li>
          <li>Do not show all IDs as GUIDs if adding quirks after device setup</li>
          <li>Find shim when using systemd-boot and distro-specific locations</li>
          <li>Fix activation of dell-kestrel NVM when composite updates are completed</li>
          <li>Fix a dell-dock regression when enumerating the status component</li>
          <li>Fix a fuzzer timeout when parsing a Synaptics RMI SBL container</li>
          <li>Fix a missing error check when updating Genesys USB hubs</li>
          <li>Fix a potential heap OOB read in AMD Kria SOM EEPROM parser</li>
          <li>Fix a potential Logitech HID++ hang when parsing unexpected payload IDs</li>
          <li>Fix a potential out-of-bounds read in Dell dock</li>
          <li>Fix a regression causing MBIM QDU updates to fail</li>
          <li>Fix a regression when installing on the HP G5 dock</li>
          <li>Fix a small memory leak when removing a bluetooth device</li>
          <li>Fix an integer underflow when parsing a malicious PE file</li>
          <li>Fix get-updates --json silently skipping UPDATABLE_HIDDEN devices</li>
          <li>Fix the snapd-uefi request when multiple updates are processed</li>
          <li>Honor polkit auth for emulation tag modify device</li>
          <li>Make Logitech HID++ devices using RDFU actually work</li>
          <li>Only load the history database in the daemon when required</li>
          <li>Refactor the Snap support out into a new plugin</li>
          <li>Remove a warning when updating Intel GSC OPROMDATA</li>
          <li>Remove the bcm57xx recovery device support</li>
          <li>Require a CHID for generic ElanTP devices</li>
          <li>Speed up calculating the cabinet checksum by ~20%</li>
          <li>Support 8bitdo firmware with multiple packed images</li>
          <li>Try to claim the DFU USB interface more than once</li>
          <li>Use crc32() from zlib.h when computing the most common kind of CRC32</li>
          <li>Verify the uncompressed size when decompressing CAB files</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Blestech Touchpads</li>
          <li>ELAN Haptic MCU devices</li>
          <li>FocalTouch devices</li>
          <li>Himax Touchscreens</li>
          <li>HP Engage One G2 Advanced Hub</li>
          <li>KATAR PRO Wireless Gaming Dongle</li>
          <li>Lenovo keyboard and mice accessories</li>
          <li>Lenovo Sapphire Folio Keyboard</li>
          <li>Lightware Taurus HC40 and HC60</li>
          <li>Novatek touchscreens</li>
          <li>PixArt Touchpads</li>
          <li>Rolling RW101-CAT12 modems</li>
          <li>Sunwinon HID devices</li>
        </ul>
      </description>
    </release>
    <release version="2.0.18" date="2025-12-01">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a MOTD message for devices needing reboot after staged updates</li>
          <li>Create the reboot-required file when a firmware update requires reboot</li>
          <li>Record the system state for each composite emulation</li>
          <li>Update USI docking station firmware without requiring a manual replug</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a MTD device problem if the Intel SPI BIOS lock is set</li>
          <li>Allow changing the child name when using PARENT_NAME_PREFIX</li>
          <li>Allow UpdateCapsule to work on systems that do not support SecureBoot</li>
          <li>Correctly parse the EFI_CAPSULE_RESULT_VARIABLE_HEADER</li>
          <li>Fall back to the SMBIOS version for BIOS MTD devices</li>
          <li>Fix a crash when trying to record an i2c emulation</li>
          <li>Fixed Huddly upgrade problems with major version changes</li>
          <li>Fix man page compatibility with apropos and whatis</li>
          <li>Fix parsing USB BOS descriptors</li>
          <li>Fix up the x86_64-specific capsule flags when deploying UEFI firmware</li>
          <li>Improve firmware stream searching speed by a huge amount</li>
          <li>Only convert the release uint32_t to device version format for UEFI devices</li>
          <li>Only handle SIGINT in fwupdtool when required</li>
          <li>Refactor the hypervisor and container detection to be usable from plugins</li>
          <li>Set PlatformArchitecture as the CPU architecture for RISC-V machines</li>
          <li>Use a sensible timeout when doing qc-s5gen2 HID requests</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>HP Portable USB-C 4K HDMI Hub</li>
          <li>Lenovo Legion Go 2 (as a HID device)</li>
          <li>Synaptics HapticsPad</li>
        </ul>
      </description>
    </release>
    <release version="2.0.17" date="2025-11-05">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add support for client-side phased update deployment</li>
          <li>Add support for post-quantum signatures</li>
          <li>Allow clearing the cache dirirectory</li>
          <li>Allow fwupdtpmevlog to dump the raw eventlog data</li>
          <li>Build a NVMe GUID derived from the serial number</li>
          <li>Make fwupdtool extract work with deeply nested images</li>
          <li>Parse VSS and FTW variable stores from EFI volumes</li>
          <li>Reintroduce the FreeBSD CI target</li>
          <li>Support very old versions of UDisks</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add 'fwupdmgr hwids' by exposing another daemon property</li>
          <li>Add offline hashes for the Microsoft 20250902 dbx</li>
          <li>Add the Framework-specific KEK and db hashes</li>
          <li>Allow updating IFD BIOS region via parent MTD</li>
          <li>Avoid showing reinstall prompts for composite devices</li>
          <li>Clean up the fwupdtool lock file in all cases</li>
          <li>Correctly match the correct historical composite component</li>
          <li>Do not allow PK or KEK updates when system has a test key installed</li>
          <li>Do not allow reinstalling when using ONLY_VERSION_UPGRADE</li>
          <li>Do not require AC power to run the installed tests</li>
          <li>Do not scan EFI volumes when constructing MTD BIOS devices</li>
          <li>Ensure REGION is always set for MTD IFD children</li>
          <li>Ensure SCSI instance IDs are valid ASCII values</li>
          <li>Fix a critical warning when parsing invalid Jabra firmware</li>
          <li>Fix an Ilitek parsing crash found when fuzzing</li>
          <li>Fix an inotify race when refreshing metadata</li>
          <li>Fix a pending-activation problem with Dell docking stations</li>
          <li>Fix a potential hang when creating a chunk array with aligned sizes</li>
          <li>Fix MTD emulation recording for PCI-backed devices</li>
          <li>Fix the device order when the parent specifies install-parent-first</li>
          <li>Fix the FLMSTR layout when reading IFD partitions</li>
          <li>Fix the thunderbolt controller rushing to finalize before onlining retimers</li>
          <li>Fix writing Intel GPU OptionROM data and OptionROM code</li>
          <li>Flush stale events to make the Logitech Rallybar more reliable</li>
          <li>Ignore all the Intel GPU MTD devices</li>
          <li>Ignore errors when writing the last page of Dell dock firmware</li>
          <li>Make an error message more specific</li>
          <li>Modify the Dell dock needs-activation flag after updates are installed</li>
          <li>Only add one devlink device for each PCI card</li>
          <li>Parse the FMAP SBOM area as uSWID when required</li>
          <li>Relax the USI dock DMC child device checks for new firmware</li>
          <li>Revert back to the flashrom deprecated API as the new API is unusable</li>
          <li>Rewrite the fwupdmgr manpage to be more useful</li>
          <li>Use higher delay when update status for Logitech peripheral devices</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>ASUS CX9406 (touch controller)</li>
          <li>Framework Copilot keyboard</li>
          <li>Genesys GL352530 and GL352360</li>
          <li>Huddly C1</li>
          <li>Lexar and Maxio NVMe SSDs</li>
          <li>Primax Ryder mouse 2</li>
        </ul>
      </description>
    </release>
    <release version="2.0.16" date="2025-09-12">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a 'search' feature to fwupdtool and fwupdmgr</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Fix missing release locations when loading from artifact</li>
          <li>Fix remaining issues to make updates on FreeBSD work</li>
        </ul>
      </description>
    </release>
    <release version="2.0.15" date="2025-09-10">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Allow child devices to use the parent name as a prefix</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add newer commands and options for Fish completion</li>
          <li>Allow installing archives named as .CAB rather than .cab</li>
          <li>Erase Firehose modem devices correctly</li>
          <li>Fix Goodix enumeration issues</li>
          <li>Fix sending firmware reports without --force</li>
          <li>Fix the FreeBSD build</li>
          <li>Fix version number of BnR MTD devices</li>
          <li>Require additional requirements for the default PS5512 devboard</li>
          <li>Require a full system shutdown for all Micron NVMe updates</li>
          <li>Use a better name for Elan touchpad and Intel PCH SPI devices</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Foxconn SDX61 Modem</li>
          <li>Jabra Evolve2 child devices</li>
          <li>NVIDIA ConnectX-6, ConnectX-7 and ConnectX-8 NICs</li>
        </ul>
      </description>
    </release>
    <release version="2.0.14" date="2025-08-29">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add support for ignoring the network connectivity requirement</li>
          <li>Allow building on RHEL-9 and RHEL-10</li>
          <li>Allow plugins to know the firmware version during update</li>
          <li>Allow UEFI capsule devices to opt-out of Capsule-on-Disk</li>
          <li>Allow unsetting HwID plugin context flags</li>
          <li>Allow upgrading from a zero "empty" UEFI dbx</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add an automatic firehose counterpart to the QCDM modem device</li>
          <li>Disable signature time checks when verifying firmware</li>
          <li>Do not add a vendor ID of UNKNOWN when the signature has no vendor</li>
          <li>Do not discover ThunderBolt retimer devices when run in single-shot mode</li>
          <li>Do not use deprecated libflashrom API</li>
          <li>Enhance firmware metadata generation in firmware_packager</li>
          <li>Ensure Lexar NVMe drives use a proper version number</li>
          <li>Fix parsing and writing UF2 extension sections</li>
          <li>Fix Synaptics RMI initialization for new devices</li>
          <li>Fix updating DFOTA and MBIM modem devices</li>
          <li>Move some vendor name fixups to the quirk file</li>
          <li>Remove CapsuleOnDisk HwID match for Dell</li>
          <li>Return a sensible error when using build-cabinet wrong</li>
          <li>Set the firehose loader filename in a more permissive way</li>
          <li>Update the mapping for TPM vendor names</li>
          <li>Verify the checksum of the serialized data in tests</li>
          <li>Work around a libmbim bug when detaching</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Egis MoC devices</li>
          <li>Framework QMK devices</li>
          <li>ILITEK touch controllers</li>
          <li>SteelSeries Arctis Nova 3P</li>
        </ul>
      </description>
    </release>
    <release version="2.0.13" date="2025-07-21">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a daemon config option to ignore efivars free space</li>
          <li>Add support for glob-aware version comparison requirements</li>
          <li>Allow targeting specific regions in FMAP when using flashrom</li>
          <li>Detect static variables and magic numbers during code review</li>
          <li>Remove the unused hailuck and rts54hid plugins</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Align MTD erase up to the erasesize as necessary</li>
          <li>Allow parsing IGSC OptionROM when using fwupdtool</li>
          <li>Allow removing private flags from UEFI capsule devices in quirks</li>
          <li>Do not copy the vendor for Intel reference ME firmware</li>
          <li>Do not use an interactive console if stdout is redirected</li>
          <li>Fix the UEFI self-test when the capsule splash is disabled</li>
          <li>Get better device information when using PCI-backed MTD devices</li>
          <li>Get the Intel GPU SKU and SVN when using BMG hardware</li>
          <li>Make MBIM modem devices emulatable</li>
          <li>Make sure fwupdtool.exe is available in the Windows PATH</li>
          <li>Only show the 'Full Disk Encryption Detected' warning when required</li>
          <li>Set all QCDM modem devices to raw mode when updating</li>
          <li>Show all devices for fwupdtool get-devices --show-all --force</li>
          <li>Show correct dbx version if non-Microsoft entries are present</li>
          <li>Show KEK device attributes in fwupdmgr</li>
          <li>Use an alternate GUID when the Intel GPU is in recovery mode</li>
          <li>Use the kernel netlink hotplug socket when there is no Udev</li>
          <li>Various small changes to speed up startup by 60% and lower RSS by 40%</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>HP USB-C 100W G6 Dock</li>
          <li>Logitech Bulk Controller pheripherals</li>
          <li>More MediaTek scaler devices</li>
        </ul>
      </description>
    </release>
    <release version="2.0.12" date="2025-06-19">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a config option for enforcing immutable device enumeration</li>
          <li>Add device emulation support for Thunderbolt host controllers</li>
          <li>Do the efivarfs free space checks for dbx, db, KEK and PK devices</li>
          <li>Ensure the i2c_dev kernel driver is always loaded if a module</li>
          <li>Parse the SBOM data from fwupdx64.efi if provided</li>
          <li>Support loading multiple coSWID blobs from PE files</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Added HP Elitedesk G6 mini to not get dbx-updates</li>
          <li>Add two more uefi dbx checksum->version entries</li>
          <li>Be more useful when building modem device Instance IDs</li>
          <li>Convert asus-hid and legion-hid2 to hidraw to avoid possible input blips</li>
          <li>Do not create radio for Logitech RDFU-capable devices</li>
          <li>Fix a modem-manager regression where a PCI device had no vendor ID</li>
          <li>Fix a regression when updating DFOTA modem devices</li>
          <li>Fix self tests when building with -Defi_os_dir</li>
          <li>Fix self tests when the builder does not support DistroVersion</li>
          <li>Fix updating Thunderbolt host controllers with some version formats</li>
          <li>Handle HECI unsupported status (0x0b) for Dell hardware</li>
          <li>Make tar a dependency of the uefi-capsule tests</li>
          <li>Mark the KEK and db updates as affecting FDE like BitLocker</li>
          <li>Properly detect the Redfish reboot request for Dell servers</li>
          <li>Send the proper artifact firmware filename to the Redfish BMC</li>
          <li>Set the correct RMM device version for some Dell dock devices</li>
          <li>Use inhibits so that the rts54hub device is marked as non-updatable</li>
          <li>Use the virtual size to avoid padding when cutting PE sections</li>
          <li>Wait for the Logitech Scribe device to replug after updating</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>HP Portable USB-C Hub</li>
          <li>More Foxconn 5G modem products</li>
          <li>More Intel Arc Battlemage products</li>
        </ul>
      </description>
    </release>
    <release version="2.0.11" date="2025-06-04">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a new check-reboot-needed command for scripts to use</li>
          <li>Read the SELinux state in the report failure metadata</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add some notes in the README about security-relevant build flags</li>
          <li>Add support for the Dell dock ownership command</li>
          <li>Add the subsystem VIDPID when provided by ModemManager</li>
          <li>Allow changing the rts54hub block size from a quirk entry</li>
          <li>Allow Legion HID2 downgrades without --force, and clear config on upgrades</li>
          <li>Allow specifying multiple DEVICE-IDs for the get-updates command</li>
          <li>Cache the stream when parsing the processed cabinet to fix the report upload</li>
          <li>Do not allow DBX updates on the AiStone X5KK4NAG</li>
          <li>Do not use translated low-level error messages in the failure report</li>
          <li>Fall back to the activation date if the X.509 cert has no suitable subject</li>
          <li>Fix newer Synaptics VMM9 devices by adding a delay after disabling RC</li>
          <li>Ignore some sanity checks when parsing PK, KEK and db certificates</li>
          <li>Increase timeout requested by logitech RDFU devices</li>
          <li>Never include systemd.machine_id in the failure report</li>
          <li>Parse the correct VendorID from the ModemManager device ID</li>
          <li>Process all pending event sources when waiting for replug</li>
          <li>Use the UEFI PK report attributes for the other UEFI plugins</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Lenovo Thunderbolt 5 Smart Dock</li>
        </ul>
      </description>
    </release>
    <release version="2.0.10" date="2025-05-21">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Include the AGESA version as the summary of the AMD secure processor device</li>
          <li>Include the UEFI PK certificate key ID in the uploaded problem report</li>
          <li>Provide a way for the client to restrict the GUID list to an emulated device</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Do not allow dbx updates on the HP Elitebook 845 Gen10</li>
          <li>Do not warn about BIOS bugs we can easily work around</li>
          <li>Fix a regression in fwupdmgr emulation-save when recording some devices</li>
          <li>Fix a regression preventing installation of KEKs</li>
          <li>Fix a small memory leak when getting security attributes</li>
          <li>Never write a UX capsule when using Capsule-On-Disk</li>
          <li>Use the 'OnBattery' property from upower to tell if plugged in</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Lenovo Legion Touchpad</li>
          <li>Logitech MX Mechanical</li>
          <li>Poly Studio V72 and V12</li>
        </ul>
      </description>
    </release>
    <release version="2.0.9" date="2025-05-07">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add some documentation about updating the KEK and db</li>
          <li>Allow installing multiple db certificate updates at the same time</li>
          <li>Show what certificate signed the EFI authenticated variable</li>
          <li>Use readline to look up inputs from user, and make it optional</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add several devices with broken firmware to the UEFI dbx blocklist</li>
          <li>Constructing the authenticated URI properly when using FirmwareBaseURI</li>
          <li>Do not enumerate non-updatable OptionROM devices</li>
          <li>Do not export Redfish backup partitions as devices</li>
          <li>Fix a crash when installing some Wacom firmware types</li>
          <li>Fix a crash when parsing uevents that are not KEY=VALUE</li>
          <li>Fix parsing the DFU descriptor when not using libusb</li>
          <li>Fix PK and KEK enumeration failure on some systems</li>
          <li>Fix SMBIOS parsing for ROM size >= 16MiB</li>
          <li>Include a resolution for more of the HSI failures</li>
          <li>Include more output when using fwupdtool get-devices --json</li>
          <li>Never allow updating updatable-hidden devices with fwupdtool</li>
          <li>Properly handle redfish location redirect when installing firmware</li>
          <li>Recognize a very old dbx hash to allow upgrades</li>
          <li>Require a reboot after updating Intel CVS devices</li>
          <li>Rework the MEI code so that a device can use more than one interface</li>
          <li>Rewrite the ModemManger plugin to be simpler and more supportable</li>
          <li>Simplify parsing USB descriptors</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Intel Arc Battlemage GPUs</li>
        </ul>
      </description>
    </release>
    <release version="2.0.8" date="2025-04-09">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add the updated UEFI db as a new HSI attribute</li>
          <li>Add two new plugins that can update the UEFI Signature Database and KEK</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add /sys/firmware/efi/efivars to ReadWritePaths</li>
          <li>Avoid any DPAUX IO if the BnR DPCD does not match</li>
          <li>Be more careful falling back to older emulation versions</li>
          <li>Detect the Firehose protocol features if not automatically sent</li>
          <li>Do not match SMC Redfish method on non-Supermicro hardware</li>
          <li>Do not show prompts or messages in --json mode</li>
          <li>Fix a critical warning when enumerating DTH135K0C</li>
          <li>Make the EFI LOADOPT either a path or ShimHive when setting metadata</li>
          <li>Match lowercase directory names when checking for ESP</li>
          <li>Only allow UEFI capsule updates on UEFI-capable architectures</li>
          <li>Set the version format when using fwupdtool install offline</li>
          <li>Support segment value 0 in the ccgx-dmc image parser</li>
        </ul>
      </description>
    </release>
    <release version="2.0.7" date="2025-03-25">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Allow calling 'fwupdtool security' with a fwupd version parameter</li>
          <li>A new plugin to update B&amp;R DisplayPort receivers</li>
          <li>A new plugin to update Intel CVS cameras</li>
          <li>A new plugin to verify UEFI memory protection attributes</li>
          <li>A new quirk to signify that no additional ESP space is required</li>
          <li>Build additional Redfish instance IDs for Dell server hardware</li>
          <li>Implement the HPE proprietary Redfish firmware push method</li>
          <li>Support cabinet archives greater in size than 2GB</li>
          <li>Support for showing the SBOM release URL</li>
          <li>Support for UEFI capsule installation in the bootloader</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Always close USB file descriptors after starting the daemon</li>
          <li>Do not add a Redfish release date if set to 00:00:00Z</li>
          <li>Fix a critical warning when rescanning a device with no GUIDs</li>
          <li>Fix a small memory leak when emumerating Logitech Rallysystem devices</li>
          <li>Fix a tiny Redfish memory leak when writing firmware</li>
          <li>Fix building against pygobject 3.52</li>
          <li>Fix Logitech BulkController setup for new device firmware versions</li>
          <li>Fix scaler-only Wacom USB update deployment</li>
          <li>Fix updating the RMM component in the dell-kestrel dock</li>
          <li>Fix writing new EFI variables to workaround a kernel regression</li>
          <li>Make PCI NAME and SSVID_SSPID based modem-manager IDs visible</li>
          <li>Parse firmware before putting the device into bootloader mode</li>
          <li>Prepend the capsule header when using Capsule-on-Disk</li>
          <li>Put a memory limit on decoding LZMA streams when parsing firmware</li>
          <li>Retry claiming the fastboot interface for up to 2500ms</li>
          <li>Trigger dpaux rescan on drm changes correctly</li>
          <li>Use the metadata version format to set the version_lowest when required</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Another HP wireless dongle</li>
          <li>Lenovo ThinkPad Thunderbolt 4 Smart Dock Gen2</li>
          <li>Lenovo USB-C Dual Display Travel Dock</li>
          <li>More EDL 5G modem devices</li>
        </ul>
      </description>
    </release>
    <release version="2.0.6" date="2025-02-14">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add 'fwupdtool efiboot-hive' to allow setting the nmbl cmdline</li>
          <li>Allow setting the inhibit reason from fwupdmgr</li>
          <li>Allow USB-provided hidraw devices to use DS-20 descriptors</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Correctly deploy the dbx on MSI hardware</li>
          <li>Correctly extract the milestone from Lenovo version numbers</li>
          <li>Do not add invalid CoSWID entities to fix a fuzzing hang</li>
          <li>Fix Logitech HID++ child device detection</li>
          <li>Get the correct internal network VID and PID from Redfish</li>
          <li>Include the payload length in the Wacom scaler update start command</li>
          <li>Only use emulated devices when using device-emulate</li>
          <li>Reload the thunderbolt retimer version after the payload is deployed</li>
          <li>Speed up startup by ~1% by limiting the precision of percentage updates</li>
          <li>Support new version formats for future Huddly devices</li>
          <li>Updating the Logitech Rallybar in a more reliable way</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>HPE Gen10/Gen10+ devices using Redfish</li>
        </ul>
      </description>
    </release>
    <release version="2.0.5" date="2025-02-03">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Allow emulating devices reading EFI keys</li>
          <li>Allow skipping device tests by CPU architecture</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Cleanup Dell kestrel devices when disconnected</li>
          <li>Correctly build binary EFI_SIGNATURE_LIST objects</li>
          <li>Do not allow dbx updates when no ESP was found</li>
          <li>Ignore BootXXXX entries that do not exist when checking the dbx</li>
          <li>Ignore EFI binaries that are zero-sized, or not well formed</li>
          <li>Inhibit dbx updates if snapd is not available when using Ubuntu-style FDE</li>
          <li>Only match the device checksum if the protocol matches</li>
          <li>Raise authentication requirements for emulation-load</li>
          <li>Request to upload failed reports for install/downgrade too</li>
          <li>Use the kernel architecture when building the dbx instance ID</li>
          <li>Write sbatlevel to PE/COFF files correctly</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>More ELAN Fingerprint readers</li>
          <li>Star Labs StarLite Magnetic Keyboard</li>
        </ul>
      </description>
    </release>
    <release version="2.0.4" date="2025-01-20">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Record the entire USB descriptor in the emulation data</li>
          <li>Return defined return code when network metadata refresh fails</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a new private flag of 'delayed-removal' to remove a footgun</li>
          <li>Added a more specific instance ID for qc-s5gen2 USB devices</li>
          <li>Add fadvise64 to the systemd syscall allowlist</li>
          <li>Add the Unifying bootloader VID/PID as a full instance ID</li>
          <li>Allow disabling zero-length packet for modem-manager devices</li>
          <li>Allow recovering Logitech Bolt receiver in bootloader mode</li>
          <li>Correctly parse CSV streams without trailing NULs</li>
          <li>Detect if network is reachable before downloading metadata</li>
          <li>Disabling reading the OptionROM device after dumping</li>
          <li>Do not claim kernel interface to avoid Parade downstream port resets</li>
          <li>Do not save BootOrder when measuring system integrity</li>
          <li>Enumerate child nordic-hid devices correctly</li>
          <li>Fix a possible critical warning for Mediatek scaler devices</li>
          <li>Fix Firehose padding for some modem-manager devices</li>
          <li>Fix UEFI capsule updates when using 4096 byte NVME blocksize</li>
          <li>Get the Dell dock update package version correctly</li>
          <li>Never read more of the composite stream from a partial stream</li>
          <li>Notify snapd about DBX updates</li>
          <li>Probe sd_mod before starting</li>
          <li>Properly handle FU_DEVICE_PRIVATE_FLAG_NO_GENERIC_GUIDS</li>
          <li>Remove the test for CSME 18 manufacturing lock</li>
          <li>Restore the Logitech compatibility UFY instance IDs</li>
          <li>Show the correct version when installing a same-device composite update</li>
          <li>Show updates with problems when using 'fwupdmgr get-releases'</li>
          <li>Split up the AMD GPU VBIOS P/N for the version</li>
          <li>Use attr USB4_TYPE rather than guessing from thunderbolt_domain</li>
          <li>Use the ISO date as a dbx version number for the Microsoft KEK</li>
          <li>Use the KEK to set the dbx vendor ID</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Fibocom NL668-EAU</li>
          <li>HP 400/405 Peripheral</li>
          <li>Lenovo USB-C 7-in-1 Dock</li>
        </ul>
      </description>
    </release>
    <release version="2.0.3" date="2024-12-06">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a power quirk for Framework systems</li>
          <li>Speed up writing firmware to the new Dell dock</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Deinitialize DRM after getting GPU marketing name to fix Xorg startup</li>
          <li>Do not show 'Device has been removed' as a dock device error</li>
          <li>Fix a warning about legion-hid2 progress going backwards</li>
          <li>Fix some small memory leaks in realtek-mst and dell-kestrel</li>
          <li>Only mark supported Logitech devices as updatable</li>
          <li>Parse FDTs with missing END tokens to work on more ChromeBooks</li>
          <li>Reduce the device emulation RSS requirement by ~40%</li>
          <li>Skip checking BootXXXX entries when the partition does not exist</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Primax Ryder Mouse</li>
        </ul>
      </description>
    </release>
    <release version="2.0.2" date="2024-11-25">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add fwupdtool 'get-version-formats' and 'vercmp' commands</li>
          <li>Add support for checking AMD HW configuration MSR</li>
          <li>Add support for enumerate-only device emulation to increase test coverage</li>
          <li>Add support for passing a JSON file for emulation instead of ZIP</li>
          <li>Remove support for now-obsolete CSR DFU and Nitrokey devices</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add additional version checks for AMD Sinkclose</li>
          <li>Check that getpid() returned a sensible value to detect minijail failure</li>
          <li>Check the VLI USB3 firmware size before erasing</li>
          <li>Correctly parse the ThunderBolt controller NVM</li>
          <li>Disallow DBX updates on the Samsung Galaxy Book2 360</li>
          <li>Do not create zero-sized archive entries when loading some ZIP files</li>
          <li>Fix a critical warning when parsing a corrupt ELF file</li>
          <li>Fix a small memory leak when checking algoltek-usb status</li>
          <li>Fix a small memory leak when writing telink-dfu firmware</li>
          <li>Fix eMMC probing regression in 2.0.x</li>
          <li>Fix endianness parsing of msgpack float64</li>
          <li>Fix failure to load the EFI DEVICE_PATH when there is no payload</li>
          <li>Fix polkit message for emulation data collection</li>
          <li>Fix sector erasing on Algoltek AG941x</li>
          <li>Fix type confusion when saving emulation data</li>
          <li>Fix UFS device feature discovery</li>
          <li>Fix various device enumerations on s390x</li>
          <li>Ignore LIBUSB_ERROR_NO_DEVICE when rebooting VIA VL103</li>
          <li>Improve the algorithm for detecting multiple device-id matches</li>
          <li>Mark all UEFI dbx updates as FWUPD_DEVICE_FLAG_AFFECTS_FDE</li>
          <li>Only check for fwupdx64.efi when not using capsule-on-disk</li>
          <li>Only set can-verify-image when CURRENT.UF2 exists</li>
          <li>Parse install flags from apps compiled against old libfwupd versions</li>
          <li>Repair the cros-ec device after flush failure</li>
          <li>Reset the SteelSeries device only for certain models</li>
          <li>Save the usb.ids and pci.ids name in the quirk database</li>
          <li>Speed up decompressing large cab archives by 30%</li>
          <li>Use a much more efficient method to calculate chunk sizes</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>ASUS ROG ally and ROG ally X (initial support, community provided)</li>
          <li>Google GID8 headset</li>
          <li>j5create USB-C JCD373</li>
          <li>Logitech Sight (as standalone device)</li>
          <li>MNT Pocket Reform</li>
          <li>Netprisma LCUR57 and FCUN69</li>
          <li>Parade PS188</li>
          <li>Quectel DFOTA devices</li>
          <li>Raspberry Pi Pico</li>
          <li>SteelSeries Nova 5</li>
          <li>Telink DFU-HID devices</li>
        </ul>
      </description>
    </release>
    <release version="2.0.1" date="2024-10-15">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add API so that gnome-firmware can record devices for emulation</li>
          <li>Save the emulation-tag devices to the database rather than the config file</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow controlling the libdrm dependency when building</li>
          <li>Check the logitech-bulkcontroller response packet length correctly</li>
          <li>Convert the wacom-raw device command buffers to Rust format</li>
          <li>Convert the wacom-usb descriptor to Rust format</li>
          <li>Fix a kinetic-dp enumeration regression</li>
          <li>Fix compiling on Android</li>
          <li>Fix compiling without git installed</li>
          <li>Fix FU_PLUGIN_RULE_BETTER_THAN to ignore lower priority devices</li>
          <li>Ignore needs-reboot and needs-shutdown for emulated devices</li>
          <li>Read the Intel Thunderbot NVM firmware in a more efficient way</li>
          <li>Simplify firmware loading from a specific offset</li>
          <li>Skip the serio self tests if gnutls support was disabled</li>
          <li>Speed up fwupdtool by only loading engine features when required</li>
          <li>Speed up getting details about local firmware archives</li>
        </ul>
      </description>
    </release>
    <release version="2.0.0" date="2024-10-04">
      <description>
        <p>
          This new major release beaks the libfwupd ABI to make the following changes:
        </p>
        <ul>
          <li>Drop legacy signing formats for verification of metadata and firmware</li>
          <li>Reduce the runtime memory usage and CPU startup cost significantly</li>
          <li>Remove all the long-deprecated legacy CLI tools</li>
          <li>Remove libgusb and GUdev from plugins and use libusb and sysfs instead</li>
          <li>Stream firmware binaries over a file descriptor rather than into memory</li>
        </ul>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a config option to ignore firmware requirements for development</li>
          <li>Add a device problem when the device needs a reboot</li>
          <li>Add API to allow uploading reports in gnome-firmware</li>
          <li>Add Darwin support to the build helper</li>
          <li>Add HSI tests for Arrow and Meteor Lake CSME</li>
          <li>Add support for fwupdtool esp-list --json</li>
          <li>Add support for more modify-config options</li>
          <li>Add the privacy policy URL in the remote config</li>
          <li>Allow device flags to be loaded from the local cab archive</li>
          <li>Allow overriding the detected EFI framebuffer size in the config file</li>
          <li>Allow specifying devices to emulate in the config file</li>
          <li>Apply revocations to SbatLevelRT when required</li>
          <li>Choose the ESP correctly in more cases when using UEFI capsule updates</li>
          <li>Detect BlueTooth devices by GATT service UUID</li>
          <li>Drop the SuperIO plugin as it will not work without rawio</li>
          <li>Listen to the netlink udev socket rather than using GUdev</li>
          <li>Parse EFI LZ77 compressed sections when required</li>
          <li>Support large sections in EFI FFS3 volumes</li>
          <li>Support more CRC-32 and CRC-16 types</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Abstract out the D-Bus IPC layer to allow using Android Binder in the future</li>
          <li>Apply systemd hardening to the service files</li>
          <li>Coldplug udev devices with a predictable order</li>
          <li>Completely deallocate devices when physically removed</li>
          <li>Create the fuzzing corpus at build time to avoid shipping binary test blobs</li>
          <li>Do not add counterpart IDs as visible firmware-matchable GUIDs</li>
          <li>Do not allow system suspend during a composite update</li>
          <li>Do not assume all block devices are backed by USB devices</li>
          <li>Do not create a FuSynapticsMstDevice for every DPAUX device</li>
          <li>Do not read OptionROM on Apple hardware</li>
          <li>Do not run the quirk query multiple times on the same device</li>
          <li>Do not set a zero-length device name when matching the vendor name</li>
          <li>Do not skip closing the USB device if the HID interface is not found</li>
          <li>Do not skip the first EFI_FILE in the EFI_FILESYSTEM</li>
          <li>Do not verify the SSL hostname when using DISABLE_SSL_STRICT=1</li>
          <li>Do SG_IO INQUIRY_CMD directly rather than relying on the udev prober</li>
          <li>Emit a signal when a request is no longer valid</li>
          <li>Fix several 'underflowed constants' found using Coverity</li>
          <li>Get the DT-provided 'BIOS version' correctly</li>
          <li>Get the new bluetooth revision after deploying the update</li>
          <li>Keep polling Redfish even when encountering task errors</li>
          <li>Only generate the client certificate when required</li>
          <li>Only read back the thunderbolt firmware if we can parse the NVM</li>
          <li>Pass emulation data using a file descriptor</li>
          <li>Recalculate the device supported flag when reparenting devices</li>
          <li>Reduce memory allocations by ~2Mb when loading the BGRT image</li>
          <li>Remove the polling for Logitech Unifying receivers to improve battery life</li>
          <li>Require a DPCD OUI to match DPAUX devices</li>
          <li>Respect the device priority when matching in the device list</li>
          <li>Respect the interface retry count when using an auto-detected FuHidDevice</li>
          <li>Retry the post-update NVMe open action to fix BC901 reload</li>
          <li>Save the metadata with a more predictable name so we can use jcat-tool</li>
          <li>Upload reports from fwupd-refresh if AutomaticReports is true</li>
          <li>Use a more standard ATA OUI vendor name match</li>
          <li>Use the first preferred CRTC screen resolution if not using efifb</li>
          <li>Use /usr/bin/env for wider Python compatibility</li>
          <li>Warn users needing to fwupdmgr activate before uploading signed reports</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Algoltek USB card readers</li>
          <li>AMD Kria SoM</li>
          <li>Cable Matters USB Hub</li>
          <li>Cinterion fdl-based devices</li>
          <li>CY6611 EZ-USB HX3PD</li>
          <li>Dell K2 Dock</li>
          <li>Elan 0C9F fingerprint devices</li>
          <li>HP TBT4 100W G6 Dock</li>
          <li>HP TBT4 Ultra 180W/280W G6 Dock</li>
          <li>Huddly L1, S1 and Crew</li>
          <li>Jabra PanaCast</li>
          <li>Lenovo Legion HID2 devices</li>
          <li>Lenovo ThinkSmart Bar</li>
          <li>Logitech Lemmy</li>
          <li>Logitech Sight</li>
          <li>Logitech Tap Touch Screen</li>
          <li>MediaTek scaler devices</li>
          <li>Parade PS185</li>
          <li>Qualcomm S5gen2 BLE devices</li>
          <li>Telink Dual Keyboard</li>
        </ul>
      </description>
    </release>
    <release version="1.9.24" date="2024-08-21">
      <description>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add support for capsule on disk for Dell systems</li>
          <li>Do not reuse the connection cache to fix Redfish BMC restart</li>
          <li>Exclude known recovery partitions when choosing an ESP volume</li>
          <li>Fix the VLI usb3 private flag registration</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>More Mediatek scaler devices</li>
          <li>Parade USB hubs</li>
        </ul>
      </description>
    </release>
    <release version="1.9.23" date="2024-08-05">
      <description>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Fix a regression in 1.9.22 that caused some devices not to probe correctly</li>
          <li>Try harder to get a valid response when flashing usi-dock devices</li>
        </ul>
      </description>
    </release>
    <release version="1.9.22" date="2024-07-26">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a device test for the Acer D501 dock</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a PCB tag in the usi-dock GUID to distinguish different revisions</li>
          <li>Add explicit hidraw permission to fwupd.service to fix several devices</li>
          <li>Always load the flashrom plugin when using coreboot</li>
          <li>Be explicit with the rts54hub detach retry delay to fix the Acer D501</li>
          <li>Be more careful when setting thelio-io version strings</li>
          <li>Fix a critical warning if a device returns unexpected data from DFU upload</li>
          <li>Fix a critical warning if the DMI manufacturer is an empty string</li>
          <li>Fix several reported integer overflows from Coverity</li>
          <li>Fix the Blackbird and Talos II baseboard details</li>
          <li>Fix transient version number issue after flashing wacom-usb devices</li>
          <li>Increase the cros_ec acquiesce delay to manage additional reboots</li>
          <li>Only accept valid ASCII cabinet filenames</li>
          <li>Only require udevdir when gudev support is enabled</li>
          <li>Only show one PixArt receiver device per physical device</li>
          <li>Set the rts54hub version in more cases</li>
          <li>Speed up the daemon self tests by ~60%</li>
          <li>Use the bootloader build-timestamp as the fallback HWID BIOS version</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Framework SD</li>
          <li>Raspberry Pi 5 (unofficial)</li>
        </ul>
      </description>
    </release>
    <release version="1.9.21" date="2024-06-13">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a fwupd.conf option to ignore CHID requirements for development</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow loading Wacom device flags from metadata</li>
          <li>Check for needs-shutdown like we do needs-reboot</li>
          <li>Fix updating the Aerox 3 Wireless Mouse</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Synaptics Carrera devices</li>
          <li>Wacom Movink devices</li>
        </ul>
      </description>
    </release>
    <release version="1.9.20" date="2024-05-20">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add some API to allow uploading reports for use in gnome-firmware</li>
          <li>Allow the user to upload the entire devicelist to the LVFS</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Correctly detect Synaptics Cayenne and Spyder firmware</li>
          <li>Do not offer the UEFI DBX update on Lenovo ideacentre 300-20ISH</li>
          <li>Explicitly enable shadow stack support in fwupd.service</li>
          <li>Fix a potential buffer overread when reading the algoltek-usb version number</li>
          <li>Fix the CET HSI test by rewriting it in assembly</li>
          <li>Fix using --verbose in fwupdmgr</li>
          <li>Ignore --p2p when downloading the metadata signature</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>FPC FF2 fingerprint devices</li>
        </ul>
      </description>
    </release>
    <release version="1.9.19" date="2024-05-03">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Drop heap as part of a housekeeping action</li>
          <li>Retry downloads to workaround flaky network connections</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Assume new ME versions are called CSME</li>
          <li>Fix a buffer-overread when parsing invalid CoSWID entity data</li>
          <li>Fix a logic thinko when parsing GUID strings</li>
          <li>Fix downloading files on Windows with libcurl >= 7.77.0</li>
          <li>Revert back to a simpler syscall blocklist-based filter</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Acer U32 dock</li>
          <li>Luxshare 7-in-1 dock</li>
          <li>Pixart models 2404, 4206, 2440, 2418, 2752, 2840 and 2818</li>
        </ul>
      </description>
    </release>
    <release version="1.9.18" date="2024-04-23">
      <description>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Fix a small memory leak in fwupdmgr</li>
          <li>Use simple allow-listing for the syscall filter</li>
        </ul>
      </description>
    </release>
    <release version="1.9.17" date="2024-04-22">
      <description>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Capture device status changes when in bootloader mode</li>
          <li>Change the systemd SystemCallFilter to an allowlist</li>
          <li>Detect when a CCGX dock forbids downgrade</li>
          <li>Do not add an overly-generic instance ID to CrosEC devices</li>
          <li>Do not read OptionROM verification data on Apple hardware</li>
          <li>Emit a signal when a user-request is no longer valid</li>
          <li>Fix a potential crash when parsing invalid CBOR data</li>
          <li>Properly show SPDX project licenses with AND as a delimiter</li>
          <li>Verify that syscalls are being filtered correctly at startup</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Asus DC201</li>
          <li>Realtek Gen1 RTS541x</li>
        </ul>
      </description>
    </release>
    <release version="1.9.16" date="2024-04-05">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Prefer zstd over xz for metadata</li>
          <li>Relicense a few remaining plugin files to LGPL-2.1+</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Correctly record UEFI success if adding ESRT nodes</li>
          <li>Defer the DP Aux MST scanning on hotplug to workaround a kernel bug</li>
          <li>Do not do the post-update version check if the device needs-reboot</li>
          <li>Fix a fastboot warning when loading device</li>
          <li>Fix a possible warning in fwupdmgr when excluding releases</li>
          <li>Fix a qsi-dock warning when writing chunks</li>
          <li>Ignore attribute-changed to work around a regression in macOS</li>
          <li>Ignore ZFS zvols when finding the default ESP</li>
          <li>Mark Pluton TPMs as part of the main CPU</li>
          <li>Put the fwupd-efi verbose debugging in the journal</li>
          <li>Recognize zfsbootmenu in ESP detection heuristic</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Acer T34 and U33 docks</li>
          <li>Qualcomm Series 5 Gen 1 and Gen 2 and Series 3 Gen 1 and Gen 2 devices</li>
          <li>Several Puya SPI chips</li>
          <li>VIA VL822 C0</li>
        </ul>
      </description>
    </release>
    <release version="1.9.15" date="2024-03-11">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Allow loading in parameters for the test device from fwupd.conf</li>
          <li>Ensure LVFS remotes are changed from .gz to .xz</li>
          <li>Store the install duration in the history database</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Drop OverrideESPMountPoint references in uefi-capsule</li>
          <li>Fix a potential double-free when writing AVer firmware</li>
          <li>Only request the BOS descriptor when bcdUSB > 0x0200</li>
          <li>Use the root device order when sorting device children</li>
        </ul>
      </description>
    </release>
    <release version="1.9.14" date="2024-02-26">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Allow plugins to opt-into a default device GType</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Correctly detect ARM32 and RISC-V UEFI binaries</li>
          <li>Correctly migrate the database schema from very old fwupd versions</li>
          <li>Fix critical warnings when using FWUPD_DBUS_SOCKET= on macOS</li>
          <li>Fix DS-20 descriptors by opening the GUsbDevice earlier</li>
          <li>Fix updating the fingerprint reader on the Framework 13 and 16 laptop</li>
          <li>Fix warning when probing devices using the metadata allowlist</li>
          <li>Only recover the version format for specific devices</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Poly Studio V52</li>
        </ul>
      </description>
    </release>
    <release version="1.9.13" date="2024-02-08">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a timer inhibit if the daemon took a long time to startup</li>
          <li>Add a concept of 'Test Mode' rather than enabling specific plugins</li>
          <li>Do not idle-quit the daemon if there is a connected D-Bus client</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow plugins to opt-out of the child-device first depsolve</li>
          <li>Allow setting multiple flags in LVFS::DeviceFlags</li>
          <li>Do not migrate config comments for removed keys</li>
          <li>Do not request the Advantech BMC to reboot</li>
          <li>Do not warn the user about ESP when using MBR</li>
          <li>Fix a critical warning when adding a PixArt wireless device</li>
          <li>Fix migration of legacy config files</li>
          <li>Only save config values to the mutable config file</li>
          <li>Parse DS-20 descriptors earlier in device setup</li>
          <li>Store the version format in the history database to fix offline reports</li>
          <li>Use the correct GUID for matching realtek-mst and parade-lspcon</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>GoodWay Acer Dock</li>
        </ul>
      </description>
    </release>
    <release version="1.9.12" date="2024-01-23">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add remote modification support to fwupdtool</li>
          <li>Add support for more modify-config options</li>
          <li>Generate HTML pages for all man pages</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Assume the legacy LVFS::UpdateRequestId tag is non-generic</li>
          <li>Avoid crashing the daemon if not using udisks</li>
          <li>Correctly mark the CPU as supported</li>
          <li>Correctly match invalid EFI partitions</li>
          <li>Do not change the device status until the action has completed</li>
          <li>Do not require systemd for fwupdtool modify-config</li>
          <li>Enable access to the home interface for snap</li>
          <li>Fix an assertion when enabling lvfs-testing for the first time</li>
          <li>Fix a possible crash in fwupdtool build-cabinet</li>
          <li>Handle systems with more than one ccp device</li>
          <li>Only check AMD CPUs for SHSTK, not IBT</li>
          <li>Only write the mutable fwupd.conf with the current values</li>
          <li>Re-evaluate supported every time pci-psp attributes are refreshed</li>
          <li>Show "CET OS support" on AMD systems too</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>AVer CAM340plus</li>
          <li>AVer VB342 Pro</li>
          <li>More Algoltek devices</li>
        </ul>
      </description>
    </release>
    <release version="1.9.11" date="2024-01-03">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Allow exporting 'offline' reports for manual upload</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add some recovery partition names to ignore for ESP selection</li>
          <li>Check for CET and SMAP on non-Intel x86 processors too</li>
          <li>Correctly mark the CPU as supported in the HSI tests</li>
          <li>Do not fail on probing downstream Synaptics MST ports</li>
          <li>Do not offer to change BIOS settings that are already set</li>
          <li>Do not prefer msftdata when choosing the default ESP</li>
          <li>Do not show spurious device request flags</li>
          <li>Fix a missing build dependency to fwupdplugin-self-test</li>
          <li>Fix a segfault when using zlib-ng instead of zlib</li>
          <li>Fix updating Jabra 410, 510, 710 and 810 devices</li>
          <li>Match more community-supported branches</li>
          <li>Remove the Intel SPIBAR proxy support as the mtd module works</li>
          <li>Show a better error when the ESP is missing</li>
          <li>Show an error if the post-update version does not match exactly</li>
          <li>Speed up Synaptics MST device enumeration</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Algoltek USB devices</li>
          <li>Luxshare Quad USB4 Dock</li>
        </ul>
      </description>
    </release>
    <release version="1.9.10" date="2023-12-04">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add support for not_hardware requirements</li>
          <li>Add support for loongarch64</li>
          <li>Add support for per-release priority attributes</li>
          <li>Make USB claim retry count configurable across devices</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Compare the HID report value when checking for duplicates</li>
          <li>Consider the component priority when installing composite updates</li>
          <li>Deploy the CCGX firmware correctly the first time</li>
          <li>Do not export the 'main-system-firmware' and 'cpu' GUIDs</li>
          <li>Enforce fwupd version requirements client side</li>
          <li>Fix Genesys 'failed to get static tool info from device' error</li>
          <li>Fix potential 'dereference before null check' in ccmx-dmc</li>
          <li>Fix the 'already registered private FuMmDevice flag with value' warning</li>
          <li>Fix the 'assertion backend_id != NULL failed' runtime warning</li>
          <li>Fix Wacom USB device emulation by recording the composite phases</li>
          <li>Generate generic request message text where possible</li>
          <li>Hide HTTP passwords in fwupd debugging logs</li>
          <li>Let the client know what interaction is expected</li>
          <li>Make all critical warnings into backtraces for non-release builds</li>
          <li>Never obsolete the wrong HSI attribute</li>
          <li>Never show a HSI index that is impossible</li>
          <li>Only apply fastboot plugin to modem devices supporting fastboot</li>
          <li>Only send interactive requests when the sender is alive</li>
          <li>Remove the now-obsolete Synaptics MST cascade device scanning</li>
          <li>Replace the Redfish KCS user if required</li>
          <li>Restrict mediatek-scaler devices on specific hardware only</li>
          <li>Skip any recovery partitions when detecting ESP</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>AVer CAM520 Pro3</li>
        </ul>
      </description>
    </release>
    <release version="1.9.9" date="2023-11-20">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a new generic request for the device power cable</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Disable scanning for synaptics-mst cascade devices until it is more stable</li>
          <li>Disable the mediatek-scaler plugin by default until we do VCP probing</li>
          <li>Do not enforce additional requires on emulated devices</li>
          <li>Fix a potential critical warning when listing the contents of the ESP</li>
          <li>Fix 'fwupdmgr get-devices' with deeply nested devices</li>
          <li>Make the Kinetic DP GUID specific to the customer</li>
          <li>Only use the USB open-retry behavior when required</li>
          <li>Remove obsoleted HSI attributes earlier</li>
          <li>Remove the timestamp from gzip to achieve a reproducible build</li>
          <li>Support cabinet archives produced using 'makecab.exe'</li>
          <li>Use metadata authentication when using 'fwupdtool refresh'</li>
          <li>Use the generic ti-tps6598x GUID and instead enforce requirements</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Lenovo X1 Yoga Gen7 530E</li>
          <li>Advantech BMC devices</li>
        </ul>
      </description>
    </release>
    <release version="1.9.8" date="2023-11-14">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a DP AUX device subclass and port the Synaptics MST plugin to it</li>
          <li>Add a feature flag for non-generic requests where translations are required</li>
          <li>Hide generic VID/PIDs to avoid accidental firmware matches</li>
          <li>Optionally set the modem carrier configuration as the branch name</li>
          <li>Rename 'fwupdmgr sync-bkc' to 'fwupdmgr sync' and also consider the branch</li>
          <li>Require additional requirements for devices using non-OEM USB VIDs</li>
          <li>Set the waiting-for-user status when sending a request</li>
          <li>Support uSWID SBOM data with LZMA compressed payloads</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Accept any registry versions when parsing Redfish message IDs</li>
          <li>Do not read the AMDGPU DM DPCD on broken firmware versions</li>
          <li>Do not save obsoleted HSI attributes into the history database</li>
          <li>Fix a crash when some DRM devices are hotplugged</li>
          <li>Fix a possible crash in fu_io_channel_read_raw()</li>
          <li>Fix parsing LZMA-compressed EFI sections</li>
          <li>Only use the architecture-specific GUID for UEFI dbx quirk matching</li>
          <li>Parse all the type 42 SMBIOS tables</li>
          <li>Prompt the user to reboot after applying internal Wacom firmware</li>
          <li>Respect no-serial-number flags when using GUID matches</li>
          <li>Use the etag when patching Redfish resources</li>
          <li>Use the username and password to get metadata when set</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Kinetic SST/MST DisplayPort converters</li>
          <li>Wacom Cintiq Pros (DTH172, DTH227)</li>
        </ul>
      </description>
    </release>
    <release version="1.9.7" date="2023-11-01">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add support for child device requirements in metadata</li>
          <li>Allow to have more than one host BKC</li>
          <li>Delete BootNext as a post-reboot action to work around broken firmware</li>
          <li>Parse cabinet archives internally without libgcab</li>
          <li>Use close-ended mode for eMMC FFU to speed up firmware updates</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Do not abort 'fwupdmgr update' when one updatable device has a problem</li>
          <li>Do not call unimplemented functions when running under Wine</li>
          <li>Do not modify the BootOrder by default to work around broken firmware</li>
          <li>Do not treat an immutable buffer as mutable in the vli plugin</li>
          <li>Drop the concept of HSI:INVALID:missing-data and just show HSI-0</li>
          <li>Fix a small memory leak in bulkcontroller when getting the device info</li>
          <li>Inhibit the Nordic HID dongle when there are peripheral updates pending</li>
          <li>Retry claiming the interface if the USB device returns BUSY</li>
          <li>Send the Olson location to bulkcontroller rather than the timezone</li>
          <li>Use a longer timeout for the post-erase STM32 GetStatus</li>
          <li>Wait 60 seconds for the bulkcontroller device after writing firmware</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Logitech Rally System devices</li>
          <li>More PixartRF HPAC devices</li>
          <li>More Synaptics Prometheus fingerprint readers</li>
          <li>Some Western Digital eMMC devices</li>
          <li>VIA VL830 and VL832</li>
        </ul>
      </description>
    </release>
    <release version="1.9.6" date="2023-10-06">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a launchd agent for macOS</li>
          <li>Add a new security attribute for BIOS capsule updates to be enabled</li>
          <li>Add functionality to fix specific host security attributes</li>
          <li>Add global information from the context into the report data</li>
          <li>Add support for coSWID payload sections</li>
          <li>Add support for parsing the EDID</li>
          <li>Allow adding only-quirk instance IDs from quirk files</li>
          <li>Install a sysusers.d systemd file when using -Dsystemd_unit_user</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow devices to require a connected display</li>
          <li>Allow Wacom modules to specify a status polling interval</li>
          <li>Do not show Intel CET unsupported as success</li>
          <li>Do not show multiple Genesys GL32xx devices for the same physical device</li>
          <li>Fix a fuzzing timeout in the HID descriptor parser</li>
          <li>Recalculate the SUPPORTED flag after adopting a child device</li>
          <li>Reduce the amount of memory used when chunking large firmware</li>
          <li>Speed up logitech-bulkcontroller firmware updates</li>
          <li>Stop reading ownership and TPM flashes left in Dell plugin</li>
          <li>Try to use the LVFS when using report-history --force</li>
          <li>Write the coSWID TAG_ID as a bytestring when possible</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>AMD dGPUs, Navi3x and above</li>
          <li>Foxconn SDX12, SDX55 and SDX6X devices</li>
          <li>Google Rex Intel USB-4 retimers</li>
          <li>MediaTek DP AUX Scalers</li>
          <li>Quectel EM160 module</li>
          <li>Star Labs StarBook Mk VIr2</li>
          <li>VLI VL105-VL109</li>
          <li>Wacom DTH134 and DTC121 Tablets</li>
        </ul>
      </description>
    </release>
    <release version="1.9.5" date="2023-09-04">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add optional support for Passim, a local caching server</li>
          <li>Allow using fwupdtool get-devices --json</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow adding UF2 devices without a filesystem UUID</li>
          <li>Correctly read the size of Synaptics Panamera MST firmware</li>
          <li>Do not return historical results with no AppStream ID</li>
          <li>Fix parallel build when using a machine with a lot of cores</li>
          <li>Fix uninhibiting ModemManager after the fastboot flash has completed</li>
          <li>Make firmware USI dock flashing more reliable</li>
          <li>Record the update state of success when the device is returned to runtime</li>
          <li>Remove the default-installed fwupd-refresh systemd preset</li>
          <li>Sort composite updates by the device order when required</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>EPOS ADAPT 1x5</li>
          <li>Fibocom FM101</li>
          <li>Foxconn T99W373</li>
          <li>Genesys GL3525S USB Hub</li>
          <li>HP Rata/Remi BLE Mice</li>
          <li>Luxshare Quad USB4 Dock</li>
          <li>System76 Launch 3, Launch Heavy 3 and Thelio IO 2</li>
        </ul>
      </description>
    </release>
    <release version="1.9.4" date="2023-08-14">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a new HSI attribute that detects any missing Intel GDS mitigation</li>
          <li>Allow configuring the refresh interval per-remote rather than per-system</li>
          <li>Remove the libsoup-2.4 compatibility code</li>
          <li>Show the firmware release checksum in CLI tools</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Correctly query the Steelseries Fizz version on reconnect</li>
          <li>Correctly wait for USB replug on macOS</li>
          <li>Do not add gl32xx disk partitions as extra devices</li>
          <li>Do not assume the logical block size is always 0x200</li>
          <li>Ensure the AppStream ID is set on historical releases</li>
          <li>Enumerate Synaptics MST devices correctly</li>
          <li>Fix a possible CFU crash when adding modules</li>
          <li>Fix 'fwupdmgr get-history --json' output to only show one release</li>
          <li>Fix 'fwupdmgr modify-remote' on ChromeOS</li>
          <li>Fix incorrect OEM trusted reports flags being set when not matching</li>
          <li>Fix regression in returning device history with libxmlb 0.3.12</li>
          <li>Fix some Wacom hardware by only attempting retries for the busy error state</li>
          <li>Fix transaction timed out issue for T99W373 QDU device</li>
          <li>Handle cros-ec boards with '_v' in their name</li>
          <li>Ignore the authentication when username and password are both empty</li>
          <li>Load the effective size of a PE section instead of raw size</li>
          <li>Set some feature flags when non-interactive</li>
          <li>Set the HWIDs correctly when running macOS</li>
          <li>Use a much larger USB timeout for STM32 erase operations</li>
          <li>Use the correct offsets when checking Synaptics MST Spyder devices</li>
          <li>Use the correct URI when downloading from authenticated remotes</li>
          <li>Use /var/run when /run/lock does not exist</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Genesys GL352350 and GL3590</li>
          <li>Logitech Huddle</li>
          <li>Microsoft USB-C Travel Hub</li>
          <li>PixArt BLE HPAC OTA</li>
          <li>Quectel RM520</li>
          <li>Synaptics Triton devices</li>
          <li>VIA VL122, VL817S and VL822T</li>
          <li>Wacom One 13 and One 12 Tablets</li>
        </ul>
      </description>
    </release>
    <release version="1.9.3" date="2023-07-11">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add the expected result to each HSI test attribute</li>
          <li>Allow autodetection when using fwupdtool firmware-parse</li>
          <li>Allow devices to only accept explicitly specified release versions</li>
          <li>Allow filtering by release flags from fwupdtool and fwupdmgr</li>
          <li>Allow filtering by remote when looking for trusted reports</li>
          <li>Drop the libefiboot dependency and generate UEFI DPs directly</li>
          <li>Ensure that BootService-only variables cannot be read in runtime mode</li>
          <li>Parse the various SBAT sections from PE firmware</li>
          <li>Record the NVRAM space used as report metadata</li>
          <li>Show the user a warning when the ESP may not be valid</li>
          <li>Speed up the daemon startup by 35% and reduce RSS by 12%</li>
          <li>Support reading and writing EFI variables on Windows</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Check only the EFI executables from the boot menu when using --force</li>
          <li>Correctly obtain the Thunderbolt is_native controller attribute</li>
          <li>Deduplicate the remotes as required</li>
          <li>Do not accidentally depend on python 3.9</li>
          <li>Do not misuse the offset as an address in the SREC parser</li>
          <li>Do not truncate feature reports to fix Wacom ID6 update</li>
          <li>Fix parsing of IGSC code firmware</li>
          <li>Get the Jabra GNP device name from the device</li>
          <li>Ignore small ESP block devices if there are multiple choices</li>
          <li>Never install a shim too new for the system</li>
          <li>Only add the little-used _REV instance IDs by request</li>
          <li>Use a CapsuleOnDisk filename supported by InsydeH2O</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Belkin Thunderbolt 4 Core Hub dock</li>
          <li>CE-LINK TB4 Docks</li>
          <li>Genesys GL32XX SD readers</li>
          <li>Genesys GL352350 USB 3.1 hub</li>
          <li>Nordic HID devices without DFU support</li>
          <li>TUXEDO InfinityBook Pro 13 v3</li>
          <li>Wacom tablets with ID9 Bluetooth chipsets</li>
        </ul>
      </description>
    </release>
    <release version="1.9.2" date="2023-06-12">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Beep the console when CLI programs are waiting for user input</li>
          <li>Bump requirements of various dependencies to remove a lot of fallback code</li>
          <li>Show devices with problems in fwupdmgr get-upgrades</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Auto-detect the BCM57xx OEM PCI cards with double the expected EEPROM</li>
          <li>Disable ThunderBolt retimer offline mode for some hardware</li>
          <li>Do not assume a file descriptor of 0 is invalid when updating NVMe hardware</li>
          <li>Fix discovery of Nordic peripherals connected via the dongle</li>
          <li>Fix high memory usage when writing some EFI filesystem images</li>
          <li>Fix USI dock devices with an incorrect factory-set firmware version</li>
          <li>Ignore a client refresh on a non-download remote to fix old versions of KDE</li>
          <li>Ignore the immutable flatpak config file file permission being incorrect</li>
          <li>Limit the number of possible file objects in the EFI filesystem</li>
          <li>Make the installed size smaller by deduping and filtering assets</li>
          <li>Only expose --force for security attributes for unsupported builds</li>
          <li>Require the user to manually replug the USI dock after update has completed</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>AVer FONE540</li>
          <li>Genesys GL3525 USB hubs</li>
          <li>Goodix Touch controllers</li>
          <li>Jabra Evolve 65e/t and SE, Evolve2, Speak2 and Link devices</li>
        </ul>
      </description>
    </release>
    <release version="1.9.1" date="2023-05-13">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a new device-wait command to fwupdmgr for use in boot-time scripts</li>
          <li>Add a report flag if generated by the OEM which can be used for policy</li>
          <li>Add CCID decoding support to pcap2emulation</li>
          <li>Add fwuptool build-archive cmd to allow building firmware without gcab CLI</li>
          <li>Add support for NVMe CA3 activation</li>
          <li>Allow setting device flags and version numbers from the metadata</li>
          <li>Allow specifying the MTD metadata offset and size</li>
          <li>Allow using basic auth when uploading a report</li>
          <li>Autogenerate enums and structures (with default values) from Rust format</li>
          <li>Delete the obsolete .gz files if the remote is now using .xz</li>
          <li>Read the AGESA Bootloader and TEE versions from the kernel</li>
          <li>Tag releases with an extra flag if they have a report we trust</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add the latest dbx fixups for BlackLotus</li>
          <li>Allow setting the remote username and password on the CLI</li>
          <li>Be more careful parsing the kernel cmdline</li>
          <li>Convert the man pages to MarkDown format and use a built-in converter</li>
          <li>Enable the vendor-directory remote by default</li>
          <li>De-duplicate releases by the container checksum</li>
          <li>Enable the retimer offline mode depending on HWIDs</li>
          <li>Escape the username and password when using basic authentication</li>
          <li>Fix a pci-mei crash by more carefully converting enums to strings</li>
          <li>Fix Dell dock by triggering passive flow for USB4 subcomponents</li>
          <li>Fix the version detection for SteelSeries Bluetooth mode</li>
          <li>Have fwupd-refresh.timer trigger once per hour on average</li>
          <li>Implement enough of the CFI specification to be able to update a device</li>
          <li>Allow the firmware time to process commands to avoid a Wacom device crash</li>
          <li>Invalidate the XMLb cache when installing new fwupd versions</li>
          <li>Make the config file be called fwupd.conf and add a useful manpage</li>
          <li>Move the expected default plugin config value to the code</li>
          <li>Prefer local remotes when deduplicating releases with the same version</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>CH347 SPI programmer</li>
          <li>Logitech Tap devices</li>
          <li>More Logitech Unifying receivers</li>
          <li>Nordic HID MCUboot direct-xip</li>
          <li>nRF52 Desktop Keyboard</li>
          <li>Wacom Cintiq Pro 27</li>
        </ul>
      </description>
    </release>
    <release version="1.8.13" date="2023-03-28">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add pcap converter which allows emulating devices from a Wireshark dump</li>
          <li>Add the ability to dump TPM firmware for future use</li>
          <li>Optionally retain firmware in a backup remote</li>
          <li>Record the ESP type in the firmware report sent to the LVFS</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Accept application/octet-stream for archives when the mime database is missing</li>
          <li>Add the latest dbx version version fixups as Microsoft removed another entry</li>
          <li>Assume DFU appIDLE if GetStatus is not implemented</li>
          <li>Do not require signatures for local or directory remotes</li>
          <li>Do not use pandoc to build the man pages</li>
          <li>Enhance Qubes functionality to use JCat</li>
          <li>Fix a CCGX 'usbfs: process did not claim interface 1 before use' warning</li>
          <li>Fix a compile warning when using a new libqmi version</li>
          <li>Fix a critical warning when parsing an empty kernel cmdline</li>
          <li>Fix a synaptics-cape regression where the firmware pauses for INTR</li>
          <li>Fix the defines for HFSTS6 enforcement policy</li>
          <li>Fix the i2c name properly for ElanTP hardware</li>
          <li>Fix the name of the MTD Intel SPI controller</li>
          <li>Set the release remote when installing archives</li>
          <li>Use the powerd power type information to better set AC levels</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Framework Audio Card</li>
          <li>Lenovo ThinkPad TBT3-TR Gen 2</li>
          <li>Wacom Intuos BT S Gen 3</li>
        </ul>
      </description>
    </release>
    <release version="1.8.12" date="2023-02-24">
      <description>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow setting the package user agent before the client has connected</li>
          <li>Fix a small memory leak when refreshing metadata</li>
        </ul>
      </description>
    </release>
    <release version="1.8.11" date="2023-02-23">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add support for replaying USB devices so they can be emulated in CI</li>
          <li>Allow desktop software to inhibit the system to prevent updates</li>
          <li>Allow using requirements with depth=0 and no parent</li>
          <li>Auto-set the CCGX remove-delay now we parse DMC subcomponents</li>
          <li>Detect and warn users with the broken NVMe firmware 3B2QGXA7</li>
          <li>Print errors as JSON objects when using fwupdmgr --json</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow installing battery firmware updates even when the power is too low</li>
          <li>Correctly fall back to the compatible vendor when FDT vendor is missing</li>
          <li>Detect CCGX factory mode and set a non-zero version</li>
          <li>Detect fixed Insyde firmware that can actually use Capsule-on-Disk</li>
          <li>Do not make any of the HWIDs setup failures fatal</li>
          <li>Fix a critical warning when parsing an empty kernel cmdline</li>
          <li>Fix a small memory leak when installing TPS6598x firmware</li>
          <li>Fix compiling with -Dbuild=library for Flathub</li>
          <li>Fix fwupdtool firmware-convert to work with image-less formats</li>
          <li>Fix regression in downloading files in fwupdtool</li>
          <li>Fix SMBIOS struct parsing when the tag section ends with NUL</li>
          <li>Indicate HSI attributes that will only be returned for specific CPU vendors</li>
          <li>Only accept application/x-xz compression for the metadata payload</li>
          <li>Only offset the IPMI user ID when using Lenovo XCC</li>
          <li>Prefer the Intel USB4 plugin over the Thunderbolt plugin when required</li>
          <li>Require at least twice the capsule size in the ESP when updating</li>
          <li>Save all the device flags in the pending database correctly</li>
          <li>Set the device percentage and status for the duration of the update</li>
          <li>Show the 4XX download failure in the CLI error output</li>
          <li>Speed up regenerating the MOTD when installing composite devices</li>
          <li>Use an updated shim if provided during for capsule update</li>
          <li>Use strict snap confinement</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>CalDigit Element Hub</li>
          <li>CalDigit TS4 Dock</li>
        </ul>
      </description>
    </release>
    <release version="1.8.10" date="2023-01-23">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a PE/COFF firmware parser to allow reading coSWID SBOM data</li>
          <li>Allow dumping CFI SPI chips using devices like CH341a</li>
          <li>Refactor the HWIDs functionality to include FDT data</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add back a legacy eMMC GUID to fix a regression</li>
          <li>Always search for uSWID SBOM data in the image</li>
          <li>Do not allow LZX compressed cabinet archives</li>
          <li>Fallback to the checksum if the metadata artifact is invalid</li>
          <li>Improve FDT parsing compatibility with new OpenBMC images</li>
          <li>Never call grub2-probe without arguments</li>
          <li>Respect user requested paths for the ESP even if they are not volumes</li>
          <li>Speed up ChromeOS startup by a huge amount when using directory remotes</li>
          <li>Verify the Synaptics RMI signature in more cases</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Quectel RM520</li>
          <li>StarBook Mk VI</li>
          <li>System76 launch_heavy_1</li>
        </ul>
      </description>
    </release>
    <release version="1.8.9" date="2023-01-03">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add an interactive request for re-inserting the USB cable</li>
          <li>Add SHA384 support for TPM hashes</li>
          <li>Add X-FingerprintReader, X-GraphicsTablet, X-Dock and X-UsbDock categories</li>
          <li>Allow specifying OR parent requirements in metadata</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add the fwupd version to the HSI result if the chassis is invalid</li>
          <li>Allow getting the ESP when there is a block device with no filesystem</li>
          <li>Allow reinstalling on devices with only-version-upgrade set</li>
          <li>Do not require the TPM event log to have all reconstructions</li>
          <li>Fix a tiny memory leak when parsing signed reports</li>
          <li>Ignore failure to mount the ESP if unsupported</li>
          <li>Never allow using SHA-1 for checksum validation</li>
          <li>Return a more useful error if USB recovery failed</li>
          <li>Skip the fwupdx64.efi BootXXXX entry when measuring system integrity</li>
          <li>Speed up daemon startup using prepared XPath queries</li>
          <li>Suggest to turn on ThunderboltAccess for Lenovo systems</li>
          <li>Use better defaults if the config file is missing</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>More Solidigm NVMe devices</li>
          <li>More Synaptics Cape devices</li>
          <li>More Synaptics Prometheus devices</li>
          <li>Most Texas Instruments USB-4 docks</li>
          <li>Scaler support for Wacom USB devices</li>
          <li>Several new Wistron USB-C docks</li>
        </ul>
      </description>
    </release>
    <release version="1.8.8" date="2022-12-07">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add BIOS rollback protection support for Dell and Lenovo systems</li>
          <li>Generate OVAL rules for openSCAP evaluation</li>
          <li>Show the signed reports from QA teams in client tools</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a X-Gpu category for new hardware support</li>
          <li>Add more ChromeOS metadata to the report attributes</li>
          <li>Ensure the device name is set for Intel USB4 devices</li>
          <li>Fix a critical DFU CSR warning when deploying firmware</li>
          <li>Fix a Synaptics RMI issue when updating non-secure devices</li>
          <li>Match more device properties when using GetDetails</li>
          <li>Move AMD platform rollback protection to level 4</li>
          <li>Use the correct AppStream ID for the Key Manifest failure</li>
          <li>Wait for the Intel GPU to come back after updating</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Logitech Whiteboard cameras</li>
          <li>More Goodix MoC devices</li>
          <li>Several QSI Docks</li>
        </ul>
      </description>
    </release>
    <release version="1.8.7" date="2022-11-09">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a new HSI check for the leaked Lenovo 'Key Manifest' hashes</li>
          <li>Measure system integrity when installing UEFI updates</li>
          <li>Record more host DMI data when submitting a report for dbx failures</li>
          <li>Use xz-compressed metadata to reduce bandwidth used by ~25%</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add documentation for three existing HSI attributes</li>
          <li>Add re-insert requirement for Analogix devices</li>
          <li>Allow parsing metadata more than 1MB in size</li>
          <li>Do not follow symlinks when searching for ESP devices</li>
          <li>Ensure the config file permission is correct for built-in plugins</li>
          <li>Fix a compile failure when compiling without efiboot</li>
          <li>Fix a regression when using fwuptool install-blob with FMAP firmware</li>
          <li>Only count the Microsoft hashes when getting the dbx version</li>
          <li>Only use the IFD when the system is Intel-based</li>
          <li>Support loading CoSWID when only one role has been set</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Anker Thunderbolt 4 Mini Hub</li>
          <li>ELAN haptic hardware</li>
          <li>Fingerprint lenfy devices</li>
          <li>Goodix GF3258WNC</li>
          <li>Intel discrete GPUs (experimental)</li>
          <li>More Star Labs laptops</li>
          <li>QSI Godzilla Creek Reference Hub</li>
        </ul>
      </description>
    </release>
    <release version="1.8.6" date="2022-10-07">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Reduce the installed package size by more than 30%</li>
          <li>Translate more interactive messages</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow disabling a DFU device when required</li>
          <li>Fix a regression when getting the i2c bus number</li>
          <li>Fix a small memory leak when reloading the parade-lspcon device</li>
          <li>Fix installing the dbx update when using fwupdtool</li>
          <li>Improve writing CoSWID and uSWID metadata</li>
          <li>Only include the last 5 releases in the installed metainfo file</li>
          <li>Only request the BOS descriptor for newer libgusb versions</li>
          <li>Prevent high memory usage when loading corrupt SREC files</li>
          <li>Try harder when trying to find the default ESP volume</li>
          <li>Use a higher compression preset for the UEFI splash images</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Focaltech touchpads</li>
          <li>FPC fingerprint readers</li>
          <li>Supermicro machines using Redfish</li>
        </ul>
      </description>
    </release>
    <release version="1.8.5" date="2022-09-22">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a new android-boot plugin to update specific block devices</li>
          <li>Add new plugin to display SMU firmware version on AMD APU/CPU</li>
          <li>Add support for platform capability descriptors so devices can set quirks</li>
          <li>Move the generic Intel Goshen Ridge code out to a new plugin</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow specifying the ESP when applying the dbx update</li>
          <li>Always check the BDP partitions when getting all the possible ESPs</li>
          <li>Correctly update Wacom AES devices</li>
          <li>Disable changing sleep mode on Ryzen 6000 systems</li>
          <li>Do not show the 'may not be usable while updating' message for DBX updates</li>
          <li>Expose Pine64 PinePhone Pro MTD as Tow-Boot</li>
          <li>Fix a critical warning when issuing Secure Boot modem AT commands</li>
          <li>Fix a fuzzing crash when parsing malicious FDT data</li>
          <li>Fix aligning up addresses greater than 4GB</li>
          <li>Fix a possible crash when dumping VBE firmware</li>
          <li>Fix a possible critical warning when parsing cabinet archives</li>
          <li>Fix a regression when parsing pixart-rf firmware</li>
          <li>Fix a small memory leak when parsing UF2 files</li>
          <li>Fix checking for invalid depth requirements</li>
          <li>Fix parsing the coSWID firmware ID when encoded as a UUID</li>
          <li>Fix parsing uSWID uncompressed metadata</li>
          <li>Fix uploading to DFU-CSR devices</li>
          <li>Limit the archive size to 25% of the RAM, or 4G</li>
          <li>Load coSWID metadata from a uSWID MTD block device</li>
          <li>Never save the Redfish auto-generated password to a user-readable file</li>
          <li>Only create users using IPMI when we know it's going to work</li>
          <li>Write all the CCGX metadata block as intended</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Corsair SABRE RGB PRO Gaming mouse</li>
          <li>More Sonix CAM devices</li>
          <li>More Intel Goshen Ridge USB-4 docks</li>
        </ul>
      </description>
    </release>
    <release version="1.8.4" date="2022-08-30">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a translated title and long description for HSI security attributes</li>
          <li>Add support for loading a machine-default BIOS settings policy</li>
          <li>Add support for reading and writing BIOS settings</li>
          <li>Allow loading BIOS settings for host emulation</li>
          <li>Prompt users to fix some BIOS configuration issues</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Actually show provided AppStream security issues</li>
          <li>Add Quectel secure boot status AT commands</li>
          <li>Correctly detect CET IBT</li>
          <li>Do not assert when running with no plugins</li>
          <li>Do not require UEFI capsule updates for checking TPM PCR0</li>
          <li>Do not show HSI events where we changed the spec result value</li>
          <li>Fix applying the latest DBX update</li>
          <li>Include vfat in the list of possible BDP partition types</li>
          <li>Install all devices with the same composite id in fwupdtool</li>
          <li>Only fail the kernel HSI test for specific taint reasons</li>
          <li>Only show changed events in fwupdmgr security</li>
          <li>Update vulnerable CMSE versions from CSMEVDT data</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Elan non-HID touchpads</li>
          <li>Google Prism</li>
          <li>LabTop Mk III</li>
          <li>ThinkPad Thunderbolt 4 Dock</li>
          <li>ThinkPad Universal Smart Dock</li>
        </ul>
      </description>
    </release>
    <release version="1.8.3" date="2022-07-22">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add resolution flags to each security attribute failures for the user</li>
          <li>Allow loading in emulated host profiles for debugging</li>
          <li>Check if Intel TME has been disabled by the firmware or platform</li>
          <li>Wait for the system to acquiesce after doing each update</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Do not use CoD even when advertised on non-aarch64 platforms</li>
          <li>Fix a crash when updating the Logitech Bolt radio device</li>
          <li>Fix a critical warning when parsing an invalid PHAT record</li>
          <li>Fix a critical warning when parsing invalid FDT firmware</li>
          <li>Fix fwupdmgr security when plugins are added to the blocklist</li>
          <li>Fix parsing SMBIOS data to correct the device hardware IDs</li>
          <li>Fix uploading signed reports by sending the correct checksum</li>
          <li>Use the correct protocol attribute name when exporting to JSON</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Additional Startech devices</li>
          <li>Additional Elan fingerprint readers</li>
        </ul>
      </description>
    </release>
    <release version="1.8.2" date="2022-07-11">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add startup profiling which allowed us to speed up daemon startup considerably</li>
          <li>Add support for OptionROM, CPD and FPT firmware formats for future hardware</li>
          <li>Add the HostVendor to the D-Bus interface</li>
          <li>Break some internal ABI and add a conversion helper for out-of-tree plugins</li>
          <li>Optionally build the quirk files into the daemon binary to reduce installed size</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow front-end clients to read the percentage property</li>
          <li>Allow more quirk entries to add multiple items</li>
          <li>Allow to force install Genesys firmware even if the public-key does not match</li>
          <li>Allow UFS disks to define the signed status in metadata</li>
          <li>Autoconnect the Redfish network device when rebooting the BMC</li>
          <li>Copy the instance ID strings when incorporating devices</li>
          <li>Do not generate a capsule header for the FMP GUID</li>
          <li>Ensure more firmware formats can round-trip to and from XML</li>
          <li>Fix a regression for devices using the Atmel FLIP Bootloader</li>
          <li>Fix running fwupdtool security with a user-specified plugin allowlist</li>
          <li>Handle ENOTTY with the correct error code for ioctl calls</li>
          <li>Increase the self tests coverage substantially</li>
          <li>Modernize the AMT plugin and split out common MEI functionality</li>
          <li>Only move the logitech-bulkcontroller progressbar forwards when writing</li>
          <li>Set the device ID on the FwupdRequest to allow better UX</li>
          <li>Show the get-details output when the device requirements fail</li>
          <li>Simply quirk matching for i2c devices to speed up daemon startup</li>
          <li>Support SHA256 fastboot hashes if specified</li>
          <li>Use force-detach to bypass the DFU streaming check for camera devices</li>
          <li>Use the SCSI target to correctly set the physical ID</li>
          <li>Wait for the System76 launch device to re-enumerate if already unlocked</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Corsair HARPOON RGB Wireless mouse</li>
          <li>U-Boot devices writing simple FIT images</li>
          <li>Genesys M27fd AIM101</li>
          <li>More PixArt wireless devices</li>
          <li>More Steelseries HID, Sonic and Fizz devices</li>
          <li>System76 launch_2</li>
        </ul>
      </description>
    </release>
    <release version="1.8.1" date="2022-05-27">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add archive writing support for devices with composite firmware</li>
          <li>Add a way to read device composite firmware in fwupdtool</li>
          <li>Allow clients to opt-in to showing updates with user-solvable problems</li>
          <li>Allow the device to pause polling when writing firmware</li>
          <li>Export the system and device battery levels on the D-Bus interface</li>
          <li>Log errors and warnings to the win32 eventlog when required</li>
          <li>Add X-UsbReceiver as an update category with icon usb-receiver</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Accurately return the last-set status to client tools</li>
          <li>Allow dumping flashrom firmware using fwupdtool</li>
          <li>Allow specifying a non-file D-Bus transport</li>
          <li>Allow to request post actions from fwupdtool</li>
          <li>Always be arch-explicit when installing OS deps</li>
          <li>Be more resilient when restarting the Redfish BMC</li>
          <li>Do not mark all Redfish updates as UPDATABLE</li>
          <li>Do not use 'dongle' to describe USB receiver hardware</li>
          <li>Download in-process when using fwupdtool</li>
          <li>Fix a critical warning on failed modem update</li>
          <li>Fix regression when probing PS175 devices</li>
          <li>Hardcode the Redfish filedata name to firmware.bin</li>
          <li>Set the Bluetooth version if REV has been set</li>
          <li>Switch the Windows installer from NSIS to MSI</li>
          <li>Use StartServiceCtrlDispatcherA for the daemon on Windows</li>
          <li>Use the native certificate store on Windows</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Corsair KATAR PRO XT, SABRE PRO and KATAR PRO Wireless</li>
          <li>HP Thunderbolt Dock G4</li>
          <li>Lenovo ThinkPad Universal USB-C Dock</li>
          <li>More PixArt wireless devices</li>
          <li>More SunplusIT USB cameras</li>
          <li>Some UFS devices</li>
          <li>Steelseries Aerox 3 Wireless and Rival 3 Wireless</li>
        </ul>
      </description>
    </release>
    <release version="1.8.0" date="2022-04-30">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a new attribute for CPUs supported by HSI</li>
          <li>Add coSWID and uSWID parsers to libfwupdplugin for initial SBOM support</li>
          <li>Add new HSI attributes for the AMD PSP and various other system protections</li>
          <li>Add the runtime fwupd-efi version as a firmware requirement</li>
          <li>Allow 'fwupdmgr install' to install a specified firmware version</li>
          <li>Allow overriding the detected machine type for debugging and development</li>
          <li>Restart the BMC after installing BCM updates</li>
          <li>Show the device serial number and instance IDs by default</li>
          <li>Support dumping the MTD image to a firmware blob</li>
          <li>Take a device inhibit when updating a device</li>
          <li>Use the CFI manufacturer ID to set the vendor</li>
          <li>Use the correct icon automatically for more hardware</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add signed-payload metadata for more devices</li>
          <li>Allow Capsule-on-Disk to work in more cases</li>
          <li>Allow quirking the detected flashrom flash size</li>
          <li>Check for os-release on FWUPD_SYSCONFDIR</li>
          <li>Check the alignment when parsing raw firmware</li>
          <li>Check the update protocol exists when checking requirements</li>
          <li>Convert the build system to use meson tristate features</li>
          <li>Correctly probe USB-2 hubs with more than 7 ports</li>
          <li>Do not add the Windows compatibility ID to capsule devices</li>
          <li>Do not allow the DBX update for specific motherboards</li>
          <li>Do not expect KernelCmdline on Windows</li>
          <li>Do not export USB4 host controllers as updatable if they don't have unique GUIDs</li>
          <li>Do not fallback to audio-card and use a more suitable icon for USB hubs</li>
          <li>Do not hardcode the libexecdir to /usr/libexec</li>
          <li>Do not leak child processes when canceling</li>
          <li>Do not show unconnected or unreachable devices in the client tools</li>
          <li>Do not throw away the TPM eventlog when uploading to the LVFS</li>
          <li>Do not use /var/run for the socket</li>
          <li>Export the version_lowest_raw value correctly</li>
          <li>Fix build for MacOS and add to the CI matrix</li>
          <li>Fix eventlog replay for Intel TXT machines</li>
          <li>Fix several small memory leaks</li>
          <li>Fix writing large mtd images than 10kb</li>
          <li>Ignore MTD devices that report EPERM on open</li>
          <li>Mark the ME region device locked if it is read only</li>
          <li>Never send the DeviceChanged signal with old data</li>
          <li>Only show the CLI time remaining for predictable status phases</li>
          <li>Respect the NO_COLOR env variable</li>
          <li>Return the correct error when there is no GPIO device to open</li>
          <li>Support the new UPower PENDING device states</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>CH341A SPI programmer</li>
          <li>Corsair Sabre RGB PRO and Slipstream USB receiver</li>
          <li>Genesys GL3521 and GL3590 hubs</li>
          <li>Google Servo Dock</li>
          <li>Logitech M550, M650 and K650</li>
          <li>More ELAN fingerprint readers</li>
          <li>More integrated Wacom panels</li>
          <li>More NovaCustom machines</li>
          <li>More StaLabs StarLite machines</li>
          <li>More Tuxedo laptops</li>
          <li>Quectel EM05</li>
          <li>FlatFrog devices</li>
          <li>System76 launch_lite_1</li>
        </ul>
      </description>
    </release>
    <release version="1.7.6" date="2022-02-25">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a flag for UEFI devices that never want a capsule header auto-added</li>
          <li>Add a flag to indicate the device has a signed or unsigned payload</li>
          <li>Add a plugin to set a GPIO pin for the duration of an update</li>
          <li>Add a simple plugin to enumerate (but not update) SCSI hardware</li>
          <li>Add two more instance IDs to the MTD devices</li>
          <li>Add X-BaseboardManagementController as an update category</li>
          <li>Allow assigning issues to devices for known high priority problems</li>
          <li>Parse the MTD firmware version using the defined GType</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Check the IFD sections have non-zero data length to fix a critical warning</li>
          <li>Modify the AT retry behavior to fix getting the firmware branch</li>
          <li>Do not run fwupd-refresh automatically in containers</li>
          <li>Do not show a warning if the TPM eventlog does not exist</li>
          <li>Do not show TSS2 warning messages by default</li>
          <li>Fix a critical warning when loading an empty TPM eventlog item</li>
          <li>Fix a logic error when adding the community warning in fwupdmgr</li>
          <li>Fix loading flashrom devices in coreboot mode</li>
          <li>Fix the error handling when updating USB4 retimers</li>
          <li>Show the user when devices are not updatable due to inhibits</li>
          <li>Skip probing the Dell DA300 device to avoid a warning</li>
          <li>Try harder to convert to a version into a correct semver</li>
          <li>Use multiple checksums when there are no provided artifacts</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>HP M2xfd monitors</li>
          <li>Star Lite Mk III</li>
        </ul>
      </description>
    </release>
    <release version="1.7.5" date="2022-02-07">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a flag to indicate the firmware is not provided by the vendor</li>
          <li>Add support for showing dependency versions in JSON format</li>
          <li>Allow fwupd to operate in socket mode without a D-Bus daemon</li>
          <li>Allow marking a device as End-of-Life by the OEM vendor</li>
          <li>Allow specifying the machine Best Known Configuration locally</li>
          <li>Fall back to the ARM Device Tree 'compatible' data when required</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Be more robust by retrying IPMI transactions on servers</li>
          <li>Change the expired Redfish password when required</li>
          <li>Fix a ModemManager segfault on startup for some MBIM-QDU devices</li>
          <li>Fix a possible dell-dock segfault at startup</li>
          <li>Fix compiling with new versions of efivar</li>
          <li>Fix the Nordic bootloader type detection</li>
          <li>Fix USB4 retimer enumeration</li>
          <li>Get the SMBIOS table and host machine ID when running on Windows</li>
          <li>Show results when calling get-details if failing requirements</li>
          <li>Uninhibit the modem using ModemManager after upgrade</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Future Analogix devices</li>
          <li>NovaCustom NV4x</li>
        </ul>
      </description>
    </release>
    <release version="1.7.4" date="2022-01-13">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add firmware branch support for ModemManager devices</li>
          <li>Allow firmware engineers to patch files at known offsets</li>
          <li>Show why more devices are not marked as updatable</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow fwupdtool to be run as the non-root user in more cases</li>
          <li>Assign the Logitech bulkcontroller update interface correctly</li>
          <li>Do not allow UEFI updates when the laptop lid is closed</li>
          <li>Do not autoload ipmi-si to avoid warning on non-server hardware</li>
          <li>Do not show a critical warning for a weird TPM event log</li>
          <li>Fix waiting for USB devices when using Windows</li>
          <li>Ignore non-PCI NVMe devices</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>HP USB-C G2 Dock</li>
          <li>Many UF2 devices, experimentally</li>
          <li>More PixArt devices</li>
          <li>Nordic HID devices using MCUBoot</li>
          <li>Quectel EG25-G LTE Modem</li>
          <li>ThinkPad Thunderbolt 4 Dock</li>
        </ul>
      </description>
    </release>
    <release version="1.7.3" date="2021-12-13">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a sync-bkc subcommand to ensure a known set of firmware versions</li>
          <li>Add FuArchiveFirmware for plugins that use archives as firmware files</li>
          <li>Add quirkable page and sector size properties to FuCfiDevice</li>
          <li>Make Upower and powerd support optional</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add some sanity checks to the elanfp firmware parser</li>
          <li>Add the CFI JEDEC instance ID if using the vendor-extended version</li>
          <li>Check the value range when parsing the quirk keys</li>
          <li>Do not wait for a USB runtime if will-disappear is set</li>
          <li>Enable the MOTD integration when using pam_motd</li>
          <li>Fix DFU regression when merging the FuProgress work</li>
          <li>Fix running the tests when fwupd is not installed</li>
          <li>Fix the GLib error message when inotify max_user_instances is too low</li>
          <li>Fix VLI VL820Q7 detection to fix flashing of the Lenovo TBT3 dock</li>
          <li>Ignore a USB error for STM32 attach when the device goes away</li>
          <li>Make the HSI tests optional for embedded targets</li>
          <li>Make the plugin startup order deterministic</li>
          <li>Set Thunderbolt ports offline on host controller</li>
          <li>Use endian-safe version functions when enumerating Logitech hardware</li>
          <li>Use lowercase flag names in intel-spi to prevent a runtime warning</li>
          <li>Wait for the System76 Launch device to come back from DFU mode</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Most Nordic Semiconductor nRF Secure devices</li>
        </ul>
      </description>
    </release>
    <release version="1.7.2" date="2021-11-19">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a new HSI check that PCR registers 0-7 are not empty</li>
          <li>Add several compile flags to reduce the install size by over 300Kb</li>
          <li>Allow overriding HwId data from the daemon.conf config file</li>
          <li>Allow overriding the firmware GType from a quirk file</li>
          <li>Export the component release ID over DBus</li>
          <li>Remove support for the SoloKey and ChaosKey devices</li>
          <li>Show a daemon warning if quirk flags are malformed</li>
          <li>Speed up the daemon startup by ~40% by doing less at startup</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Be case insensitive when fixing the device model</li>
          <li>Fix a critical warning in ccgx found by the fuzzer</li>
          <li>Fix a DFU crash if the attach failed due to a hardware fault</li>
          <li>Fix a Redfish crash when specifying a URL without a port</li>
          <li>Fix CLI downloads when using fwupdmgr --ipfs</li>
          <li>Fix critical warning when /etc/machine-id does not exist</li>
          <li>Inhibit thunderbolt devices to correctly use UPDATABLE_HIDDEN</li>
          <li>Set SSL_VERIFYHOST=0 when using Redfish to fix OpenBMC auth</li>
          <li>Skip UEFI devices that fail coldplug</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>All exported MTD block devices</li>
        </ul>
      </description>
    </release>
    <release version="1.7.1" date="2021-11-01">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Allow specifying 'fwupdmgr device-test foo --json' for unattended testing</li>
          <li>Allow using a filename when using set-approved-firmware</li>
          <li>Inhibit ModemManager device in mbim-qdu</li>
          <li>Share the Common Flash Memory Interface quirks between plugins</li>
          <li>Show changes in HSI attributes when using 'fwupdmgr security'</li>
          <li>Show the user a warning if updating may affect full-disk-encryption</li>
          <li>Show translated firmware release notes when provided</li>
          <li>Support loading remotes from /var/lib/fwupd/remotes.d</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Fix a CCGX regression when loading firmware</li>
          <li>Fix a potential crash when dumping Parade devices</li>
          <li>Fix build error when sys/io.h is not available</li>
          <li>Fix building the Synaptics RMI self tests on s390x</li>
          <li>Fix the CSME CVE detection for new generations</li>
          <li>Handle EPERM when running the self tests on systems with IPMI</li>
          <li>Mark as SUPPORTED even if on battery power</li>
          <li>Only save the HSI attributes to the database if different</li>
          <li>Raise the client timeout value from 25 seconds to fix Redfish startup</li>
          <li>Redirect the old HSI links to the correct place</li>
          <li>Relax the ITE SuperIO signature checks for new hardware support</li>
          <li>Set device time and timezone for logitech bulkcontroller devices</li>
          <li>Set the verfmt of the returned device when the daemon device is unset</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Dell Atomic Dock</li>
          <li>HP Thunderbolt Dock G4</li>
          <li>More PixArt devices</li>
          <li>Steelseries Stratus</li>
          <li>Wacom 3rd-gen Intuos BT</li>
        </ul>
      </description>
    </release>
    <release version="1.7.0" date="2021-10-06">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add FuCfuPayload and FuCfuOffer for future usage</li>
          <li>Add support for an 'unreachable' device flag</li>
          <li>Add support for Logitech devices supporting the Unified Battery feature</li>
          <li>Allow adding GUIDs to each HSI security attribute</li>
          <li>Allow installing the LVFS remote, but with it disabled by default</li>
          <li>Convert security attributes to JSON and write then to the database</li>
          <li>Convert the device test script to a fwupdmgr subcommand</li>
          <li>Create Redfish user accounts automatically using IPMI</li>
          <li>Use an interactive request to restart some Logitech DFU devices</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Abort on invalid SREC files early to avoid a fuzzing timeout</li>
          <li>Allow using interrupt transfers for HID devices</li>
          <li>Allow waiting for multiple devices to replug</li>
          <li>Fix a critical warning on a Unifying flash failure</li>
          <li>Fix a regression in flashing the Dell dock</li>
          <li>Fix Thunderbolt host controller probing</li>
          <li>Forcefully set checksums found in cabinet files to lowercase</li>
          <li>Force UX-capsule over full size BGRT</li>
          <li>Make the SuperIO ports and timeouts specific to the DMI model</li>
          <li>Only probe SynapticsMST devices that have opted-in</li>
          <li>Remove support for --ignore-power as it did not work for UEFI firmware</li>
          <li>Reset the CMOS as required when changing system firmware branch</li>
          <li>Restart the daemon if any of the plugin config files are modified</li>
          <li>Show HSiLevel=0 attributes in JSON security output</li>
          <li>Update the child composite ID if the parent changes</li>
          <li>Use a per-device global percentage completion</li>
          <li>Write the BMP image upside down to avoid using a negative bitmap height</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>A huge number of Synaptics CAPE devices</li>
          <li>Elan fingerprint readers</li>
          <li>Logitech Bolt peripherals, receivers and radio hardware</li>
          <li>Logitech devices supporting the bulk controller protocol</li>
          <li>More supported PixArt devices</li>
          <li>More supported StarBook coreboot devices</li>
          <li>Union Point SPI hardware</li>
        </ul>
      </description>
    </release>
    <release version="1.6.2" date="2021-08-02">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a plugin to check Lenovo firmware settings</li>
          <li>Add initial support for the powerd daemon</li>
          <li>Add support for CapsuleOnDisk</li>
          <li>Add support for installing UEFI updates from GRUB</li>
          <li>Add support for soft-requirements that can be ignored with --force</li>
          <li>Allow devices to only accept version upgrades</li>
          <li>Allow discovery of Redfish BMCs specified by VID-PID or MAC</li>
          <li>Allow the daemon to request interactive action from the end user</li>
          <li>Automatically connect the BMC network interface at startup</li>
          <li>Show the build timestamp if set on the device</li>
          <li>Show the user how to switch out of Wacom tablet Android-mode</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add the alternate vendor name into the 8BitDo allowlist</li>
          <li>Allow multiple devices to set WAIT_FOR_REPLUG</li>
          <li>Allow the client to watch for more property changes</li>
          <li>Always ensure the SuperIO version string is NUL terminated</li>
          <li>Automatically clear the update error as required</li>
          <li>Disable all UX capsules for Lenovo hardware</li>
          <li>Do not assume the metainfo file is NUL-terminated</li>
          <li>Do not save invalid files on LVFS server error</li>
          <li>Fix a VLI regression in enumerating the PD device</li>
          <li>Fix a VLI regression when installing VL820Q7 firmware</li>
          <li>Fix enumeration of the Synaptics Prometheus config child</li>
          <li>Fix parsing Redfish USB/PCI network VID/PIDs</li>
          <li>Fix the fwupdmgr progressbar spinner to actually work</li>
          <li>Fix version number for legacy Wacom Bluetooth modules</li>
          <li>Ignore virtual M.2 ATA devices</li>
          <li>Preserve NEEDS_REBOOT on successful update</li>
          <li>Prevent a corrupt PHAT table from allocating lots of memory</li>
          <li>Read the Redfish SMBIOS table when required</li>
          <li>Remove the vendor string from the device name where required</li>
          <li>Save the update state to the database correctly all of the time</li>
          <li>Switch from sysctl to ioctl for ESRT on FreeBSD</li>
          <li>Try reading from /sys/class/dmi if SMBIOS direct access fails</li>
          <li>Watch for children added or removed after setup has been completed</li>
          <li>Work around a XCC-ism on Lenovo hardware</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>ModemManager devices supporting Firehose or MBIM QDU</li>
          <li>More models of RTS54HUB</li>
          <li>More Poly DFU devices</li>
          <li>Parade LSPCON</li>
          <li>PixArt receiver and wireless hardware</li>
          <li>Realtek MST with RTD2142</li>
          <li>SuperIO IT5570</li>
          <li>USB4 Dell dock</li>
        </ul>
      </description>
    </release>
    <release version="1.6.1" date="2021-06-14">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add FreeBSD UEFI Capsule support</li>
          <li>Add generic ModemManager support for PCI based modems</li>
          <li>Add initial support for USB4 module in the Dell dock</li>
          <li>Add support for sibling requirements</li>
          <li>Add support for the ACPI PHAT table</li>
          <li>Allow building the documentation with gi-docgen and gtk-doc</li>
          <li>Support binary artifact resources in cabinet archives</li>
          <li>Use GProxyResolver to get the system proxy setting for a given URL</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Ask the user to confirm all CLI actions</li>
          <li>Check the versions of libfwupd and libfwupdplugin at startup</li>
          <li>Do not prevent firmware updates on desktop hardware</li>
          <li>Do not show an invalid DFU warning on attach</li>
          <li>Fail parsing if wacom firmware sections are not in sorted order</li>
          <li>Fall back to binary files when flashing STM32 hardware</li>
          <li>Fix a critical warning when downloading files</li>
          <li>Fix a possible critical warning due to a bug in type casting</li>
          <li>Fix a regression in updating the WD19TB dock</li>
          <li>Fix GUID generation on pixart hardware</li>
          <li>Fix the VLI i2c device enumeration, e.g. MSP430</li>
          <li>Follow HTTP 3XX redirects when downloading files</li>
          <li>Force the device locker to close() an aborted open()</li>
          <li>Handle bsdisks' UDisks2 implementation on FreeBSD</li>
          <li>Only lock fwupdtool when loading the engine</li>
          <li>Read current Wacom firmware index before finding image to write</li>
          <li>Support all hash types when loading cabinet archives</li>
          <li>Support mirroring the detach and update images</li>
          <li>Switch lock directory from /var/run to /run/lock</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Minibons devices</li>
          <li>More 8BitDo hardware</li>
          <li>More Synaptics Prometheus hardware</li>
          <li>RTD21xx devices in background mode</li>
          <li>Some Kingston SSD and NVMe hardware</li>
        </ul>
      </description>
    </release>
    <release version="1.6.0" date="2021-04-26">
      <description>
        <p>
          This is the first release of the 1.6.x series, and since 1.5.x
          some internal plugin API has been changed and removed.
          Although we've tested this release on all the hardware we have
          regression tests for, bugs may have crept in; please report failures
          to the issue tracker as required.
        </p>
        <p>
          There are several new plugins adding support for new hardware
          and a lot of code has been migrated to the new plugin API.
          The public libfwupd API also has some trivial additions, although no
          action is required.
        </p>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a composite ID that is used to identify dock device components</li>
          <li>Add an Intel Flash Descriptor parser</li>
          <li>Add API to allow the device to report its own battery level</li>
          <li>Add API to recount why the device is non-updatable</li>
          <li>Add lspcon-i2c-spi programmer support</li>
          <li>Add more hardware support to the pixart-rf plugin</li>
          <li>Add some more new category types for firmware to use</li>
          <li>Add support for downloading the SPI image from the Intel eSPI device</li>
          <li>Add support for some Analogix hardware</li>
          <li>Add support for writing SREC firmware</li>
          <li>Add the firmware-sign command to fwupdtool to allow resigning archives</li>
          <li>Split UEFI EFI binary into a subproject</li>
          <li>Use an OFD or Unix lock to prevent more than one fwupdtool process</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Actually write the bcm57xx stage1 version into the file</li>
          <li>Add option to disable the UEFI capsule splash screen generation</li>
          <li>Avoid use-after-free when specifying the VID/PID in dfu-tool</li>
          <li>Cancel the GDBusObjectManager operation to fix a potential crash</li>
          <li>Check PixArt firmware compatibility with hardware before flashing</li>
          <li>Do not check for native dependencies as target dependencies</li>
          <li>Do not use help2man to build manual pages</li>
          <li>Fix a crash when shutting down the daemon</li>
          <li>Fix build on musl</li>
          <li>Fix build when using BSD</li>
          <li>Fix /etc/os-release ID_LIKE field parsing</li>
          <li>Force the synaptics-rmi hardware into IEP mode as required</li>
          <li>Never allow D-Bus replacement when a firmware update is in operation</li>
          <li>Offer the user to refresh the remote after enabling</li>
          <li>Remove unused, unsafe and deprecated functions from libfwupdplugin</li>
          <li>Simplify asking the user about reviews</li>
          <li>Write BMP data directly without using PIL</li>
          <li>Write synaptics-rmi files with valid checksum data</li>
        </ul>
      </description>
    </release>
    <release version="1.5.7" date="2021-02-23">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add initial support for Bluez bluetooth devices</li>
          <li>Add more supported pixart devices</li>
          <li>Add support for the RTD21xx HDMI converter</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Convert MBR types to GPT GUIDs to help find the ESP</li>
          <li>Do not allow updating a synaptics-mst device with no customer ID</li>
          <li>Drop unused heap pages after startup has completed</li>
          <li>Ensure SBAT metadata is added correctly</li>
          <li>Move the plugin build logic to the plugins themselves</li>
          <li>Only allow verify-update for plugins that support CAN_VERIFY</li>
        </ul>
      </description>
    </release>
    <release version="1.5.6" date="2021-02-16">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add SBAT metadata to the fwupd EFI binary</li>
          <li>Add support for GD32VF103 as found in the Longan Nano</li>
          <li>Add support for RMI PS2 devices</li>
          <li>Add support for the System76 Keyboard</li>
          <li>Allow downloading firmware from IPFS</li>
          <li>Install the UX data into a single .tar.xz file</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add support for the Starlabs LabTop L4</li>
          <li>Allow using an external ESP again</li>
          <li>Ask the user to reboot when required if downgrading</li>
          <li>Be more paranoid when parsing ASCII buffers and devices</li>
          <li>Check if the fwupd BootXXXX entry exists on failure</li>
          <li>Clear the pending flag if restarting the system</li>
          <li>Do not allow flashing using flashrom if BLE is enabled</li>
          <li>Do not allow Lenovo hardware to install multiple capsules</li>
          <li>Do not parse the OptionROM image</li>
          <li>Do not show Unknown [***] for every client connection</li>
          <li>Fix dnload wBlockNum wraparound for ST devices</li>
          <li>Fix OOM when using large ArchiveSizeMax values</li>
          <li>Fix several crashes spotted by AddressSanitizer</li>
          <li>Fix several places where the Goodix MOC plugin could crash</li>
          <li>Include the PCR0 to the report metadata</li>
          <li>Report the lockdown status from UEFI and SuperIO plugins</li>
          <li>Show a console warning if the system clock is not set</li>
        </ul>
      </description>
    </release>
    <release version="1.5.5" date="2021-01-11">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a plugin to update PixArt RF devices</li>
          <li>Add new hardware to use the elantp and rts54hid plugins</li>
          <li>Allow specifying more than one VendorID for a device</li>
          <li>Detect the AMD TSME encryption state for HSI-4</li>
          <li>Detect the AMI PK test key is not installed for HSI-1</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Fix flashing a fingerprint reader that is in use</li>
          <li>Fix several critical warnings when parsing invalid firmware</li>
          <li>Fix updating DFU devices that use DNLOAD_BUSY</li>
          <li>Ignore the legacy UEFI OVMF dummy GUID</li>
          <li>Make libfwupd more thread safe to fix a crash in gnome-software</li>
          <li>Never show unprintable chars from invalid firmware in the logs</li>
        </ul>
      </description>
    </release>
    <release version="1.5.4" date="2020-12-16">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add Maple Ridge Thunderbolt firmware parsing support</li>
          <li>Add --no-remote-check to ignore checking for download remotes</li>
          <li>Allow creating FMAP and Synaptics firmware using builder.xml</li>
          <li>Build a test harness that uses honggfuzz to fuzz firmware</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow using fwupdtool as non-root for firmware commands</li>
          <li>Do not trust the Block.HintSystem boolean for ESP filtering</li>
          <li>Fix a memory leak when parsing Synaptics firmware</li>
          <li>Fix a possible crash when reading the Goodix MOC USB request</li>
          <li>Fix crashes when parsing invalid FMAP, DMC, Solokey and Synaptics images</li>
        </ul>
      </description>
    </release>
    <release version="1.5.3" date="2020-12-08">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Allow setting the GMainContext when used for sync methods</li>
          <li>Export the driver name from FuUdevDevice</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a UEFI quirk for Star Labs Lite Mk III</li>
          <li>Add the device firmware ID for serio class hardware</li>
          <li>Allow the client to send legacy PKCS7 and GPG signatures</li>
          <li>Do not use accidentally depend on new meson versions</li>
          <li>Fix a possible critical warning due to missing retval</li>
          <li>Fix the endianness for the CRC check in bcm57xx</li>
          <li>Lower the CURL version required to fix RHEL</li>
          <li>Make sure the correct interface number is used for QMI</li>
          <li>Mark more user-visible strings as translatable</li>
          <li>Restrict loading component types of firmware</li>
          <li>Validate ModemManager firmware update method combinations</li>
        </ul>
      </description>
    </release>
    <release version="1.5.2" date="2020-11-23">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a flag to indicate if packages are supported</li>
          <li>Add a plugin for the Pinebook Pro laptop</li>
          <li>Allow components to set the icon from the metadata</li>
          <li>Switch from libsoup to libcurl for downloading data</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Fall back to FAT32 internal partitions for detecting ESP</li>
          <li>Fix detection of ColorHug version on older firmware versions</li>
          <li>Fix reading BCM57XX vendor and device ids from firmware</li>
          <li>Fix replugging the MSP430 device</li>
          <li>Fix sync method when called from threads without a context</li>
          <li>Ignore an invalid vendor-id when adding releases for display</li>
          <li>Improve synaptics-mst reliability when writing data</li>
          <li>Install modules-load configs in the correct directory</li>
          <li>Notify the service manager when idle-quitting</li>
          <li>Only download the remote metadata as required</li>
          <li>Remove HSI update and attestation suffixes</li>
          <li>Restore recognizing GPG and PKCS7 signature types in libfwupd</li>
          <li>Set the SMBIOS chassis type to portable if a DT battery exists</li>
        </ul>
      </description>
    </release>
    <release version="1.5.1" date="2020-11-02">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Include the amount of NVRAM size in use in the LVFS failure report</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Delete unused EFI variables when deploying firmware</li>
          <li>Fix probe warning for the Logitech Unifying device</li>
          <li>Make bcm57xx hotplug more reliable</li>
          <li>Recognize authorized thunderbolt value of 2</li>
          <li>Remove the duplicate parent-child data in FwupdDevice and FuDevice</li>
          <li>Show a less scary fwupdate output for devices without info</li>
          <li>Show a link to discover more information about a specific plugin failure</li>
          <li>Use a different Device ID for the OptionROM devices</li>
          <li>Use UDisks to find out if swap devices are encrypted</li>
        </ul>
      </description>
    </release>
    <release version="1.5.0" date="2020-10-26">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a compatible re-implementation of the rhboot dbxtool</li>
          <li>Add async versions of the library for GUI tools</li>
          <li>Add commands for interacting with the ESP to fwupdtool</li>
          <li>Add firmware-extract subcommand to fwupdtool</li>
          <li>Add FwupdPlugin so we can convey enumerated system errors to the end user</li>
          <li>Add plugin for Goodix fingerprint sensors</li>
          <li>Add plugin that can update the BCM5719 network adapter</li>
          <li>Add plugin to update Elan Touchpads using HID</li>
          <li>Add support for a delayed activation flow for Thunderbolt</li>
          <li>Add support for ChromeOS Quiche and Gingerbread</li>
          <li>Add support for Hyper hardware</li>
          <li>Add support for the Host Security ID</li>
          <li>Add support for ThunderBolt retimers</li>
          <li>Add switch-branch command to fwupdtool and fwupdmgr</li>
          <li>Allow blocking specific firmware releases by checksum</li>
          <li>Allow constructing a firmware with multiple images</li>
          <li>Allow firmware to require specific features from front-end clients</li>
          <li>Allow updating the dbx using the LVFS, validating it is safe to apply</li>
          <li>Include the HSI results and attributes in the uploaded report</li>
          <li>Support loading DMI data from DT systems</li>
          <li>Support LVFS::UpdateImage for GUI clients</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow compiling the daemon without polkit support</li>
          <li>Always look at all TPM eventlog supported algorithms</li>
          <li>Change all instances of m'ster/sl've to initiator/target</li>
          <li>Correctly order devices when using logical parents</li>
          <li>Do not dedupe NVMe or VLI PD devices</li>
          <li>Do not expose the VLI shared-SPI devices on the USB2 recovery device</li>
          <li>Do not fix up the version on post-update mismatch</li>
          <li>Download the metadata first when using 'fwupdtool refresh'</li>
          <li>Drop efivar dependency</li>
          <li>Drop support for ThunderBolt force power due to hardware issues</li>
          <li>Fix setting BootNext correctly when multiple updates are scheduled</li>
          <li>Fix the topology of the audio device on the Lenovo TR dock</li>
          <li>Make return code different for get-updates with no updates</li>
          <li>Make specific authorizations also imply others</li>
          <li>Make TPM support more optional</li>
          <li>Parse the HEX version before comparing for equality</li>
          <li>Prevent dell-dock updates to occur via synaptics-mst plugin</li>
          <li>Record the UEFI failure in more cases</li>
          <li>Retry the HID SetReport to fix flashing the TB3 dock</li>
          <li>Show an error when a plugin is missing dependencies</li>
          <li>Use libxmlb bound parameters to speed up the device verification</li>
          <li>Use pkttyagent to request user passwords if running without GUI</li>
          <li>Use the JCat file to select the metadata file</li>
        </ul>
      </description>
    </release>
    <release version="1.4.1" date="2020-04-27">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Allow adding a device 'proxy' device that can do actions on it</li>
          <li>Allow specifying the device on the command line by GUID</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a device quirk that forces an explicit device-id match</li>
          <li>Allow a device to set the logical or physical ID during ->setup()</li>
          <li>Correctly format firmware version of Dynabook X30 and X40</li>
          <li>Do not show safe mode errors for USB4 host controllers</li>
          <li>Do not show the USB 2 VLI recovery devices for USB 3 hubs</li>
          <li>Fix the correct DeviceID set by GetDetails</li>
          <li>Make the EP963X plugin actually work on real hardware</li>
          <li>Make the tss2-esys dep conditional for RHEL 8</li>
          <li>Only update the FW2 partition of the ThinkPad USB-C Dock Gen2</li>
          <li>Prefer to update the child device first if the order is unspecified</li>
          <li>Refresh device name and format before setting supported flag</li>
          <li>Reset the progressbar time estimate if the percentage is invalid</li>
          <li>Set the CCGX device name and summary from quirk files</li>
          <li>Wait for the cxaudio device to reboot after writing firmware</li>
        </ul>
      </description>
    </release>
    <release version="1.4.0" date="2020-04-14">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add 'firmware-convert' subcommand to fwupdtool</li>
          <li>Add fu_device_retry() API</li>
          <li>Add FuHidDevice abstraction</li>
          <li>Add plugin for CPU microcode</li>
          <li>Add plugin for Cypress CCGX hardware</li>
          <li>Add plugin for EP963x hardware</li>
          <li>Add 'reinstall' command to fu-tool</li>
          <li>Allow server metadata to set the device name and version format</li>
          <li>Export the device state as part of the D-Bus interface</li>
          <li>Export the release creation time and urgency</li>
          <li>Introduce a new VersionFormat of 'hex'</li>
          <li>Use Jcat files in firmware archives and for metadata</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Actually reload the DFU device after upgrade has completed</li>
          <li>Add a lot of missing metadata about wacom-usb devices</li>
          <li>Add a way to set the device timeout from a quirk</li>
          <li>Add STM32F745 DfuSe version quirk</li>
          <li>Allow waiting for the parent device when replugging</li>
          <li>Always check for 'PLAIN' when doing vercmp() operations</li>
          <li>Apply version format to releases and devices at same time</li>
          <li>Check the firmware requirements before adding 'SUPPORTED'</li>
          <li>Correctly attach VL103 after a firmware update</li>
          <li>Do not allow devices that have no vendor ID to be 'UPDATABLE'</li>
          <li>Do not conditionalize attach() and detach() on 'IS_BOOTLOADER'</li>
          <li>Do not use shim for non-secure boot configurations</li>
          <li>Fix a crash when removing device parents</li>
          <li>Fix a difficult-to-trigger daemon hang when replugging devices</li>
          <li>Fix a runtime error when detaching MSP430</li>
          <li>Fix CounterpartGuid when there is more than one supported device</li>
          <li>Fix reporting Synaptics cxaudio version number</li>
          <li>Load the signature to get the aliased CDN-safe version of the metadata</li>
          <li>Never add USB hub devices that are not upgradable</li>
          <li>Only auto-add counterpart GUIDs when required</li>
          <li>Parse the CSR firmware as a DFU file</li>
          <li>Set the protocol when updating logitech HID++ devices</li>
          <li>When TPM PCR0 measurements fail, query if secure boot is available and enabled</li>
        </ul>
      </description>
    </release>
    <release version="1.3.9" date="2020-03-04">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Added completion script for fish shell</li>
          <li>Inihbit all power management actions using logind when updating</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Always check for PLAIN when doing vercmp() operations</li>
          <li>Always return AppStream markup for remote agreements</li>
          <li>Apply UEFI capsule update even with single valid capsule</li>
          <li>Check the device protocol before de-duping devices</li>
          <li>Copy the version and format from donor device in get-details</li>
          <li>Correctly append the release to devices in `fwupdtool get-details`</li>
          <li>Decrease minimum battery requirement to 10%</li>
          <li>Discard the reason upgrades aren't available</li>
          <li>Do not fail loading in /etc/machine-id is not available</li>
          <li>Fix a critical warning when installing some firmware</li>
          <li>For the `get-details` command make sure to always show devices</li>
          <li>Set the MSP430 version format to pair</li>
          <li>Switch off the ATA verbose logging by default</li>
          <li>Use unknown for version format by default on get-details</li>
        </ul>
      </description>
    </release>
    <release version="1.3.8" date="2020-02-13">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add an extra instance ID to disambiguate USB hubs</li>
          <li>Add a plugin to update PD controllers by Fresco Logic</li>
          <li>Replay the TPM event log to get the PCRx values</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Fix updating Synaptics MST devics with no PCI parent</li>
          <li>Correctly reset VL100 PD devices</li>
          <li>Do not rewrite BootOrder in the EFI helper</li>
          <li>Do not use vercmp when the device version format is plain</li>
          <li>Fix firmware regression in the EFI capsule helper</li>
          <li>Ignore Unifying detach failures</li>
          <li>Make the cxaudio version match that of the existing Windows tools</li>
          <li>Set up more parent devices for various Lenovo USB hubs</li>
          <li>Support the new gnuefi file locations</li>
          <li>Use the correct command to get the VLI device firmware version</li>
        </ul>
      </description>
    </release>
    <release version="1.3.7" date="2020-01-31">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add 'get-remotes' and 'refresh' to fwupdtool</li>
          <li>Add support for standalone VIA PD devices</li>
          <li>Allow applying all releases to get to a target version</li>
          <li>Discourage command line metadata refreshes more than once per day</li>
          <li>Generate a win32 setup binary</li>
          <li>Get the list of updates in JSON format from fwupdagent</li>
          <li>Move MOTD population into the daemon</li>
          <li>Shut down automatically when there is system memory pressure</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Correctly delete UEFI variables</li>
          <li>Correctly import PKCS-7 remote metadata</li>
          <li>Disable the battery percentage checks if UPower is unavailable</li>
          <li>Do not always get the vendor ID for udev devices using the parent</li>
          <li>Fix display of UTF-8 characters on Windows</li>
          <li>Show the device parent if there is an interesting child</li>
          <li>Use a different protocol ID for VIA i2c devices</li>
          <li>Use the correct timeout for Logitech IO channel writes</li>
        </ul>
      </description>
    </release>
    <release version="1.3.6" date="2019-12-30">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a new plugin that can parse the TPM event log</li>
          <li>Add a new plugin that exposes the TPM device firmware version</li>
          <li>Allow building on Windows with MinGW</li>
          <li>Enforce that device protocol matches the metadata value</li>
          <li>Export the device protocol and raw device version to the client --verbose output</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a dell-bios version format to match what is shown on the vendor website</li>
          <li>Allow incremental version major and minor number for Synaptics Prometheus devices</li>
          <li>Clarify error messages when no upgrades are available</li>
          <li>Correct the default prompt for reboot/shutdown</li>
          <li>Do not expose bootloader version errors to users</li>
          <li>Fix the quirk for the legacy VIA 813 usbhub chip</li>
          <li>Hardcode the vendor ID for Dell dock hardware</li>
          <li>Only check the vendor ID if the device has one set</li>
          <li>Return exit status success if there is no firmware to be updated</li>
          <li>Set the correct vendor eMMC ID prefix</li>
          <li>Use the baseboard vendor as the superio vendor ID</li>
          <li>Use the BIOS vendor as the coreboot and flashrom vendor ID</li>
        </ul>
      </description>
    </release>
    <release version="1.3.5" date="2019-11-29">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Convert libfwupdprivate to a shared library libfwupdplugin</li>
          <li>Create a REV_00 instance ID as this may be what the vendor needs to target</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Improve coreboot version detection</li>
          <li>Invert default behavior to be safer for reboot and shutdown prompts</li>
          <li>Reload the Synaptics prometheus device version after update</li>
          <li>Use the correct unlocker when using GRWLock</li>
          <li>Allowlist VIA USB hub PD and I²C devices</li>
        </ul>
      </description>
    </release>
    <release version="1.3.4" date="2019-11-22">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a new property Interactive to the daemon</li>
          <li>Add a new script for installing a Dell BIOS from an EXE file</li>
          <li>Add support for Foxconn T77W968 and DW5821e eSIM</li>
          <li>Add support for matching firmware requirements on device parents</li>
          <li>Add support for writing VIA PD and I2C devices</li>
          <li>Add versions formats for the Microsoft Surface devices</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allows confined snaps to activate fwupd via D-Bus</li>
          <li>Correct Wacom panel HWID support</li>
          <li>Don't assume all udev devices have device_file</li>
          <li>Dynamically determine release version</li>
          <li>Fall back to `ID_LIKE` when the path for `ID` doesn't exist</li>
          <li>Fix a fastboot regression when updating modem firmware</li>
          <li>Fix regression when coldplugging superio devices</li>
          <li>Fix the linking of the UEFI update binary</li>
          <li>Fix the vendor id of hidraw devices</li>
          <li>Make loading USB device strings non-fatal</li>
          <li>Reject invalid Synaptics MST chip IDs</li>
          <li>Skip cleanup after device is done updating if required</li>
        </ul>
      </description>
    </release>
    <release version="1.3.3" date="2019-11-01">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a plugin for systems running coreboot</li>
          <li>Add a plugin to update eMMC devices</li>
          <li>Add a plugin to update Synaptics RMI4 devices</li>
          <li>Add a plugin to update VIA USB hub hardware</li>
          <li>Add some success messages when CLI tasks have completed</li>
          <li>Add support for automatically uploading reports</li>
          <li>Add support for `fwupdmgr reinstall`</li>
          <li>Allow fwupdtool to dump details of common firmware formats</li>
          <li>Use XMLb to query quirks to reduce the RSS when running</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add several quirks for Realtek webcams</li>
          <li>Add support for the 8bitdo SN30Pro+</li>
          <li>Add support for the ThinkPad USB-C Dock Gen2 audio device</li>
          <li>Always report the update-error correctly for multiple updates</li>
          <li>Create a unique GUID for the Thunderbolt controller path</li>
          <li>Fix a regression for Wacom EMR devices</li>
          <li>Move the Jabra-specific detach out into its own plugin</li>
          <li>Recognize new 'generation' Thunderbolt sysfs attribute for USB4</li>
          <li>Reduce more boilerplate in plugins, modernizing where required</li>
          <li>Remove unused DFU functionality</li>
          <li>Rework ESP path detection and lifecycle to auto-unmount when required</li>
          <li>Show a useful error for Logitech devices that cannot self-reset</li>
          <li>Use correct method for stopping systemd units</li>
          <li>Use device safety flags to show prompts before installing updates</li>
          <li>Use `genpeimg` to mark ASLR and DP/NX on EFI binary</li>
          <li>Use will-disappear flag for 8bitdo SF30/SN30 controllers</li>
        </ul>
      </description>
    </release>
    <release version="1.3.2" date="2019-09-26">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a plugin to detach the Thelio IO board</li>
          <li>Add a plugin to update Conexant audio devices</li>
          <li>Support issues in AppStream metadata</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Align the key values to the text width not the number of bytes</li>
          <li>Display more helpful historical device information</li>
          <li>Do not ask the user to upload a report if ReportURI is not set</li>
          <li>Do not crash when starting tpm2-abrmd</li>
          <li>Ensure HID++ v2.0 peripheral devices get added</li>
          <li>Fall back to /var/lib/dbus/machine-id when required</li>
          <li>Include all GUIDs when uploading a report</li>
          <li>Move D-Bus conf file to datadir/dbus-1/system.d</li>
          <li>Update device_modified in sql database during updates</li>
        </ul>
      </description>
    </release>
    <release version="1.3.1" date="2019-07-15">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add support for the Minnowboard Turbot</li>
          <li>Add support for the SoloKey Secure</li>
          <li>Add support for thunderbolt kernel safety checks</li>
          <li>Add support to integrate into the motd</li>
          <li>Allow filtering devices when using the command line tools</li>
          <li>Allow setting custom flags when using fwupdate</li>
          <li>Allow specifying a firmware GUID to check any version exists</li>
          <li>Include the kernel release as a runtime version</li>
          <li>Print devices, remotes, releases using a tree</li>
          <li>Publish docs to fwupd.github.io using CircleCI</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add aliases for get-upgrades and upgrade</li>
          <li>Allow disabling SSL strict mode for broken corporate proxies</li>
          <li>Be more accepting when trying to recover a failed database migration</li>
          <li>Do not segfault when trying to quit the downgrade selection</li>
          <li>Fix a possible crash when stopping the fwupd service</li>
          <li>Fix incomplete hex file parsing in unifying plugin</li>
          <li>Fix thunderbolt logic to work properly with ICL thunderbolt controller</li>
          <li>Never show AppStream markup on the console</li>
          <li>Never use memcpy() in a possibly unsafe way</li>
          <li>Only write the new UEFI device path if different than before</li>
          <li>Partially rewrite the Synapticsmst plugin to support more hardware</li>
          <li>Reload metadata store when configuration changes</li>
          <li>Use environment variables for systemd managed directories</li>
          <li>Use tpm2-tss library to read PCR values</li>
        </ul>
      </description>
    </release>
    <release version="1.2.10" date="2019-07-15">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a new experimental plugin that supports libflashrom</li>
          <li>Add a specific error code for the low battery case</li>
          <li>Add support for 8bitdo USB Retro Receiver</li>
          <li>Export new API to build objects from GVariant blobs</li>
          <li>Show a warning when running in UEFI legacy mode</li>
          <li>Support a UEFI quirk to disable the use of the UX capsule</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Fix installing synaptics-prometheus config updates</li>
          <li>Fix the supported list of Wacom tablets</li>
          <li>Never set an empty device name</li>
          <li>Prompt for reboot when unlocking on the command line if applicable</li>
          <li>Show devices with an UpdateError in get-devices output</li>
          <li>Support empty proxy server strings</li>
          <li>Try harder to find duplicate UEFI boot entries</li>
        </ul>
      </description>
    </release>
    <release version="1.2.9" date="2019-05-20">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add support for Synaptics Prometheus fingerprint readers</li>
          <li>Check if VersionFormat is ambiguous when adding devices</li>
          <li>Check the daemon version is at least the client version</li>
          <li>Export the version-format used by devices to clients</li>
          <li>Set the version format for more device types</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow using --force to trigger a duplicate offline update</li>
          <li>Be smarter about existing installed fwupd when using standalone-installer</li>
          <li>Correctly identify DFU firmware that starts at offset zero</li>
          <li>Display the remote warning on the console in an easy-to-read way</li>
          <li>Fix a libasan failure when reading a UEFI variable</li>
          <li>Never guess the version format from the version string</li>
          <li>Only use class-based instance IDs for quirk matching</li>
          <li>Prompt the user to shutdown if required when installing by ID</li>
          <li>Reset the forced version during DFU attach and detach</li>
        </ul>
      </description>
    </release>
    <release version="1.2.8" date="2019-04-23">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Allow the fwupdmgr tool to modify the daemon config</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Correctly parse DFU interfaces with extra vendor-specific data</li>
          <li>Do not report transient or invalid system failures</li>
          <li>Fix problems with the version format checking for some updates</li>
        </ul>
      </description>
    </release>
    <release version="1.2.7" date="2019-04-11">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a component categories to express the firmware type</li>
          <li>Add support for 8BitDo M30</li>
          <li>Add support for the not-child extension from Logitech</li>
          <li>Shut down the daemon if the on-disk binary is replaced</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Blocklist the synapticsmst plugin when using amdgpu</li>
          <li>Correct ATA activation functionality to work for all vendors</li>
          <li>Implement QMI PDC active config selection for modems</li>
          <li>Make an error message clearer when there are no updates available</li>
          <li>Match the old or new version number when setting NEEDS_REBOOT</li>
          <li>More carefully check the output from tpm2_pcrlist</li>
          <li>Recreate the history database if migration failed</li>
          <li>Require AC power when updating Thunderbolt devices</li>
          <li>Require --force to install a release with a different version format</li>
          <li>Save history from firmware installed with fwupdtool</li>
        </ul>
      </description>
    </release>
    <release version="1.2.6" date="2019-03-26">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a plugin to support modem hardware</li>
          <li>Add support for delayed activation of docks and ATA devices</li>
          <li>Add support for reading the SuperIO device checksum and writing to e-flash</li>
          <li>Add the fwupdagent binary for use in shell scripts</li>
          <li>Allow restricting firmware updates for enterprise use</li>
          <li>Allow signing the fwupd report with a client certificate</li>
          <li>Use Plymouth when updating offline firmware</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow forcing an offline-only update on a live system using --force</li>
          <li>Allow running offline updates when in system-update.target</li>
          <li>Ask to reboot after scheduling an offline firmware update</li>
          <li>Correctly check the new version for devices that replug</li>
          <li>Do not fail to start the daemon if tpm2_pcrlist hangs</li>
          <li>Do not fail when scheduling more than one update to be run offline</li>
          <li>Do not let failing to find DBus prevent fwuptool from starting</li>
          <li>Do not schedule an update on battery power if it requires an external power source</li>
          <li>Include all device checksums in the LVFS report</li>
          <li>Rename the shimx64.efi binary for known broken firmware</li>
          <li>Upload the UPDATE_INFO entry for the UEFI UX capsule</li>
        </ul>
      </description>
    </release>
    <release version="1.2.5" date="2019-02-25">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Allow a device to be updated using more than one plugin</li>
          <li>Report the DeviceInstanceIDs from fwupdmgr when run as root</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add an extra check for Dell NVMe drives to avoid false positives</li>
          <li>Call composite prepare and cleanup using fwupdtool</li>
          <li>Correct handling of CAB files with nested directories</li>
          <li>Detect and special case Dell ATA hardware</li>
          <li>Do not fail fwupdtool if dbus is unavailable</li>
          <li>Do not unconditionally enable Werror for the EFI binary</li>
          <li>Fill holes when reading SREC files</li>
          <li>Filter the last supported payloads of certain Dell docks</li>
          <li>Fix flashing failure with latest Intuos Pro tablet</li>
          <li>Fix potential segfault when applying UEFI updates</li>
          <li>Fix unifying regression when recovering from failed flash</li>
        </ul>
      </description>
    </release>
    <release version="1.2.4" date="2019-02-01">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a directory remote that generates metadata</li>
          <li>Add a new remote type "directory"</li>
          <li>Add a plugin to update Wacom embedded EMR and AES panels</li>
          <li>Add a plugin to upgrade firmware on ATA-ATAPI hardware</li>
          <li>Add a quirk to use the legacy bootmgr description</li>
          <li>Add flag to support manually aligning the NVMe firmware to the FWUG value</li>
          <li>Add SuperIO IT89xx device support</li>
          <li>Add support for Dell dock passive flow</li>
          <li>Add 'update' and 'get-updates' commands to fwupdtool</li>
          <li>Allow Dell dock flashing Thunderbolt over I2C</li>
          <li>Check the battery percentage before flashing</li>
          <li>Show a per-release source and details URL</li>
          <li>Show a `UpdateMessage` and display it in tools</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add the needs-shutdown quirk to Phison NVMe drives</li>
          <li>Correct Nitrokey Storage invalid firmware version read</li>
          <li>Do not check the BGRT status before uploading a UX capsule</li>
          <li>Do the UEFI UX checksum calculation in fwupd</li>
          <li>Fix flashing various Jabra devices</li>
          <li>Fix the parser to support extended segment addresses</li>
          <li>Flash the fastboot partition after downloading the file</li>
          <li>Show a console warning if loading an out-of-tree plugin</li>
          <li>Support FGUID to get the SKU GUID for NVMe hardware</li>
        </ul>
      </description>
    </release>
    <release version="1.2.3" date="2019-01-04">
      <description>
        <p>This release fixes the following bug:</p>
        <ul>
          <li>Correctly migrate the history database</li>
        </ul>
      </description>
    </release>
    <release version="1.2.2" date="2018-12-30">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add support for devices that support fastboot</li>
          <li>Add more standard USB identifier GUIDs</li>
          <li>Add new API to get the release protocol from the metadata</li>
          <li>Add the PCR0 value as the device checksum for system firmware</li>
          <li>Include the device firmware checksum and update protocol in the report</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add Dell TB18DC to the supported devices list</li>
          <li>Allow replacing the last byte in the image when using 'dfu-tool replace-data'</li>
          <li>Append the UEFI capsule header in userspace rather than in the loader</li>
          <li>Check the device checksum as well as the content checksum during verify</li>
          <li>Correctly parse format the version numbers correctly using old metadata</li>
          <li>Fix a crash if AMT returns an empty response</li>
          <li>Fix a regression when doing GetReleases on unsupported hardware</li>
          <li>Fix the 8bitdo version number if the daemon locale is not C.UTF-8</li>
          <li>Remove the Wacom DTH generation hardware from the allowlist</li>
          <li>Sanitize the version if the version format has been specified</li>
        </ul>
      </description>
    </release>
    <release version="1.2.1" date="2018-11-27">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add per-release install duration values</li>
          <li>Shut down the daemon after 2h of inactivity when possible</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Fix a use-after-free when using --immediate-exit</li>
          <li>Fix flashing the 8bitdo SF30</li>
          <li>Fix showing the custom remote agreements</li>
          <li>Include the os-release information in the release metadata</li>
          <li>Speed up startup by loading less thunderbolt firmware</li>
          <li>Speed up startup by using a silo index for GUID queries</li>
          <li>Use less memory and fragment the heap less when starting</li>
        </ul>
      </description>
    </release>
    <release version="1.2.0" date="2018-11-07">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a plugin for an upcoming Dell USB-C dock</li>
          <li>Add a standalone installer creation script</li>
          <li>Add support for devices to show an estimated flash time</li>
          <li>Add support for some new Realtek USB devices</li>
          <li>Allow firmware files to depend on versions from other devices</li>
          <li>Allow setting the version format from a quirk entry</li>
          <li>Port from libappstream-glib to libxmlb for a large reduction in RSS</li>
          <li>Stop any running daemon over dbus when using fu-tool</li>
          <li>Support the Intel ME version format</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add version format quirks for several Lenovo machines</li>
          <li>Adjust panamera ESM update routine for some reported issues</li>
          <li>Adjust synapticsmst EVB board handling</li>
          <li>Check the amount of free space on the ESP</li>
          <li>Don't show devices pending a reboot in GetUpgrades</li>
          <li>Ensure that parent ID is created before creating quirked children</li>
          <li>Optionally wait for replug before updating a device</li>
          <li>Set the full AMT device version including the BuildNum</li>
          <li>Sort the firmware sack by component priority</li>
          <li>Stop showing errors when no Dell dock plugged in</li>
          <li>Stop showing the current release during updates in fwupdmgr</li>
          <li>Update all sub-devices for a composite update</li>
          <li>Use HTTPS_PROXY if set</li>
        </ul>
      </description>
    </release>
    <release version="1.1.2" date="2018-09-10">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>
            Add a new device flag 'ignore-validation' that will
            override checks
          </li>
          <li>Add a new plugin to enumerate EC firmware</li>
          <li>Add a new plugin to update NVMe hardware</li>
          <li>Add a plugin for updating using the flashrom command line tool</li>
          <li>Allow the device list to take care of waiting for the device replug</li>
          <li>Allow updating just one specific device from the command line</li>
          <li>Allow upgrades using a self-signed fwupd.efi binary</li>
          <li>Download firmware if the user specifies a URI</li>
          <li>Include serial number in daemon device output when trusted</li>
          <li>Notify all plugins of device removals through a new vfunc</li>
          <li>Use boltd force power API if available</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add an install hook for classic snap</li>
          <li>Allow forcing installation even if no AC power is applied</li>
          <li>Allow using --force to ignore version_lowest</li>
          <li>Always use the same HardwareIDs as Windows</li>
          <li>Check the device state before assuming a fake DFU runtime</li>
          <li>Copy over parent GUIDs from other plugin donors</li>
          <li>Detect location of python3 interpreter</li>
          <li>Do not add udev devices after a small delay</li>
          <li>Don't fail to run if compiled without GPG/PKCS7</li>
          <li>Fix a segfault in fwupdtool caused by cleanup of USB plugins</li>
          <li>Implement the systemd recommendations for offline updates</li>
          <li>Improve performance when reading keys from the quirk database</li>
          <li>Remove children of devices when the parent is removed</li>
          <li>Rewrite synapticsmst to use modern error handling</li>
          <li>
            Rewrite the unifying plugin to use the new daemon-provided
            functionality
          </li>
          <li>Show a time estimate on the progressbar after an update has started</li>
        </ul>
      </description>
    </release>
    <release version="1.1.1" date="2018-08-13">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add support for the Synaptics Panamera hardware</li>
          <li>Add validation for Alpine and Titan Ridge</li>
          <li>Improve the Redfish plugin to actually work with real hardware</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow different plugins to add the same device</li>
          <li>Allow flashing unifying devices in recovery mode</li>
          <li>Allow running synapticsmst on non-Dell hardware</li>
          <li>Check the ESP for sanity at startup</li>
          <li>Do not hold hidraw devices open forever</li>
          <li>Don't override _FORTIFY_SOURCE when building the EFI binary</li>
          <li>Don't show passwords in fwupdmgr</li>
          <li>Fix a potential segfault in smbios data parsing</li>
          <li>Fix encoding the GUID into the capsule EFI variable</li>
          <li>Fix various bugs when reading the thunderbolt version number</li>
          <li>Reboot synapticsmst devices at the end of flash cycle</li>
          <li>Show status messages when the daemon is initializing</li>
          <li>Show the correct title when updating devices</li>
          <li>Show the reasons that plugins are not run on the CLI</li>
          <li>Use localedir in po/make-images</li>
        </ul>
      </description>
    </release>
    <release version="1.1.0" date="2018-07-11">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a initial Redfish support</li>
          <li>Add a tool to mimic the original fwupdate CLI interface</li>
          <li>Allow devices to assign a plugin from the quirk subsystem</li>
          <li>Change the quirk file structure to be more efficient</li>
          <li>Merge fwupdate functionality into fwupd</li>
          <li>
            Run a plugin vfunc before and after all the composite devices are
            updated
          </li>
          <li>Support more Wacom tablets</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add release information for locked devices</li>
          <li>Allow building with older meson</li>
          <li>Detect the EFI system partition location at runtime</li>
          <li>Do not use 8bitdo bootloader commands after a successful flash</li>
          <li>Enable accessing downloaded files in flatpak and snap</li>
          <li>Fix a potential buffer overflow when applying a DFU patch</li>
          <li>Fix downgrading older releases to devices</li>
          <li>Fix flashing devices that require a manual replug</li>
          <li>Fix several small memory leaks in various places</li>
          <li>Fix the retrieval of Redfish version</li>
          <li>Fix unifying failure to detach when using a slow host controller</li>
          <li>Set the Wacom device status when erasing and writing firmware</li>
          <li>Show errors in the CLI if unable to access directory</li>
          <li>Use the parent device name for Wacom sub-modules</li>
        </ul>
      </description>
    </release>
    <release version="1.0.8" date="2018-06-07">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a plugin to update some future Wacom tablets</li>
          <li>Add 'fwupdmgr get-topology' to show logical device tree</li>
          <li>Add support for creating a flatpak</li>
          <li>Add support for creating a snap</li>
          <li>Add support for Motorola S-record files</li>
          <li>Add the Linux Foundation public GPG keys for firmware and metadata</li>
          <li>Show a translated warning when the server is limiting downloads</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a firmware diagnostic tool called fwupdtool</li>
          <li>Adjust all licensing to LGPL 2.1+</li>
          <li>
            Allow installing more than one firmware using 'fwupdmgr
            install'
          </li>
          <li>Allow specifying hwids with OR relationships</li>
          <li>Do not call fu_plugin_init() on blacklisted plugins</li>
          <li>Do not require libcolorhug to build</li>
          <li>Fix a crash in libfwupd where no device ID is set</li>
          <li>Fix a potential DoS in libdfu by limiting holes to 1MiB</li>
          <li>Fix a segfault that sometimes occurs during cleanup of USB plugins</li>
          <li>Fix Hardware-ID{0,1,2,12} compatibility with Microsoft</li>
          <li>Hide devices that aren't updatable by default in fwupdmgr</li>
          <li>Search all UEFI GUIDs when matching hardware</li>
          <li>Stop matching Nintendo Switch Pro in the 8bitdo plugin</li>
        </ul>
      </description>
    </release>
    <release version="1.0.7" date="2018-04-30">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add enable-remote and disable-remote commands to fwupdmgr</li>
          <li>Add fu_plugin_add_compile_version() for libraries to use</li>
          <li>Allow requiring specific versions of libraries for firmware updates</li>
          <li>If no remotes are enabled try to enable the LVFS</li>
          <li>Show a warning with interactive prompt when enabling a remote</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Check that EFI system partition is mounted before update</li>
          <li>Disable synapticsmst remote control on failure</li>
          <li>Don't recoldplug thunderbolt to fix a flashing failure</li>
          <li>Fix SQL error when running 'fwupdmgr clear-offline'</li>
          <li>Improve the update report message</li>
          <li>Only enumerate Dell Docks if the type is known</li>
          <li>Only run certtool if a new enough gnutls is present</li>
          <li>Prevent a client crash if the daemon somehow sends invalid data</li>
          <li>Reboot after scheduling using logind not systemd</li>
          <li>Use the right encoding for the label in make-images</li>
        </ul>
      </description>
    </release>
    <release version="1.0.6" date="2018-03-12">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add bash completion for fwupdmgr</li>
          <li>Add support for newest Thunderbolt chips</li>
          <li>Allow all functions that take device arguments to be prompted</li>
          <li>Allow devices to use the runtime version when in bootloader mode</li>
          <li>Allow overriding ESP mount point via conf file</li>
          <li>Delete any old fwupdate capsules and efivars when launching fwupd</li>
          <li>Generate Vala bindings</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow ctrl-d out of the prompt for devices</li>
          <li>Allow to create package out of provided binary</li>
          <li>Correct handling of unknown Thunderbolt devices</li>
          <li>Correctly detect new remotes that are manually copied</li>
          <li>Fix a crash related to when passing device to downgrade in CLI</li>
          <li>Fix running the self tests when no fwupd is installed</li>
          <li>Fix Unifying signature writing and parsing for Texas bootloader</li>
          <li>Only send success and failure reports to the server</li>
          <li>Use a CNAME to redirect to the correct CDN for metadata</li>
          <li>Use a longer timeout when powering back the Thunderbolt device</li>
        </ul>
      </description>
    </release>
    <release version="1.0.5" date="2018-02-14">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Offer to reboot when processing an offline update</li>
          <li>Report the efivar, libsmbios and fwupdate library versions</li>
          <li>Report Thunderbolt safe mode and SecureBoot status</li>
          <li>Show the user a URL when they report a known problem</li>
          <li>Support split cabinet archives as produced by Windows Update</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Be more careful deleting and modifying device history</li>
          <li>Clarify which devices don't have upgrades</li>
          <li>Ensure the Thunderbolt version is xx.yy</li>
          <li>Fix a daemon warning when using fwupdmgr get-results</li>
          <li>Fix crash with MST flashing</li>
          <li>Fix DFU detach with newer releases of libusb</li>
          <li>Include the device VID and PID when generating the device-id</li>
          <li>Set the RemoteId when using GetDetails</li>
          <li>Stop matching 8bitdo DS4 controller VID/PID</li>
          <li>Use help2man for dfu-tool and drop docbook dependencies</li>
          <li>Use ngettext for any strings with plurals</li>
          <li>Use the default value if ArchiveSizeMax is unspecified</li>
        </ul>
      </description>
    </release>
    <release version="1.0.4" date="2018-01-25">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add D-Bus methods to get and modify the history information</li>
          <li>Allow the user to share firmware update success or failure</li>
          <li>Ask the user to refresh metadata when it is very old</li>
          <li>Store firmware update success and failure to a local database</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a device name for locked UEFI devices</li>
          <li>Allow each plugin to opt-in to the recoldplug action</li>
          <li>Fix firmware downloading using gnome-software</li>
          <li>Fix UX capsule reference to the one specified in efivar</li>
          <li>Never add two devices to the daemon with the same ID</li>
          <li>Rescan supported flags when refreshing metadata</li>
        </ul>
      </description>
    </release>
    <release version="1.0.3" date="2018-01-09">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a new plugin to add support for CSR 'Driverless DFU'</li>
          <li>Add initial SF30/SN30 Pro support</li>
          <li>Support AppStream metadata with relative &lt;location&gt; URLs</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add more metadata to the user-agent string</li>
          <li>Block owned Dell TPM updates</li>
          <li>Choose the correct component from provides matches using requirements</li>
          <li>Do not try to parse huge compressed archive files</li>
          <li>Fix a double-free bug in the Udev code</li>
          <li>Handle Thunderbolt 'native' mode</li>
          <li>
            Use the new functionality in libgcab &gt;= 1.0 to avoid writing temp
            files
          </li>
        </ul>
      </description>
    </release>
    <release version="1.0.2" date="2017-11-28">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a plugin for the Nitrokey Storage device</li>
          <li>Add support for the original AVR DFU protocol</li>
          <li>Allow different plugins to claim the same device</li>
          <li>Allow quirks to set common USB properties</li>
          <li>Move a common plugin functionality out to a new shared object</li>
          <li>Optionally delay the device removal for better replugging</li>
          <li>Set environment variables to allow easy per-plugin debugging</li>
          <li>Use a SHA1 hash for the internal DeviceID</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add quirk for AT32UC3B1256 as used in the RubberDucky</li>
          <li>Disable the dell plugin if libsmbios fails</li>
          <li>Don't register for USB UDev events to later ignore them</li>
          <li>Fix a possible buffer overflow when debugging ebitdo devices</li>
          <li>Fix critical warning when more than one remote fails to load</li>
          <li>Fix DFU attaching AVR32 devices like the XMEGA</li>
          <li>Ignore useless Thunderbolt device types</li>
          <li>Refactor ColorHug into a much more modern plugin</li>
          <li>Release the Steelseries interface if getting the version failed</li>
          <li>Remove autoconf-isms from the meson configure options</li>
          <li>Show a nicer error message if the requirement fails</li>
          <li>Sort the output of GetUpgrades correctly</li>
        </ul>
      </description>
    </release>
    <release version="1.0.1" date="2017-11-09">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add support for HWID requirements</li>
          <li>Add support for programming various AVR32 and XMEGA parts using DFU</li>
          <li>Add the various DFU quirks for the Jabra Speak devices</li>
          <li>Allow specifying the output file type for 'dfu-tool read'</li>
          <li>Move the database of supported devices out into runtime loaded files</li>
          <li>Support the IHEX record type 0x05</li>
          <li>Use help2man to generate the man page at build time</li>
          <li>Use the new quirk infrastructure for version numbers</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Catch invalid Dell dock component requests</li>
          <li>Correctly output Intel HEX files with &gt; 16bit offset addresses</li>
          <li>Do not try to verify the element write if upload is unsupported</li>
          <li>Fix a double-unref when updating any 8BitDo device</li>
          <li>Fix crash when enumerating with Dell dock connected but with no UEFI</li>
          <li>Fix uploading large firmware files over DFU</li>
          <li>Format the BCD USB revision numbers correctly</li>
          <li>Guess the DFU transfer size if it is not specified</li>
          <li>Include the reset timeout as wValue to fix some DFU bootloaders</li>
          <li>Make the error message clearer when sans fonts are missing</li>
          <li>Support devices with truncated DFU interface data</li>
          <li>
            Use the correct remote-specified username and password when using
            fwupdmgr
          </li>
          <li>Use the correct wDetachTimeOut when writing DFU firmware</li>
          <li>Verify devices with legacy VIDs are actually 8BitDo controllers</li>
        </ul>
      </description>
    </release>
    <release version="1.0.0" date="2017-10-09">
      <description>
        <p>This release breaks API and ABI to remove deprecated symbols!</p>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a human-readable title for each remote</li>
          <li>Add a method to return a list of upgrades for a specific device</li>
          <li>
            Add an 'Summary' and 'Icons' properties to each
            device
          </li>
          <li>Add FuDeviceLocker to simplify device open/close lifecycles</li>
          <li>Add functionality to blocklist Dell HW with problems</li>
          <li>Add fu_plugin_check_supported()</li>
          <li>Add fwupd_remote_get_checksum() to use in client programs</li>
          <li>Add ModifyRemote as an easy way to enable and disable remotes</li>
          <li>Add the plugin documentation to the main gtk-doc</li>
          <li>Allow plugins to depend on each other</li>
          <li>Disable the fallback USB plugin</li>
          <li>Parse the SMBIOS v2 and v3 DMI tables directly</li>
          <li>Support uploading the UEFI firmware splash image</li>
          <li>Use the intel-wmi-thunderbolt kernel module to force power</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Only run SMI to toggle host MST GPIO on Dell systems with host MST</li>
          <li>Disable unifying support if no CONFIG_HIDRAW support</li>
          <li>Do not auto-open all USB devices at startup</li>
          <li>Do not fail to load the daemon if cached metadata is invalid</li>
          <li>Do not use system-specific information for UEFI PCI devices</li>
          <li>Fix a crash when using fu_plugin_device_add_delay()</li>
          <li>Fix the libdfu self test failure on s390 and ppc64</li>
          <li>Fix various printing issues with the progressbar</li>
          <li>Generate the LD script from the GObject introspection data</li>
          <li>Never fallback to an offline update from client code</li>
          <li>Only set the Dell coldplug delay when we know we need it</li>
          <li>Prefer to use HWIDs to get DMI keys and DE table</li>
        </ul>
      </description>
    </release>
    <release version="0.9.7" date="2017-09-01">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a configure switch for the LVFS remotes</li>
          <li>Add a FirmwareBaseURI parameter to the remote config</li>
          <li>Add a firmware builder that uses bubblewrap</li>
          <li>
            Add a python script to create fwupd compatible cab files from
            Microsoft .exe files
          </li>
          <li>Add a thunderbolt plugin for new kernel interface</li>
          <li>Allow plugins to get DMI data from the hardware in a safe way</li>
          <li>Allow plugins to set metadata on devices created by other plugins</li>
          <li>Optionally install the LVFS PKCS7 root certificate</li>
          <li>Optionally use GnuTLS to verify PKCS7 certificates</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add back options for HAVE_SYNAPTICS and HAVE_THUNDERBOLT</li>
          <li>Allow configuring systemd and udev directories</li>
          <li>Enable C99 support in meson.build</li>
          <li>Fix an incomplete cipher when using XTEA on data not in 4 byte chunks</li>
          <li>Fix minor const-correctness issues</li>
          <li>Implement thunderbolt image validation </li>
          <li>Remove the confusing ALLOW_OFFLINE and ALLOW_ONLINE flags</li>
          <li>Show a bouncing progress bar if the percentage remains at zero</li>
          <li>Use a hwid to match supported systems for synapticsmst</li>
          <li>Use the new bootloader PIDs for Unifying pico receivers</li>
          <li>When thunderbolt is in safe mode on a Dell recover using SMBIOS</li>
        </ul>
      </description>
    </release>
    <release version="0.9.6" date="2017-08-03">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add DfuPatch to support forward-only firmware patching</li>
          <li>Add --version option to fwupdmgr</li>
          <li>Display all errors recorded by efi_error tracing</li>
          <li>Make building introspection optional</li>
          <li>Support embedded devices with local firmware metadata</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Check all the device GUIDs against the blocklist when added</li>
          <li>Correct a memory leak in Dell plugin</li>
          <li>Default to 'en' for UEFI capsule graphics</li>
          <li>Don't log a warning when an unknown unifying report is parsed</li>
          <li>Enable test suite via /etc/fwupd.conf</li>
          <li>Fix a hang on 32 bit computers</li>
          <li>Fix compilation of the policy on a variety of configurations</li>
          <li>Fix UEFI crash when the product name is NULL</li>
          <li>Make flashing ebitdo devices work with fu-ebitdo-tool</li>
          <li>Make messages from installing capsules useful</li>
          <li>Make sure the unifying percentage completion goes from 0% to 100%</li>
          <li>Run the plugin coldplug methods in a predictable order</li>
          <li>Test UEFI for kernel support during coldplug</li>
          <li>Use new GUsb functionality to fix flashing Unifying devices</li>
        </ul>
      </description>
    </release>
    <release version="0.9.5" date="2017-07-04">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a get-remotes command to fwupdmgr</li>
          <li>Add a plugin to get the version of the AMT ME interface</li>
          <li>Add Arch Linux to CI</li>
          <li>Add some installed tests flashing actual hardware</li>
          <li>Allow flashing Unifying devices in bootloader modes</li>
          <li>Allow ordering the metadata remotes</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Do not check the runtime if the DFU device is in bootloader mode</li>
          <li>Do not unlock devices when doing VerifyUpdate</li>
          <li>Filter by Unifying SwId when making HID++2.0 requests</li>
          <li>Fix downgrades when version_lowest is set</li>
          <li>Fix the self tests when running on PPC64 big endian</li>
          <li>Move the remotes parsing from the client to the server</li>
          <li>Split up the Unifying HID++2.0 and HID++1.0 functionality</li>
          <li>Store the metadata files rather than merging to one store</li>
          <li>Use a longer timeout for some Unifying operations</li>
          <li>Use the UFY DeviceID prefix for Unifying devices</li>
        </ul>
      </description>
    </release>
    <release version="0.9.4" date="2017-06-15">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add installed tests that use the daemon</li>
          <li>Add the ability to restrict firmware to specific vendors</li>
          <li>Enable Travis CI for Fedora and Debian</li>
          <li>Export some more API for dealing with checksums</li>
          <li>Generate a images for status messages during system firmware update</li>
          <li>Show progress download when refreshing metadata</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Compile with newer versions of meson</li>
          <li>Ensure that firmware provides are legal GUIDs</li>
          <li>Fix a common crash when refreshing metadata</li>
          <li>Use the correct type signature in the D-Bus introspection file</li>
        </ul>
      </description>
    </release>
    <release version="0.9.3" date="2017-06-07">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a 'downgrade' command to fwupdmgr</li>
          <li>Add a 'get-releases' command to fwupdmgr</li>
          <li>Add support for ConsoleKit2</li>
          <li>Add support for Microsoft HardwareIDs</li>
          <li>Allow downloading metadata from more than just the LVFS</li>
          <li>Allow multiple checksums on devices and releases</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow to specify bindir</li>
          <li>Correctly open Unifying devices with original factory firmware</li>
          <li>Deprecate some of the old FwupdResult API</li>
          <li>Do not copy the origin from the new metadata file</li>
          <li>Do not expect a Unifying reply when issuing a REBOOT command</li>
          <li>Do not re-download firmware that exists in the cache</li>
          <li>Fix a problem when testing for a Dell system</li>
          <li>Fix flashing new firmware to 8bitdo controllers</li>
          <li>Increase minimum required AppStream-Glib version to 0.6.13</li>
          <li>Make documentation and man pages optional</li>
          <li>Make systemd dependency at least version 231</li>
          <li>Only decompress the firmware after the signature check</li>
          <li>Remove 'lib' prefix when looking for libraries</li>
          <li>Return the remote ID when getting updates about hardware</li>
          <li>Send the daemon the remote ID when sending firmware metadata</li>
        </ul>
      </description>
    </release>
    <release version="0.9.2" date="2017-05-22">
      <description>
        <p>This release adds the following feature:</p>
        <ul>
          <li>Add support for Unifying DFU features</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Do not spew a critical warning when parsing an invalid URI</li>
          <li>Ensure device is closed if did not complete setup</li>
          <li>Ensure steelseries device is closed if it returns an invalid packet</li>
          <li>Fix man page installation location</li>
          <li>Ignore spaces in the Unifying version prefix</li>
          <li>Set HAVE_POLKIT_0_114 when polkit is newer than 0.114</li>
        </ul>
      </description>
    </release>
    <release version="0.9.1" date="2017-04-28">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a config option to allow runtime disabling plugins by name</li>
          <li>Add the Meson build system and remove autotools</li>
          <li>Support signed Intel HEX files</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add DFU quirk for OpenPICC and SIMtrace</li>
          <li>Create directories in /var/cache as required</li>
          <li>Refactor the unifying plugin now we know more about the hardware</li>
          <li>Set the source origin when saving metadata</li>
          <li>Support proxy servers in fwupdmgr</li>
          <li>Use a 60 second timeout on all client downloads</li>
        </ul>
      </description>
    </release>
    <release version="0.8.1" date="2017-02-27">
      <description>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Adjust systemd confinement restrictions</li>
          <li>Do not hardcode docbook2man path</li>
          <li>Don't initialize libsmbios on unsupported systems</li>
          <li>Fix a crash when enumerating devices on a Dell WLD15</li>
          <li>Fix compiler warnings</li>
          <li>Fix fwupdmgr timeout with missing pending database</li>
        </ul>
      </description>
    </release>
    <release version="0.8.0" date="2017-02-08">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a set of vfuncs that are run before and after a device update</li>
          <li>
            Add Dell-specific functionality to allow other plugins turn on
            TBT/GPIO
          </li>
          <li>Add support for Intel Thunderbolt devices</li>
          <li>Add support for Logitech Unifying devices</li>
          <li>Add support for Synaptics MST cascades hubs</li>
          <li>Add support for the Altus-Metrum ChaosKey device</li>
          <li>Add VerifyUpdate to update the device checksums server-side</li>
          <li>
            Allow the metadata to match a version of fwupd and the existing fw
            version
          </li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a new method for forcing a controller to flash mode</li>
          <li>Always make sure we're getting a C99 compiler</li>
          <li>Close USB devices before error returns</li>
          <li>Don't read data from some DfuSe targets</li>
          <li>Include all debug messages when run with --verbose</li>
          <li>Return the pending UEFI update when not on AC power</li>
          <li>
            Use a heuristic for the start address if the firmware has no DfuSe
            footer
          </li>
          <li>Use more restrictive settings when running under systemd</li>
        </ul>
      </description>
    </release>
    <release version="0.7.5" date="2016-10-19">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a 'replace-data' command to dfu-tool</li>
          <li>Use an animated progress bar when performing DFU operations</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add quirks for HydraBus as it does not have a DFU runtime</li>
          <li>
            Don't create the UEFI dummy device if the unlock will happen on
            next boot
          </li>
          <li>Enable hardening flags on more binaries</li>
          <li>Fix an assert when unlocking the dummy ESRT device</li>
          <li>Fix writing firmware to devices using the ST reference bootloader</li>
          <li>Match the Dell TB16 device</li>
          <li>Re-get the quirks when the DfuDevice gets a new GUsbDevice</li>
          <li>Show the nicely formatted target name for DfuSe devices</li>
          <li>Verify devices support updating in mode they are called</li>
        </ul>
      </description>
    </release>
    <release version="0.7.4" date="2016-09-19">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add dfu_firmware_add_symbol()</li>
          <li>Allow the argument to 'dfu-tool set-release' be major.minor</li>
          <li>Load the Altos USB descriptor from ELF files</li>
          <li>Support writing the IHEX symbol table</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a fallback for older appstream-glib releases</li>
          <li>Fix a possible crash when uploading firmware files using libdfu</li>
          <li>Fix libfwupd self tests when a host-provided fwupd is not available</li>
          <li>
            Show the human-readable version in the 'dfu-tool dump'
            output
          </li>
          <li>Write the ELF files with the correct section type</li>
        </ul>
      </description>
    </release>
    <release version="0.7.3" date="2016-08-29">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a set-address and set-target-size commands to dfu-util</li>
          <li>Add a small library for talking with 0bitdo hardware</li>
          <li>Add Dell TPM and TB15/WD15 support via new Dell provider</li>
          <li>Add FU_DEVICE_FLAG_NEEDS_BOOTLOADER</li>
          <li>Add fwupd_client_get_status()</li>
          <li>Add fwupd_result_get_unique_id()</li>
          <li>Add initial ELF reading and writing support to libdfu</li>
          <li>Add support for installing multiple devices from a CAB file</li>
          <li>Allow providers to export percentage completion</li>
          <li>Show a progress notification when installing firmware</li>
          <li>Show the vendor flashing instructions when installing</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add XPS 9250 to Dell TPM modeswitch blocklist</li>
          <li>Allow blacklisting devices by their GUID</li>
          <li>Conditionally enable all providers based upon installed</li>
          <li>Display flashes left in results output when it gets low</li>
          <li>Do not attempt to add DFU devices not in runtime mode</li>
          <li>Do not use the deprecated GNOME_COMPILE_WARNINGS</li>
          <li>Don't fail while checking versions or locked state</li>
          <li>Embed fwupd version in generated documentation</li>
          <li>Ensure the ID is set when getting local firmware details</li>
          <li>Fix gtk-doc build when srcdir != builddir</li>
          <li>Fix libdfu hang when parsing corrupt IHEX files</li>
          <li>Ignore devices that do not add at least one GUID</li>
          <li>In get-details output, display the blob filename</li>
          <li>Save the unique ID in the pending database</li>
          <li>Support the 'DEVO' cipher kind in libdfu</li>
          <li>Switch to the Amazon S3 CDN for firmware metadata</li>
          <li>Update fwupdmgr manpage for new commands and arguments</li>
          <li>Use a private gnupg key store</li>
          <li>Use the correct firmware when installing a composite device</li>
          <li>Use the SHA1 hash of the local file data as the origin</li>
        </ul>
      </description>
    </release>
    <release version="0.7.2" date="2016-06-13">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a GetDetailsLocal() method to eventually replace GetDetails()</li>
          <li>Add fu_device_get_alternate()</li>
          <li>Allow devices to have multiple assigned GUIDs</li>
          <li>Allow metainfo files to match only specific revisions of devices</li>
          <li>Show the DFU protocol version in 'dfu-tool list'</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Enforce allowing providers to take away flash abilities</li>
          <li>Only claim the DFU interface when required</li>
          <li>Only return updatable devices from GetDevices()</li>
        </ul>
      </description>
    </release>
    <release version="0.7.1" date="2016-05-13">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a --force flag to override provider warnings</li>
          <li>Add device-added, device-removed and device-changed signals</li>
          <li>Add dfu_image_get_element_default()</li>
          <li>Add for a new device field 'Flashes Left'</li>
          <li>Add fwupd_client_connect()</li>
          <li>Add the 'monitor' debugging command for fwupdmgr</li>
          <li>Add the 'supported' flag to the FuDevice</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add summary and name field for Rival SteelSeries</li>
          <li>Fix a critical warning when restarting the daemon</li>
          <li>Fix BE issues when reading and writing DFU files</li>
          <li>Make the device display name nicer</li>
          <li>Match the AppStream metadata after a device has been added</li>
          <li>Remove non-interactive pinentry setting from fu-keyring</li>
          <li>Return all update descriptions newer than the installed version</li>
          <li>Set the device description when parsing local firmware files</li>
        </ul>
      </description>
    </release>
    <release version="0.7.0" date="2016-04-01">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a version plugin for SteelSeries hardware</li>
          <li>Add FwupdClient and FwupdResult to libfwupd</li>
          <li>Generate gtk-doc documentation for libfwupd</li>
          <li>Return the device flags when getting firmware details</li>
          <li>Support other checksum kinds</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add Alienware to the version quirk table</li>
          <li>Allow the test suite to run in %check</li>
          <li>Do not return updates that require AC when on battery</li>
          <li>Do not use /tmp for downloaded files</li>
          <li>Test that GPG key import actually was successful</li>
        </ul>
      </description>
    </release>
    <release version="0.6.3" date="2016-03-14">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add an unlock method for devices</li>
          <li>Add a simple plugin infrastructure</li>
          <li>Add ESRT enable method into UEFI provider</li>
          <li>Install the hardcoded firmware AppStream file</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Correct the BCD version number for DFU 1.1</li>
          <li>Do not use deprecated API from libappstream-glib</li>
          <li>Ignore the DFU runtime on the DW1820A</li>
          <li>Only read PCI OptionROM firmware when devices are manually unlocked</li>
          <li>Require AC power before scheduling some types of firmware update</li>
          <li>Show ignored DFU devices in dfu-util, but not in fwupd</li>
        </ul>
      </description>
    </release>
    <release version="0.6.2" date="2016-02-12">
      <description>
        <p>This release adds the following feature:</p>
        <ul>
          <li>
            Add 'Created' and 'Modified' properties on
            managed devices
          </li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Fix get-results for UEFI provider</li>
          <li>Support vendor-specific UEFI version encodings</li>
        </ul>
      </description>
    </release>
    <release version="0.6.1" date="2016-01-19">
      <description>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Always persist ColorHug devices after replug</li>
          <li>Do not misdetect different ColorHug devices</li>
          <li>Only dump the profiling data when run with --verbose</li>
        </ul>
      </description>
    </release>
    <release version="0.6.0" date="2015-12-07">
      <description>
        <p>
          This release adds a new GObject library called libdfu and a command
          line client called dfu-tool. This is a low-level tool used to upgrade
          USB device firmware and can either be shipped in the same package as
          fwupd or split off as separate subpackages.
        </p>
        <p>This release adds the following feature:</p>
        <ul>
          <li>Add support for automatically updating USB DFU-capable devices</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Emit the changed signal after doing an update</li>
          <li>Export the AppStream ID when returning device results</li>
          <li>Fix compile with --disable-shared</li>
          <li>Use new API available in fwup 0.5</li>
          <li>Use the same device identification string format as Microsoft</li>
        </ul>
      </description>
    </release>
    <release version="0.5.3" date="2015-11-05">
      <description>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Avoid seeking when reading the file magic during refresh</li>
          <li>Do not assume that the compressed XML data will be NUL terminated</li>
          <li>Use the correct user agent string for fwupdmgr</li>
        </ul>
      </description>
    </release>
    <release version="0.5.2" date="2015-10-28">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add profiling data to debug slow startup times</li>
          <li>Support cabinet archives files with more than one firmware</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add the update description to the GetDetails results</li>
          <li>
            Clear the in-memory firmware store only after parsing a valid XML
            file
          </li>
          <li>Ensure D-Bus remote errors are registered at fwupdmgr startup</li>
          <li>
            Fix verify-update to produce components with the correct provide
            values
          </li>
          <li>Require appstream-glib 0.5.1</li>
          <li>Show the dotted-decimal representation of the UEFI version number</li>
          <li>
            When the version is from the 'FW' extension do not cache
            the device
          </li>
        </ul>
      </description>
    </release>
    <release version="0.5.1" date="2015-09-21">
      <description>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Fix the error message when no devices can be updated</li>
          <li>Fix reading symlink to prevent crash with some compilers</li>
        </ul>
      </description>
    </release>
    <release version="0.5.0" date="2015-09-15">
      <description>
        <p>This release adds the following feature:</p>
        <ul>
          <li>Raise the dep on GLib to support and use g_autoptr()</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Do not merge existing firmware metadata</li>
          <li>Do not reboot if racing with the PackageKit offline update mechanism</li>
        </ul>
      </description>
    </release>
    <release version="0.1.6" date="2015-09-10">
      <description>
        <p>This release adds the following feature:</p>
        <ul>
          <li>Remove fwsignd, we have the LVFS now</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add application metadata when getting the updates list</li>
          <li>Depend on appstream-glib &gt;= 0.5.0</li>
          <li>Don't apply firmware if something else is processing the update</li>
          <li>Install fwupd into /usr/lib/$(triplet)/fwupd instead</li>
          <li>Simplify the version properties on devices to avoid complexity</li>
          <li>Update the offline update service to invoke right command</li>
          <li>Use the new secure metadata URI</li>
        </ul>
      </description>
    </release>
    <release version="0.1.5" date="2015-08-12">
      <description>
        <p>
          For the device verification code to work correctly you need at least
          libappstream-glib 0.5.0 installed.
        </p>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a Raspberry Pi firmware provider</li>
          <li>Add a simple config file to store the correct LVFS download URI</li>
          <li>Make parsing the option ROM runtime optional</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow fwupd to be autostarted by systemd</li>
          <li>
            Allow no arguments to 'fwupdmgr verify-update' and use sane
            defaults
          </li>
          <li>Devices with option ROM are always internal</li>
          <li>Do not pre-convert the update description from AppStream XML</li>
          <li>Fix validation of written firmware</li>
          <li>Move the verification and metadata matching phase to the daemon</li>
          <li>Sign the test binary with the correct key</li>
          <li>Use the AppStream 0.9 firmware specification by default</li>
        </ul>
      </description>
    </release>
    <release version="0.1.4" date="2015-07-25">
      <description>
        <p>
          In this release we've moved the LVFS website to the fwupd project
          and made them work really well together. To update all the firmware on
          your system is now just a case of 'fwupdmgr refresh &amp;&amp;
          fwupdmgr update'.
          We've also added verification of BIOS and PCI ROM firmware, which
          may be useful for forensics or to verify that system updates have been
          applied.
        </p>
        <p>This release adds the following features:</p>
        <ul>
          <li>Actually parse the complete PCI option ROM</li>
          <li>
            Add a 'fwupdmgr update' command to update all devices to
            latest versions
          </li>
          <li>Add a simple signing server that operates on .cab files</li>
          <li>
            Add a 'verify' command that verifies the cryptographic hash
            of device firmware
          </li>
          <li>Allow clients to add new firmware metadata to the system cache</li>
          <li>Move GetUpdates to the daemon</li>
          <li>Move the LVFS website to the fwupd project</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Accept multiple files at one time when using fwupdmgr dump-rom</li>
          <li>Automatically download metadata using fwupdmgr if required</li>
          <li>Do not return NULL as a gboolean</li>
          <li>Don't call efibootmgr after fwupdate</li>
          <li>Fallback to offline install when calling the update argument</li>
          <li>Fix Intel VBIOS detection on Dell hardware</li>
          <li>Reload appstream data after refreshing</li>
          <li>Use the new LVFS GPG key</li>
          <li>Fix build: libgusb is required even without colorhug support</li>
        </ul>
      </description>
    </release>
    <release version="0.1.3" date="2015-05-28">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Get the firmware version from the device descriptors</li>
          <li>Run the offline actions using systemd when required</li>
          <li>Support OpenHardware devices using the fwupd vendor extensions</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add an UNKNOWN status so we can return meaningful enum values</li>
          <li>Coldplug the devices before acquiring the well known name</li>
        </ul>
      </description>
    </release>
    <release version="0.1.2" date="2015-04-22">
      <description>
      </description>
    </release>
    <release version="0.1.1" date="2015-03-23">
      <description>
        <p>This release adds the following features:</p>
        <ul>
          <li>Add a 'get-updates' command to fwupdmgr</li>
          <li>Add and document the offline-update lifecycle</li>
          <li>Create a libfwupd shared library</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Create runtime directories if they do not exist</li>
          <li>Do not crash when there are no devices to return</li>
        </ul>
      </description>
    </release>
    <release version="0.1.0" date="2015-03-16">
      <description>
        <p>fwupd is a simple daemon to allow session software to update firmware.</p>
      </description>
    </release>
  </releases>
</component>
