diff --git a/NEWS b/NEWS
index 9291089b..91351eea 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,17 @@
This file lists notable changes in each release. For the full history of all
changes, see ChangeLog.
+2018-07-15: v0.8.2 release
+* 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.
+
2018-06-12: v0.8.1 release
- 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
diff --git a/doc/libfprint-docs.xml b/doc/libfprint-docs.xml
index fd674ec4..e56f4b77 100644
--- a/doc/libfprint-docs.xml
+++ b/doc/libfprint-docs.xml
@@ -11,7 +11,7 @@
This document is the API reference for the libfprint library.
The latest version of libfprint, as well as the latest version of
- this API reference, is available online.
+ this API reference, is available online.
diff --git a/doc/xml/meson.build b/doc/xml/meson.build
index ea3ddf59..e35f7eeb 100644
--- a/doc/xml/meson.build
+++ b/doc/xml/meson.build
@@ -1,10 +1,10 @@
ent_conf = configuration_data()
ent_conf.set('PACKAGE', 'libfprint')
-ent_conf.set('PACKAGE_BUGREPORT', 'https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint')
+ent_conf.set('PACKAGE_BUGREPORT', 'https://gitlab.freedesktop.org/libfprint/libfprint/issues')
ent_conf.set('PACKAGE_NAME', 'libfprint')
ent_conf.set('PACKAGE_STRING', 'libfprint')
ent_conf.set('PACKAGE_TARNAME', 'libfprint-' + meson.project_version())
-ent_conf.set('PACKAGE_URL', 'https://www.freedesktop.org/wiki/Software/fprint/libfprint/')
+ent_conf.set('PACKAGE_URL', 'https://fprint.freedesktop.org/')
ent_conf.set('PACKAGE_VERSION', meson.project_version())
ent_conf.set('PACKAGE_API_VERSION', '1.0')
configure_file(input: 'gtkdocentities.ent.in', output: 'gtkdocentities.ent', configuration: ent_conf)
diff --git a/libfprint/drivers/elan.c b/libfprint/drivers/elan.c
index 0ff16dcd..dff75a6d 100644
--- a/libfprint/drivers/elan.c
+++ b/libfprint/drivers/elan.c
@@ -102,7 +102,7 @@ static void elan_save_frame(struct fp_img_dev *dev)
elandev->num_frames += 1;
}
-/* Transform raw sesnsor data to normalized 8-bit grayscale image. */
+/* Transform raw sensor data to normalized 8-bit grayscale image. */
static void elan_process_frame(unsigned short *raw_frame, GSList ** frames)
{
unsigned int frame_size =
@@ -603,6 +603,7 @@ static void dev_deactivate(struct fp_img_dev *dev)
static const struct usb_id id_table[] = {
{.vendor = 0x04f3,.product = 0x0907},
+ {.vendor = 0x04f3,.product = 0x0c26},
{0, 0, 0,},
};
diff --git a/libfprint/drivers/upekts.c b/libfprint/drivers/upekts.c
index a2bf971a..b448e364 100644
--- a/libfprint/drivers/upekts.c
+++ b/libfprint/drivers/upekts.c
@@ -1018,6 +1018,9 @@ static void e_handle_resp00(struct fp_dev *dev, unsigned char *data,
case 0x0c:
case 0x0d:
case 0x0e:
+ case 0x26:
+ case 0x27:
+ case 0x2e:
/* if we previously completed a non-last enrollment stage, we'll
* get this code to indicate successful stage completion */
if (upekdev->enroll_passed) {
diff --git a/libfprint/drivers_api.h b/libfprint/drivers_api.h
index 2bf547a1..2679c778 100644
--- a/libfprint/drivers_api.h
+++ b/libfprint/drivers_api.h
@@ -40,10 +40,16 @@
#define fp_dbg g_debug
#define fp_info g_debug
#define fp_warn g_warning
-#define fp_err g_error
+#define fp_err g_warning
-#define BUG_ON(condition) g_assert(!(condition))
-#define BUG() g_assert_not_reached()
+#define BUG_ON(condition) G_STMT_START \
+ if (condition) { \
+ char *s; \
+ s = g_strconcat ("BUG: (", #condition, ")", NULL); \
+ g_warning ("%s: %s() %s:%d", s, G_STRFUNC, __FILE__, __LINE__); \
+ g_free (s); \
+ } G_STMT_END
+#define BUG() BUG_ON(1)
enum fp_dev_state {
DEV_STATE_INITIAL = 0,
diff --git a/libfprint/fp_internal.h b/libfprint/fp_internal.h
index b4d43e15..e7501824 100644
--- a/libfprint/fp_internal.h
+++ b/libfprint/fp_internal.h
@@ -42,10 +42,16 @@
#define fp_dbg g_debug
#define fp_info g_debug
#define fp_warn g_warning
-#define fp_err g_error
+#define fp_err g_warning
-#define BUG_ON(condition) g_assert(!(condition))
-#define BUG() g_assert_not_reached()
+#define BUG_ON(condition) G_STMT_START \
+ if (condition) { \
+ char *s; \
+ s = g_strconcat ("BUG: (", #condition, ")", NULL); \
+ g_warning ("%s: %s() %s:%d", s, G_STRFUNC, __FILE__, __LINE__); \
+ g_free (s); \
+ } G_STMT_END
+#define BUG() BUG_ON(1)
enum fp_dev_state {
DEV_STATE_INITIAL = 0,
diff --git a/libfprint/fprint.h b/libfprint/fprint.h
index c927690b..be94a540 100644
--- a/libfprint/fprint.h
+++ b/libfprint/fprint.h
@@ -314,7 +314,7 @@ struct fp_pollfd {
int fp_handle_events_timeout(struct timeval *timeout);
int fp_handle_events(void);
-size_t fp_get_pollfds(struct fp_pollfd **pollfds);
+ssize_t fp_get_pollfds(struct fp_pollfd **pollfds);
int fp_get_next_timeout(struct timeval *tv);
/**
diff --git a/libfprint/poll.c b/libfprint/poll.c
index 8a007bc9..615ba40f 100644
--- a/libfprint/poll.c
+++ b/libfprint/poll.c
@@ -313,12 +313,12 @@ API_EXPORTED int fp_get_next_timeout(struct timeval *tv)
*
* Returns: the number of pollfds in the resultant list, or negative on error.
*/
-API_EXPORTED size_t fp_get_pollfds(struct fp_pollfd **pollfds)
+API_EXPORTED ssize_t fp_get_pollfds(struct fp_pollfd **pollfds)
{
const struct libusb_pollfd **usbfds;
const struct libusb_pollfd *usbfd;
struct fp_pollfd *ret;
- size_t cnt = 0;
+ ssize_t cnt = 0;
size_t i = 0;
usbfds = libusb_get_pollfds(fpi_usb_ctx);
diff --git a/meson.build b/meson.build
index 088bd112..c5c691d4 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('libfprint', [ 'c', 'cpp' ],
- version: '0.8.1',
+ version: '0.8.2',
license: 'LGPLv2.1+',
default_options: [
'buildtype=debugoptimized',