]> sigrok.org Git - libsigrok.git/blobdiff - NEWS
NEWS: Add list of user-visible changes so far.
[libsigrok.git] / NEWS
diff --git a/NEWS b/NEWS
index e66de177438a08dbd5659ed69cb8ca73954b92b5..60de6e341b7289cfb99883a94b0c921a4b79b008 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,480 @@
+0.5.2 (2019-12-23)
+------------------
+
+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:
+     - Microchip PICkit2
+     - Sysclk SLA5032
+   - Multimeters:
+     - Agilent 34405A
+     - Agilent U1271
+     - Agilent U1272
+     - Agilent U1273
+     - HP 34401A
+     - Keysight 34465A
+     - MASTECH MS2115B
+     - Mooshimeter
+   - Power supplies:
+     - BK Precision 9130
+     - HP 6611C
+     - HP 6612C
+     - HP 6613C
+     - HP 6614C
+     - HP 66312A
+     - HP 6632A
+     - HP 6634A
+     - Korad KA3005P (with 0xBC as extra byte in the model ID).
+     - Korad KD6005P
+     - Manson HCS-3300
+     - Manson HCS-3302
+     - RND 320-KD3005P
+     - Stamos S-LS-31
+     - TENMA 72-2535 V2.1
+     - Voltcraft DPPS-32-15
+   - Oscilloscopes:
+     - Agilent DSO1000B series
+     - Hameg HMO3522
+     - Rigol MSO5000 series
+     - Rohde&Schwarz HMO1000 series (e.g. bug #1286)
+     - Rohde&Schwarz RTA4000 series
+     - Rohde&Schwarz RTB2000 series
+     - Rohde&Schwarz RTC1000 series
+     - Rohde&Schwarz RTM3000 series
+     - YiXingDianZi MDSO
+   - LCR meters:
+     - MASTECH MS5308
+     - PeakTech 2165
+     - UNI-T UT612
+     - Voltcraft 4080
+   - Thermometers:
+     - MASTECH MS6514
+ * New config keys:
+   - SR_CONF_OFFSET
+   - SR_CONF_TRIGGER_PATTERN
+   - SR_CONF_HIGH_RESOLUTION
+   - SR_CONF_PEAK_DETECTION
+   - SR_CONF_LOGIC_THRESHOLD
+   - SR_CONF_LOGIC_THRESHOLD_CUSTOM
+   - SR_CONF_RANGE
+   - SR_CONF_DIGITS
+ * New output modules:
+   - wavedrom: WaveDrom JSON-based digital timing diagrams.
+ * Build dependencies:
+   - hidapi >= 0.8.0 (optional, used for some HID based "serial cables")
+   - bluez/libbluetooth >= 4.0 (optional, used for Bluetooth/BLE; Linux-only)
+   - libgio >= 2.32.0 (optional, used by some drivers)
+ * C++ bindings:
+   - Add Output::format().
+   - Avoid "using namespace" in headers (bug #1354).
+ * Python bindings:
+   - Add data array for logic packet payload.
+   - Add override for Context.create_logic_packet().
+   - Add new Context::create_end_packet() method.
+ * Backend:
+   - Add support for "serial over USB HID" transport, e.g. in DMMs (bug #555).
+     Supported chips/protocols: WCH CH9325, SiLabs CP2110, Brymen BU-86X IR
+     adapter, Victor DMM chip.
+   - Add support for Bluetooth and BLE (currently Linux-only).
+   - Add support for "serial over Bluetooth/BLE" transport (used e.g. in DMMs).
+   - serial: Add support for optional "RX chunk" callback.
+   - Remove sr_dev_close call from std_serial_dev_acquisition_stop (bug #1271).
+ * input/trace32_ad:
+   - Add support for new file format (BINHDR2).
+ * input/csv:
+   - Unbreak re-import of CSV files.
+   - Various parsing robustness improvements.
+   - Introduce generic "column processing" support.
+   - Various module option changes and renames.
+   - Add support for analog input data.
+   - Add support for timestamp columns, auto detect samplerate.
+   - Add automatic format match support.
+   - Set default "header" option value to true.
+   - Fix incorrect/incomplete startline/newline handling (bug #968).
+ * output/analog:
+   - Also print meta strings (not just numbers).
+ * output/vcd:
+   - Use larger data type to internally store frequency.
+   - Support smaller timescales with higher resolution.
+ * output/csv:
+   - Set default "time" option value to false.
+ * scpi:
+   - Add connenction_id() function to all SCPI drivers.
+   - scpi_libgpib: Add mutex to SPoll.
+ * dmm/bm86x:
+   - Unbreak temperature modes for two probes and no probes (bug #1394).
+ * brymen-bm86x, victor-dmm:
+   - Removed in favor of serial-dmm based driver support.
+ * scpi-pps:
+   - Add support for various config keys for HP 66xxB power supplies.
+   - Add init_acquisition() and update_status() for HP 66xxB power supplies.
+   - Set device and channel group feature for HP 66xxB.
+   - Don't use SCPI_CMD_REMOTE/_LOCAL for HP 66xxB devices when in GPIB mode.
+   - Add support for various config keys for HP 66xxA power supplies.
+   - Add configurable sr_mqflags.
+   - Add missing frequency channel settings for acquisition.
+ * hantek-4032l:
+   - Fix broken triggering on low signal (bug #1402).
+ * hameg-hmo:
+   - Use g_byte_array_free() instead of g_free() (bug #1324).
+   - Remove invalid HMO2522, add missing HMO3522 (bug #1322).
+   - Add support for 16 digital (logic) channels, i.e. two pods.
+   - Add support for various new config keys.
+   - Avoid getting stuck upon SCPI timeouts (bug #1323).
+   - Try to find a valid serialcomm if none is supplied (bug #1321).
+   - When setting slope, also set trigger type to edge (bug #1328).
+   - Use 1-based (not 0-based) POD numbers.
+   - Fix for an incorrect samplerate being returned.
+   - Fix the upper limit for the vertical scale.
+ * agilent-dmm:
+   - Fix support for Agilent/Keysight U1252A.
+ * asix-sigma:
+   - Fix a compiler warning (bug #1411).
+ * beaglelogic:
+   - Fix mismatched printf specifiers.
+ * saleae-logic16:
+   - Warn (instead of erroring out) if FPGA is unsupported.
+ * demo:
+   - Set an initial MQ, MQ flag and digits to the analog package.
+   - Get/set measurement quantity for the analog channels.
+   - Get/set amplitude while data acquisition is running.
+   - Get/set new config key SR_CONF_OFFSET.
+   - Add random analog signal generation.
+ * korad-kaxxxxp:
+   - Add SR_MQFLAG_DC flag to the current channel packet.
+   - Fix bug when setting values while acquisition is running.
+   - Send META packet when states have changed.
+ * lecroy-xstream:
+   - Remove header read, which caused issues on some devices (PR #33).
+ * uni-t-ut32x:
+   - Pre-set to default conn= spec.
+   - Use common code for sample/time limits.
+   - Improve robustness of packet parser, more diagnostics.
+ * chronovu-la:
+    - Fix broken triggering (#1369).
+ * openbench-logic-sniffer:
+   - Use 32bit for handling sample counts.
+   - Extend reponse delay when scanning device (helps on Pepino).
+   - Add feature to support >256K memory.
+   - Introduce metadata quirks support, unbreak Logic Shrimp.
+ * ftdi-la:
+   - Added FTDI FT232H device ID.
+   - Do enter the error path upon VID:PID mismatch (bug #1390).
+ * hp-3478a:
+   - Check via GPIB serial poll if new data is available.
+   - Add get/set/list of measurement ranges.
+   - Add get/set/list of digits.
+   - Check for measurement value overflow.
+ * manson-hcs-3xxx:
+   - Add support for some models with changes ID string (e.g. bug #1441).
+ * fx2lafw:
+   - Add support for 48MHz sampling (for very short intervals only).
+ * ipdbg-la:
+   - Check if limit samples is valid.
+   - Improve acquisition speed.
+   - Fix various issues on Windows.
+   - Fix an issue when capture rate is 100% (bug #1393).
+ * scpi-dmm:
+   - Accept serialcomm= scan options.
+   - Run OPC queries immediately before essential commands.
+ * brymen-bm86x:
+   - Fix incorrect channel indices.
+ * dmm/eev121gw:
+   - Add missing scale items for sub display in power modes.
+ * rigol-ds:
+   - Fix memory buffer readout on DS4000 series.
+ * fluke-45:
+   - Avoid NULL dereference in the probe routine.
+   - Disable ECHO test, it confuses other SCPI devices (bug #1272).
+ ∗ fluke-dmm:
+   - Fix use-after-free bugs (bug #1423).
+ * rdtech-dps:
+   - Synchronize read and write operations.
+   - Retry sr_modbus_read_holding_registers() up to 3 times.
+   - Handle different per-model current/voltage digits (bug #1385).
+   - Send META package when states have changed.
+ * udev:
+   - Add an additional Rohde&Schwarz HMO VID/PID.
+   - Add Siglent SDS1104X-E VID/PID (bug #1357).
+   - Add Lecroy WaveRunner VID/PID.
+ * Build system:
+   - Fix an issue when building in directories that are symlinks (bug #547).
+   - Fix C++ bindings compilation with Doxygen >= 1.8.16 (bug #1422).
+ * Fix various memory leaks in the backend and in drivers.
+ * README.devices: Update/amend docs, add more examples.
+
+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)
 ------------------
 
@@ -205,7 +682,7 @@ Note: This release DOES change the libsigrok API. That means it is NOT
      - LeCroy LogicStudio
      - mcupro Logic16 clone
      - Pipistrello OLS
-     - SysClk LWLA1016
+     - Sysclk LWLA1016
    - Oscilloscopes:
      - Rigol/Agilent DS1000Z series
      - Yokogawa DLM2000 series