]> sigrok.org Git - libsigrok.git/blobdiff - NEWS
configure.ac: Bump package version to 0.5.1.
[libsigrok.git] / NEWS
diff --git a/NEWS b/NEWS
index ae2a227713a9829f22364942b9aba99c780b71cf..dd44cf53be5b41b9fc586d9fd6a700eae545d6aa 100644 (file)
--- a/NEWS
+++ b/NEWS
-0.2.0 (2013-xx-yy)
+0.5.1 (2018-10-14)
 ------------------
 
+Note: This release does NOT change the libsigrok public C API in incompatible
+      ways. While new config keys have been added (additional enum
+      entries / numbers), no existing interfaces were changed or removed.
+      Frontends should continue to work fine without recompiling or relinking.
+
+ * New supported hardware:
+   - Logic analyzers:
+     - DreamSourceLab DSLogic Basic
+     - DreamSourceLab DSLogic Plus
+     - Hantek 4032L
+     - IPDBG (ipdbg.org FPGA IP debugger)
+     - Meilhaus Logian-16L
+     - Saleae Logic Pro 16 (experimental)
+     - ZEROPLUS Logic Cube LAP-16032U
+     - ZEROPLUS Logic Cube LAP-C (16128+) (bug #1045)
+   - Oscilloscopes:
+     - Agilent MSO7034A (experimental, digital channels not yet supported)
+     - Hantek DSO-2250 (experimental)
+     - Rigol DS4000 series (bug #1208)
+     - Siglent SDS1000 series
+     - Siglent SDS2000 series
+   - Multimeters:
+     - EEVblog 121GW (supports serial connection, requires BLE-serial bridge)
+     - Fluke 45
+     - HP 3478A
+     - MASTECH MS8250D
+     - Metex M-3860M
+     - PeakTech 4390A
+     - SparkFun 70C
+     - Victor DMMs with Mini-USB connector
+     - Voltcraft VC-96
+   - Power supplies:
+     - GW Instek GPD series
+     - HP 6631B
+     - HP 66332A
+     - HP 6633B
+     - HP 6634B
+     - Korad KD3005P
+     - RDTech DPS/DPH series
+     - Rigol DP711
+     - Rigol DP712
+     - RND KA3005P
+     - Tenma 72-2540
+   - Electronic loads:
+     - ZKETECH EBD-USB
+ * New config keys:
+   - SR_CONF_POWERMETER
+   - SR_CONF_UNDER_VOLTAGE_CONDITION_THRESHOLD
+   - SR_CONF_EXTERNAL_CLOCK_SOURCE
+ * Build dependencies:
+   - Drop libftdi 0.x support, require libftdi 1.x (bug #959).
+ * dreamsourcelab-dslogic:
+   - Split DSLogic devices into this new driver (were in fx2lafw previously).
+   - Handle SR_CONF_TRIGGER_MATCH in config_list() (bug #1032).
+   - Fix incorrect default/initial threshold setting.
+   - Fix deinterleaving when non-contiguous set of channels is enabled.
+   - Fix a triggering issue (bug #1188).
+ * demo:
+   - Unbreak execution with all analog channels disabled (bug #625).
+   - Only send average result data when averaging is active (bug #930).
+   - Don't generate analog output data for disabled channels (bug #923).
+   - Skip generating data when all channels in a group are disabled (bug #923).
+   - Mask out logic data for disabled channels in datafeed packets.
+   - Add multi-frame and frame-count (development) feature.
+   - Properly handle low samplerates.
+   - Add graycode generator mode.
+   - Add triggering support.
+ * conrad-digi-35-cpu:
+   - Add SR_CONF_LIST for voltage_target and current_limit.
+ * arachnid-labs-re-load-pro:
+   - Stop monitoring when open/close device.
+   - Add SR_DF_META packets for changed values/states.
+   - Change serial read in acquisition mode to prevent data loss.
+   - Fix a rounding issue when setting a current limit.
+   - Add SR_CONF_UNDER_VOLTAGE_THRESHOLD support.
+   - Make SR_CONF_REGULATION listable.
+   - Get a response when in acquision mode.
+   - Set an encoding "digits" value for analog packets.
+ * asix-sigma:
+   - Propagate errors from firmware upload (bug #471).
+   - Only change number of channels after successful firmware upload (bug #471).
+   - Only open the USB device once; fails with newer libftdi (bug #471).
+   - Download sample data upon user initiated stop, too.
+ * serial-lcr:
+   - Fix a double-free error (tested with PeakTech 2170).
+   - Support channel selection (enable/disable P1/P2).
+ * brymen-bm86x:
+   - Support channel selection (enable/disable channels).
+   - Fix a crash upon device closing.
+ * manson-hcs-3xxx:
+   - Add new name for the HCS-3304 (adjustment for new Manson firmware).
+ * chronovu-la:
+   - Silence overly verbose and confusing log messages.
+ * beaglelogic:
+   - Update scan() to return all 14 channels by default.
+   - Enable seamless continuous capturing.
+   - Use a flexible sampleunit depending on enabled channels.
+   - Add TCP protocol support.
+   - Fix a crash on device connection closing.
+   - Correctly advertise samplerates via SR_CONF_SAMPLERATE/SR_CONF_LIST.
+   - Fix a compiler warning (bug #1094).
+ * lecroy-xstream:
+   - Fix COMM_HEADER and COMM_FORMAT.
+   - Use best-effort strategy for models unknown to the driver.
+   - Fix trigger source/slope handling.
+   - Implement config_channel_set API callback.
+   - Fix sample rate handling.
+   - Keep acquiring infinitely if no frame limit is set.
+   - Properly handle a stopping acquisition.
+   - Wait for trigger before acquiring additional frames.
+ * hantek-6xxx:
+   - Use lower MAX_PACKET_SIZE on Windows (bug #1048).
+   - Use FIFO-based sampling, don't buffer all samples before send (bug #1214).
+   - Hantek 6022BE: Add VID/PID 04b5:6022 support (bug #918).
+   - Hantek 6022BL: Add VID/PID 04b5:602a support (bug #1295).
+ * scpi-pps:
+   - Add channel group device options for HP 663xx.
+   - Use thread safe SCPI functions, return float not double (bug #779).
+   - Improve switching of channel groups (PSU channels).
+   - Add missing functionality for the HP 6632B power supply.
+   - Add listable OVP/OCP threshold for HP 66xxx and prepared all others.
+   - Don't block waiting for a value on capture stop.
+   - Use software sample and time limits.
+   - Fix broken channel selection code (bug #1279).
+ * hameg-hmo:
+   - Forward internal channel state to sigrok channel state (bug #883).
+ * sysclk-lwla:
+   - Fix a segfault in dev_close().
+   - Fix a regression with (at least) the LWLA1034.
+ * rigol-ds:
+   - Fix crash when fetching logic channels (bug #1073).
+   - Fix a memory leak.
+   - Fix an issue causing only one channel to be acquired (bug #1018).
+   - Store trigger sources and their number for each model (bug #299).
+ * hantek-dso:
+   - Fix segfault when accessing already free()d memory (bug #458).
+ * korad-kaxxxxp:
+   - Add two channels "V" and "I", remove channel "CH1".
+   - Synchronize read and write operations.
+ * serial-dmm:
+   - Add support for multiple channels per DMM.
+   - Count analog DMM channels starting at 1.
+   - Print data bytes according to specific meter's packet length.
+ * siglent-sds:
+   - Fixed timebase problem where "ns" could not be selected (bug #1120).
+   - Add an averaging function.
+   - Partial fix for a USB connection problem (bug #1130).
+   - Fix samplerate and memory depth calculation.
+   - Better support for *-E series devices (more work might be needed).
+   - Fix SR_CONF_AVERAGING/SR_CONF_AVG_SAMPLES handling.
+ * hantek-4032l:
+   - Various data acquisition fixes (bug #1190).
+   - Add support for cleanly aborting an acquisition.
+ * fx2lafw:
+   - Silence message in query for channel group's device options (bug #1267).
+   - Add usb-c-grok IDs for upcoming device support.
+ * input/wav:
+   - Fix incorrect memset() call.
+   - Fix module reset issue (bug #1167).
+   - Don't assume CHUNK_SIZE >= total_samples.
+ * input/raw_analog:
+   - Fix module reset issue (bug #1167).
+   - Set appropriate precision digits for sample format (bug #950).
+ * input/vcd:
+   - Fixup VCD timestamp to sigrok samplenum mapping (bug #1075).
+   - Abort VCD import when timestamp counts backwards (bug #1250).
+   - Expand the reset() logic (bug #1306).
+   - Add channel list checks for file re-read (bug #1306).
+ * input/csv:
+   - Make the data format option a list.
+ * input/logicport:
+   - Add input module for LogicPort File (*.lpf) files.
+ * input/chronovu_la8:
+   - Only send data to the session, don't send the header.
+   - Also claim responsibility for ChronoVu LA16 files (.kdt/.kd1).
+ * input/null:
+   - Add this new input module (used for testing and benchmarking purposes).
+ * Input modules:
+   - Improve option names and descriptions.
+   - Increase chunk sizes to 4MB in most cases for improved performance.
+   - Add confidence (detection strength) to format_match() (bug #1200).
+ * output/null:
+   - Add this new output module (used for testing and benchmarking purposes).
+ * output/analog:
+   - Display SR_DF_META packets.
+   - Convert binary to digital digits of precision (bug #950).
+ * output/vcd:
+   - Assign adjacent names to enabled channels (bug #519).
+   - Assume packed input data image, unbreak 2nd+ channel (bug #519).
+ * output/wav:
+   - Change default for scale factor from 0.0 to 1.0.
+ * output/csv:
+   - Fix out-of-bounds array access in process_analog() (bug #1124).
+   - Make the label values option a list.
+   - Disable the dedup option by default.
+ * Output modules:
+   - Fixup trigger marker position in ascii/bits/hex output modules.
+ * Fix various compiler warnings, scan-build issues, and memory leaks.
+ * soft-trigger:
+   - Fix a memory allocation issue (bug #1000).
+   - Fix an issue causing triggers to not work.
+ * session_driver: Fix an issue causing incorrect analog data reads.
+ * Logging:
+   - Flush log lines to cope with non-terminal output (pipes).
+   - Move log level check so that it affects all handlers (bug #698).
+ * SCPI:
+   - Fix an issue caused by trailing whitespace handling (bug #788).
+   - Synchronize read, write and write+read operations.
+ * Various DMMs: Set DC flag for diode mode (bug #144).
+ * All drivers:
+   - Use serial_write_blocking() everywhere (bug #962).
+   - Fix locale dependent string to float conversion (bug #1064).
+   - Show firmware name when loading fails (bug #1262).
+ * FreeBSD:
+   - Ensure device is closed before usb_get_port_path() (bug #1109).
+ * Metex DMMs:
+   - Add missing modes and set correct digits values.
+   - Add power factor measurement mode.
+   - Fix incorrect measurement modes.
+ * DTM0660 DMMs:
+   - Do not apply the exponent twice on the value (bug #1236).
+ * libsigrok API:
+   - Add sr_a2l_threshold().
+   - Add sr_a2l_schmitt_trigger().
+   - Add sr_sprintf_ascii().
+   - Add sr_snprintf_ascii().
+   - Add sr_vsprintf_ascii().
+   - Add sr_vsnprintf_ascii().
+   - Add sr_resourcepaths_get() (bug #1128).
+   - Add sr_input_module_get().
+   - Add sr_log_callback_get().
+   - Add sr_packet_copy().
+   - Add sr_packet_free().
+   - sr_parse_boolstring(): Assume bool is true when no value is specified.
+   - sr_voltage_string(): Add a space before the unit.
+   - sr_parse_rational():
+     - Bugfix for integral parts between -0 and -1.
+     - Bugfix in an error path (bug #1093).
+     - Various parsing robustness improvements/fixes.
+     - Accept leading whitespace.
+     - Insist on some mantissa.
+   - sr_analog_si_prefix_friendly(): Fix read past end of array (bug #950).
+   - sr_parse_sizestring(): Support tera/peta/exa suffixes (bug #763).
+ * libsigrokcxx API:
+   - Add Analog::get_logic_via_threshold().
+   - Add Analog::get_logic_via_schmitt_trigger().
+   - Add Context::input_format_match().
+   - Add Option::parse_string().
+   - Add ConfigKey::parse_string().
+ * backend: Emit firmware search paths in a log message.
+ * Fix a driver-independent firmware loading issue (bug #1140).
+ * modbus: Improve error handling.
+ * Multiple internal refactorings to massively reduce per-driver boilerplate.
+ * Also check $SIGROK_FIRMWARE_DIR for firmware files.
+ * udev rules file:
+   - Add Brymen BU-86X adapter IDs.
+   - Add Rigol DP800 series IDs.
+   - Add usb-c-grok IDs.
+   - Rename file for correct rule ordering on systemd systems (bug #1059).
+   - Split device access policy from the device database. New files:
+     60-libsigrok.rules, 61-libsigrok-{plugdev,uaccess}.rules.
+ * Build system:
+   - Emit a warning if the C++ bindings are not being built.
+   - Install MIME info file in $(datadir)/mime/packages (bug #983).
+
+0.5.0 (2017-06-12)
+------------------
+
+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:
+     - CWAV USBee ZX (bug #764)
+     - DreamSourceLab DSLogic
+     - DreamSourceLab DSLogic Pro
+     - FTDI LA (simple, limited logic analyzer using FTDI chips directly)
+   - Oscilloscopes:
+     - Hameg HMO3524
+     - Hantek 6022BE
+     - LeCroy X-Stream series
+     - Rigol DS1074Z Plus
+     - Rigol DS1104Z Plus
+     - Rigol MSO2000A series
+     - Rocktech BM102
+     - Rohde&Schwarz HMO 1002
+     - Sainsmart DDS120
+   - Logic analyzers / oscilloscopes (but not MSOs):
+     - Hantek 6022BL
+   - Programmable power supplies:
+     - Agilent N5763A
+     - HP 6633A
+     - Rohde&Schwarz HMC8043
+   - Electronic loads:
+     - Arachnid Labs Re:load Pro
+   - Multimeters:
+     - Agilent U1241C
+     - Agilent U1242C
+     - Fluke 289
+     - HP 3457A
+     - Keysight U1281
+     - Keysight U1282
+     - Metrix MX56C
+     - PeakTech 3330
+   - Sound level meters:
+     - PCE PCE-322A
+   - LCR meters:
+     - PeakTech 2170
+   - Signal generators:
+     - Rohde&Schwarz SME0x series
+ * New build dependencies (libsigrokcxx C++ library):
+    - libsigrok >= 0.5.0 (the libsigrok C library)
+    - A C++ compiler with full C++11 support (g++ >= 4.8.1 or clang++ >= 3.3)
+ * New config keys:
+   - SR_CONF_ADC_POWERLINE_CYCLES
+   - SR_CONF_PROBE_FACTOR
+   - SR_CONF_SIGNAL_GENERATOR
+   - SR_CONF_TRIGGER_LEVEL
+   - SR_CONF_UNDER_VOLTAGE_CONDITION
+   - SR_CONF_UNDER_VOLTAGE_CONDITION_ACTIVE
+ * New measurement quantity keys:
+   - SR_MQ_HARMONIC_RATIO
+ * New measurement quantity flags:
+   - SR_MQFLAG_FOUR_WIRE
+ * agilent-dmm:
+   - Fix handling of AC/DC flags in volts mode.
+   - Add support for AC/DC flags in current mode.
+   - Add support for Keysight branded meters.
+   - Add support for reading secondary display and temperature.
+   - Add support for dBm/dBV modes.
+   - Rework job management to allow for faster and configurable samplerate.
+   - Add support for Log-Hand/-Trig/-Auto/-Export data sources.
+   - Fix handling of the second channel of 2 channels models.
+   - Add support for Vsense (Non-Contact Voltage).
+ * asix-sigma:
+   - Fix RLE decoder.
+   - Disable support for triggers, they don't work right now (bug #359).
+   - Properly decode data gathered at 100 and 200 MHz (bug #840).
+   - Only download firmware when necessary.
+   - Enforce optionally specified sample count (bug #838).
+   - Fixup the download of the last data acquisition chunk (bug #838).
+   - Various other bugfixes and internal code improvements.
+ * demo:
+   - Add "cable squid" logic waveform (works-with logo, many channels).
+   - Add walking one/walking zero pattern.
+ * deree-de5000:
+   - Rename the driver to serial-lcr, allow support for multiple devices.
+ * fx2lafw:
+   - CWAV USBee SX: Add support for one analog channel.
+   - Fix analog scaling.
+   - Fix a -Wself-assign compiler warning (bug #793).
+   - Warn on fail to open plausible devices (bug #867).
+   - Use wide_sampling only if necessary (depends on channel config).
+ * hameg-hmo:
+   - Support triggering on either falling or rising edge (bug #740).
+   - Terminate all commands with a linefeed for all transports (bug #784).
+   - Add PATTern and BUS1/BUS2 trigger sources.
+   - Fix index access for models with 2 pods / 16 digital channels.
+   - Support BE format for SCPI sample downloads.
+ * hantek-6xxx:
+   - Fix some issues by using power-of-two data sizes (bug #821).
+   - Fix AC/DC coupling selection (bug #836).
+   - Only list DC coupling once (bug #822).
+ * lecroy-xstream:
+   - Fix config_list() capabilities listing (bug #913).
+ * openbench-logic-sniffer:
+   - Fix acquisition restart with trigger enabled (bug #809).
+ * rigol-ds:
+   - Add support for getting/setting the trigger level.
+   - Properly report which channel is enabled.
+   - Add probe factor support.
+   - Send *OPC? after commands that don't return a value (bug #933).
+ * saleae-logic16:
+   - Add 20MHz and 50MHz to samplerate preset list (bug #799).
+ * uni-t-ut32x:
+   - Accept SR_CONF_CONN to fix the device scan.
+ * ut71x:
+   - Fix float printing issue in a debug message (bug #700).
+   - Fix incorrect resistance values on some DMMs.
+ * session:
+   - Fix memory allocation issue in sr_packet_copy().
+   - Increase chunk size for slightly better performance.
+   - Fix a segfault when input files were read multiple times.
+   - Fix missing data when input files were read multiple times (bug #944).
+ * analog:
+   - Improve output readability by using SI prefix.
+ * scpi:
+   - Fix remote locking according to USBTMC spec (bug #783).
+   - Various internal improvements to better handle corner cases.
+ * scpi/vxi:
+   - Fix incomplete reads (bug #790).
+ * input/vcd:
+   - Skip BOM at beginning of file (bug #755).
+ * input/trace32_ad:
+   - Make the sample rate an option.
+ * output/srzip:
+   - Add support for storing analog channels.
+ * output/analog:
+   - Drop obsolete and duplicate functions (bug #636).
+   - Fix incorrect displaying of the values for certain digits settings.
+ * output/csv:
+   - Fix a segfault when using non-hardware input.
+   - Fix a segfault due to a g_malloc() allocating too few bytes.
+   - Add an option to output units for column labels.
+   - Fix segfaults related to incorrect indices and unitsizes (bug #844).
+   - Fix a false negative after successful import causing frontend issues.
+   - Skip leading UTF-8 BOM in the input stream (bug #756).
+   - Correctly skip over last processed end-of-line sequence and accept
+     absence of last end-of-line termination sequence (bug #635).
+   - Send larger datafeed chunks, to speed up import.
+ * output/ascii:
+   - Add support for user configurable character set.
+ * output/gnuplot:
+   - Remove, obsoleted by the improved CSV module.
+ * bindings:
+   - Link C++ code with gnustl_shared if it exists (Android).
+   - Flesh out the analog payload bindings.
+ * bindings/cxx:
+   - Fixup memory leak in input module receive() calls (bug #976).
+   - Fix various -Wundefined-var-template clang warnings (bug #915).
+ * bindings/ruby:
+   - Fix out-of-tree build (bug #797).
+   - Fix distribution of Ruby bindings (bug #741).
+   - Fix Ruby bindings build on Mac OS X and FreeBSD (bug #800).
+   - Fix the build with BSD Make (bug #801).
+   - Make the Ruby bindings build with Ruby 2.0 again.
+ * bindings/java:
+   - Use correct JNI function when calling Vector.add.
+ * Build system:
+   - Use latest AX_CXX_COMPILE_STDCXX (bug #795).
+   - Fix linker issues related to --whole-archive (bug #802).
+   - Don't access the sr_driver_list with no driver compiled (bug #820).
+   - Fix a build issue related to C++ compiler flags (bug #865).
+   - configure summary: Show whether shared/static build is enabled.
+   - configure summary: Show linker flags.
+   - uninstall: Remove empty include directories (bug #861).
+ * udev rules file:
+   - Add TAG+="uaccess" for systemd, keep plugdev group as well (bug #665).
+   - Use 660 permissions (bug #665).
+   - Add various new USB VID/PID pairs for newly-supported hardware.
+ * Add a MIME info file (and icons) for sigrok session files (bug #857).
+ * Various internal refactorings and improvements.
+   - Add sr_sw_limits_*() helper functions for software limits.
+   - Add and use the standard cleanup helper std_cleanup().
+   - Add std_scan_complete() helper function for scan completion.
+ * All drivers were converted to use the new SR_DF_ANALOG format, support
+   for SR_DF_ANALOG_OLD has been dropped (bug #728).
+ * Many drivers now report the correct number of digits in analog packets.
+ * resource: Improve logging output (bug #806).
+ * Fix an issue with analog packets with digits=0 (bug #815).
+ * Fix a crash when scanning for devices with no options provided (bug #786).
+ * Fix a segfault with input/ouput modules (bug #813).
+ * Fix various compiler warnings.
+ * Fix various memory leaks.
+ * Remove FSF postal address from boiler plate license text.
+ * Various Doxygen fixes and improvements.
+ * README.devices: Update firmware related (and other) information.
+ * HACKING: Update URL to Linux kernel coding style.
+
+0.4.0 (2016-01-29)
+------------------
+
+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:
+     - AKIP-9101
+     - BeagleLogic
+     - LeCroy LogicStudio
+     - mcupro Logic16 clone
+     - Pipistrello OLS
+     - SysClk LWLA1016
+   - Oscilloscopes:
+     - Rigol/Agilent DS1000Z series
+     - Yokogawa DLM2000 series
+     - Yokogawa DL9000 series
+     - Hung-Chang DSO-2100
+     - GW Instek GDS-800
+   - Multimeters:
+     - Agilent U1241A/B
+     - Agilent U1242A/B
+     - Brymen BM25x series
+     - MASTECH MS8250B
+     - Metrahit 16T/16U/KMM2002
+     - PeakTech 3415
+     - Tenma 72-7730
+     - Tenma 72-7732
+     - Tenma 72-9380A
+     - Testo 435-4
+     - UNI-T UT372
+     - UNI-T UT71x series (UT71A/B/C/D/E)
+     - Velleman DVM4100
+     - Voltcraft VC-870
+     - Voltcraft VC-920
+     - Voltcraft VC-940
+     - Voltcraft VC-960
+   - Programmable power supplies:
+     - Fluke/Philips PM2800 series
+     - HP 663xx series
+     - Manson HCS-3xxx series
+     - Motech LPS-30x series
+     - Rigol DP800 series
+     - Korad KAxxxxP series (a.k.a Velleman LABPS3005D and others)
+   - AC/DC sources:
+     - Agilent N5700A series (DC sources)
+     - Chroma 61600 series (AC sources)
+     - Chroma 62000 series (DC sources)
+   - Electronic loads:
+     - Maynuo M97 (and compatibles)
+   - LCR meters:
+     - DER EE DE-5000
+   - Scales:
+     - KERN EW 6200-2NM
+   - BeagleBone Black capes:
+     - BayLibre ACME (revA and revB)
+ * New input modules:
+   - raw_analog: Raw analog signals in various formats
+   - trace32_ad: Lauterbach Trace32 logic analyzer data
+ * New output modules:
+   - wav: Waveform audio file format
+   - srzip: Native ZIP-based sigrok file format
+ * Add libsigrok language bindings based on SWIG + doxygen:
+   - C++ language bindings
+   - Python language bindings
+   - Ruby language bindings
+   - Java language bindings
+ * Add a Modbus framework in order to be able to support Modbus based devices.
+   - Add a Modbus RTU backend.
+ * Add a new, more flexible trigger framework.
+ * Add a generic software-trigger framework usable by any driver, currently
+   used by fx2lafw and saleae-logic16.
+ * Add a (Linux-only) GPIB SCPI backend using linux-gpib and libgpib.
+ * Add a generic scpi-pps driver which supports various power supplies.
+ * Add an experimental framework for "transforms" which can perform operations
+   on libsigrok session packets. This will be changed and improved upon in
+   later releases. Currently implemented tranforms:
+   - nop: Do nothing, pass on packets unmodified.
+   - scale: Scale all analog values by a specified factor.
+   - invert: Invert all the data values.
+     - An analog value of x becomes 1/x.
+     - A digital value of 0 becomes 1 (and vice versa).
+ * input:
+   - Introduce a new input module API.
+   - Rename "input format" to "input module" everywhere.
+   - Add a preferred file extension field (bug #541).
+ * output:
+   - Fix output option enumeration.
+   - Fix a double-free issue.
+   - Add a preferred file extension field (bug #541).
+ * input/csv:
+   - Avoid a segfault related to the obsolete mimetype format match (bug #681).
+ * input/vcd:
+   - Chunk up samples in 1MB blocks for better performance (bug #551).
+   - Allow optional index items (bug #322).
+   - Add support for 1 bit vectors (bug #723).
+ * input/wav:
+   - Fix an offset calculation error.
+   - Properly initialize the channel list early enough (bug #387).
+ * output/analog:
+   - Fix channel deinterleaving.
+ * output/csv:
+   - Match format based on .csv extention in the filename.
+   - Add support for analog data/packets.
+ * New or updated build dependencies:
+   - New build dependencies (libsigrok C library):
+     - libgpib (optional)
+     - libieee1284 (optional)
+   - Updated build dependencies (libsigrok C library):
+     - libserialport >= 0.1.1 (optional)
+     - librevisa >= 0.0.20130412 (optional)
+     - libftdi >= 0.16 or libftdi1 >= 1.0 (optional)
+   - New build dependencies (libsigrokcxx C++ library):
+     - libsigrok >= 0.4.0 (the libsigrok C library, see above)
+     - A C++ compiler with C++11 support (g++ >= 4.7 or clang++ >= 3.1)
+     - doxygen (required for building the C++ library!)
+     - graphviz (optional, only needed for C++ API docs)
+     - Python (2 or 3) executable (development files are not needed)
+     - glibmm-2.4 (>= 2.32.0)
+   - New build dependencies (libsigrok Python bindings):
+     - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
+     - Python >= 2.7 or Python >= 3 (including development files!)
+     - Python setuptools (for Python 2 or 3)
+     - pygobject >= 3.0.0 (for Python 2 or 3), a.k.a python-gi
+     - numpy (for Python 2 or 3)
+     - SWIG >= 2.0.0
+     - doxygen (optional, only needed for the Python API docs)
+     - graphviz (optional, only needed for the Python API docs)
+     - doxypy (optional, only needed for the Python API docs)
+   - New build dependencies (libsigrok Ruby bindings):
+     - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
+     - Ruby >= 1.9.3 (including development files!)
+     - SWIG >= 3.0.8
+     - YARD (optional, only needed for the Ruby API docs)
+   - New build dependencies (libsigrok Java bindings):
+     - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
+     - SWIG >= 2.0.0
+     - Java JDK (for JNI includes and the javac/jar binaries)
+     - doxygen (optional, only needed for the Java API docs)
+     - graphviz (optional, only needed for the Java API docs)
+ * Build system:
+   - Modernize the whole autotools setup.
+   - Add --with-libserialport, --with-libftdi, --with-libusb,
+     --with-librevisa, --with-libgpib, --with-libieee1284.
+   - Add --enable-bindings, --enable-cxx, --enable-python, --enable-ruby,
+     and --enable-java.
+   - Support both libftdi >= 0.16 and libftdi1 >= 1.0.
+   - configure: Show SCPI backends that'll be compiled.
+   - Unconditionally build src/lcr/es51919.c (bug #545).
+   - Compile with -std=c99 and _POSIX_C_SOURCE=200112L by default.
+   - Only link the 'check' library against the unit tests.
+   - Fix various out-of-tree build issues (e.g. bug #473).
+   - Don't set CFLAGS, LDFLAGS, etc. in configure.ac or Makefile.am (bug #578).
+   - Check for the numpy Python module (bug #533).
+   - Check for zip_discard(), provide alternative if not available (bug #674).
+ * Portability:
+   - Android: Add fallbacks for missing stoi()/stod(). 
+   - FreeBSD: Fix a libusb related compiler error.
+   - FreeBSD: Fix an issue with libusb_get_port_numbers().
+   - FreeBSD: Fix an issue with BSD Make (bug #556).
+   - FreeBSD: Fix an issue with SWIG detection (bug #557).
+   - FreeBSD: Fix a build issue related to isascii() (bug #649).
+   - Mac OS X: Fix 'sed' invocation in autogen.sh (bug #516).
+   - Mac OS X: Fix a usb_get_port_path() related issue (bug #673).
+   - Windows: Fix some thread-related issues causing hangs (bugs #343, #328).
+   - Windows: Fix a USB/thread related issue (bug #343).
+   - Windows: Fix shared (non-static) build.
+   - Windows: Fix various warnings related to a missing LIBUSB_CALL item.
+   - Windows: Add a missing WSAStartup() call to fix scpi/tcp (bug #692).
+   - Fix an issue with non-GNU Make (bug #628).
+   - Avoid std::map::emplace() for GCC 4.7 compatibility (bug #720).
+   - Avoid g_close() to not unnecessarily require glib >= 2.36 (bug #724).
+ * Language bindings:
+   - Support new output API.
+   - Add Doxygen docs for all language bindings.
+   - C++: Fix a C++ bindings linking issue (bug #534).
+   - Python: Fix mapping of vector & map attributes to Python types (bug #382).
+   - Python: Implement equality checks for EnumValue derived classes (bug #443).
+   - Python: Handle import failures without crashing.
+   - Python: Fix an installation issue (bug #644).
+   - Python: Prevent a numpy deprecation warning (bug #417).
+   - Python: Fix a ConfigKey.parse_string() crash (bug #483).
+   - Python: Fix the build for Python 3 (bug #645).
+   - Python: Fix some string conversion issues for Python 3 (bug #478).
+   - Python: Fix a SWIG related memory leak (bug #479).
+   - Python: Make device.config_keys() act like a Python dict (bug #480).
+   - Python: Provide sensible __str__() and __repr__() for enums (bug #688).
+   - Java: Install files into DESTDIR (bug #537).
+   - Java: Fix some SWIG warnings due to %extend redefinitions (bug #417).
+   - Java: Fix an issue related to C/C++ style casts (bug #688).
+   - Java: Fix a reference leak (bug #690).
+   - Session::set_trigger(): Fix segfault conditions (bugs #491, #496).
+ * Various API changes, additions and removals (see API docs for details).
+ * Add various new config keys, config info types, measurement quantity keys,
+   measurement quantity flags, units, device instance types, and error codes.
+ * udev rules file: Add entries for newly supported hardware.
+ * Add/use a new resource access API, defaults to XDG data dirs.
+ * Switch to a new SR_DF_ANALOG format (bug #640).
+ * All drivers:
+   - Publish config key capabilities.
+   - Gather connection info and serial number, if any.
+   - Cleanups of serial port based drivers wrt (non-)blocking reads/writes.
+ * Various drivers:
+   - Use physical USB connection instead of sdi->index.
+   - Fix blocking serial write timeout (bugs #436, #437, #433, #428, #427,
+     #430, #432, #434, #438).
+ * agilent-dmm:
+   - Fix value parser to consider 0.0 to be a valid result.
+   - Correctly parse negative overload.
+   - Add RMS flag to AC voltage modes.
+   - Add provisional support for the U124xx.
+   - U124xx/U125xx: Support 5 more modes (resistance, capacitance, frequency,
+     continuity, and temperature).
+   - Add current loop sensor support.
+   - Fix frequency support.
+ * beaglelogic:
+   - Add SR_CONF_CAPTURE_RATIO support.
+ * brymen-bm86x:
+   - Add current loop sensor support.
+ * chronovu-la:
+   - Properly handle multiple ChronoVu devices being attached (bug #504).
+ * colead-slm:
+   - Properly check acquisition sample limit.
+ * demo:
+   - Add support for continuous acquisition.
+   - Fix a memory leak related to channel groups.
+   - Support changing the amplitude of analog channels.
+   - Adds a new channel group "Analog", which has all analog channels in it.
+   - Attach analog generator to channel, not channel group.
+   - Provide a separate property list for the analog group (bug #505).
+   - Fix an issue by always honoring sample limit changes (bug #314).
+   - Fix square pattern output being shorter than other patterns.
+   - Fix analog output at low samplerates.
+   - Fix SR_CONF_DEVICE_OPTIONS variant type.
+   - Fix an infinite loop when 0 channels of one type were used.
+ * fx2lafw:
+   - Fix continuous mode usage with output modules (bug #380).
+   - Check for a valid samplerate before trying to set it (bug #386).
+   - Fix wide (16bit) sampling case (bug #373).
+   - Add SR_CONF_CAPTURE_RATIO support.
+   - Set up the transfer first, then start the acquisition (bug #574).
+   - Avoid the need to run "rmmod usbtest" on Linux for devices
+     with the standard Cypress FX2 USB VID/PID of 04b4:8613 (bug #445).
+   - Add support for the official fx2lafw sigrok VID/PID pairs and firmware
+     (this requires sigrok-firmware-fx2lafw >= 0.1.3):
+     - 1D50:608C: fx2lafw-sigrok-fx2-8ch.fw
+     - 1D50:608D: fx2lafw-sigrok-fx2-16ch.fw
+ * gmc-mh-1x-2x:
+   - Add support for the Metrahit Metrahit 16T, 16U, and KMM2002.
+   - Complete energy measurement ranges (V, A, W) for Metrahit 29S.
+ * hameg-hmo:
+   - Implement SR_CONF_SCAN_OPTIONS.
+   - Make sure the enabled_channels list is empty before populating it.
+   - Fix reading of analog data from an HMO1024 (Firmware 04.527).
+   - Fix a double-free issue.
+   - Fix a floating point comparison issue (bug #731).
+ * hantek-dso:
+   - Properly zero out MQ flags.
+   - Fix driver/global/channel group config keys.
+ * ikalogic-scanalogic2:
+   - Fix a segfault condition (bug #440).
+ * ikalogic-scanaplus:
+   - Fix a memory leak and a memory allocation issue.
+ * kecheng-kc-330b:
+   - Fix missing time/frequency weighting.
+ * lascar-el-usb:
+   - Fix issues caused by copy-paste errors.
+ * ols:
+   - Fix a serial port related issue on FreeBSD (bug #414).
+   - Fix detection and acquisition on Windows (bug #562).
+   - Fix an event source related acquisition issue (bug #678).
+   - Fix a portability issue due to direct use of FDs (bug #205).
+ * rigol-ds:
+   - Fix duplicated vendor string for Agilent devices.
+   - Replace magic numbers by appropriate constant or variable (bug #406).
+   - Handle POSITIVE/NEGATIVE (instead of POS/NEG) correctly (bug #558).
+   - Add missing 20/50/100V vdiv entries.
+   - Fix an issue related to the search for the closest vdiv.
+   - Return the actual hardware num_vdiv and vdiv list.
+   - Fix the smallest supported vdiv for the DS2000 series.
+   - Fix a double-free issue.
+   - SR_CONF_DATA_SOURCE is a device option, not per channel group.
+ * saleae-logic16:
+   - Recognize the FPGA FIFO overflow status.
+   - Downgrade error during capture to a message (bug #466).
+   - Add SR_CONF_CAPTURE_RATIO support.
+   - Support new bitstream version 1.3 with renumbered registers.
+   - Publish samplerates according to selected channels (bug #646).
+ * serial-dmm:
+   - Fix RadioShack 22-812 DMM incorrect readings (bug #657).
+   - Implement request timeout feature (bug #345).
+ * sysclk-lwla:
+   - Do not create channels in reverse order.
+   - Fix an issue related to sdi->connection_id (bug #441).
+   - Various robustness improvements.
+   - Fix a compile issue (bug #714).
+   - Work around some vendor FX2 firmware issues.
+ * zeroplus-logic-cube:
+   - Fix an issue when trying to trigger on a channel being 0/low.
+ * README: Drop obsolete sigrok-commits mailing list.
+ * Fix a Doxyfile issue which caused build failures e.g. on buildroot.
+ * Fix a USB timeout related sr_session_iteration() issue (bug #571).
+ * Fix various gcc/clang compiler errors/warnings (e.g. bugs #637, #721).
+ * Fix an issue related to multiple sr_init()/sr_exit() calls (bug #565).
+ * Fix an issue with transform packet passing (bug #631).
+ * Rename sr_dev_driver.priv to .context (bug #442).
+ * serial: Re-implement sr_serial_find_usb() using new libserialport APIs.
+ * Unit tests: Add some checks for session handling.
+ * scpi and scpi/usbtmc:
+   - Accept *IDN responses with more than 4 tokens (some devices need this).
+   - Fix incomplete data issue for e.g. Hameg HMO1024.
+   - Support the RL1 feature.
+   - Implement Rigol DS1000 workaround on any firmware version (bug #354).
+ * Various session related changes and improvements.
+ * The code now uses the Glib main loop as backend.
+ * Logging: Add a timestamp (at DBG/SPEW loglevel) to all log messages.
+ * Fix a trigger related segfault (bug #550).
+ * Don't check the libusb_get_device_descriptor() return code (bug #658).
+ * Fix various memory leaks in the code (e.g. bugs #629, #630, #632).
+ * session_file: Enable only probes listed in metadata (bugs #410, #495).
+
+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:
-     - USBee DX
+     - CWAV USBee DX
      - ZEROPLUS LAP-16128U
    - Oscilloscopes:
      - Hantek DSO-2090 (USB scope)
      - Fluke 189
      - Fluke 287
      - Fluke 289
-     - Fluke Scopemeter 199B
+     - Fluke ScopeMeter 199B
      - MASTECH MAS345
      - Metex ME-31
      - Metex M-3640D
+     - PCE PCE-DM32
      - PeakTech 3410
      - PeakTech 4370
-     - PCE PCE-DM32
      - RadioShack 22-168
      - RadioShack 22-805
      - RadioShack 22-812
+     - Tecpel DMM-8060
+     - Tecpel DMM-8061
      - TekPower TP4000ZC
      - UNI-T UT61D
      - UNI-T UT61E
    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/ÐMM4 binary protocol.
+   - Fortune Semiconductor FS9922-DMM3/DMM4 binary protocol.
    - Metex 14-byte ASCII protocol.
    - RadioShack 22-812 binary protocol.
  * zeroplus-logic-cube driver:
    - Add pre-trigger (capture ratio) setting.
    - Add support for the ZEROPLUS LAP-16128U.
  * fx2lafw driver:
-   - Add support for the USBee DX. This requires the latest version of the
-     fx2lafw firmware files.
+   - 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.
    - 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 we numerous API changes, additions and removals, too many to list
+   - 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:
     - 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 USBee DX (for 8/16 bit sampling).
+ * 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.