+0.4.2 (2020-03-31)
+------------------
+
+ * Updated build requirements:
+ - Qt (all subcomponents) >= 5.3
+ - Qt LinguistTools >= 5.3
+ - Qt translation package (optional; needed at runtime, not build time)
+ * Allow manually saving/restoring session setups in *.pvs files (bug #971).
+ - Session setups can be auto-saved (config option).
+ - Session setups are auto-loaded if they exist.
+ - Add -s / --settings command-line option to load a session setup file.
+ - Also save/restore decoder visibility (bug #1362).
+ - Also save/restore markers, cursors, and zero offset (bug #1457).
+ * Add GUI element translations support and a language selection option.
+ - Add a German translation of the GUI elements.
+ * Add a decoder selector subwindow.
+ - Decoders can be manually browsed by tags. For versions of libsigrokdecode
+ that don't yet support tags, an "All Decoders" tag is used (bug #1451).
+ - An edit field allows filtering the displayed decoders by substring match.
+ - Filtering will cover various PD fields, like ID and name (bug #1375).
+ - When a decoder is selected, show a description at the bottom (bug #1309).
+ Hide the description when no decoder is selected (bug #1488).
+ - When a stacked decoder is selected, auto-stacking compatible decoders
+ will be attempted, the user has to decide if multiple options exist.
+ - Avoid issues with multi-monitor setups (bug #1147).
+ - Fix a small issue with mouse clicks and multiple sessions (bug #1400).
+ * Add a decoder "binary" output subwindow that can show/save "OUTPUT_BINARY"
+ type decoder data in various (decoder-specific) formats (WAV, PCAP, PNG,
+ and many others); Also features a simple "hex view" for the data.
+ * Add the possibility to show/hide individual decoder annotation rows as well
+ as individual annotation classes.
+ * Cursors and markers:
+ - Allow setting cursors via shift-drag.
+ - Show relative time of flags on hover (i.e., when the mouse hovers over
+ a marker/cursor, show time relative to the item being hovered over).
+ Pressing shift, the regular labels are shown again.
+ - Add a context menu for the cursor which can be used to show/hide
+ measurement values like interval/frequency/samples (bug #1290).
+ - Add "temporary snapping disable" menu to markers and cursors.
+ - Make cursor pair drop precision when space for the text is too small.
+ - Show ruler timestamps in cursors and popups (not absolute timestamps).
+ - Fix ruler double-click to add cursor in the correct position.
+ - Accept new position on enter press in cursor popups.
+ - Cursors: Fix mouse cursor shape to be horizontal arrows.
+ - Fix Up and Down arrow hotkeys preventing combobox scrolling (bug #1440).
+ * Connect dialog:
+ - Fix scan for certain USB devices (bug #1403).
+ - Fix an issue where serial ports can't be selected.
+ - Add baud rate combobox for serial ports.
+ * Key shortcuts:
+ - Add +/- and cursor Up/Down shortcuts (zoom in/out).
+ - Add Home and End shortcuts (move to start/end of acquisition data).
+ - Use 'd' shortcut to show/hide the decoder selector, ESC to hide it.
+ - Add '1' and '2' shortcuts (attach cursor edges to the mouse).
+ - Update manpage to document all new/changed key shortcuts and options.
+ * Disable anti-aliasing on high-DPI displays.
+ * Improve drawing performance in some places.
+ * Improve decoder/annotation handling performance in some places.
+ * org.sigrok.PulseView.appdata.xml: Fix a few warnings.
+ * Use scroll bars for popups with too much content (bugs #183, #1412).
+ * Make it possible to copy the text from decoder annotations (bug #1107).
+ * Add an option to always show annotation rows, even when empty (bug #977).
+ * Logging: Break libsigrokdecode stacktraces up into proper newlines.
+ * Fixed disappearing annotation rows of stacked PDs (bug #1446).
+ * Fix an issue where selected channels couldn't be deleted (bug #852).
+ * Import options dialog: Fix visibility of extended info (bug #1462).
+ * Fix an issue of missing chunks of data when saving/exporting (bug #1470).
+ * Manual: Fix command line word order and quoting of wget invocations.
+ * The "Run" button will now read "Reload" when using files (bug #1448).
+ * Massively improve "two finger drag trackpad zooming and panning" on
+ Mac OS X. However, pinch-to-zoom no longer works, but two finger drag
+ up and down is an alternative (bug #1056).
+ * Improve channel selection popup to allow for easier group-show/hide.
+ * Annotation export format: Add "%c" to the format string.
+ * Fix a decoder trace overlap issue with multiple decoders (bug #1505).
+ * Improve reliability of auto-scaling of analog traces (bug #1431).
+ * Improve analog trace displaying with high values/voltages (bug #1525).
+ * Increase precision on analog views, avoid rounding issues (bug #1335).
+ * Abort acquisition if there are more than 64 logic channels.
+ * Fix an issue with extended error messages in dialog texts.
+ * Fix an issue with "zero" time display, triggers, and markers (bug #1338).
+ * Fix various compiler/scan-build/clang-tidy/clazy warnings.
+ * Build system:
+ - Create NSIS file in binary directory (not source).
+ - NSIS: Ship Python stdlib *.pyd files (bug #1409).
+ - Show detected Qt version.
+ - Don't do a QUIET search for libsigrokcxx (for easier debugging).
+ - Fix a compile issue when building without libsigrokdecode.
+
+0.4.1 (2018-10-29)
+------------------
+
+ * Updated build requirements:
+ - libsigrokcxx >= 0.5.1 (libsigrok C++ bindings)
+ - libsigrokdecode >= 0.5.2
+ - libboost-stacktrace (optional, only needed for debugging)
+ - asciidoctor (optional, only needed to build the HTML manual)
+ - asciidoctor-pdf (optional, only needed to build the PDF manual)
+ * Add support for snapping cursors and markers to signal edges (bug #684).
+ - When the mouse cursor is in a channel, snapping will only be performed
+ for edges of that specific channel.
+ - When the mouse cursor is not in a channel, snapping will happen for any
+ edge of any channel (bugs #1292, #1294).
+ - When moving both cursors at the same time, the left one will snap to
+ edges while the right one will not (e.g. useful for measurements).
+ - The edge to snap to is chosen based on heuristics involving the edge
+ density near the mouse cursor (to try to get the most useful matches).
+ * Command-line options:
+ - Add support for loading multiple files from the command-line (bug #1040).
+ - Add support for input format options for the -I parameter (bug #951).
+ Example: pulseview -I csv:header:first-channel=2 -i filename.csv
+ - Try to autodetect the input format when -I is not supplied (bug #1015).
+ - Add support for -d/--driver, i.e. driver scan options (bug #953).
+ Example: pulseview -d ols:conn=/dev/ttyACM0
+ - Add a -D/--dont-scan option, don't auto-scan for devices (bug #1116).
+ - The -V option now shows the full PulseView/libs version info (bug #1213).
+ * Add support for per-channel analog-to-logic conversion (A2L) via either
+ the "threshold" or "schmitt-trigger" method, which allows running protocol
+ decoders on the converted channels.
+ * Cursors:
+ - Add a tooltip when there's not enough space to show the
+ interval/frequency measurement values (bug #1222).
+ - Measurements are always shown with 12 digit precision (bug #870).
+ * Add theme (and Qt UI style) support, including two "dark" themes.
+ * Add a PulseView manual (HTML and PDF format), generated by "make manual".
+ * manpage: Document all new command-line options.
+ * Add a "fill logic signal high areas" feature with configurable color.
+ * Add segment/frame support and a selector UI for e.g. oscilloscope frames.
+ * Add multi-segment protocol decoding support.
+ * Add support for an (optional) vertical mouse hover line (bug #770).
+ * The obsolete signal scale handle has been replaced by another mechanism.
+ * Accept user-entered sample rates when external clock is enabled.
+ * Slightly more user-friendly scan dropdown for VXI vs. Raw TCP (bug #1146).
+ * Suppport for new libsigrok(cxx) config keys:
+ - SR_CONF_DATA_SOURCE
+ - SR_CONF_EXTERNAL_CLOCK_SOURCE
+ - SR_CONF_AVERAGING
+ - SR_CONF_AVG_SAMPLES (including support for list of values)
+ * Fix long UI hangs when changing decoder options/channels (bug #1174).
+ * Many internal refactorings and flexibility/performance improvements.
+ - Decrease the number of trace redrawing operations in a few places.
+ - Use emplace_back() in various places to avoid some allocations.
+ - Increase decode chunk size to 256kB for better performance.
+ - Increase input file chunk size to 4MB for improved performance.
+ - Speed up painting by not unnecessarily copying decoder annotations.
+ - Improve MipMap downsampling code, speeding up e.g. file loading.
+ - Fix various memory leaks and other issues reported by valgrind.
+ - Various fixes for issues reported by clang-tidy and clazy.
+ - Fix some issues reported by Coverity.
+ - Fix various gcc 8 warnings/errors.
+ * Decoder channel name (auto-)assignment:
+ - Auto-match e.g. "SCL analog" to the "SCL" decoder channel.
+ - Ignore "insignificant" characters (-_.) for name matching (bug #1270).
+ - Fix a channel auto-assignment issue with disabled channels (bug #1182).
+ - Fix a channel auto-assignment issue with multiple matches (bug #1201).
+ - Fix an issue where channel names weren't updated correctly (bug #1089).
+ - Fix multiple decoder channel assignment issues (bug #1024).
+ - Fix an issue where channel auto-assignment was incorrectly applied.
+ * Fix an issue where decoder warnings weren't always shown (bug #982).
+ * Fix an issue with incorrect samplerates during multiple decoder runs.
+ * Fix a decoder restarting issue after reloading an input file.
+ * Fix an issue where existing decoder traces were not shown in new views.
+ * Fix an issue where stacked decoders weren't restored (bug #832).
+ * Fix an issue where decoder channel mappings were not restored (bug #831).
+ * Fix an issue where decoder options were not restored (bug #831).
+ * Fix an issue where not all decoder stacks were restored (bug #888).
+ * Fix an issue where header area tooltips were incorrectly shown.
+ * Fix trace resizing when new annotation classes appear.
+ * Fix an issue with ruler updating after restoring a session.
+ * Fix an issue with header resizing events.
+ * Fix an issue where decoders would not restart upon A2L conversion changes.
+ * Fix an issue with bit IDs which caused incorrect decode runs.
+ * Avoid a crash by ignoring invalid loglevel (-l option) specs (bug #1071).
+ * Fix an issue where settings callbacks could not be unregistered.
+ * Ruler tick legends now don't partly disappear when scrolled off the ends.
+ * Fix file extension filter in "Import File" dialog (bug #1039).
+ * Fix a crash when trying to save invalid trace ranges (bug #1038).
+ * Fix a crash related to A2L conversion changes (bug #1132).
+ * Fix a crash when config_list() was returning errors (bug #928).
+ * Fix a crash when config_get() was returning errors (bug #1035).
+ * Fix a crash when read_config() calls were failing.
+ * Fix a crash caused by incorrectly sized sample buffers (bug #1166).
+ * Fix an issue where decoder option changes affected other options (bug #1162).
+ * Resize trace when hiding/deleting a stacked PD.
+ * Only pass non-zero samplerate metadata to protocol decoders (bug #1118).
+ * Fix an issue when processing packets without sample data.
+ * Fix inconsistent decoder annotation colors upon multiple runs (bug #709).
+ * Fix two minor UI issues with the decoding "progress bar" display.
+ * Fix some voltage threshold UI widget and default value issues (bug #1149).
+ * Fix an issue when loading settings saved via older Boost lib (bug #1203).
+ * Avoid qDebug().noquote() for now, would require more recent Qt (bug #1169).
+ * Fix an issue where the last analog sample was not being shown (bug #956).
+ * Fix an issue where markers were not removed upon new sessions (bug #540).
+ * Fix an issue where the "show cursors" button wasn't working (bug #1212).
+ * Fix a crash by forbidding UI trigger changes during acquisitions (bug #807).
+ * Fix an issue where trigger markers would disappear (bug #1226).
+ * Fix a crash when running out of memory during acquisitions (bug #975).
+ * Fix an issue where multiple decoder traces would overlap (bug #1204).
+ * Fix an issue with silent failures during file loading (bug #1259).
+ * Avoid incorrectly hardcoded ConfigKey::SAMPLERATE (bug #651).
+ * Prevent some crashes when scanning for devices.
+ * Show a slightly more specific error for "Failed to select device".
+ * Remove the "1:1 zoom button" (bug #1198).
+ * Cache device triggers instead of querying multiple times (bug #979).
+ * Add new context menus (right-click in the trace area or header):
+ - Add annotation exporting support from a decoder's context menu:
+ All, only a specified row, all from mouse position, all between cursors.
+ - Add a facility to pause/resume decoding via a decoder's context menu.
+ - Add a "Create marker here" context menu item.
+ - Add "Set as zero point" context menu item.
+ - Header: Add an "Enable/disable mouse hover marker" context menu item.
+ * Settings:
+ - Enable the "show sampling points" setting by default.
+ - Enable the mouse hover marker by default.
+ - Add a "zoom-to-fit when acquisition stops" setting (bug #236).
+ - Add a "default div height" setting.
+ - Add a "logic trace height" setting.
+ - Add a "Show conversion thresholds in analog traces" setting.
+ - Add a "Show time zero at the trigger" setting.
+ - Show firmware and decoder search paths in the settings dialog (bug #1128).
+ - Show logs from libsigrok, libsigrokdecode, and PulseView itself.
+ - Change page list design, also fixes UI inconsistencies (bug #1095).
+ - Only show drivers PulseView will actually use (bug #1153).
+ - Make the version info in the dialog selectable for copy-paste (bug #1264).
+ - Add annotation export formatting setting.
+ - Add a setting for the snap-to-edge distance (in pixels).
+ * HACKING: Prefer git pull requests over mailing list patches.
+ * UI: Use slider instead of combo box for contiguous ranges.
+ * Reset and re-use existing decoder sessions (no full reconstruction).
+ * Trace view: Make the zero line for analog traces thicker.
+ * PulseView .desktop file: Fix a "desktop-file-validate" error.
+ * Add experimental (default-off) boost::stacktrace support.
+ * Add more options to show/hide certain channels (bug #1023):
+ - Enable: All / Logic / Analog / Unnamed / Non-chaning
+ - Disable: All / Logic / Analog / Named / Changing
+ * Build system:
+ - Set CMake policy CMP0071 to NEW (bug #1143).
+ - Set CMake policy CMP0054 to NEW, fixes a warning.
+ - Show a helpful message when libsigrokcxx is not found (bug #1199).
+ - Fix a build issue with ENABLE_DECODE=n.
+ * Windows:
+ - Have debug builds (-DCMAKE_BUILD_TYPE=Debug) show/open a "DOS box".
+ - Fix a MinGW compile error due to a missing #include.
+ - Fix a Windows XP crash caused by a missing cast (bug #1125).
+ - Fix a Windows XP crash caused by incorrect segment handling (bug #1139).
+ - CMakeLists.txt: Only add Qt5PlatformSupport for Qt < 5.8.0.
+ - Fix a build issue on MSYS2 by applying an MXE workaround only on MXE.
+ - Installer: Add debug shortcut (Windows start menu) for -l 5.
+ - Installer: Add links to the HTML/PDF manual.
+ * Mac OS X:
+ - Fix a crash with large acquisitions on Mac OS X (bug #1284).
+ - Work around a QColor serialization bug on Mac OS X.
+
0.4.0 (2017-06-12)
------------------