+0.3.0 (2014-05-06)
+------------------
+
+Note: This release DOES change the libsigrok API. That means it is NOT
+ backwards-compatible and frontends will need updates.
+
+ * New supported hardware:
+ - Logic analyzers:
+ - ChronoVu LA16
+ - Sysclk LWLA1034
+ - Oscilloscopes:
+ - Agilent DSO1000 series (various models)
+ - Hameg HMO compact series (various models)
+ - Rigol DS2000 series (various models)
+ - Rigol VS5000 series (various models)
+ - Multimeters:
+ - BBC Goerz Metrawatt M2110
+ - Brymen BM869
+ - Fluke 189
+ - Gossen Metrawatt MetraHIT 1x/2x series (various models)
+ - Tenma 72-7745 (rebadged UNI-T UT60E)
+ - Tenma 72-7750 (rebadged UNI-T UT60G)
+ - UNI-T UT60G
+ - UNI-T UT61B
+ - UNI-T UT61C
+ - V&A VA40B
+ - Voltcraft M-3650CR
+ - Voltcraft ME-42
+ - Thermometers:
+ - APPA 55II
+ - Programmable power supplies:
+ - Atten PPS3000 series (various models, tested on PPS3203T-3S).
+ - Conrad DIGI 35 CPU
+ * Add support for channel groups.
+ * Add generic SCPI backend code which can be used via various transports:
+ - Serial ports
+ - USBTMC
+ - TCP/RAW
+ - TCP/Rigol (Rigol-VS5000 series specific)
+ - VXI
+ - librevisa
+ * udev rules file: Add entries for newly supported hardware.
+ * New config keys:
+ - SR_CONF_DEMODULATOR
+ - SR_CONF_CENTER_FREQUENCY
+ - SR_CONF_NUM_LOGIC_CHANNELS
+ - SR_CONF_NUM_ANALOG_CHANNELS
+ - SR_CONF_CLOCK_EDGE
+ - SR_CONF_POWER_SUPPLY
+ - SR_CONF_OUTPUT_VOLTAGE
+ - SR_CONF_OUTPUT_VOLTAGE_MAX
+ - SR_CONF_OUTPUT_CURRENT
+ - SR_CONF_OUTPUT_CURRENT_MAX
+ - SR_CONF_OUTPUT_ENABLED
+ - SR_CONF_OUTPUT_CHANNEL
+ - SR_CONF_OVER_VOLTAGE_PROTECTION
+ - SR_CONF_OVER_CURRENT_PROTECTION
+ - SR_CONF_DEVICE_MODE
+ - SR_CONF_TEST_MODE
+ * New config info types:
+ - SR_T_INT32
+ * New measurement quantity keys:
+ - SR_MQ_TIME
+ * New measurement quantity flags:
+ - SR_MQFLAG_DURATION
+ - SR_MQFLAG_AVG
+ * New device instance types:
+ - SR_INST_SCPI
+ * New error codes:
+ - SR_ERR_CHANNEL_GROUP
+ ∗ The SR_T_CHAR config type has been renamed to SR_T_STRING.
+ * New build dependencies:
+ - libserialport >= 0.1.0 (optional).
+ - All drivers that talk to serial ports now require libserialport.
+ - If libserialport is not found, those drivers will not be built.
+ - librevisa >= 0.0.20130812 (optional, only used by some drivers).
+ * Dropped build dependencies:
+ - libasound2 is no longer required (only the removed alsa driver used it).
+ - libudev is no longer required (only the removed link-mso19 driver used it).
+ * Serial port handling code:
+ - Add support for 5/6 data bits and non-standard baud rates.
+ - Fix an issue related to nonblocking reads (bug #188).
+ - Fix an 'invalid arguments' condition causing problems (bug #192).
+ * alsa: This driver was removed (also fixes bugs #28, #61, #96, #114).
+ * asix-sigma:
+ - Publish SR_CONF_CAPTURE_RATIO correctly (bugs #287, #291).
+ - Don't set invalid config options (bug #86).
+ - Various other bugfixes.
+ * cem-dt-885x: Fix a code portability issue (bug #267).
+ * chronovu-la:
+ - Rename the 'chronovu-la8' driver to 'chronovu-la'.
+ - Add support for the ChronoVu LA16.
+ - Fix a segfault when doing multiple acquisitions on an LA8 (bug #247).
+ - Document that streaming is not possible for LA8/LA16 (bug #261).
+ * demo:
+ - Add support for analog channels (bug #11).
+ - Make the number of channels user-configurable.
+ - Add per-channel-group options.
+ - Implement analog sample patterns: sine, triangle, sawtooth.
+ - Fix a samplerate related issue with rates >= 50kHz (bugs #294, #295).
+ - Fix an issue causing data glitches every 40ms (bug #297).
+ - Fix an issue related to channel group handling (bug #262).
+ * digitek-dt4000zc: Fix driver on NetBSD due to missing DTR=1 (bug #189).
+ * fx2lafw:
+ - Fix incorrect unitsize when a trigger fires (bug #182).
+ - Implement config_get() for SR_CONF_LIMIT_SAMPLES.
+ - Don't send more samples than requested to the session bus.
+ * gmc-mh-1x-2x:
+ - Add new (sub)driver 'gmc-mh-2x-bd232'.
+ - Add support for the SI232-II interface.
+ * hameg-hmo:
+ - Fix a build issue on Mac OS X (bug #216).
+ - Various fixes related to frame limit, samplerate, options, etc.
+ * link-mso19: Drop unfinished driver for now (until it starts working).
+ * openbench-logic-sniffer:
+ - Fix a serial port related issue/hang, seen on (e.g.) NetBSD.
+ - Fix an SR_CONF_PATTERN_MODE related problem (bugs #184, #190).
+ - Fix a serial (non)blocking mode issue (bug #231).
+ - Temporarily disable the driver on Windows (needs portability fixes).
+ - Fix an endianness issue in the protocol handling (bug #135).
+ - Fix a sampling issue when (samples % 4) != 0 (bug #200).
+ - Fix an issue occurring when all channels were disabled (bugs #316, #347).
+ - Add an option to turn test patterns off again (bug #293).
+ * rigol-ds:
+ - Rename the 'rigol-ds1xx2' driver to 'rigol-ds'.
+ - Add support for more models and unify the driver code (bug #212).
+ - Add support for RS232 connectivity (previously only USBTMC worked).
+ - Enable the driver on non-Linux platforms since all transports the driver
+ uses are provided by cross-platform code/libs now (e.g. serial, USBTMC).
+ - Add support for 4 channels (required by some models).
+ - Add support for channel groups.
+ - Advertise SR_CONF_LIMIT_FRAMES support.
+ - Fix an issue with SR_DF_END sending.
+ - Enable/disable LA pod when (de)selecting digital channels.
+ - Disable key lock when closing device.
+ - Work around issues due to DS1000 specific protocol changes (bug #283).
+ - Fix incorrect digital channel numbers on some models (bug #269).
+ - Fix an issue with partial data reads (bugs #220, #209, #207).
+ * saleae-logic16:
+ - Fix an issue related to USB device claiming (bug #159).
+ - Don't send more samples than requested to the session bus (bug #350).
+ - Use unitsize 1 (not 2) if none of channels 8-15 are used.
+ * serial-dmm: Fix some parse issues by increasing a timeout.
+ * sysclk-lwla: Fix a sampling issue related to a glib API call (bug #270).
+ * uni-t-ut32x: Fix typo which prevented usage with multiple devices.
+ * victor-dmm: Fix MIN/MAX always being reported (bug #228).
+ * zeroplus-logic-cube:
+ - Add support for 32-channel models and additional memory sizes.
+ - Fix a frontend issue due to missing SR_CONF_CAPTURE_RATIO.
+ - Fix an issue causing pre-trigger garbage data to be sent (bug #222).
+ - Add initial voltage threshold support.
+ * Various drivers:
+ - Expose missing SR_CONF_TRIGGER_TYPE.
+ - Report max. possible number of samples (bugs #197, #258, #263).
+ * Output modules:
+ - Skip analog channels in logic-only output formats.
+ - Remove the obsolete output module API, add wrapper calls for the new one.
+ - Stop using the obsolete output API (bugs #288, #47, #48).
+ - Properly receive and handle samplerate metadata (bug #46).
+ * input/vcd: Abort with an error upon > 64 channels (bug #194).
+ * output/vcd:
+ - Fix output for more than 8 channels.
+ - Output timestamp only once per change.
+ - Minor whitespace changes of output files to make them more readable.
+ - Remove bogus $dumpvars and $dumpoff commands.
+ - Various bugfixes and portability fixes.
+ * output/csv:
+ - Remove a 64-channel limit (bug #193).
+ - Fix an issue resulting in incorrect trailing commas (bug #230).
+ - Fix an issue where all timestamps would be zero (bug #35).
+ * Rename 'probe' to 'channel' in all places, since libsigrok supports a lot
+ of gear where 'channel' fits better (bug #259).
+ * Change TRIGGER_SLOPE from SR_T_UINT64 to SR_T_STRING.
+ * Windows support improvements:
+ - Use libserialport (+other backend code) to fix serial devices (bug #91).
+ - Add serial source addition/removal backend code (bug #206).
+ - Add backend code for properly supporting USB based devices.
+ * Fix various memory leaks in the backend code.
+ * Fix some incorrect parsing of floating point numbers in the strutil code.
+ * Fix various endianness issues in backend code and drivers (bug #266).
+ * Fix a few issues related to incorrect parsing with non-ANSI-C locales
+ (bugs #271, #272, #273, #274).
+ * Fix an issue related to data being sent to the libsigrok session which
+ was not a multiple of the unit/sample size (bugs, #289, #290).
+ * Drop the es51922 DMM parser (replaced by the generic es519xx parser).
+ * libsigrok session files:
+ - The libsigrok session file format (for *.sr files) has changed, and the
+ file format 'version' field is bumped to 2. Older libsigrok versions will
+ not be able to handle version 2 files, but new libsigrok versions can
+ handle both version 1 and version 2 files. New libsigrok versions will
+ always write/output version 2 files.
+ - Fix an issue resulting in left-over temporary files (bug #276).
+ - Fix an issue with analog probes (unsupported) in *.sr files (bug #277).
+ - Fix an issue with missing samplerate from session files (bug #275).
+ * Improved API documentation.
+ * Major API changes (overview):
+ - Change various function/macro names related to the probe->channel rename.
+ - Change various functions due to the new channel group feature.
+ - All enums in the public API now have names (e.g. 'enum sr_mqflag').
+ - The lib no longer defines names with _t suffix (POSIX reserved).
+ - New API calls:
+ - sr_session_dev_list()
+ - sr_session_save_init()
+ - sr_session_append()
+ - sr_config_commit()
+ - sr_output_new()
+ - sr_output_send()
+ - sr_output_free()
+ - Obsoleted and removed API calls:
+ - sr_filter_channels()
+ - 'struct sr_session' is now opaque (contents shouldn't be used directly).
+ - Please see the Doxygen API documentation for further details.
+ * Build system:
+ - Switch to a non-recursive automake setup (fewer files, faster builds).
+ - configure: Clearly mark required and optional libs.
+
+0.2.2 (2013-11-04)
+------------------
+
+Note: This release does NOT change the libsigrok API. While new config keys,
+ config info types, and unit codes have been added (additional enum
+ entries / numbers), no existing interfaces were added/changed/removed.
+ Frontends should continue to work fine without recompiling or relinking.
+
+ * New supported hardware:
+ - Logic analyzers:
+ - Saleae Logic16
+ - Thermometers:
+ - Center 309
+ - UNI-T UT325
+ - Voltcraft K204
+ - Multimeters:
+ - ISOTECH IDM103N
+ - Metex M-4650CR
+ - Norma DM950
+ - Voltcraft M-4650CR
+ - Energy meters:
+ - EDF Teleinfo
+ * New config keys:
+ - SR_CONF_VOLTAGE_THRESHOLD
+ - SR_CONF_EXTERNAL_CLOCK
+ - SR_CONF_SWAP
+ - SR_CONF_ENERGYMETER
+ * New config info types:
+ - SR_T_DOUBLE_RANGE
+ * New units:
+ - SR_UNIT_REVOLUTIONS_PER_MINUTE
+ - SR_UNIT_VOLT_AMPERE
+ - SR_UNIT_WATT
+ - SR_UNIT_WATT_HOUR
+ * New input modules:
+ - csv (comma-separated values)
+ * Bump required libzip version to >= 0.10.
+ * uni-t-dmm: This driver now requires the specification of the USB VID/PID
+ of the cable that is used. Example for sigrok-cli:
+ - Old: sigrok-cli --driver voltcraft-vc820 ...
+ - New: sigrok-cli --driver voltcraft-vc820:conn=1a86.e008 ...
+ * openbench-logic-sniffer:
+ - Initial test pattern support (SR_CONF_PATTERN_MODE).
+ - Initial external clock support (SR_CONF_EXTERNAL_CLOCK).
+ - Initial channel swap support (SR_CONF_SWAP).
+ - Various minor fixes and improvements.
+ * When a frontend adds a device instance to a running session, start
+ acquisition on it. This helps with the collectd use-case where devices
+ can be removed and added dynamically while a session is running.
+ * rigol-ds1xx2: Support newer Linux kernels with USBTMC in /sys/class/usbmisc.
+ * rigol-ds1xx2: Also detect the Rigol DS1152E/DS1152D.
+ * agilent-dmm: Fix a segfault happening in certain cases.
+ * output/analog: Support all currently known MQFLAGs.
+ * Fix a minor compile issue due to an incorrect #include.
+ * Fix two compile issues on FreeBSD (bug #185).
+ * es519xx: New generic parser for various Cyrustek DMM ICs.
+ * es51922/fs9721/fs9922/metex14: Use diode MQFLAG (bug #141).
+ * voltcraft-vc830: Fix diode mode handling (bug #142).
+ * Add the missing HACKING file to the tarball.
+ * README.devices: Updates/notes for newly added devices.
+
+0.2.1 (2013-08-07)
+------------------
+
+Note: This release does NOT change the libsigrok API. While new config keys,
+ config info types, and error codes have been added (additional enum
+ entries / numbers), no existing interfaces were added/changed/removed.
+ Frontends should continue to work fine without recompiling or relinking.
+
+ * New supported hardware:
+ - Logic analyzers:
+ - IKALOGIC Scanalogic-2
+ - IKALOGIC ScanaPLUS
+ - Sound level meters:
+ - CEM DT-8852
+ - Kecheng KC-330B
+ - Multimeters:
+ - UNI-T UT60A
+ - UNI-T UT60E
+ - Voltcraft M-3650D
+ - Voltcraft VC-830
+ * Drop the Tecpel DMM-8060 (doesn't have PC connectivity).
+ * New config keys:
+ - SR_CONF_SPL_WEIGHT_FREQ
+ - SR_CONF_SPL_WEIGHT_TIME
+ - SR_CONF_SPL_MEASUREMENT_RANGE
+ - SR_CONF_HOLD_MIN
+ - SR_CONF_HOLD_MAX
+ - SR_CONF_POWER_OFF
+ - SR_CONF_DATA_SOURCE
+ * New config info types:
+ - SR_T_UINT64_RANGE
+ * New error codes:
+ - SR_ERR_TIMEOUT
+ * Always link against libm, the math library (bug #115).
+ * Fix a bug in sr_si_string_u64() at al (bug #73).
+ * output/csv: Fix incorrect probe order.
+ * alsa: Fix a double-free issue (bug #129).
+ * zeroplus-logic-cube: Fix a bug in the driver cleanup code.
+ * ikalogic-scanalogic2: Use GET_REPORT (bug #130).
+ * uni-t-dmm: Fix a bug breaking the UNI-T UT61E (bug #136).
+ * Various internal consistency fixes and code cleanups.
+ * Improved Doxygen documentation.
+ * Fixed various memory leaks.
+
+0.2.0 (2013-05-04)
+------------------
+
+Note: This release DOES change the libsigrok API. That means it is NOT
+ backwards-compatible and frontends will need updates.
+
+ * Support for analog sources (oscilloscopes, DMMs, data loggers) was added.
+ * New supported hardware:
+ - Logic analyzers:
+ - CWAV USBee DX
+ - ZEROPLUS LAP-16128U
+ - Oscilloscopes:
+ - Hantek DSO-2090 (USB scope)
+ - Rigol DS1052D
+ - Rigol DS1052E
+ - Rigol DS1102D
+ - Rigol DS1102E
+ - Multimeters:
+ - Agilent U1231A
+ - Agilent U1232A
+ - Agilent U1233A
+ - Brymen BM857
+ - Digitek DT4000ZC
+ - Fluke 187
+ - Fluke 189
+ - Fluke 287
+ - Fluke 289
+ - Fluke ScopeMeter 199B
+ - MASTECH MAS345
+ - Metex ME-31
+ - Metex M-3640D
+ - PCE PCE-DM32
+ - PeakTech 3410
+ - PeakTech 4370
+ - RadioShack 22-168
+ - RadioShack 22-805
+ - RadioShack 22-812
+ - Tecpel DMM-8060
+ - Tecpel DMM-8061
+ - TekPower TP4000ZC
+ - UNI-T UT61D
+ - UNI-T UT61E
+ - V&A VA18B
+ - Victor 70C
+ - Victor 86C
+ - Voltcraft VC-820
+ - Voltcraft VC-840
+ - Sound level meters:
+ - Colead SL-5868P
+ - Tondaj SL-814
+ - Temperature/humidity/CO loggers:
+ - Lascar EL-USB and EL-USB CO series (various models)
+ - MIC 98581
+ - MIC 98583
+ * The limitation of max. 64 digital probes has been removed in many places.
+ * Added generic DMM protocol parsers usable for various DMMs, over various
+ cables and/or transports (e.g. same protocol over serial or USB/HID):
+ - Cyrustek ES51922 binary protocol.
+ - Fortune Semiconductor FS9721_LP3/FS9721B binary protocol.
+ - Fortune Semiconductor FS9922-DMM3/DMM4 binary protocol.
+ - Metex 14-byte ASCII protocol.
+ - RadioShack 22-812 binary protocol.
+ * zeroplus-logic-cube driver:
+ - Fix acquisition at some specific samplerates. Only report valid ones.
+ - Default to a samplerate of 1MHz.
+ - Fix trigger code.
+ - Add pre-trigger (capture ratio) setting.
+ - Add support for the ZEROPLUS LAP-16128U.
+ * fx2lafw driver:
+ - Add support for the CWAV USBee DX. This requires the latest version of
+ the fx2lafw firmware files.
+ - Add support for wide sampling (i.e. 16 probes instead of just 8).
+ - Fix multi-stage (software) triggers.
+ - Fix various memory leaks, firmware upload timeout bugs, and other issues.
+ - Various performance and memory usage improvements in the driver.
+ * chronovu-la8 driver:
+ - Add support for newer LA8 versions with USB VID/PID 0403:8867.
+ * demo driver:
+ - Various bugfixes when setting time/sample limits.
+ * openbench-logic-sniffer driver:
+ - Don't try to scan all available serial ports for OLS devices. Instead,
+ the serial port to use now has to be specified by the user.
+ - Allow disabling RLE.
+ * udev rules file: Add many new entries for additional devices.
+ * New output formats:
+ - analog: Prints analog values and their unit (e.g. from scopes or DMMs).
+ * New input formats:
+ - vcd: Value Change Dump format
+ - wav: Waveform audio file format (for analog data)
+ * 'binary' input format: Add support for a 'samplerate' option.
+ * API related changes:
+ - There is generated Doxygen API documentation now.
+ - The header that frontends should include is: <libsigrok/libsigrok.h>.
+ There are other headers which are installed, but those are not meant to
+ be included directly by the frontends.
+ - There were numerous API changes, additions and removals, too many to list
+ here. Please check the source code or Doxygen API documentation for the
+ current set of API functions.
+ * Serial port code:
+ - Various improvements and fixes related to multiple parameters such as
+ directions, baudrate, flow control, and others.
+ - Add support for more baudrates (e.g. very low ones such as 600/1200)
+ that are used in some devices.
+ - Add support for setting DTR/RTS.
+ * gnuplot files: Add sample files for CWAV USBee DX (for 8/16 bit sampling).
+ * Documentation updates:
+ - Add a README.devices file which contains various notes for users of
+ libsigrok about device- and/or driver-specific issues.
+ - Update README, HACKING, and other documents.
+ - Updated build dependencies list.
+ - The following libs are needed in more recent versions now:
+ - glib (required): Now must be >= 2.32.0.
+ - libusb-1.0 (optional): Now must be >= 1.0.9.
+ - The following new libs were added as (optional) dependencies:
+ - libasound / alsa-lib (optional): >= 1.0
+ - check (optional, only needed for unit tests): >= 0.9.4
+ * Portability:
+ - Various compile fixes for Windows, FreeBSD/NetBSD/OpenBSD, and Mac OS X.
+ - Simplify/allow/fix cross-compilation of libsigrok.
+ - Various bugfixes for 32bit systems.
+ - Various endianness fixes.
+ * configure:
+ - Add a --disable-all-drivers option. This can be overridden by
+ additional --enable-<drivername> options to selectively enable only some.
+ - Improve autodetection of libraries, and only enable drivers for which
+ all required libraries were found.
+ * Add a test suite for libsigrok with a few unit tests (the list will grow).
+
+0.1.1 (2012-05-30)
+------------------
+
+Note: This release does NOT change the libsigrok API.
+
+ * The 'saleae-logic' driver (which depends on the Saleae firmware), has
+ been replaced with the new 'fx2lafw' driver, which uses an open-source
+ firmware for Cypress FX2 chips which is also named 'fx2lafw'.
+ Details: http://sigrok.org/wiki/Fx2lafw
+ This new driver (+ firmware) currently supports the following devices:
+ - ARMFLY AX-Pro
+ - Braintechnology USB-LPS
+ - EE Electronics ESLA100
+ - EE Electronics ESLA201A
+ - Robomotic MiniLogic
+ - Robomotic BugLogic 3
+ - Saleae Logic
+ - USBee AX
+ - USBee SX
+ - All Cypress FX2 eval boards with stock Cypress VID/PID, including:
+ - Lcsoft Mini Board
+ - Braintechnology USB Interface V2.x
+ Only acquisition with 8 probes is supported so far. Support for 16 probes
+ and support for analog signal acquisition (on devices which have these
+ capabilities) will be added later.
+ * ASIX SIGMA driver:
+ - Add support for the ASIX SIGMA2. This requires the latest version of
+ the SIGMA/SIGMA2 firmware files.
+ Details: http://sigrok.org/wiki/Firmware
+ - Various bugfixes.
+ * ZEROPLUS Logic Cube LAP-C (16032): Fix a segfault.
+ * udev file: Add entries for Robomotic BugLogic 3, Velleman PCSU1000,
+ Ideofy LA-08, ARMFLY AX-Pro, and Braintechnology USB Interface V2.x.
+ * The zlib dependency has been removed (no longer needed).
+ * Fix compiling with "Homebrew" (Mac OS X).
+ * libsigrok now expects firmware files in $prefix/share/sigrok-firmware by
+ default (was $prefix/share/libsigrok/firmware before).
+ * Fix a Makefile.am bug which caused the generated ChangeLog files being
+ accidentally deleted upon 'make distclean'.
+ * ChronoVu LA8 input file format: Improve autodetection of the file format.
+ We now only accept files of the size 8388613 bytes (all LA8 files have
+ exactly this amount of bytes).
+
+0.1.0 (2012-04-17)