<?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://www.transifex.com/freedesktop/fwupd/</url>
  <update_contact>richard_at_hughsie.com</update_contact>
  <translation type="gettext">fwupd</translation>
  <content_rating type="oars-1.0">
    <content_attribute id="social-info">moderate</content_attribute>
  </content_rating>
  <provides>
    <binary>fwupdmgr</binary>
    <binary>fwupdtool</binary>
    <binary>fwupdagent</binary>
  </provides>
  <releases>
    <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 critial 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 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 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 master/slave 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>Whitelist 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 whitelist</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 passord 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 critial 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>
