]> sigrok.org Git - libsigrok.git/blob - NEWS
output/csv: use intermediate time_t var, silence compiler warning
[libsigrok.git] / NEWS
1 0.4.0 (2016-01-29)
2 ------------------
3
4 Note: This release DOES change the libsigrok API. That means it is NOT
5       backwards-compatible and frontends will need updates.
6
7  * New supported hardware:
8    - Logic analyzers:
9      - AKIP-9101
10      - BeagleLogic
11      - LeCroy LogicStudio
12      - mcupro Logic16 clone
13      - Pipistrello OLS
14      - SysClk LWLA1016
15    - Oscilloscopes:
16      - Rigol/Agilent DS1000Z series
17      - Yokogawa DLM2000 series
18      - Yokogawa DL9000 series
19      - Hung-Chang DSO-2100
20      - GW Instek GDS-800
21    - Multimeters:
22      - Agilent U1241A/B
23      - Agilent U1242A/B
24      - Brymen BM25x series
25      - MASTECH MS8250B
26      - Metrahit 16T/16U/KMM2002
27      - PeakTech 3415
28      - Tenma 72-7730
29      - Tenma 72-7732
30      - Tenma 72-9380A
31      - Testo 435-4
32      - UNI-T UT372
33      - UNI-T UT71x series (UT71A/B/C/D/E)
34      - Velleman DVM4100
35      - Voltcraft VC-870
36      - Voltcraft VC-920
37      - Voltcraft VC-940
38      - Voltcraft VC-960
39    - Programmable power supplies:
40      - Fluke/Philips PM2800 series
41      - HP 663xx series
42      - Manson HCS-3xxx series
43      - Motech LPS-30x series
44      - Rigol DP800 series
45      - Korad KAxxxxP series (a.k.a Velleman LABPS3005D and others)
46    - AC/DC sources:
47      - Agilent N5700A series (DC sources)
48      - Chroma 61600 series (AC sources)
49      - Chroma 62000 series (DC sources)
50    - Electronic loads:
51      - Maynuo M97 (and compatibles)
52    - LCR meters:
53      - DER EE DE-5000
54    - Scales:
55      - KERN EW 6200-2NM
56    - BeagleBone Black capes:
57      - BayLibre ACME (revA and revB)
58  * New input modules:
59    - raw_analog: Raw analog signals in various formats
60    - trace32_ad: Lauterbach Trace32 logic analyzer data
61  * New output modules:
62    - wav: Waveform audio file format
63    - srzip: Native ZIP-based sigrok file format
64  * Add libsigrok language bindings based on SWIG + doxygen:
65    - C++ language bindings
66    - Python language bindings
67    - Ruby language bindings
68    - Java language bindings
69  * Add a Modbus framework in order to be able to support Modbus based devices.
70    - Add a Modbus RTU backend.
71  * Add a new, more flexible trigger framework.
72  * Add a generic software-trigger framework usable by any driver, currently
73    used by fx2lafw and saleae-logic16.
74  * Add a (Linux-only) GPIB SCPI backend using linux-gpib and libgpib.
75  * Add a generic scpi-pps driver which supports various power supplies.
76  * Add an experimental framework for "transforms" which can perform operations
77    on libsigrok session packets. This will be changed and improved upon in
78    later releases. Currently implemented tranforms:
79    - nop: Do nothing, pass on packets unmodified.
80    - scale: Scale all analog values by a specified factor.
81    - invert: Invert all the data values.
82      - An analog value of x becomes 1/x.
83      - A digital value of 0 becomes 1 (and vice versa).
84  * input:
85    - Introduce a new input module API.
86    - Rename "input format" to "input module" everywhere.
87    - Add a preferred file extension field (bug #541).
88  * output:
89    - Fix output option enumeration.
90    - Fix a double-free issue.
91    - Add a preferred file extension field (bug #541).
92  * input/csv:
93    - Avoid a segfault related to the obsolete mimetype format match (bug #681).
94  * input/vcd:
95    - Chunk up samples in 1MB blocks for better performance (bug #551).
96    - Allow optional index items (bug #322).
97    - Add support for 1 bit vectors (bug #723).
98  * input/wav:
99    - Fix an offset calculation error.
100    - Properly initialize the channel list early enough (bug #387).
101  * output/analog:
102    - Fix channel deinterleaving.
103  * output/csv:
104    - Match format based on .csv extention in the filename.
105    - Add support for analog data/packets.
106  * New or updated build dependencies:
107    - New build dependencies (libsigrok C library):
108      - libgpib (optional)
109      - libieee1284 (optional)
110    - Updated build dependencies (libsigrok C library):
111      - libserialport >= 0.1.1 (optional)
112      - librevisa >= 0.0.20130412 (optional)
113      - libftdi >= 0.16 or libftdi1 >= 1.0 (optional)
114    - New build dependencies (libsigrokcxx C++ library):
115      - libsigrok >= 0.4.0 (the libsigrok C library, see above)
116      - A C++ compiler with C++11 support (g++ >= 4.7 or clang++ >= 3.1)
117      - doxygen (required for building the C++ library!)
118      - graphviz (optional, only needed for C++ API docs)
119      - Python (2 or 3) executable (development files are not needed)
120      - glibmm-2.4 (>= 2.32.0)
121    - New build dependencies (libsigrok Python bindings):
122      - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
123      - Python >= 2.7 or Python >= 3 (including development files!)
124      - Python setuptools (for Python 2 or 3)
125      - pygobject >= 3.0.0 (for Python 2 or 3), a.k.a python-gi
126      - numpy (for Python 2 or 3)
127      - SWIG >= 2.0.0
128      - doxygen (optional, only needed for the Python API docs)
129      - graphviz (optional, only needed for the Python API docs)
130      - doxypy (optional, only needed for the Python API docs)
131    - New build dependencies (libsigrok Ruby bindings):
132      - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
133      - Ruby >= 1.9.3 (including development files!)
134      - SWIG >= 3.0.8
135      - YARD (optional, only needed for the Ruby API docs)
136    - New build dependencies (libsigrok Java bindings):
137      - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
138      - SWIG >= 2.0.0
139      - Java JDK (for JNI includes and the javac/jar binaries)
140      - doxygen (optional, only needed for the Java API docs)
141      - graphviz (optional, only needed for the Java API docs)
142  * Build system:
143    - Modernize the whole autotools setup.
144    - Add --with-libserialport, --with-libftdi, --with-libusb,
145      --with-librevisa, --with-libgpib, --with-libieee1284.
146    - Add --enable-bindings, --enable-cxx, --enable-python, --enable-ruby,
147      and --enable-java.
148    - Support both libftdi >= 0.16 and libftdi1 >= 1.0.
149    - configure: Show SCPI backends that'll be compiled.
150    - Unconditionally build src/lcr/es51919.c (bug #545).
151    - Compile with -std=c99 and _POSIX_C_SOURCE=200112L by default.
152    - Only link the 'check' library against the unit tests.
153    - Fix various out-of-tree build issues (e.g. bug #473).
154    - Don't set CFLAGS, LDFLAGS, etc. in configure.ac or Makefile.am (bug #578).
155    - Check for the numpy Python module (bug #533).
156    - Check for zip_discard(), provide alternative if not available (bug #674).
157  * Portability:
158    - Android: Add fallbacks for missing stoi()/stod(). 
159    - FreeBSD: Fix a libusb related compiler error.
160    - FreeBSD: Fix an issue with libusb_get_port_numbers().
161    - FreeBSD: Fix an issue with BSD Make (bug #556).
162    - FreeBSD: Fix an issue with SWIG detection (bug #557).
163    - FreeBSD: Fix a build issue related to isascii() (bug #649).
164    - Mac OS X: Fix 'sed' invocation in autogen.sh (bug #516).
165    - Mac OS X: Fix a usb_get_port_path() related issue (bug #673).
166    - Windows: Fix some thread-related issues causing hangs (bugs #343, #328).
167    - Windows: Fix a USB/thread related issue (bug #343).
168    - Windows: Fix shared (non-static) build.
169    - Windows: Fix various warnings related to a missing LIBUSB_CALL item.
170    - Windows: Add a missing WSAStartup() call to fix scpi/tcp (bug #692).
171    - Fix an issue with non-GNU Make (bug #628).
172    - Avoid std::map::emplace() for GCC 4.7 compatibility (bug #720).
173    - Avoid g_close() to not unnecessarily require glib >= 2.36 (bug #724).
174  * Language bindings:
175    - Support new output API.
176    - Add Doxygen docs for all language bindings.
177    - C++: Fix a C++ bindings linking issue (bug #534).
178    - Python: Fix mapping of vector & map attributes to Python types (bug #382).
179    - Python: Implement equality checks for EnumValue derived classes (bug #443).
180    - Python: Handle import failures without crashing.
181    - Python: Fix an installation issue (bug #644).
182    - Python: Prevent a numpy deprecation warning (bug #417).
183    - Python: Fix a ConfigKey.parse_string() crash (bug #483).
184    - Python: Fix the build for Python 3 (bug #645).
185    - Python: Fix some string conversion issues for Python 3 (bug #478).
186    - Python: Fix a SWIG related memory leak (bug #479).
187    - Python: Make device.config_keys() act like a Python dict (bug #480).
188    - Python: Provide sensible __str__() and __repr__() for enums (bug #688).
189    - Java: Install files into DESTDIR (bug #537).
190    - Java: Fix some SWIG warnings due to %extend redefinitions (bug #417).
191    - Java: Fix an issue related to C/C++ style casts (bug #688).
192    - Java: Fix a reference leak (bug #690).
193    - Session::set_trigger(): Fix segfault conditions (bugs #491, #496).
194  * Various API changes, additions and removals (see API docs for details).
195  * Add various new config keys, config info types, measurement quantity keys,
196    measurement quantity flags, units, device instance types, and error codes.
197  * udev rules file: Add entries for newly supported hardware.
198  * Add/use a new resource access API, defaults to XDG data dirs.
199  * Switch to a new SR_DF_ANALOG format (bug #640).
200  * All drivers:
201    - Publish config key capabilities.
202    - Gather connection info and serial number, if any.
203    - Cleanups of serial port based drivers wrt (non-)blocking reads/writes.
204  * Various drivers:
205    - Use physical USB connection instead of sdi->index.
206    - Fix blocking serial write timeout (bugs #436, #437, #433, #428, #427,
207      #430, #432, #434, #438).
208  * agilent-dmm:
209    - Fix value parser to consider 0.0 to be a valid result.
210    - Correctly parse negative overload.
211    - Add RMS flag to AC voltage modes.
212    - Add provisional support for the U124xx.
213    - U124xx/U125xx: Support 5 more modes (resistance, capacitance, frequency,
214      continuity, and temperature).
215    - Add current loop sensor support.
216    - Fix frequency support.
217  * beaglelogic:
218    - Add SR_CONF_CAPTURE_RATIO support.
219  * brymen-bm86x:
220    - Add current loop sensor support.
221  * chronovu-la:
222    - Properly handle multiple ChronoVu devices being attached (bug #504).
223  * colead-slm:
224    - Properly check acquisition sample limit.
225  * demo:
226    - Add support for continuous acquisition.
227    - Fix a memory leak related to channel groups.
228    - Support changing the amplitude of analog channels.
229    - Adds a new channel group "Analog", which has all analog channels in it.
230    - Attach analog generator to channel, not channel group.
231    - Provide a separate property list for the analog group (bug #505).
232    - Fix an issue by always honoring sample limit changes (bug #314).
233    - Fix square pattern output being shorter than other patterns.
234    - Fix analog output at low samplerates.
235    - Fix SR_CONF_DEVICE_OPTIONS variant type.
236    - Fix an infinite loop when 0 channels of one type were used.
237  * fx2lafw:
238    - Fix continuous mode usage with output modules (bug #380).
239    - Check for a valid samplerate before trying to set it (bug #386).
240    - Fix wide (16bit) sampling case (bug #373).
241    - Add SR_CONF_CAPTURE_RATIO support.
242    - Set up the transfer first, then start the acquisition (bug #574).
243    - Avoid the need to run "rmmod usbtest" on Linux for devices
244      with the standard Cypress FX2 USB VID/PID of 04b4:8613 (bug #445).
245    - Add support for the official fx2lafw sigrok VID/PID pairs and firmware
246      (this requires sigrok-firmware-fx2lafw >= 0.1.3):
247      - 1D50:608C: fx2lafw-sigrok-fx2-8ch.fw
248      - 1D50:608D: fx2lafw-sigrok-fx2-16ch.fw
249  * gmc-mh-1x-2x:
250    - Add support for the Metrahit Metrahit 16T, 16U, and KMM2002.
251    - Complete energy measurement ranges (V, A, W) for Metrahit 29S.
252  * hameg-hmo:
253    - Implement SR_CONF_SCAN_OPTIONS.
254    - Make sure the enabled_channels list is empty before populating it.
255    - Fix reading of analog data from an HMO1024 (Firmware 04.527).
256    - Fix a double-free issue.
257    - Fix a floating point comparison issue (bug #731).
258  * hantek-dso:
259    - Properly zero out MQ flags.
260    - Fix driver/global/channel group config keys.
261  * ikalogic-scanalogic2:
262    - Fix a segfault condition (bug #440).
263  * ikalogic-scanaplus:
264    - Fix a memory leak and a memory allocation issue.
265  * kecheng-kc-330b:
266    - Fix missing time/frequency weighting.
267  * lascar-el-usb:
268    - Fix issues caused by copy-paste errors.
269  * ols:
270    - Fix a serial port related issue on FreeBSD (bug #414).
271    - Fix detection and acquisition on Windows (bug #562).
272    - Fix an event source related acquisition issue (bug #678).
273    - Fix a portability issue due to direct use of FDs (bug #205).
274  * rigol-ds:
275    - Fix duplicated vendor string for Agilent devices.
276    - Replace magic numbers by appropriate constant or variable (bug #406).
277    - Handle POSITIVE/NEGATIVE (instead of POS/NEG) correctly (bug #558).
278    - Add missing 20/50/100V vdiv entries.
279    - Fix an issue related to the search for the closest vdiv.
280    - Return the actual hardware num_vdiv and vdiv list.
281    - Fix the smallest supported vdiv for the DS2000 series.
282    - Fix a double-free issue.
283    - SR_CONF_DATA_SOURCE is a device option, not per channel group.
284  * saleae-logic16:
285    - Recognize the FPGA FIFO overflow status.
286    - Downgrade error during capture to a message (bug #466).
287    - Add SR_CONF_CAPTURE_RATIO support.
288    - Support new bitstream version 1.3 with renumbered registers.
289    - Publish samplerates according to selected channels (bug #646).
290  * serial-dmm:
291    - Fix RadioShack 22-812 DMM incorrect readings (bug #657).
292    - Implement request timeout feature (bug #345).
293  * sysclk-lwla:
294    - Do not create channels in reverse order.
295    - Fix an issue related to sdi->connection_id (bug #441).
296    - Various robustness improvements.
297    - Fix a compile issue (bug #714).
298    - Work around some vendor FX2 firmware issues.
299  * zeroplus-logic-cube:
300    - Fix an issue when trying to trigger on a channel being 0/low.
301  * README: Drop obsolete sigrok-commits mailing list.
302  * Fix a Doxyfile issue which caused build failures e.g. on buildroot.
303  * Fix a USB timeout related sr_session_iteration() issue (bug #571).
304  * Fix various gcc/clang compiler errors/warnings (e.g. bugs #637, #721).
305  * Fix an issue related to multiple sr_init()/sr_exit() calls (bug #565).
306  * Fix an issue with transform packet passing (bug #631).
307  * Rename sr_dev_driver.priv to .context (bug #442).
308  * serial: Re-implement sr_serial_find_usb() using new libserialport APIs.
309  * Unit tests: Add some checks for session handling.
310  * scpi and scpi/usbtmc:
311    - Accept *IDN responses with more than 4 tokens (some devices need this).
312    - Fix incomplete data issue for e.g. Hameg HMO1024.
313    - Support the RL1 feature.
314    - Implement Rigol DS1000 workaround on any firmware version (bug #354).
315  * Various session related changes and improvements.
316  * The code now uses the Glib main loop as backend.
317  * Logging: Add a timestamp (at DBG/SPEW loglevel) to all log messages.
318  * Fix a trigger related segfault (bug #550).
319  * Don't check the libusb_get_device_descriptor() return code (bug #658).
320  * Fix various memory leaks in the code (e.g. bugs #629, #630, #632).
321  * session_file: Enable only probes listed in metadata (bugs #410, #495).
322
323 0.3.0 (2014-05-06)
324 ------------------
325
326 Note: This release DOES change the libsigrok API. That means it is NOT
327       backwards-compatible and frontends will need updates.
328
329  * New supported hardware:
330    - Logic analyzers:
331      - ChronoVu LA16
332      - Sysclk LWLA1034
333    - Oscilloscopes:
334      - Agilent DSO1000 series (various models)
335      - Hameg HMO compact series (various models)
336      - Rigol DS2000 series (various models)
337      - Rigol VS5000 series (various models)
338    - Multimeters:
339      - BBC Goerz Metrawatt M2110
340      - Brymen BM869
341      - Fluke 189
342      - Gossen Metrawatt MetraHIT 1x/2x series (various models)
343      - Tenma 72-7745 (rebadged UNI-T UT60E)
344      - Tenma 72-7750 (rebadged UNI-T UT60G)
345      - UNI-T UT60G
346      - UNI-T UT61B
347      - UNI-T UT61C
348      - V&A VA40B
349      - Voltcraft M-3650CR
350      - Voltcraft ME-42
351    - Thermometers:
352      - APPA 55II
353    - Programmable power supplies:
354      - Atten PPS3000 series (various models, tested on PPS3203T-3S).
355      - Conrad DIGI 35 CPU
356  * Add support for channel groups.
357  * Add generic SCPI backend code which can be used via various transports:
358    - Serial ports
359    - USBTMC
360    - TCP/RAW
361    - TCP/Rigol (Rigol-VS5000 series specific)
362    - VXI
363    - librevisa
364  * udev rules file: Add entries for newly supported hardware.
365  * New config keys:
366    - SR_CONF_DEMODULATOR
367    - SR_CONF_CENTER_FREQUENCY
368    - SR_CONF_NUM_LOGIC_CHANNELS
369    - SR_CONF_NUM_ANALOG_CHANNELS
370    - SR_CONF_CLOCK_EDGE
371    - SR_CONF_POWER_SUPPLY
372    - SR_CONF_OUTPUT_VOLTAGE
373    - SR_CONF_OUTPUT_VOLTAGE_MAX
374    - SR_CONF_OUTPUT_CURRENT
375    - SR_CONF_OUTPUT_CURRENT_MAX
376    - SR_CONF_OUTPUT_ENABLED
377    - SR_CONF_OUTPUT_CHANNEL
378    - SR_CONF_OVER_VOLTAGE_PROTECTION
379    - SR_CONF_OVER_CURRENT_PROTECTION
380    - SR_CONF_DEVICE_MODE
381    - SR_CONF_TEST_MODE
382  * New config info types:
383    - SR_T_INT32
384  * New measurement quantity keys:
385    - SR_MQ_TIME
386  * New measurement quantity flags:
387    - SR_MQFLAG_DURATION
388    - SR_MQFLAG_AVG
389  * New device instance types:
390    - SR_INST_SCPI
391  * New error codes:
392    - SR_ERR_CHANNEL_GROUP
393  âˆ— The SR_T_CHAR config type has been renamed to SR_T_STRING.
394  * New build dependencies:
395    - libserialport >= 0.1.0 (optional).
396      - All drivers that talk to serial ports now require libserialport.
397      - If libserialport is not found, those drivers will not be built.
398    - librevisa >= 0.0.20130812 (optional, only used by some drivers).
399  * Dropped build dependencies:
400    - libasound2 is no longer required (only the removed alsa driver used it).
401    - libudev is no longer required (only the removed link-mso19 driver used it).
402  * Serial port handling code:
403    - Add support for 5/6 data bits and non-standard baud rates.
404    - Fix an issue related to nonblocking reads (bug #188).
405    - Fix an 'invalid arguments' condition causing problems (bug #192).
406  * alsa: This driver was removed (also fixes bugs #28, #61, #96, #114).
407  * asix-sigma:
408    - Publish SR_CONF_CAPTURE_RATIO correctly (bugs #287, #291).
409    - Don't set invalid config options (bug #86).
410    - Various other bugfixes.
411  * cem-dt-885x: Fix a code portability issue (bug #267).
412  * chronovu-la:
413    - Rename the 'chronovu-la8' driver to 'chronovu-la'.
414    - Add support for the ChronoVu LA16.
415    - Fix a segfault when doing multiple acquisitions on an LA8 (bug #247).
416    - Document that streaming is not possible for LA8/LA16 (bug #261).
417  * demo:
418    - Add support for analog channels (bug #11).
419    - Make the number of channels user-configurable.
420    - Add per-channel-group options.
421    - Implement analog sample patterns: sine, triangle, sawtooth.
422    - Fix a samplerate related issue with rates >= 50kHz (bugs #294, #295).
423    - Fix an issue causing data glitches every 40ms (bug #297).
424    - Fix an issue related to channel group handling (bug #262).
425  * digitek-dt4000zc: Fix driver on NetBSD due to missing DTR=1 (bug #189).
426  * fx2lafw:
427    - Fix incorrect unitsize when a trigger fires (bug #182).
428    - Implement config_get() for SR_CONF_LIMIT_SAMPLES.
429    - Don't send more samples than requested to the session bus.
430  * gmc-mh-1x-2x:
431    - Add new (sub)driver 'gmc-mh-2x-bd232'.
432    - Add support for the SI232-II interface.
433  * hameg-hmo:
434    - Fix a build issue on Mac OS X (bug #216).
435    - Various fixes related to frame limit, samplerate, options, etc.
436  * link-mso19: Drop unfinished driver for now (until it starts working).
437  * openbench-logic-sniffer:
438    - Fix a serial port related issue/hang, seen on (e.g.) NetBSD.
439    - Fix an SR_CONF_PATTERN_MODE related problem (bugs #184, #190).
440    - Fix a serial (non)blocking mode issue (bug #231).
441    - Temporarily disable the driver on Windows (needs portability fixes).
442    - Fix an endianness issue in the protocol handling (bug #135).
443    - Fix a sampling issue when (samples % 4) != 0 (bug #200).
444    - Fix an issue occurring when all channels were disabled (bugs #316, #347).
445    - Add an option to turn test patterns off again (bug #293).
446  * rigol-ds:
447    - Rename the 'rigol-ds1xx2' driver to 'rigol-ds'.
448    - Add support for more models and unify the driver code (bug #212).
449    - Add support for RS232 connectivity (previously only USBTMC worked).
450    - Enable the driver on non-Linux platforms since all transports the driver
451      uses are provided by cross-platform code/libs now (e.g. serial, USBTMC).
452    - Add support for 4 channels (required by some models).
453    - Add support for channel groups.
454    - Advertise SR_CONF_LIMIT_FRAMES support.
455    - Fix an issue with SR_DF_END sending.
456    - Enable/disable LA pod when (de)selecting digital channels.
457    - Disable key lock when closing device.
458    - Work around issues due to DS1000 specific protocol changes (bug #283).
459    - Fix incorrect digital channel numbers on some models (bug #269).
460    - Fix an issue with partial data reads (bugs #220, #209, #207).
461  * saleae-logic16:
462    - Fix an issue related to USB device claiming (bug #159).
463    - Don't send more samples than requested to the session bus (bug #350).
464    - Use unitsize 1 (not 2) if none of channels 8-15 are used.
465  * serial-dmm: Fix some parse issues by increasing a timeout.
466  * sysclk-lwla: Fix a sampling issue related to a glib API call (bug #270).
467  * uni-t-ut32x: Fix typo which prevented usage with multiple devices.
468  * victor-dmm: Fix MIN/MAX always being reported (bug #228).
469  * zeroplus-logic-cube:
470    - Add support for 32-channel models and additional memory sizes.
471    - Fix a frontend issue due to missing SR_CONF_CAPTURE_RATIO.
472    - Fix an issue causing pre-trigger garbage data to be sent (bug #222).
473    - Add initial voltage threshold support.
474  * Various drivers:
475    - Expose missing SR_CONF_TRIGGER_TYPE.
476    - Report max. possible number of samples (bugs #197, #258, #263).
477  * Output modules:
478    - Skip analog channels in logic-only output formats.
479    - Remove the obsolete output module API, add wrapper calls for the new one.
480    - Stop using the obsolete output API (bugs #288, #47, #48).
481    - Properly receive and handle samplerate metadata (bug #46).
482  * input/vcd: Abort with an error upon > 64 channels (bug #194).
483  * output/vcd:
484    - Fix output for more than 8 channels.
485    - Output timestamp only once per change.
486    - Minor whitespace changes of output files to make them more readable.
487    - Remove bogus $dumpvars and $dumpoff commands.
488    - Various bugfixes and portability fixes.
489  * output/csv:
490    - Remove a 64-channel limit (bug #193).
491    - Fix an issue resulting in incorrect trailing commas (bug #230).
492    - Fix an issue where all timestamps would be zero (bug #35).
493  * Rename 'probe' to 'channel' in all places, since libsigrok supports a lot
494    of gear where 'channel' fits better (bug #259).
495  * Change TRIGGER_SLOPE from SR_T_UINT64 to SR_T_STRING.
496  * Windows support improvements:
497    - Use libserialport (+other backend code) to fix serial devices (bug #91).
498    - Add serial source addition/removal backend code (bug #206).
499    - Add backend code for properly supporting USB based devices.
500  * Fix various memory leaks in the backend code.
501  * Fix some incorrect parsing of floating point numbers in the strutil code.
502  * Fix various endianness issues in backend code and drivers (bug #266).
503  * Fix a few issues related to incorrect parsing with non-ANSI-C locales
504    (bugs #271, #272, #273, #274).
505  * Fix an issue related to data being sent to the libsigrok session which
506    was not a multiple of the unit/sample size (bugs, #289, #290).
507  * Drop the es51922 DMM parser (replaced by the generic es519xx parser).
508  * libsigrok session files:
509    - The libsigrok session file format (for *.sr files) has changed, and the
510      file format 'version' field is bumped to 2. Older libsigrok versions will
511      not be able to handle version 2 files, but new libsigrok versions can
512      handle both version 1 and version 2 files. New libsigrok versions will
513      always write/output version 2 files.
514    - Fix an issue resulting in left-over temporary files (bug #276).
515    - Fix an issue with analog probes (unsupported) in *.sr files (bug #277).
516    - Fix an issue with missing samplerate from session files (bug #275).
517  * Improved API documentation.
518  * Major API changes (overview):
519    - Change various function/macro names related to the probe->channel rename.
520    - Change various functions due to the new channel group feature.
521    - All enums in the public API now have names (e.g. 'enum sr_mqflag').
522    - The lib no longer defines names with _t suffix (POSIX reserved).
523    - New API calls:
524       - sr_session_dev_list()
525       - sr_session_save_init()
526       - sr_session_append()
527       - sr_config_commit()
528       - sr_output_new()
529       - sr_output_send()
530       - sr_output_free()
531    - Obsoleted and removed API calls:
532       - sr_filter_channels()
533    - 'struct sr_session' is now opaque (contents shouldn't be used directly).
534    - Please see the Doxygen API documentation for further details.
535  * Build system:
536    - Switch to a non-recursive automake setup (fewer files, faster builds).
537    - configure: Clearly mark required and optional libs.
538
539 0.2.2 (2013-11-04)
540 ------------------
541
542 Note: This release does NOT change the libsigrok API. While new config keys,
543       config info types, and unit codes have been added (additional enum
544       entries / numbers), no existing interfaces were added/changed/removed.
545       Frontends should continue to work fine without recompiling or relinking.
546
547  * New supported hardware:
548    - Logic analyzers:
549      - Saleae Logic16
550    - Thermometers:
551      - Center 309
552      - UNI-T UT325
553      - Voltcraft K204
554    - Multimeters:
555      - ISOTECH IDM103N
556      - Metex M-4650CR
557      - Norma DM950
558      - Voltcraft M-4650CR
559    - Energy meters:
560      - EDF Teleinfo
561  * New config keys:
562    - SR_CONF_VOLTAGE_THRESHOLD
563    - SR_CONF_EXTERNAL_CLOCK
564    - SR_CONF_SWAP
565    - SR_CONF_ENERGYMETER
566  * New config info types:
567    - SR_T_DOUBLE_RANGE
568  * New units:
569    - SR_UNIT_REVOLUTIONS_PER_MINUTE
570    - SR_UNIT_VOLT_AMPERE
571    - SR_UNIT_WATT
572    - SR_UNIT_WATT_HOUR
573  * New input modules:
574    - csv (comma-separated values)
575  * Bump required libzip version to >= 0.10.
576  * uni-t-dmm: This driver now requires the specification of the USB VID/PID
577    of the cable that is used. Example for sigrok-cli:
578     - Old: sigrok-cli --driver voltcraft-vc820 ...
579     - New: sigrok-cli --driver voltcraft-vc820:conn=1a86.e008 ...
580  * openbench-logic-sniffer:
581    - Initial test pattern support (SR_CONF_PATTERN_MODE).
582    - Initial external clock support (SR_CONF_EXTERNAL_CLOCK).
583    - Initial channel swap support (SR_CONF_SWAP).
584    - Various minor fixes and improvements.
585  * When a frontend adds a device instance to a running session, start
586    acquisition on it. This helps with the collectd use-case where devices
587    can be removed and added dynamically while a session is running.
588  * rigol-ds1xx2: Support newer Linux kernels with USBTMC in /sys/class/usbmisc.
589  * rigol-ds1xx2: Also detect the Rigol DS1152E/DS1152D.
590  * agilent-dmm: Fix a segfault happening in certain cases.
591  * output/analog: Support all currently known MQFLAGs.
592  * Fix a minor compile issue due to an incorrect #include.
593  * Fix two compile issues on FreeBSD (bug #185).
594  * es519xx: New generic parser for various Cyrustek DMM ICs.
595  * es51922/fs9721/fs9922/metex14: Use diode MQFLAG (bug #141).
596  * voltcraft-vc830: Fix diode mode handling (bug #142).
597  * Add the missing HACKING file to the tarball.
598  * README.devices: Updates/notes for newly added devices.
599
600 0.2.1 (2013-08-07)
601 ------------------
602
603 Note: This release does NOT change the libsigrok API. While new config keys,
604       config info types, and error codes have been added (additional enum
605       entries / numbers), no existing interfaces were added/changed/removed.
606       Frontends should continue to work fine without recompiling or relinking.
607
608  * New supported hardware:
609    - Logic analyzers:
610      - IKALOGIC Scanalogic-2
611      - IKALOGIC ScanaPLUS
612    - Sound level meters:
613      - CEM DT-8852
614      - Kecheng KC-330B
615    - Multimeters:
616      - UNI-T UT60A
617      - UNI-T UT60E
618      - Voltcraft M-3650D
619      - Voltcraft VC-830
620  * Drop the Tecpel DMM-8060 (doesn't have PC connectivity).
621  * New config keys:
622    - SR_CONF_SPL_WEIGHT_FREQ
623    - SR_CONF_SPL_WEIGHT_TIME
624    - SR_CONF_SPL_MEASUREMENT_RANGE
625    - SR_CONF_HOLD_MIN
626    - SR_CONF_HOLD_MAX
627    - SR_CONF_POWER_OFF
628    - SR_CONF_DATA_SOURCE
629  * New config info types:
630    - SR_T_UINT64_RANGE
631  * New error codes:
632    - SR_ERR_TIMEOUT
633  * Always link against libm, the math library (bug #115).
634  * Fix a bug in sr_si_string_u64() at al (bug #73).
635  * output/csv: Fix incorrect probe order.
636  * alsa: Fix a double-free issue (bug #129).
637  * zeroplus-logic-cube: Fix a bug in the driver cleanup code.
638  * ikalogic-scanalogic2: Use GET_REPORT (bug #130).
639  * uni-t-dmm: Fix a bug breaking the UNI-T UT61E (bug #136).
640  * Various internal consistency fixes and code cleanups.
641  * Improved Doxygen documentation.
642  * Fixed various memory leaks.
643
644 0.2.0 (2013-05-04)
645 ------------------
646
647 Note: This release DOES change the libsigrok API. That means it is NOT
648       backwards-compatible and frontends will need updates.
649
650  * Support for analog sources (oscilloscopes, DMMs, data loggers) was added.
651  * New supported hardware:
652    - Logic analyzers:
653      - CWAV USBee DX
654      - ZEROPLUS LAP-16128U
655    - Oscilloscopes:
656      - Hantek DSO-2090 (USB scope)
657      - Rigol DS1052D
658      - Rigol DS1052E
659      - Rigol DS1102D
660      - Rigol DS1102E
661    - Multimeters:
662      - Agilent U1231A
663      - Agilent U1232A
664      - Agilent U1233A
665      - Brymen BM857
666      - Digitek DT4000ZC
667      - Fluke 187
668      - Fluke 189
669      - Fluke 287
670      - Fluke 289
671      - Fluke ScopeMeter 199B
672      - MASTECH MAS345
673      - Metex ME-31
674      - Metex M-3640D
675      - PCE PCE-DM32
676      - PeakTech 3410
677      - PeakTech 4370
678      - RadioShack 22-168
679      - RadioShack 22-805
680      - RadioShack 22-812
681      - Tecpel DMM-8060
682      - Tecpel DMM-8061
683      - TekPower TP4000ZC
684      - UNI-T UT61D
685      - UNI-T UT61E
686      - V&A VA18B
687      - Victor 70C
688      - Victor 86C
689      - Voltcraft VC-820
690      - Voltcraft VC-840
691    - Sound level meters:
692      - Colead SL-5868P
693      - Tondaj SL-814
694    - Temperature/humidity/CO loggers:
695      - Lascar EL-USB and EL-USB CO series (various models)
696      - MIC 98581
697      - MIC 98583
698  * The limitation of max. 64 digital probes has been removed in many places.
699  * Added generic DMM protocol parsers usable for various DMMs, over various
700    cables and/or transports (e.g. same protocol over serial or USB/HID):
701    - Cyrustek ES51922 binary protocol.
702    - Fortune Semiconductor FS9721_LP3/FS9721B binary protocol.
703    - Fortune Semiconductor FS9922-DMM3/DMM4 binary protocol.
704    - Metex 14-byte ASCII protocol.
705    - RadioShack 22-812 binary protocol.
706  * zeroplus-logic-cube driver:
707    - Fix acquisition at some specific samplerates. Only report valid ones.
708    - Default to a samplerate of 1MHz.
709    - Fix trigger code.
710    - Add pre-trigger (capture ratio) setting.
711    - Add support for the ZEROPLUS LAP-16128U.
712  * fx2lafw driver:
713    - Add support for the CWAV USBee DX. This requires the latest version of
714      the fx2lafw firmware files.
715    - Add support for wide sampling (i.e. 16 probes instead of just 8).
716    - Fix multi-stage (software) triggers.
717    - Fix various memory leaks, firmware upload timeout bugs, and other issues.
718    - Various performance and memory usage improvements in the driver.
719  * chronovu-la8 driver:
720    - Add support for newer LA8 versions with USB VID/PID 0403:8867.
721  * demo driver:
722    - Various bugfixes when setting time/sample limits.
723  * openbench-logic-sniffer driver:
724    - Don't try to scan all available serial ports for OLS devices. Instead,
725      the serial port to use now has to be specified by the user.
726    - Allow disabling RLE.
727  * udev rules file: Add many new entries for additional devices.
728  * New output formats:
729    - analog: Prints analog values and their unit (e.g. from scopes or DMMs).
730  * New input formats:
731    - vcd: Value Change Dump format
732    - wav: Waveform audio file format (for analog data)
733  * 'binary' input format: Add support for a 'samplerate' option.
734  * API related changes:
735    - There is generated Doxygen API documentation now.
736    - The header that frontends should include is: <libsigrok/libsigrok.h>.
737      There are other headers which are installed, but those are not meant to
738      be included directly by the frontends.
739    - There were numerous API changes, additions and removals, too many to list
740      here. Please check the source code or Doxygen API documentation for the
741      current set of API functions.
742  * Serial port code:
743     - Various improvements and fixes related to multiple parameters such as
744       directions, baudrate, flow control, and others.
745     - Add support for more baudrates (e.g. very low ones such as 600/1200)
746       that are used in some devices.
747     - Add support for setting DTR/RTS.
748  * gnuplot files: Add sample files for CWAV USBee DX (for 8/16 bit sampling).
749  * Documentation updates:
750    - Add a README.devices file which contains various notes for users of
751      libsigrok about device- and/or driver-specific issues.
752    - Update README, HACKING, and other documents.
753    - Updated build dependencies list.
754      - The following libs are needed in more recent versions now:
755        - glib (required): Now must be >= 2.32.0.
756        - libusb-1.0 (optional): Now must be >= 1.0.9.
757      - The following new libs were added as (optional) dependencies:
758        - libasound / alsa-lib (optional): >= 1.0
759        - check (optional, only needed for unit tests): >= 0.9.4
760  * Portability:
761    - Various compile fixes for Windows, FreeBSD/NetBSD/OpenBSD, and Mac OS X.
762    - Simplify/allow/fix cross-compilation of libsigrok.
763    - Various bugfixes for 32bit systems.
764    - Various endianness fixes.
765  * configure:
766     - Add a --disable-all-drivers option. This can be overridden by
767       additional --enable-<drivername> options to selectively enable only some.
768     - Improve autodetection of libraries, and only enable drivers for which
769       all required libraries were found.
770  * Add a test suite for libsigrok with a few unit tests (the list will grow).
771
772 0.1.1 (2012-05-30)
773 ------------------
774
775 Note: This release does NOT change the libsigrok API.
776
777  * The 'saleae-logic' driver (which depends on the Saleae firmware), has
778    been replaced with the new 'fx2lafw' driver, which uses an open-source
779    firmware for Cypress FX2 chips which is also named 'fx2lafw'.
780    Details: http://sigrok.org/wiki/Fx2lafw
781    This new driver (+ firmware) currently supports the following devices:
782      - ARMFLY AX-Pro
783      - Braintechnology USB-LPS
784      - EE Electronics ESLA100
785      - EE Electronics ESLA201A
786      - Robomotic MiniLogic
787      - Robomotic BugLogic 3
788      - Saleae Logic
789      - USBee AX
790      - USBee SX
791      - All Cypress FX2 eval boards with stock Cypress VID/PID, including:
792        - Lcsoft Mini Board
793        - Braintechnology USB Interface V2.x
794    Only acquisition with 8 probes is supported so far. Support for 16 probes
795    and support for analog signal acquisition (on devices which have these
796    capabilities) will be added later.
797  * ASIX SIGMA driver:
798    - Add support for the ASIX SIGMA2. This requires the latest version of
799      the SIGMA/SIGMA2 firmware files.
800      Details: http://sigrok.org/wiki/Firmware
801    - Various bugfixes.
802  * ZEROPLUS Logic Cube LAP-C (16032): Fix a segfault.
803  * udev file: Add entries for Robomotic BugLogic 3, Velleman PCSU1000,
804    Ideofy LA-08, ARMFLY AX-Pro, and Braintechnology USB Interface V2.x.
805  * The zlib dependency has been removed (no longer needed).
806  * Fix compiling with "Homebrew" (Mac OS X).
807  * libsigrok now expects firmware files in $prefix/share/sigrok-firmware by
808    default (was $prefix/share/libsigrok/firmware before).
809  * Fix a Makefile.am bug which caused the generated ChangeLog files being
810    accidentally deleted upon 'make distclean'.
811  * ChronoVu LA8 input file format: Improve autodetection of the file format.
812    We now only accept files of the size 8388613 bytes (all LA8 files have
813    exactly this amount of bytes).
814
815 0.1.0 (2012-04-17)
816 ------------------
817
818  * Initial release.
819