4 Note: This release does NOT change the libserialport API or ABI in
5 backwards-incompatible ways. Programs using libserialport should
6 continue to work fine without recompiling or relinking.
9 - sp_get_port_description(): Obtain a user friendly port description.
10 - sp_get_port_transport(): Obtain the underlying transport type.
11 - sp_get_port_usb_bus_address(): Obtain the USB bus number & device address.
12 - sp_get_port_usb_vid_pid(): Obtain the USB VID and PID.
13 - sp_get_port_usb_manufacturer(): Obtain the USB manufacturer string.
14 - sp_get_port_usb_product(): Obtain the USB product string.
15 - sp_get_port_usb_serial(): Obtain the USB serial number string.
16 - sp_get_port_bluetooth_address(): Obtain the Bluetooth MAC address.
17 - sp_blocking_read_next(): Read bytes from the specified serial port,
18 returning as soon as any data is available.
19 * API related additions:
20 - enum sp_mode: Add SP_MODE_READ_WRITE.
21 - Add enum sp_transport with the following enum entries:
22 SP_TRANSPORT_NATIVE, SP_TRANSPORT_USB, SP_TRANSPORT_BLUETOOTH.
23 * Fix the build on platforms where port enumeration and/or port
24 metadata is not available or implemented.
25 * Build system: Don't set/override "user variables" such as CFLAGS or
26 LDFLAGS, since those are meant to be controlled by the "user" (bug #577).
27 * Remove trailing commas in libserialport.h enum definitions to allow
28 the code to build with the -pedantic compiler option.
29 * Fix various issues to allow successful builds with -std=c99.
30 * Fix various (non-fatal) compiler warnings.
31 * Fix various memory leaks (bug #419, among others).
32 * Rename a 'signals' parameter to 'signal_mask' to avoid a conflict with Qt.
33 * Fix two potential segfaults in sp_get_port_handle() and sp_get_config_*()
34 (which only occurred if the user incorrectly passed in a NULL argument).
35 * sp_list_ports(): Actually set list_ptr NULL as documented.
37 - The libudev requirement has been dropped (/sys is now used directly).
38 - Fix a build issue in the get_termios_get_ioctl() call (bug #396).
39 - Fix sp_flush() so that it only flushes the requested buffers.
40 - Fix a build error if BOTHER is not available (bug #363).
41 - If present, add the USB "description" for better port identification.
42 - Handle the case when /sys/class/tty/ entries are not symlinks.
44 - MinGW-w64 (mingw-w64.sf.net) is now required for building, and MinGW
45 (mingw.org) is no longer supported (bug #393).
46 - Fix a build issue due to a missing <initguid.h> #include.
47 - Fix a build issue due to the missing -lsetupapi linker argument.
48 - Use libtool's -no-undefined option to allow shared (DLL) builds.
49 - Fix a compile error due to multiply or not defined GUIDs (bug #416).
50 - Fix a build issue related to the SP_PRIV/SP_API macros (bug #553).
51 - Fix a bug where an uninitialized pointer was free()'d (bug #512).
52 - Fix a bug wrt the SetupDiOpenDevRegKey() return code (bug #499).
53 - Fix a bug wrt restart of RX/error wait operations after read (bug #421).
54 - Fix a bug wrt WaitCommEvents() and/or fAbortOnError handling (bug #341).
55 - Strip CR/LF from end of system error messages (bug #585).
56 - Avoid unnecessary calls to the SetCommTimeouts() function (bug #586).
58 - Implement serial port enumeration for FreeBSD systems.
60 - Fix a portability issue wrt the unavailable 'serial_struct' (bug #376).
61 - Fix a portability issue wrt a readlinkat() call (bug #377).
62 * README: Various documentation updates and fixes.
63 * Doxygen API docs: Various documentation updates and fixes.