WFDB Changelog

What's new in WFDB 10.5.24

Jun 25, 2015
  • A security flaw was found in the 'pnwlogin' script used to access PhysioNetWorks projects, owing to a combination of bugs in WFDB and libcurl. Previous versions of the WFDB library would unconditionally set the username and password for every HTTP or HTTPS request, which caused them to be sent over the network unencrypted. This bug has now been fixed; note, however, that the old version of 'pnwlogin' is now blocked at the server side, and the new version of 'pnwlogin' is (by design) incompatible with older, insecure versions of the WFDB library. In order to use 'pnwlogin', be sure that you are using the latest version of the library (both 32-bit and 64-bit, if necessary.)
  • On most platforms, the WFDB library will now be installed in /usr/local/lib by default, or /usr/local/lib32 if you are building a 32-bit library on an x86_64 system. You can specify the --libdir option to 'configure' to change the installation directory if you wish.
  • The 'wfdb-config' program used by external packages to compile and link programs with the WFDB library was broken in version 10.5.23, in that if libcurl was used, it would output the string "`curl-config --libs`", rather than actually invoking curl-config. This has now been fixed for the case of a static WFDB library. In the case of a dynamic WFDB library, the curl flags were unnecessary in the first place, so they are now omitted.
  • On MinGW, error messages will now be printed to standard error, rather than being displayed in a popup message box.
  • When using libcurl, the environment variable CURL_CA_BUNDLE can be set to the name of a file containing the trusted root certificate authorities. (Note that this does not currently work with the 'winssl' version of libcurl, which uses the system certificate database instead.)
  • If the environment variable WFDB_NET_DEBUG is set, detailed information about HTTP transfers will be printed to standard error.

New in WFDB 10.5.23 (Mar 18, 2014)

  • Changes in 'configure', 'Makefile.tpl', 'conf/linux.def', and 'conf/linux-slib.def' simplify installation of shared WFDB libraries and the applications that use them on Linux platforms.
  • Two new applications are included in this release. 'stepdet' (app/stepdet.c), detects and annotates transitions in (possibly noisy) two-level signals. 'parsescp' (convert/parsescp.c) converts some types of SCP-ECG files to PhysioNet-compatible format.
  • The parser in 'wrsamp' has been rewritten in this release to accept a wider range of non-standard CSV input formats.
  • The application that converts PhysioBank-compatible records to EDF files, 'convert/mit2edf', did not properly calculate the range of signals if the ADC resolution was specified to be 0 in the input .hea file. In this release, 'mit2edf' guesses the ADC resolution based on the storage format if necessary, allowing it to produce correct EDF output given this type of incorrect input in most cases.
  • Another application, 'parsescp', has been added to the set of data importers in 'convert/'.
  • Luca Citi contributed a bug fix and a new feature to 'convert/rdedfann'. Previous versions did not properly handle input in which the last annotation in a frame ends with a \024 byte in an even position. The new '-x' option causes the input EDF+ annotation text to be copied to the 'aux' position in the output, rather than the 'anntyp' position (the default).

New in WFDB 10.5.22 (Jan 13, 2014)

  • 'snip' has a new '-O' option to select the output format, and the '-l' option to specify the duration now works properly.
  • wfdb2mat (convert/wfdb2mat.c) now ensures that all output signals have non-empty units strings (previous versions did not check for this possibility when the input was an EDF or EDF+ file).

New in WFDB 10.5.20 (Oct 26, 2013)

  • Absolute pathnames are not tested in wfdb_open() unless the WFDB path contains an empty component.

New in WFDB 10.5.19 (Jul 22, 2013)

  • This release includes fixes in lib/signal.c for several bugs that sometimes caused findsig(), getvec(), and sample() to return incorrect values when reading variable-layout multi-segment records with missing signals.