+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)
------------------
- 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().
+ - 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).