CMakeLists.txt: Set PulseView version to 0.4.1.
[pulseview.git] / NEWS
1 0.4.1 (2018-10-29)
2 ------------------
3
4  * Updated build requirements:
5    - libsigrokcxx >= 0.5.1 (libsigrok C++ bindings)
6    - libsigrokdecode >= 0.5.2
7    - libboost-stacktrace (optional, only needed for debugging)
8    - asciidoctor (optional, only needed to build the HTML manual)
9    - asciidoctor-pdf (optional, only needed to build the PDF manual)
10  * Add support for snapping cursors and markers to signal edges (bug #684).
11    - When the mouse cursor is in a channel, snapping will only be performed
12      for edges of that specific channel.
13    - When the mouse cursor is not in a channel, snapping will happen for any
14      edge of any channel (bugs #1292, #1294).
15    - When moving both cursors at the same time, the left one will snap to
16      edges while the right one will not (e.g. useful for measurements).
17    - The edge to snap to is chosen based on heuristics involving the edge
18      density near the mouse cursor (to try to get the most useful matches).
19  * Command-line options:
20    - Add support for loading multiple files from the command-line (bug #1040).
21    - Add support for input format options for the -I parameter (bug #951).
22      Example: pulseview -I csv:header:first-channel=2 -i filename.csv
23    - Try to autodetect the input format when -I is not supplied (bug #1015).
24    - Add support for -d/--driver, i.e. driver scan options (bug #953).
25      Example: pulseview -d ols:conn=/dev/ttyACM0
26    - Add a -D/--dont-scan option, don't auto-scan for devices (bug #1116).
27    - The -V option now shows the full PulseView/libs version info (bug #1213).
28  * Add support for per-channel analog-to-logic conversion (A2L) via either
29    the "threshold" or "schmitt-trigger" method, which allows running protocol
30    decoders on the converted channels.
31  * Cursors:
32    - Add a tooltip when there's not enough space to show the
33      interval/frequency measurement values (bug #1222).
34    - Measurements are always shown with 12 digit precision (bug #870).
35  * Add theme (and Qt UI style) support, including two "dark" themes.
36  * Add a PulseView manual (HTML and PDF format), generated by "make manual".
37  * manpage: Document all new command-line options.
38  * Add a "fill logic signal high areas" feature with configurable color.
39  * Add segment/frame support and a selector UI for e.g. oscilloscope frames.
40  * Add multi-segment protocol decoding support.
41  * Add support for an (optional) vertical mouse hover line (bug #770).
42  * The obsolete signal scale handle has been replaced by another mechanism.
43  * Accept user-entered sample rates when external clock is enabled.
44  * Slightly more user-friendly scan dropdown for VXI vs. Raw TCP (bug #1146).
45  * Suppport for new libsigrok(cxx) config keys:
46    - SR_CONF_DATA_SOURCE
47    - SR_CONF_EXTERNAL_CLOCK_SOURCE
48    - SR_CONF_AVERAGING
49    - SR_CONF_AVG_SAMPLES (including support for list of values)
50  * Fix long UI hangs when changing decoder options/channels (bug #1174).
51  * Many internal refactorings and flexibility/performance improvements.
52    - Decrease the number of trace redrawing operations in a few places.
53    - Use emplace_back() in various places to avoid some allocations.
54    - Increase decode chunk size to 256kB for better performance.
55    - Increase input file chunk size to 4MB for improved performance.
56    - Speed up painting by not unnecessarily copying decoder annotations.
57    - Improve MipMap downsampling code, speeding up e.g. file loading.
58    - Fix various memory leaks and other issues reported by valgrind.
59    - Various fixes for issues reported by clang-tidy and clazy.
60    - Fix some issues reported by Coverity.
61    - Fix various gcc 8 warnings/errors.
62  * Decoder channel name (auto-)assignment:
63    - Auto-match e.g. "SCL analog" to the "SCL" decoder channel.
64    - Ignore "insignificant" characters (-_.) for name matching (bug #1270).
65    - Fix a channel auto-assignment issue with disabled channels (bug #1182).
66    - Fix a channel auto-assignment issue with multiple matches (bug #1201).
67    - Fix an issue where channel names weren't updated correctly (bug #1089).
68    - Fix multiple decoder channel assignment issues (bug #1024).
69    - Fix an issue where channel auto-assignment was incorrectly applied.
70  * Fix an issue where decoder warnings weren't always shown (bug #982).
71  * Fix an issue with incorrect samplerates during multiple decoder runs.
72  * Fix a decoder restarting issue after reloading an input file.
73  * Fix an issue where existing decoder traces were not shown in new views.
74  * Fix an issue where stacked decoders weren't restored (bug #832).
75  * Fix an issue where decoder channel mappings were not restored (bug #831).
76  * Fix an issue where decoder options were not restored (bug #831).
77  * Fix an issue where not all decoder stacks were restored (bug #888).
78  * Fix an issue where header area tooltips were incorrectly shown.
79  * Fix trace resizing when new annotation classes appear.
80  * Fix an issue with ruler updating after restoring a session.
81  * Fix an issue with header resizing events.
82  * Fix an issue where decoders would not restart upon A2L conversion changes.
83  * Fix an issue with bit IDs which caused incorrect decode runs.
84  * Avoid a crash by ignoring invalid loglevel (-l option) specs (bug #1071).
85  * Fix an issue where settings callbacks could not be unregistered.
86  * Ruler tick legends now don't partly disappear when scrolled off the ends.
87  * Fix file extension filter in "Import File" dialog (bug #1039).
88  * Fix a crash when trying to save invalid trace ranges (bug #1038).
89  * Fix a crash related to A2L conversion changes (bug #1132).
90  * Fix a crash when config_list() was returning errors (bug #928).
91  * Fix a crash when config_get() was returning errors (bug #1035).
92  * Fix a crash when read_config() calls were failing.
93  * Fix a crash caused by incorrectly sized sample buffers (bug #1166).
94  * Fix an issue where decoder option changes affected other options (bug #1162).
95  * Resize trace when hiding/deleting a stacked PD.
96  * Only pass non-zero samplerate metadata to protocol decoders (bug #1118).
97  * Fix an issue when processing packets without sample data.
98  * Fix inconsistent decoder annotation colors upon multiple runs (bug #709).
99  * Fix two minor UI issues with the decoding "progress bar" display.
100  * Fix some voltage threshold UI widget and default value issues (bug #1149).
101  * Fix an issue when loading settings saved via older Boost lib (bug #1203).
102  * Avoid qDebug().noquote() for now, would require more recent Qt (bug #1169).
103  * Fix an issue where the last analog sample was not being shown (bug #956).
104  * Fix an issue where markers were not removed upon new sessions (bug #540).
105  * Fix an issue where the "show cursors" button wasn't working (bug #1212).
106  * Fix a crash by forbidding UI trigger changes during acquisitions (bug #807).
107  * Fix an issue where trigger markers would disappear (bug #1226).
108  * Fix a crash when running out of memory during acquisitions (bug #975).
109  * Fix an issue where multiple decoder traces would overlap (bug #1204).
110  * Fix an issue with silent failures during file loading (bug #1259).
111  * Avoid incorrectly hardcoded ConfigKey::SAMPLERATE (bug #651).
112  * Prevent some crashes when scanning for devices.
113  * Show a slightly more specific error for "Failed to select device".
114  * Remove the "1:1 zoom button" (bug #1198).
115  * Cache device triggers instead of querying multiple times (bug #979).
116  * Add new context menus (right-click in the trace area or header):
117    - Add annotation exporting support from a decoder's context menu:
118      All, only a specified row, all from mouse position, all between cursors.
119    - Add a facility to pause/resume decoding via a decoder's context menu.
120    - Add a "Create marker here" context menu item.
121    - Add "Set as zero point" context menu item.
122    - Header: Add an "Enable/disable mouse hover marker" context menu item.
123  * Settings:
124    - Enable the "show sampling points" setting by default.
125    - Enable the mouse hover marker by default.
126    - Add a "zoom-to-fit when acquisition stops" setting (bug #236).
127    - Add a "default div height" setting.
128    - Add a "logic trace height" setting.
129    - Add a "Show conversion thresholds in analog traces" setting.
130    - Add a "Show time zero at the trigger" setting.
131    - Show firmware and decoder search paths in the settings dialog (bug #1128).
132    - Show logs from libsigrok, libsigrokdecode, and PulseView itself.
133    - Change page list design, also fixes UI inconsistencies (bug #1095).
134    - Only show drivers PulseView will actually use (bug #1153).
135    - Make the version info in the dialog selectable for copy-paste (bug #1264).
136    - Add annotation export formatting setting.
137    - Add a setting for the snap-to-edge distance (in pixels).
138  * HACKING: Prefer git pull requests over mailing list patches.
139  * UI: Use slider instead of combo box for contiguous ranges.
140  * Reset and re-use existing decoder sessions (no full reconstruction).
141  * Trace view: Make the zero line for analog traces thicker.
142  * PulseView .desktop file: Fix a "desktop-file-validate" error.
143  * Add experimental (default-off) boost::stacktrace support.
144  * Add more options to show/hide certain channels (bug #1023):
145    - Enable:  All / Logic / Analog / Unnamed / Non-chaning
146    - Disable: All / Logic / Analog / Named / Changing
147  * Build system:
148    - Set CMake policy CMP0071 to NEW (bug #1143).
149    - Set CMake policy CMP0054 to NEW, fixes a warning.
150    - Show a helpful message when libsigrokcxx is not found (bug #1199).
151    - Fix a build issue with ENABLE_DECODE=n.
152  * Windows:
153    - Have debug builds (-DCMAKE_BUILD_TYPE=Debug) show/open a "DOS box".
154    - Fix a MinGW compile error due to a missing #include.
155    - Fix a Windows XP crash caused by a missing cast (bug #1125).
156    - Fix a Windows XP crash caused by incorrect segment handling (bug #1139).
157    - CMakeLists.txt: Only add Qt5PlatformSupport for Qt < 5.8.0.
158    - Fix a build issue on MSYS2 by applying an MXE workaround only on MXE.
159    - Installer: Add debug shortcut (Windows start menu) for -l 5.
160    - Installer: Add links to the HTML/PDF manual.
161  * Mac OS X:
162    - Fix a crash with large acquisitions on Mac OS X (bug #1284).
163    - Work around a QColor serialization bug on Mac OS X.
164
165 0.4.0 (2017-06-12)
166 ------------------
167
168  * Updated build requirements:
169    - A C++ compiler with full C++11 support (g++ >= 4.8.1 or clang++ >= 3.3)
170    - cmake >= 2.8.12
171    - libglib >= 2.28.0
172    - glibmm-2.4 >= 2.28.0
173    - Boost >= 1.55:
174      - New requirement: libboost-serialization.
175      - Dropped requirement: libboost-thread.
176    - libsigrokcxx >= 0.5.0 (libsigrok C++ bindings)
177    - libsigrokdecode >= 0.5.0
178    - Dropped support for Qt4; PulseView now requires Qt5.
179  * Add the concepts of sessions and views to PulseView: 
180    - Sessions represent individual files/device instances.
181      Each session is represented as a tab in PulseView.
182    - Views are different data representations of one specific session.
183      For example, different views of a session can have different zoom levels,
184      can be scrolled to different positions, etc. etc.
185      Each view is a dock window within the respective session's tab.
186    - The view docks can be repositioned, resized and extracted out into their
187      own individual windows.
188    - Sessions and views are partially saved and restored when PulseView
189      exits/starts. Not all information is restored yet, though (e.g. decoders).
190    - Add CTRL-q to close PulseView, CTRL-w to close a session tab (bug #899).
191  * Add support for saving analog data to .sr files.
192  * Analog signal traces:
193    - Add initial implementation of a vertical grid for analog traces.
194    - Add a dropdown for the vertical resolution setting.
195    - Show the vertical resolution info on the right-hand side of the trace.
196    - Make the number of vertical/horizontal divisions configurable.
197    - Add an option to enable autoranging for analog channels.
198  * Add a settings icon which allows access to various PulseView config options.
199  * Settings -> About:
200    - Show the used libraries, versions, and features (bug #912).
201    - Fix word-wrapping of the driver/decoder/module names (bug #111).
202  * The menu bar and "burger menu" have been removed in favor of the
203    global settings menu (plus various buttons/icons and their hotkeys).
204  * UI and usability tweaks:
205    - Try to keep annotation labels within the view if there's enough space.
206    - Annotation labels can now be pushed aside by the row title.
207    - Use natural sort order for decode trace's channel selector drop-down.
208    - Improve icon/theme handling: Don't try to use non-existing theme icons.
209    - Add a pane splitter for the trace names/arrows, allowing horizontal resize.
210    - Show a confirmation dialog when closing sessions with unsaved data.
211    - Add tooltips to various UI elements to increase usability.
212    - Show a progress dialog while scanning for devices.
213  * Connect dialog:
214    - Improve UI to make it easier to use and understand.
215    - Allow for TCP and VXI connections to supported devices (bug #769).
216    - Clarify button label to "Scan for devices using driver above".
217  * Add support for showing the sampling points in traces (bug #485).
218  * Add support for specifying the (assumed) initial pin states before the
219    first sample that is being decoded. This can be set to 0/low, 1/high, or
220    to "use the same value as in the first sample".
221  * Add support for lists of discrete values for probe factor config.
222  * Add the -c option to not restore previous sessions on startup (bug #862).
223  * Performance improvements: 
224    - Improved decoding performance due to larger chunk size.
225    - Increase session saving chunk size for much better performance.
226  * Open to-be-imported files in binary mode (bug #733).
227  * Startup: If last-used device is not available, use other available ones.
228  * Various internal code fixes and improvements found by clang-tidy.
229  * Add a check for explicit linking against libatomic (bug #810).
230  * Import/export/load: Allow file names without dots ("*" vs. "*.*").
231  * Improve support for high-DPI displays and scaling (bug #871).
232  * Improve internal data storage and data handling algorithms.
233  * Remove FSF postal address from boiler plate license text.
234  * Fix a clang build issue related to 'override' (bug #737).
235  * Fix some zoom-dependent annotation block drawing issues (bug #745).
236  * Fix locking issues when trying to run multiple decoders (bug #181).
237  * Fix an exception due to incorrect handling of SR_CONF_FILTER.
238  * Fix an issue with multiple device/session creation upon file imports.
239  * Fix a drawing issue with "use coloured backgrounds" and markers (bug #771).
240  * Fix various issues to better handle re-loading of input files.
241  * Fix a build issue in the PulseView test-suite (bug #808).
242  * Fix a Qt5 bug related to QMainWindow SVG icons via workaround (bug #814).
243  * Fix a Boost-related build issue with gcc 6.2.x (bug #863).
244  * Fix an issue that prevented decoders from being removed (bug #849).
245  * Fix an issue with incorrect sample rate limits (bug #890).
246  * Fix decoding issues due to re-feeding old data (bugs #876, #850).
247  * Fix temporarily non-working 'b' and 's' hotkeys (bugs #907, #908)
248  * Fix an issue with std::roundf() on Android (bug #945).
249  * Fix an issue with negative vertical divisions on channel 0 (bug #940).
250  * Fix an issue when zero vertical divisions were configured (bug #942).
251  * Fix an issue with the file save progressbar remaining open (bug #895).
252  * Fix incorrect values when importing raw analog data (bug #958).
253  * Fix an issue with non-smooth zoom on e.g. some trackpads.
254  * Fix an issue where the horizontal scrollbar couldn't be moved (bug #957).
255  * Fix an issue with the pane positioning when loading files (bug #969).
256  * Fix an issue where the Run button would remain green incorrectly (bug #970).
257  * Fix a crash when input modules were yielding errors (bug #775).
258  * Fix a crash with stacked decoders on Mac OS X.
259  * Fix a crash when no device was found or selected.
260  * Fix a crash with selected but unusable devices (bug #805).
261  * Fix a crash when closing PulseView with active triggers (bug #705).
262  * Fix a crash that occured with certain glibmm versions (bug #777).
263  * Fix a crash when an unusable device is encountered (bug #829).
264  * Fix a negative cursor position "Save Selected Range As" crash (bug #792).
265  * Fix various other unrelated crash conditions.
266  * Add an AppData/AppStream file for PulseView (bug #859).
267    - Install the file to ${CMAKE_INSTALL_DATAROOTDIR}/metainfo.
268  * .desktop file:
269    - Rename to org.sigrok.PulseView.desktop.
270    - Add MimeType=application/vnd.sigrok.session field (bug #858).
271    - Add additional Development category.
272    - Install the file to ${CMAKE_INSTALL_DATAROOTDIR}/applications.
273  * Rename sigrok-logo-notext.{png,svg,ico} icons to pulseview.{png,svg,ico}.
274    - Install the icons to ${CMAKE_INSTALL_DATAROOTDIR}/icons/...
275  * NSIS:
276    - Update to Python 3.4.x. We can't use any higher version for the time
277      being, since 3.4.x is the last version to support Windows XP.
278    - Place the example .sr files in a separate installer section.
279    - Limit example .sr files to a small set to shrink the installer size.
280    - Clarify Start menu links (e.g. "Uninstall") to avoid confusion.
281    - Allow registering the .sr extension with PulseView (bug #964).
282  * manpage: Various updates (e.g. hotkeys, command-line options).
283  * Fix various compiler warnings.
284
285 0.3.0 (2016-01-29)
286 ------------------
287
288  * PulseView now uses libsigrokcxx (the libsigrok C++ bindings library).
289  * Update to use the new APIs of libsigrokcxx 0.4.x and libsigrokdecode 0.4.x.
290  * Add support for vertical scaling of analog and logic traces.
291  * Add a "Save selection range as..." feature. This allows the user to select
292    a subset of the data (using the cursors) and save that into a file in the
293    libsigrok session format (*.sr).
294  * Remember the directory of the last file that was opened/saved.
295  * Automatically save and restore (upon PulseView shutdown/startup):
296     - the window state (size, position)
297     - the most recently used device
298  * Implement pinch-zoom support (useful e.g. on tablets).
299  * Implement an "always zoom-to-fit" feature.
300  * Implement a "sticky scrolling" feature, using hotkey 's' (bug #121).
301  * Show icons for active triggers on the right-hand side of the window.
302  * Cursors: Also show the frequency in addition to distance/time (bug #502).
303  * List available serial ports (for serial-based devices) in a drop-down.
304  * Add support for trace groups. An arbitrary number of traces can be grouped
305    together, which allows for dragging them around as a group and re-ordering
306    traces within the group. Hotkeys: group (CTRL+g), ungroup (CTRL+u).
307  * Use either alternating gray values as trace background color, or the
308    trace's own color (slightly modified). This behaviour is configurable
309    via the menu or the 'b' hotkey.
310  * Show a vertical marker at the trigger point (bug #685).
311  * Sampling bar: Show the total sampling time in a tooltip.
312  * Trace/Decoder popups: Close the popup when the ENTER/RETURN key is pressed.
313  * Improve horizontal arrow-key scrolling step size.
314  * The viewport can now be dragged vertically as well.
315  * Add support for placing arbitrary markers (double-click at the desired
316    position in the ruler area) with arbitrary name/content. Markers can be
317    removed via the delete key (or the right-click context menu).
318  * Show full device names in the device drop-down.
319  * The device selector combobox is now a split button. Clicking on a device
320    name will open the "Connect to Device" dialog which allows for manual
321    device selection. Clicking on the small arrow will open a drop-down with
322    all autodetected devices.
323  * The main menu is now hidden by default, pressing ALT will make it appear,
324    pressing ALT or ESC will hide it again.
325  * Add an Export menu item, which can export the data in various formats.
326  * Add an Import menu item, which allows data import of various formats.
327  * Support specifying input files + formats on the command-line (-i and -I).
328  * Update the possible samplerates/samplecounts widgets when needed.
329  * Various UI fixes and improvements (colors, font sizes, clipping, etc).
330  * Add support for the SR_CONF_{POWER_OFF,PROBE_FACTOR} config keys.
331  * Include the device / filename in the window title (bug #244).
332  * Keyboard shortcuts:
333    - Add space as a shortcut to start/stop an acquisition.
334    - Add shortcuts for the open/save menu items (CTRL-o, CTRL-s).
335    - Add trace group shortcuts: group (CTRL+g), ungroup (CTRL+u).
336    - Add 's' as shortcut for enabling/disabling sticky scrolling.
337    - Add 'b' as shortcut for colored / alternating-gray trace backgrounds.
338  * Add a few missing toolbar buttons.
339  * Provide tooltips for decoder annotations (which show the "full" annotation
340    text regardless of zoom-level).
341  * Improvements to work (better) with Qt5 (Qt4 remains supported as well).
342  * The whole code-base has been converted to C++11 (dropping the use
343    of various Boost functionality in favor of std:: equivalents).
344  * Build system:
345    - Always build with -std=c++11.
346    - Auto-detect Qt4 or Qt5. If both are available, Qt5 will be selected
347      unless the cmake option FORCE_QT4 is set to TRUE.
348    - Don't use Qt-defined keywords (can cause issues with other headers).
349    - Fix an issue with QtSvg linking (bug #369).
350    - Fix a build issue related to Qt4 MOC.
351    - Add "-git-<hash>" suffix to development version numbers (bug #609).
352    - Fix the build for older glibmm versions (bug #548).
353  * Updated build requirements:
354    - A C++ compiler with C++11 support (g++ >= 4.7 or clang++ >= 3.1)
355    - glibmm-2.4 (>= 2.28.0)
356    - Qt4 >= 4.5 or Qt5 (including the following components):
357     - Qt4: QtCore, QtGui, QtSvg
358     - Qt5: Qt5Core, Qt5Gui, Qt5Widgets, Qt5Svg
359    - Boost >= 1.53 (bugs #722, #593).
360    - libsigrokcxx >= 0.4.0 (libsigrok C++ bindings)
361    - libsigrokdecode >= 0.4.0
362    - libsigrokandroidutils >= 0.1.0 (optional, only needed on Android)
363  * Dropped build requirements:
364    - libsigrok (PulseView now uses libsigrokcxx instead).
365  * manpage:
366    - Various fixes and updates.
367    - Document all keyboard shortcuts.
368  * Android:
369    - Add basic Android support and support for building a PulseView APK.
370    - Install logging callbacks for Android.
371    - Fix a rendering issue by disabling the system background.
372    - Fix an issue due to a missing libintl.so in the APK (bug #575).
373    - Add asset reader functionality, e.g. for firmware files.
374    - Include firmware files (from sigrok-firmware) in the APK (bug #400).
375  * Windows:
376    - Fix an issue related to CMAKE_MODULE_PATH usage.
377    - Fix multiple Boost- and thread-related issues.
378    - Fix a build issue due to windows.h namespace pollution (bug #517).
379    - Fix an issue when saving .sr files (bug #615).
380  * Mac OS X:
381    - Fix an issue related to Glib::Variant types.
382    - Fix a build failure on Mac OS X 10.10 (bug #621).
383  * NSIS:
384    - Drop libusb0.dll, we use libusb-1.0 everywhere now.
385    - Add start menu entries for Zadig (bug #542).
386    - Support out-of-tree builds.
387    - Don't hardcode the MXE install location.
388  * README: Drop reference to obsolete sigrok-commits mailing list.
389  * Add a Doxygen file for auto-generated code documentation.
390  * Populate signal popup combo box with signal names (not probe names).
391  * Fix various thread related issues.
392  * Fix various compiler warnings and compiler portability issues.
393  * Adapt PulseView to use the new libsigrokcxx trigger API (bugs #448, #452).
394  * Reimplement file save using the "srzip" output module (bug #451).
395  * Check whether config keys are available before use (bug #487).
396  * Markers: Fix display of negative values in popups (bug #460).
397  * Properly handle device selection failure (bug #455).
398  * Fix a progressbar issue when saving files (bug #451).
399  * Fix incorrect channel names in .sr files (bug #490).
400  * Save and load signal names as UTF-8 strings (bug #498).
401  * Add a workaround for QTBUG-22829 (bug #532).
402  * Allow vertical scrolling via CTRL + mouse-wheel (bug #497).
403  * Fix an isnan() related compiler error (bug #531).
404  * Gracefully handle the case of a failing SAMPLERATE query (bug #529).
405  * Show less device info in the device dropdown (bug #285).
406  * Always show full device info in device selection tooltips (bug #489).
407  * Fix a segfault due to a missing Capability::LIST check (bug #453).
408  * Allow PulseView to be killed via CTRL-C from a terminal (bug #368).
409  * Support having no selected device (bug #488, #392).
410  * Add menu actions to the main window too (bug #590).
411  * Avoid confusing autocompletion in the channel name popups (bug #501).
412  * Fix an issue with channel ordering being reset incorrectly (bug #536).
413  * Fix an issue related to a disappearing samplerate dropdown (bug #594).
414  * Fix an issue with incorrect samplenumbers when running decoders.
415  * Suppress warnings from glibmm about deprecated auto_ptr (bug #654).
416  * Add a workaround for a corrupted timescale issue (bug #627).
417  * Fix a libzip-related issue resulting in errors writing .sr files (bug #570).
418  * Fix an issue that caused incorrect .sr files being saved (bug #599).
419  * When clicking a channel name, place the cursor in the text field (bug #298).
420  * Fix a double-free issue/segfault when trying to open an .sr file (bug #405).
421  * Fix an issue with incorrect placement of PD annotation tooltips (bug #477).
422  * Allow drag-moving both cursors (left + right) at the same time (bug #514).
423  * Improve the step-size of the vertical scroll bar click-movement (bug #513).
424  * Fix a too small display area for devices with many channels (bug #515).
425  * Fix a Qt5 QWellArray related static linking issue (bug #525).
426  * Fix broken session saving for devices with more than one channel (bug #404).
427  * Fix incorrect ruler units of kilo-/mega-/giga-seconds (bug #371).
428  * Fix an issue with segment sizes wasting huge amounts of memory (bug #622).
429  * Avoid a crash when running out of memory, show an error instead (bug #626).
430  * Improve behaviour when the last PD is removed from the stack (bug #510).
431  * Disable device options GUI elements after an acquisition start (bug #597).
432  * Fix an issue with the samplerate input format option (bug #595).
433  * Fix a segfault when switching from a file to a device and back (bug #596).
434  * Fix a segfault when loading very large .sr files (bug #592).
435  * Fix a segfault when selecting a device twice (bug #605).
436  * Fix an incorrect decode trace background color (bug #718).
437  * Fix incorrect annotation row background color behaviour (bug #719).
438  * Fix an issue with lingering decoder traces (bug #687).
439  * Fix non-intuitive channel name editing behaviour (bug #717).
440  * Speed up annotation drawing by quite a bit (bug #325).
441
442 0.2.0 (2014-05-06)
443 ------------------
444
445  * Add support for protocol decoding.
446    - A menu item Decoders->Add can add (only) low-level protocol decoders.
447    - Clicking on a decoder's arrow on the left-hand side allows stacking
448      (only) further, higher-level decoders (bug #333).
449    - Add support for multiple decoder rows per PD (bugs #161, #303).
450  * Add support for loading data from input files.
451  * Add support for saving logic analyzer data in *.sr files (bug #245).
452  * Show the filename of loaded *.sr files as "device name" in a drop-down.
453  * Add support for the new "channel groups" feature in libsigrok.
454  * Add a "Zoom to fit" and a "Zoom 1:1" icon/button.
455  * Add a "Channels" icon/button for enabling and configuring device channels.
456  * Add a "Device options" icon/button for configuring device specific settings
457    such as voltage thresholds.
458  * Double-clicking will zoom into the location the cursor points to.
459  * Add shortcut keys for Zoom-in (CTRL++) and Zoom-out (Ctrl+-) (bug #235).
460  * Add initial, basic support for analog data sources, such as oscilloscopes.
461    This has been tested on e.g. the Rigol DS1052E oscilloscope (bug #127).
462  * Almost all operations in PulseView work in an "auto-apply" style, i.e.
463    any changes in the GUI popups (decoder channel assignment, decoder option
464    changes, device channel changes, device option changes, and so on) have an
465    immediate effect (you don't have to click on any "OK" buttons).
466  * Open file dialog: Add 'All files' selection possibility.
467  * Added GUI support for the following libsigrok config options:
468    - SR_CONF_VOLTAGE_THRESHOLD
469    - SR_CONF_TRIGGER_SLOPE
470    - SR_CONF_EXTERNAL_CLOCK
471    - SR_CONF_CLOCK_EDGE
472  * Updated build requirements:
473    - cmake >= 2.8.6 (required)
474    - libsigrok >= 0.3.0 (required)
475    - libsigrokdecode >= 0.3.0 (required)
476      Note: libsigrokdecode is now always required (was optional before).
477    - libboost-filesystem >= 1.42 (required)
478    - libboost-test >= 1.42 (optional, only needed for running unit tests)
479  * Fix a build issue on NetBSD due to an incorrect #include.
480  * Fix a channel handling issue for devices with >= 16 channels.
481  * Fixed a few display issues related to UTF-8 strings in decoder annotations,
482    decoder options, and so on (bug #307, and other fixes without bug numbers).
483  * Don't decode if required PD channels were not supplied (bug #204).
484  * Fix some issues with partially disappearing PD annotations.
485  * Update the samplerate selector when the device config changes (since e.g.
486    en-/disabling logic analyzer channels can change available samplerates).
487  * Fix a samplerate selector and device config update issue (bug #296).
488  * Minor performance improvements via memory pre-allocation in some areas.
489  * Remove old PD annotations upon new captures (bugs #172, #302).
490  * Portability improvements by using portable sample pack/unpack code.
491  * Fix a segfault related to thread joining (bug #323).
492  * Fix a minor issue which lead to trigger config being unusable (bug #318).
493  * Fix an issue which lead to the user-selected samplerate in the drop-down
494    box not being selected and shown again after clicking "Run" (bug #324).
495  * Start a new decode session whenever a new frame begins.
496  * Fix an issue which arose when a session file load failed (bug #331).
497  * Fix a segfault if only exactly one libsigrok driver is available (bug #334).
498  * Fix an issue with channel names not being updated while typing (bug #338).
499  * Fix an issue by stopping the capture when a device is changed (bug #223).
500  * Fix an issue with the displayed cursor popup time (bug #229).
501  * Fix handling of different integer types in some properties (bug #203).
502  * Hide the 'Configure device' button when the popup would be empty (bug #232).
503  * Fix a decoding chunk buffer / unitsize issue (bugs #171, #225).
504  * Fix a zoom issue due to invalid samplerate, assume 1Hz if needed (bug #278).
505  * Fix a QWellArray related issue by dropping QT_NO_MENU code (bug #265).
506  * Fix an analog data channel interleaving issue (bug #279).
507  * Only show the sample count widget if needed (i.e., hide it for scopes).
508  * SweepTimingWidget: Show a 1-2-5 based list for samplerate and samplecount.
509  * Fixed a unit test issue with AnalogSnapshotTest (bug #286).
510  * Add an extra sample to edges to make the end sample visible (bug #280).
511  * Fix an issue with decoder errors being shown even after the error was fixed.
512  * Add support for SR_CONF_LIMIT_SAMPLES (device-specific limits) (bug #74).
513  * Windows:
514    - Use the sigrok logo as icon for pulseview.exe (bugs #110, #238).
515    - Fix SVG icons not being displayed on Windows (bug #239).
516    - Ship libusb0.dll in the NSIS based installer (bug #241).
517    - Additionally ship decoders, firmware files, example *.sr files, and
518      zadig.exe and zadig_xp.exe in the NSIS based installer.
519    - Fix a "working path" issue resulting in PDs not being usable.
520  * Device scan: Disable "OK" button if no devices were found (bug #237).
521  * Fix a segfault related to incorrect decoder option handling (bug #160).
522  * Fix an off-by-one issue resulting in one PD not being usable (bug #164).
523  * Fix a PD channel auto-select logic issue with optional channels (bug #310).
524  * Fix an issue when cancelling "Connect to Device" (bug #242).
525  * Avoid confusing annotation color changes (bug #311).
526  * Fix an issue that caused some decoded data to not be shown (bug #308).
527  * Don't allow disabled channels (channel arrows) to be selected (bug #313).
528  * The channel name field is now resized to always fit the contents (bug #167).
529  * Build fixes for systems with (among other versions) Qt5 installed.
530  * Fix a build issue related to missing libboost-filesystem (bug #133).
531  * Add Cotire (optional, disabled by default) support for build performance.
532  * Fix a build issue related to Cotire (bug #217).
533  * Fix an issue with missing channel names from loaded files (bug #126).
534  * Fix missing samplerate loading from session files (bug #123).
535  * Fix some build issues related to C++ namespaces (bug #196).
536  * Fix a file loading issue which triggered an assert (bug #320).
537
538 0.1.0 (2013-05-04)
539 ------------------
540
541  * Initial release.
542