Tags give the ability to mark specific points in history as being important
  • v1.90.3   Tag 1.90.3 Git-EVTag-v0-SHA512: 67e0d995146cb82107480520589b6c90583602b3945e03f71c2fdb5f0f2c681143c67e824e0572ae93995e75112c402efaad101f01be5e86a75389e4f1421821
    174aa2c0 · Release 1.90.3 ·
    Release v1.90.3

    2020-06-08: v1.90.3 release

    This release mostly contains support for a number of new match-on-chip devices. Most notable is the addition of the new goodixmoc driver. Currently the driver has the small caveat that we have no strategy to garbage collect old prints yet (a simple strategy could be implemented in fprintd).


    • New goodixmoc driver supporting Goodix USB devices: 27C6:5840 27C6:6496 27C6:60A2
    • Newly added support for Synaptics device: 06CB:00E9 06CB:00DF
    • Fixed an issue with Synaptics devices sometimes not working at boot
    • Fix issue with aes3k driver (#306)
  • v1.90.2   Tag 1.90.2
    4b2816db · Update for 1.90.2 ·
    Release v1.90.2

    This release contains a large amount of bug and regression fixes. These are not listed explicitly, but affect the majority of drivers.


    • A patch for nbis required for some sensors was accidentally dropped in an earlier release. Users of these sensors/drivers (aes1610, aes2501, aes2550, aes1660, aes2660, elan, upektc_img) need to re-enroll (#142).



  • v1.90.1   Tag 1.90.1
    66c9e4a8 · Update for 1.90.1 release ·
    Release v1.90.1

    This release fixes a lot of the regressions introduced in 1.90.0. Please note that both the driver and external APIs have changed, as both the verify and the identify functions now have early reporting mechanisms. The soname for the library, as well as a number of file locations have also changed. While this allows installation in parallel with the 1.0 version of libfprint, we recommend installing only one, and migrating from version 1.0 to version 2.0 alongside its main consumer (fprintd).

    Only major changes are listed below. A lot of other cleanup work and small fixes have also been merged.


    • Add early report mechanism for verify and identify (API CHANGE!)
    • Add support to run tests in gdb/valgrind
    • Allow testing on all architectures
    • Avoid image device AWAIT_FINGER_ON to deactivate state transitions
    • Fix verify/identify error propagation to library user
    • Correctly read image device information from class data
    • Continue enroll after an image driver reported a retry error
    • Change external API to allow reporting match results early
    • A lot of new unit tests and integration tests have been added

    Drivers API:

    • Added API for early report of matching results or retry errors
    • Verify and identification completion functions have been simplified
    • Support variadic arguments in error functions
    • Various re-definitions of ownership handling
    • Add convenience API to change state after a timeout
    • Add unit tests for all the drivers API


    • elan: Ensure correct deactivation of device
    • uru4000: Fix IRQ handler registration and internal state handling
    • uru4000: Fix control transfer request type
    • synaptics:
      • Ensure errors are only reported after finger removal
      • Use early report mechanism

    libfprint-1.90.1.tar.xz libfprint-1.90.1.tar.xz.sha256sum

  • V_1_90_0   Tag 1.90.0
    Release V_1_90_0

    This release updates the core of the library to use GLib routines and Gio style APIs. While the API both for library users remain similar in most ways, there are some changes and all users will need to be ported.

    A large motivation for the in-depth changes was the requirement to add new API to support sensors that store the prints on the sensor. This support is already used by the new synaptics driver, which will support the current generation of the Prometheus MIS (match-in-sensor) chipset by Synaptics (USB ID 06cb:00bd).

    The current codebase is considered stable at this point. However, due to the lack of wider testing it is only released as a 1.90.0 release which can be considered a beta-release for 2.0.

    With the rewrite, it is now also possible to support devices that are not connected through USB (e.g. I2C). Another major improvement is that the library has now a test suite, testing both the library core and allowing tests of the drivers using umockdev.

    libfprint-1.90.0.tar.xz libfprint-1.90.0.tar.xz.sha256sum

  • V_1_0   1.0
    823f2c10 · 1.0 ·
    Release V_1_0
    • Library:

      • Add guards to the public API and require GLib 2.50
      • Deprecate print storage API
      • Better documentation for fp_discover_devs()
      • Remove unused internal fpi_timeout_cancel_for_dev()
      • Remove state from fp_img_driver activate handler
      • Bug fixes related to restarting a failed verification immediately
    • Drivers:

      • The Elan driver received a lot of bug fixes including a fix for a hang when verifying prints with fprintd, quirks for some devices, a memory leak fix and support for 04f3:0c42
      • Fix a probable crash in all the AES drivers
      • Add support for Lenovo Preferred Pro Keyboard (KUF1256) to vfs5011
      • Prevent hang during enroll process in etes603 driver
      • Fix possible integer overflow in uru4000
      • Work-around SELinux AVC warnings when uru4000 driver starts
      • Remove long-unmaintained and broken fdu2000 driver
    • Tools/Examples:

      • Fix examples not working due to an overly strict check
      • Fix crash in GTK demo when there's no supported devices
      • Disable GTK demo until we have a USB Flatpak portal
      • Remove sleep() in enroll example which caused a crash in some drivers
      • Add a simple storage implementation example


  • V_0_99_0   0.99.0
    1abe2138 · 0.99.0 ·
    Release V_0_99_0
    • Library:

      • All the internal API for device driver writers is now covered by the documentation and has been enhanced to make it easier to write drivers
      • Update internal NBIS fingerprint data processing library to one that's nearly 10 years newer
      • Re-add accessor for minutia coordinates which was used in the very old fprint_demo program, but also by our new GTK+ test program (see below)
      • Fix a crash when too many minutiae were detected in a capture
    • Drivers:

      • Support more devices in the Elan driver, stability improvements
    • Tools:

      • Add a test GTK+ application that will eventually be used for testing drivers without modifying the OS installed version. Note that this application currently requires manually changing permissions of USB devices, this will be fixed when the infrastructure exists to access those devices without additional permissions, as a normal user.


  • V_0_8_2   0.8.2
    da95af0f · 0.8.2 ·
    Release V_0_8_2
    • Drivers:

      • Add USB ID for TNP Nano USB Fingerprint Reader
      • Fix UPEKTS enrollment never finishing on some devices
    • Library:

      • Fix fp_get_pollfds() retval type, a small ABI change
      • Downgrade fatal errors to run-time warnings, as a number of drivers used to throw silent errors and we made them fatal. Those will now be visible warnings, hopefully helping with fixing them.


  • V_0_8_1   0.8.1
    6f6127cb · 0.8.1 ·
    Release V_0_8_1
    • Brown paperbag release to install the udev rules file in the correct directory if the udev pkg-config file doesn't have a trailing slash


  • V_0_8_0   0.8.0
    74b5c927 · 0.8.0 ·
    Release V_0_8_0
    • Port to meson as the build system
    • Port documentation to gtk-doc
    • Drivers:

      • Add Elan driver
      • Increase threshold to detect encryption on URU4000 devices
      • Remove already replaced UPEKE2 driver
      • Fix possible crash caused by vfs5011 when no lines were captured
    • Library:

      • Fix a number of memory and file descriptor leaks and warnings
      • Make NSS (and URU4000) driver optional
      • Fix assembling of frames for non-reverse and non reverse stripes
      • Split internal private header to clarify drivers API
      • Simplify logging system, now all the builds can be used to output debug information
      • Mark fp_dscv_print functions as deprecated
    • Udev rules:

      • Add some unsupported devices to the whitelist


  • V_0_7_0   libfprint 0.7.0
    d82847a6 · 0.7.0 ·
    Release V_0_7_0
    • Drivers:

      • Add VFS0050 driver
      • Fix possible crash in AES3500 and AES4000
      • Fix broken enrollment in VFS101
      • Better verification with small sensor scanners
      • Plenty of fixes in VFS5011
      • Fix memory corruption in AES1610
      • Improve calibration settings for AES1610
      • Improve image assembling in upeksonly driver
      • Autodetect whether image is encrypted in uru4k
    • Library:

      • NBIS: Remove false minutia at the edge of partial image
      • Introduce routines to assemble image from lines (used in VFS5011 and upeksonly)
      • Fix a bug that can cause driver state machine to enter into endless loop.
    • Udev rules:

      • Add driver name to the USB properties
    • Plenty of build fixes


  • V_0_6_0   0.6.0
    ee321662 · 0.6.0 ·
    Release V_0_6_0
    • Drivers:

      • Reduce duplication between AES3500 and AES4000 drivers and add support for AES3500 device
      • Add support for UPEK 147e:2020 and Upek Eikon 2 devices
      • Add EgisTec ES603 driver
      • Add VFS5011 driver
      • Always perform 5 scans for image enrollment
      • Better verification with AES1660 driver
      • Better verification for a number of AES drivers
    • Library:

      • Always use Pixman for image manipulation, gdk-pixbuf and ImageMagick are not supported any more.
    • Udev rules:

      • Fix warning when USB hub or system does not support power management


  • v_0_5_1   0.5.1
    9e2f8b5e · 0.5.1 ·
    Release v_0_5_1
    • Drivers

      • Add support for 147e:2020 to upeke2 driver
      • Fix possible race condition, and cancellation in uru4000 driver
    • Udev rules:

      • Add Microsoft keyboard to the suspend blacklist
    • Plenty of build fixes


  • v_0_5_0   0.5.0
    a5ec0b30 · 0.5.0 ·
    Release v_0_5_0
    • Drivers:

      • New VFS300/VFS301 driver
      • New AES2550/AES2810 drivers
      • New AES1660 driver
      • New AES2660 driver
      • New DigitalPersona URU4500 driver
      • Avoid empty capture and improve image contrast in the AES2501 and AES2550 drivers
      • Update upektc driver, add support for Eikon Touch 300
      • Fix UrU4000 image capture on ARM
    • Library:

      • Fix global variable collisions with libusb and other system headers
      • Fix possible crash in NBIS image processing with some fingerprints
    • Udev rules:

      • Fix power control path for newer kernels
      • Move udev rules to the correct directory
      • Don't print duplicated udev rules
      • Include udev rules in the tarball
      • Allow disabling of udev rules for cross-compiling
      • Add driver names in the generated rules


  • v_0_4_0   0.4.0
    f8aa82a5 · 0.4.0 ·
    Release v_0_4_0
    • Add support for Validity VFS101 (USB ID 138a:0001)
    • Fix crasher when resizing a fingerprint image
    • Fix wrong timeout being returned when either of libusb or libfprint doesn't have a timeout


  • v_0_3_0   0.3.0
    aab031ce · 0.3.0 ·
    Release v_0_3_0
    • Add support for UPEK TCS4C (USB ID 147e:1000)
    • Use NSS instead of OpenSSL for GPL compliance
    • upeksonly driver bug fixes
    • Fix a crash if a scan was shorter than 8 lines
    • Fix compilation with C++ compiler


  • V_0_2_0   0.2.0
    daee067c · Release 0.2.0 ·
    Release V_0_2_0
    • Add gdk-pixbuf support for image manipulation
    • Add udev rules to allow devices to autosuspend
    • Finish port of AES1610 driver
    • Add UPEK EikonII (TCRD4C) driver