<?xml version='1.0' encoding='UTF-8'?>
<component type="console-application">
  <id>org.freedesktop.fwupd</id>
  <metadata_license>CC0-1.0</metadata_license>
  <project_license>LGPL-2.0+</project_license>
  <name>fwupd</name>
  <summary>Update device firmware on Linux</summary>
  <description>
    <p>
      This project aims to make updating firmware on Linux automatic, safe and
      reliable.
      You can either use a GUI software manager like GNOME Software to view and
      apply updates, the command-line tool or the D-Bus interface directly.
    </p>
    <p>
      The fwupd process is a system daemon to allow session software to update
      device firmware on your local machine.
      It is designed for desktops, but this project is also usable on phones,
      tablets and on headless servers.
    </p>
  </description>
  <url type="bugtracker">https://github.com/fwupd/fwupd/issues</url>
  <url type="homepage">https://fwupd.org/</url>
  <url type="translate">https://hosted.weblate.org/projects/fwupd/fwupd/</url>
  <url type="vcs-browser">https://github.com/fwupd/fwupd</url>
  <update_contact>richard_at_hughsie.com</update_contact>
  <developer_name>The fwupd authors</developer_name>
  <developer id="org.fwupd">
    <name translate="no">The fwupd authors</name>
  </developer>
  <translation type="gettext">fwupd</translation>
  <content_rating type="oars-1.1">
    <content_attribute id="social-info">moderate</content_attribute>
  </content_rating>
  <provides>
    <binary>fwupdmgr</binary>
    <binary>fwupdtool</binary>
  </provides>
  <releases>
    <release version="2.1.3" date="2026-05-12">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add support for Redfish bearer token authentication</li>
          <li>Add support for several XMC SPI chips</li>
          <li>Parse JCat files in libfwupd without using libjcat</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Allow configuring a Redfish URI with a path prefix</li>
          <li>Avoid firmware matching errors for Cat-6 and Cat-12 modems</li>
          <li>Calculate and export a floating point percentage progress value</li>
          <li>Do not print clean remote success message if aborted</li>
          <li>Do not probe all Nordic devices with USB VID 0x1915</li>
          <li>Fix force table support in Elan IC types 0x13 and 0x14</li>
          <li>Fix Raydium information check flow to avoid incorrect validation</li>
          <li>Fix the Thunderbolt version number by ignoring the reserved bits</li>
          <li>Load well-known paths in dbxtool to prevent a regression</li>
          <li>Match a specific Raydium device to prevent resetting older hardware</li>
          <li>Only copy the HIDRAW USB properties if a DS-20 has been provided</li>
          <li>Use CA1 for a SK Hynix NVMe drive</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>SHIFT6mq and SHIFTphone 8</li>
        </ul>
      </description>
    </release>
    <release version="2.1.2" date="2026-04-24">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add an HSI check for AMD SB-7033 aka EntrySign</li>
          <li>Add native CBOR parsing and drop libcbor2 as a dep</li>
          <li>Add server platform detection to suspend HSI checks</li>
          <li>Allow setting a maximum version number for a device</li>
          <li>Allow setting context flags from HWID matches</li>
          <li>Increment the progressbar when waiting for replug</li>
          <li>Require Windows 8+ for the MSI build artifact</li>
          <li>Support loading EFI authenticated variables with ContentInfo headers</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add daemon support for modems that export ttyUSB devices</li>
          <li>Add decompression ratio limit to prevent parsing emulation ZIP bombs</li>
          <li>Add device activation flag for Dell servers after firmware upgrade</li>
          <li>Allow using a custom Telink HidToolVer quirk</li>
          <li>Check the UEFI capsule payload is less than 4GiB in size</li>
          <li>Cleanup all the user inhibits when required</li>
          <li>Do not allow using non-regular files like devnull as metadata</li>
          <li>Do not use capsule-on-disk on Lenovo ThinkCentre M60e Tiny</li>
          <li>Fix a buffer overread when parsing a malicious PE file</li>
          <li>Fix a CRC validation mistake in ZIP firmware parser</li>
          <li>Fix a maybe-impossible NULL pointer dereference when parsing netlink data</li>
          <li>Fix a small memory leak when writing Redfish firmware</li>
          <li>Fix accessing Nordic devices connected through a dongle</li>
          <li>Fix handling snapd payloads with only a default image</li>
          <li>Fix potential NULL pointer dereference in QMI firmware write</li>
          <li>Fix the auto-generated Redfish HBA device name</li>
          <li>Fix the displayed Thunderbolt version number by ignoring reserved bits</li>
          <li>Fix UF2 race with UDisks2 volume discovery during replug</li>
          <li>Fix warning when probing removable USB devices with no medium</li>
          <li>Guard HSI feature with platforms requirements</li>
          <li>Hardcode the modification timestamp in generated zip archive</li>
          <li>Increase the resolution of the progress bar updates</li>
          <li>Limit the maximum number of files that can be parsed from ZIP archives</li>
          <li>Prevent users from asking for unlimited system inhibits</li>
          <li>Properly handle Dell iDRAC when using Redfish</li>
          <li>Reject DFU sectors with zero size to prevent a possible infinite loop</li>
          <li>Restore the VID check in Algoltek USBCR probe function</li>
          <li>Set sensible parsing limits in each FuFirmware subclass</li>
          <li>Show a suitable version when the Novatek update is interrupted</li>
          <li>Support CAB image filenames longer than 255 chars</li>
          <li>Update the Focal touch firmware format to the latest release</li>
          <li>Use overflow-checked arithmetic for all offset calculations</li>
          <li>Use prepared queries when querying silos</li>
          <li>Validate CCGX record data size before flash write</li>
          <li>Validate Nordic HID peer index before accessing peers cache array</li>
          <li>Validate Synaptics cxaudio EEPROM size before trusting it</li>
          <li>Wait for mock snapd API socket to appear when running tests</li>
          <li>Wait for the new version when updating the Nordic TK059 Keyboard</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Elan TP IC type 0x19</li>
          <li>Google Moonstone</li>
          <li>HP 400 and 405 Mouse</li>
          <li>Lenovo USB-4 dock</li>
          <li>LX Semicon SW42101 touch controller</li>
          <li>Parade USB hubs with GPIO control</li>
          <li>Pixart PLP239 devices</li>
          <li>Raydium TP devices</li>
          <li>Sunplus cameras</li>
        </ul>
      </description>
    </release>
    <release version="2.1.1" date="2026-03-11">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a new fwupd security check for HP Sure Start</li>
          <li>Add a new plugin to verify Intel CSME using SMBIOS data</li>
          <li>Add a new tpm-eventlog command to explain the TPM eventlog output</li>
          <li>Add CycloneDX and SPDX support to uSWID</li>
          <li>Add support for AMD Platform Secure boot</li>
          <li>Add support for changing AMD GPU UMA carveout size</li>
          <li>Add support for emulation for bluetooth devices</li>
          <li>Allow systems to use the udev event source without using systemd</li>
          <li>Disable the UEFI plugins on 32bit x86</li>
          <li>Drop support for GPG signing of metadata and firmware</li>
          <li>No longer depend on json-glib, libarchive or protobuf-c</li>
          <li>Remove the concept of blocked firmware</li>
          <li>Show translated problems when a device cannot be installed</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a timeout to the fwupd-refresh systemd unit</li>
          <li>Allow systemd service to access block-sr devices</li>
          <li>Always show the correct new firmware version in 'fwupdmgr get-history'</li>
          <li>Be more defensive with invalid Corsair device responses</li>
          <li>Cache the payload verification result to speed up installing modem firmware</li>
          <li>Check for integer overflow when constructing a partial stream</li>
          <li>Clear the remaining qc-firehose power reset logs</li>
          <li>Decompress a zip file in Aver HID rather than a bz2 archive</li>
          <li>Do not allow efivar update without TIME_BASED_AUTHENTICATED_WRITE_ACCESS</li>
          <li>Do not hang when parsing an invalid USB descriptor</li>
          <li>Do not include EV_NO_ACTION when calculating the TPM PCRs</li>
          <li>Do not return an error if the fastboot property is not provided</li>
          <li>Do not show all IDs as GUIDs if adding quirks after device setup</li>
          <li>Find shim when using systemd-boot and distro-specific locations</li>
          <li>Fix activation of dell-kestrel NVM when composite updates are completed</li>
          <li>Fix a dell-dock regression when enumerating the status component</li>
          <li>Fix a fuzzer timeout when parsing a Synaptics RMI SBL container</li>
          <li>Fix a missing error check when updating Genesys USB hubs</li>
          <li>Fix a potential heap OOB read in AMD Kria SOM EEPROM parser</li>
          <li>Fix a potential Logitech HID++ hang when parsing unexpected payload IDs</li>
          <li>Fix a potential out-of-bounds read in Dell dock</li>
          <li>Fix a regression causing MBIM QDU updates to fail</li>
          <li>Fix a regression when installing on the HP G5 dock</li>
          <li>Fix a small memory leak when removing a bluetooth device</li>
          <li>Fix an integer underflow when parsing a malicious PE file</li>
          <li>Fix get-updates --json silently skipping UPDATABLE_HIDDEN devices</li>
          <li>Fix the snapd-uefi request when multiple updates are processed</li>
          <li>Honor polkit auth for emulation tag modify device</li>
          <li>Make Logitech HID++ devices using RDFU actually work</li>
          <li>Only load the history database in the daemon when required</li>
          <li>Refactor the Snap support out into a new plugin</li>
          <li>Remove a warning when updating Intel GSC OPROMDATA</li>
          <li>Remove the bcm57xx recovery device support</li>
          <li>Require a CHID for generic ElanTP devices</li>
          <li>Speed up calculating the cabinet checksum by ~20%</li>
          <li>Support 8bitdo firmware with multiple packed images</li>
          <li>Try to claim the DFU USB interface more than once</li>
          <li>Use crc32() from zlib.h when computing the most common kind of CRC32</li>
          <li>Verify the uncompressed size when decompressing CAB files</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>Blestech Touchpads</li>
          <li>ELAN Haptic MCU devices</li>
          <li>FocalTouch devices</li>
          <li>Himax Touchscreens</li>
          <li>HP Engage One G2 Advanced Hub</li>
          <li>KATAR PRO Wireless Gaming Dongle</li>
          <li>Lenovo keyboard and mice accessories</li>
          <li>Lenovo Sapphire Folio Keyboard</li>
          <li>Lightware Taurus HC40 and HC60</li>
          <li>Novatek touchscreens</li>
          <li>PixArt Touchpads</li>
          <li>Rolling RW101-CAT12 modems</li>
          <li>Sunwinon HID devices</li>
        </ul>
      </description>
    </release>
    <release version="2.0.18" date="2025-12-01">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add a MOTD message for devices needing reboot after staged updates</li>
          <li>Create the reboot-required file when a firmware update requires reboot</li>
          <li>Record the system state for each composite emulation</li>
          <li>Update USI docking station firmware without requiring a manual replug</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add a MTD device problem if the Intel SPI BIOS lock is set</li>
          <li>Allow changing the child name when using PARENT_NAME_PREFIX</li>
          <li>Allow UpdateCapsule to work on systems that do not support SecureBoot</li>
          <li>Correctly parse the EFI_CAPSULE_RESULT_VARIABLE_HEADER</li>
          <li>Fall back to the SMBIOS version for BIOS MTD devices</li>
          <li>Fix a crash when trying to record an i2c emulation</li>
          <li>Fixed Huddly upgrade problems with major version changes</li>
          <li>Fix man page compatibility with apropos and whatis</li>
          <li>Fix parsing USB BOS descriptors</li>
          <li>Fix up the x86_64-specific capsule flags when deploying UEFI firmware</li>
          <li>Improve firmware stream searching speed by a huge amount</li>
          <li>Only convert the release uint32_t to device version format for UEFI devices</li>
          <li>Only handle SIGINT in fwupdtool when required</li>
          <li>Refactor the hypervisor and container detection to be usable from plugins</li>
          <li>Set PlatformArchitecture as the CPU architecture for RISC-V machines</li>
          <li>Use a sensible timeout when doing qc-s5gen2 HID requests</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>HP Portable USB-C 4K HDMI Hub</li>
          <li>Lenovo Legion Go 2 (as a HID device)</li>
          <li>Synaptics HapticsPad</li>
        </ul>
      </description>
    </release>
    <release version="2.0.17" date="2025-11-05">
      <description>
        <p>
          This release adds the following features:
        </p>
        <ul>
          <li>Add support for client-side phased update deployment</li>
          <li>Add support for post-quantum signatures</li>
          <li>Allow clearing the cache dirirectory</li>
          <li>Allow fwupdtpmevlog to dump the raw eventlog data</li>
          <li>Build a NVMe GUID derived from the serial number</li>
          <li>Make fwupdtool extract work with deeply nested images</li>
          <li>Parse VSS and FTW variable stores from EFI volumes</li>
          <li>Reintroduce the FreeBSD CI target</li>
          <li>Support very old versions of UDisks</li>
        </ul>
        <p>This release fixes the following bugs:</p>
        <ul>
          <li>Add 'fwupdmgr hwids' by exposing another daemon property</li>
          <li>Add offline hashes for the Microsoft 20250902 dbx</li>
          <li>Add the Framework-specific KEK and db hashes</li>
          <li>Allow updating IFD BIOS region via parent MTD</li>
          <li>Avoid showing reinstall prompts for composite devices</li>
          <li>Clean up the fwupdtool lock file in all cases</li>
          <li>Correctly match the correct historical composite component</li>
          <li>Do not allow PK or KEK updates when system has a test key installed</li>
          <li>Do not allow reinstalling when using ONLY_VERSION_UPGRADE</li>
          <li>Do not require AC power to run the installed tests</li>
          <li>Do not scan EFI volumes when constructing MTD BIOS devices</li>
          <li>Ensure REGION is always set for MTD IFD children</li>
          <li>Ensure SCSI instance IDs are valid ASCII values</li>
          <li>Fix a critical warning when parsing invalid Jabra firmware</li>
          <li>Fix an Ilitek parsing crash found when fuzzing</li>
          <li>Fix an inotify race when refreshing metadata</li>
          <li>Fix a pending-activation problem with Dell docking stations</li>
          <li>Fix a potential hang when creating a chunk array with aligned sizes</li>
          <li>Fix MTD emulation recording for PCI-backed devices</li>
          <li>Fix the device order when the parent specifies install-parent-first</li>
          <li>Fix the FLMSTR layout when reading IFD partitions</li>
          <li>Fix the thunderbolt controller rushing to finalize before onlining retimers</li>
          <li>Fix writing Intel GPU OptionROM data and OptionROM code</li>
          <li>Flush stale events to make the Logitech Rallybar more reliable</li>
          <li>Ignore all the Intel GPU MTD devices</li>
          <li>Ignore errors when writing the last page of Dell dock firmware</li>
          <li>Make an error message more specific</li>
          <li>Modify the Dell dock needs-activation flag after updates are installed</li>
          <li>Only add one devlink device for each PCI card</li>
          <li>Parse the FMAP SBOM area as uSWID when required</li>
          <li>Relax the USI dock DMC child device checks for new firmware</li>
          <li>Revert back to the flashrom deprecated API as the new API is unusable</li>
          <li>Rewrite the fwupdmgr manpage to be more useful</li>
          <li>Use higher delay when update status for Logitech peripheral devices</li>
        </ul>
        <p>This release adds support for the following hardware:</p>
        <ul>
          <li>ASUS CX9406 (touch controller)</li>
          <li>Framework Copilot keyboard</li>
          <li>Genesys GL352530 and GL352360</li>
          <li>Huddly C1</li>
          <li>Lexar and Maxio NVMe SSDs</li>
          <li>Primax Ryder mouse 2</li>
        </ul>
      </description>
    </release>
    </releases>
</component>