Trace: Removed coloured_bg state
[pulseview.git] / NEWS
diff --git a/NEWS b/NEWS
index 60dbb82edd29b7e97d0dd9bf5002e700b0a970fd..5ffbfe815bc8492b10b19aea76a76edec04ae513 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,256 @@
+0.3.0 (2016-01-29)
+------------------
+
+ * PulseView now uses libsigrokcxx (the libsigrok C++ bindings library).
+ * Update to use the new APIs of libsigrokcxx 0.4.x and libsigrokdecode 0.4.x.
+ * Add support for vertical scaling of analog and logic traces.
+ * Add a "Save selection range as..." feature. This allows the user to select
+   a subset of the data (using the cursors) and save that into a file in the
+   libsigrok session format (*.sr).
+ * Remember the directory of the last file that was opened/saved.
+ * Automatically save and restore (upon PulseView shutdown/startup):
+    - the window state (size, position)
+    - the most recently used device
+ * Implement pinch-zoom support (useful e.g. on tablets).
+ * Implement an "always zoom-to-fit" feature.
+ * Implement a "sticky scrolling" feature, using hotkey 's' (bug #121).
+ * Show icons for active triggers on the right-hand side of the window.
+ * Cursors: Also show the frequency in addition to distance/time (bug #502).
+ * List available serial ports (for serial-based devices) in a drop-down.
+ * Add support for trace groups. An arbitrary number of traces can be grouped
+   together, which allows for dragging them around as a group and re-ordering
+   traces within the group. Hotkeys: group (CTRL+g), ungroup (CTRL+u).
+ * Use either alternating gray values as trace background color, or the
+   trace's own color (slightly modified). This behaviour is configurable
+   via the menu or the 'b' hotkey.
+ * Show a vertical marker at the trigger point (bug #685).
+ * Sampling bar: Show the total sampling time in a tooltip.
+ * Trace/Decoder popups: Close the popup when the ENTER/RETURN key is pressed.
+ * Improve horizontal arrow-key scrolling step size.
+ * The viewport can now be dragged vertically as well.
+ * Add support for placing arbitrary markers (double-click at the desired
+   position in the ruler area) with arbitrary name/content. Markers can be
+   removed via the delete key (or the right-click context menu).
+ * Show full device names in the device drop-down.
+ * The device selector combobox is now a split button. Clicking on a device
+   name will open the "Connect to Device" dialog which allows for manual
+   device selection. Clicking on the small arrow will open a drop-down with
+   all autodetected devices.
+ * The main menu is now hidden by default, pressing ALT will make it appear,
+   pressing ALT or ESC will hide it again.
+ * Add an Export menu item, which can export the data in various formats.
+ * Add an Import menu item, which allows data import of various formats.
+ * Support specifying input files + formats on the command-line (-i and -I).
+ * Update the possible samplerates/samplecounts widgets when needed.
+ * Various UI fixes and improvements (colors, font sizes, clipping, etc).
+ * Add support for the SR_CONF_{POWER_OFF,PROBE_FACTOR} config keys.
+ * Include the device / filename in the window title (bug #244).
+ * Keyboard shortcuts:
+   - Add space as a shortcut to start/stop an acquisition.
+   - Add shortcuts for the open/save menu items (CTRL-o, CTRL-s).
+   - Add trace group shortcuts: group (CTRL+g), ungroup (CTRL+u).
+   - Add 's' as shortcut for enabling/disabling sticky scrolling.
+   - Add 'b' as shortcut for colored / alternating-gray trace backgrounds.
+ * Add a few missing toolbar buttons.
+ * Provide tooltips for decoder annotations (which show the "full" annotation
+   text regardless of zoom-level).
+ * Improvements to work (better) with Qt5 (Qt4 remains supported as well).
+ * The whole code-base has been converted to C++11 (dropping the use
+   of various Boost functionality in favor of std:: equivalents).
+ * Build system:
+   - Always build with -std=c++11.
+   - Auto-detect Qt4 or Qt5. If both are available, Qt5 will be selected
+     unless the cmake option FORCE_QT4 is set to TRUE.
+   - Don't use Qt-defined keywords (can cause issues with other headers).
+   - Fix an issue with QtSvg linking (bug #369).
+   - Fix a build issue related to Qt4 MOC.
+   - Add "-git-<hash>" suffix to development version numbers (bug #609).
+   - Fix the build for older glibmm versions (bug #548).
+ * Updated build requirements:
+   - A C++ compiler with C++11 support (g++ >= 4.7 or clang++ >= 3.1)
+   - glibmm-2.4 (>= 2.28.0)
+   - Qt4 >= 4.5 or Qt5 (including the following components):
+    - Qt4: QtCore, QtGui, QtSvg
+    - Qt5: Qt5Core, Qt5Gui, Qt5Widgets, Qt5Svg
+   - Boost >= 1.53 (bugs #722, #593).
+   - libsigrokcxx >= 0.4.0 (libsigrok C++ bindings)
+   - libsigrokdecode >= 0.4.0
+   - libsigrokandroidutils >= 0.1.0 (optional, only needed on Android)
+ * Dropped build requirements:
+   - libsigrok (PulseView now uses libsigrokcxx instead).
+ * manpage:
+   - Various fixes and updates.
+   - Document all keyboard shortcuts.
+ * Android:
+   - Add basic Android support and support for building a PulseView APK.
+   - Install logging callbacks for Android.
+   - Fix a rendering issue by disabling the system background.
+   - Fix an issue due to a missing libintl.so in the APK (bug #575).
+   - Add asset reader functionality, e.g. for firmware files.
+   - Include firmware files (from sigrok-firmware) in the APK (bug #400).
+ * Windows:
+   - Fix an issue related to CMAKE_MODULE_PATH usage.
+   - Fix multiple Boost- and thread-related issues.
+   - Fix a build issue due to windows.h namespace pollution (bug #517).
+   - Fix an issue when saving .sr files (bug #615).
+ * Mac OS X:
+   - Fix an issue related to Glib::Variant types.
+   - Fix a build failure on Mac OS X 10.10 (bug #621).
+ * NSIS:
+   - Drop libusb0.dll, we use libusb-1.0 everywhere now.
+   - Add start menu entries for Zadig (bug #542).
+   - Support out-of-tree builds.
+   - Don't hardcode the MXE install location.
+ * README: Drop reference to obsolete sigrok-commits mailing list.
+ * Add a Doxygen file for auto-generated code documentation.
+ * Populate signal popup combo box with signal names (not probe names).
+ * Fix various thread related issues.
+ * Fix various compiler warnings and compiler portability issues.
+ * Adapt PulseView to use the new libsigrokcxx trigger API (bugs #448, #452).
+ * Reimplement file save using the "srzip" output module (bug #451).
+ * Check whether config keys are available before use (bug #487).
+ * Markers: Fix display of negative values in popups (bug #460).
+ * Properly handle device selection failure (bug #455).
+ * Fix a progressbar issue when saving files (bug #451).
+ * Fix incorrect channel names in .sr files (bug #490).
+ * Save and load signal names as UTF-8 strings (bug #498).
+ * Add a workaround for QTBUG-22829 (bug #532).
+ * Allow vertical scrolling via CTRL + mouse-wheel (bug #497).
+ * Fix an isnan() related compiler error (bug #531).
+ * Gracefully handle the case of a failing SAMPLERATE query (bug #529).
+ * Show less device info in the device dropdown (bug #285).
+ * Always show full device info in device selection tooltips (bug #489).
+ * Fix a segfault due to a missing Capability::LIST check (bug #453).
+ * Allow PulseView to be killed via CTRL-C from a terminal (bug #368).
+ * Support having no selected device (bug #488, #392).
+ * Add menu actions to the main window too (bug #590).
+ * Avoid confusing autocompletion in the channel name popups (bug #501).
+ * Fix an issue with channel ordering being reset incorrectly (bug #536).
+ * Fix an issue related to a disappearing samplerate dropdown (bug #594).
+ * Fix an issue with incorrect samplenumbers when running decoders.
+ * Suppress warnings from glibmm about deprecated auto_ptr (bug #654).
+ * Add a workaround for a corrupted timescale issue (bug #627).
+ * Fix a libzip-related issue resulting in errors writing .sr files (bug #570).
+ * Fix an issue that caused incorrect .sr files being saved (bug #599).
+ * When clicking a channel name, place the cursor in the text field (bug #298).
+ * Fix a double-free issue/segfault when trying to open an .sr file (bug #405).
+ * Fix an issue with incorrect placement of PD annotation tooltips (bug #477).
+ * Allow drag-moving both cursors (left + right) at the same time (bug #514).
+ * Improve the step-size of the vertical scroll bar click-movement (bug #513).
+ * Fix a too small display area for devices with many channels (bug #515).
+ * Fix a Qt5 QWellArray related static linking issue (bug #525).
+ * Fix broken session saving for devices with more than one channel (bug #404).
+ * Fix incorrect ruler units of kilo-/mega-/giga-seconds (bug #371).
+ * Fix an issue with segment sizes wasting huge amounts of memory (bug #622).
+ * Avoid a crash when running out of memory, show an error instead (bug #626).
+ * Improve behaviour when the last PD is removed from the stack (bug #510).
+ * Disable device options GUI elements after an acquisition start (bug #597).
+ * Fix an issue with the samplerate input format option (bug #595).
+ * Fix a segfault when switching from a file to a device and back (bug #596).
+ * Fix a segfault when loading very large .sr files (bug #592).
+ * Fix a segfault when selecting a device twice (bug #605).
+ * Fix an incorrect decode trace background color (bug #718).
+ * Fix incorrect annotation row background color behaviour (bug #719).
+ * Fix an issue with lingering decoder traces (bug #687).
+ * Fix non-intuitive channel name editing behaviour (bug #717).
+ * Speed up annotation drawing by quite a bit (bug #325).
+
+0.2.0 (2014-05-06)
+------------------
+
+ * Add support for protocol decoding.
+   - A menu item Decoders->Add can add (only) low-level protocol decoders.
+   - Clicking on a decoder's arrow on the left-hand side allows stacking
+     (only) further, higher-level decoders (bug #333).
+   - Add support for multiple decoder rows per PD (bugs #161, #303).
+ * Add support for loading data from input files.
+ * Add support for saving logic analyzer data in *.sr files (bug #245).
+ * Show the filename of loaded *.sr files as "device name" in a drop-down.
+ * Add support for the new "channel groups" feature in libsigrok.
+ * Add a "Zoom to fit" and a "Zoom 1:1" icon/button.
+ * Add a "Channels" icon/button for enabling and configuring device channels.
+ * Add a "Device options" icon/button for configuring device specific settings
+   such as voltage thresholds.
+ * Double-clicking will zoom into the location the cursor points to.
+ * Add shortcut keys for Zoom-in (CTRL++) and Zoom-out (Ctrl+-) (bug #235).
+ * Add initial, basic support for analog data sources, such as oscilloscopes.
+   This has been tested on e.g. the Rigol DS1052E oscilloscope (bug #127).
+ * Almost all operations in PulseView work in an "auto-apply" style, i.e.
+   any changes in the GUI popups (decoder channel assignment, decoder option
+   changes, device channel changes, device option changes, and so on) have an
+   immediate effect (you don't have to click on any "OK" buttons).
+ * Open file dialog: Add 'All files' selection possibility.
+ * Added GUI support for the following libsigrok config options:
+   - SR_CONF_VOLTAGE_THRESHOLD
+   - SR_CONF_TRIGGER_SLOPE
+   - SR_CONF_EXTERNAL_CLOCK
+   - SR_CONF_CLOCK_EDGE
+ * Updated build requirements:
+   - cmake >= 2.8.6 (required)
+   - libsigrok >= 0.3.0 (required)
+   - libsigrokdecode >= 0.3.0 (required)
+     Note: libsigrokdecode is now always required (was optional before).
+   - libboost-filesystem >= 1.42 (required)
+   - libboost-test >= 1.42 (optional, only needed for running unit tests)
+ * Fix a build issue on NetBSD due to an incorrect #include.
+ * Fix a channel handling issue for devices with >= 16 channels.
+ * Fixed a few display issues related to UTF-8 strings in decoder annotations,
+   decoder options, and so on (bug #307, and other fixes without bug numbers).
+ * Don't decode if required PD channels were not supplied (bug #204).
+ * Fix some issues with partially disappearing PD annotations.
+ * Update the samplerate selector when the device config changes (since e.g.
+   en-/disabling logic analyzer channels can change available samplerates).
+ * Fix a samplerate selector and device config update issue (bug #296).
+ * Minor performance improvements via memory pre-allocation in some areas.
+ * Remove old PD annotations upon new captures (bugs #172, #302).
+ * Portability improvements by using portable sample pack/unpack code.
+ * Fix a segfault related to thread joining (bug #323).
+ * Fix a minor issue which lead to trigger config being unusable (bug #318).
+ * Fix an issue which lead to the user-selected samplerate in the drop-down
+   box not being selected and shown again after clicking "Run" (bug #324).
+ * Start a new decode session whenever a new frame begins.
+ * Fix an issue which arose when a session file load failed (bug #331).
+ * Fix a segfault if only exactly one libsigrok driver is available (bug #334).
+ * Fix an issue with channel names not being updated while typing (bug #338).
+ * Fix an issue by stopping the capture when a device is changed (bug #223).
+ * Fix an issue with the displayed cursor popup time (bug #229).
+ * Fix handling of different integer types in some properties (bug #203).
+ * Hide the 'Configure device' button when the popup would be empty (bug #232).
+ * Fix a decoding chunk buffer / unitsize issue (bugs #171, #225).
+ * Fix a zoom issue due to invalid samplerate, assume 1Hz if needed (bug #278).
+ * Fix a QWellArray related issue by dropping QT_NO_MENU code (bug #265).
+ * Fix an analog data channel interleaving issue (bug #279).
+ * Only show the sample count widget if needed (i.e., hide it for scopes).
+ * SweepTimingWidget: Show a 1-2-5 based list for samplerate and samplecount.
+ * Fixed a unit test issue with AnalogSnapshotTest (bug #286).
+ * Add an extra sample to edges to make the end sample visible (bug #280).
+ * Fix an issue with decoder errors being shown even after the error was fixed.
+ * Add support for SR_CONF_LIMIT_SAMPLES (device-specific limits) (bug #74).
+ * Windows:
+   - Use the sigrok logo as icon for pulseview.exe (bugs #110, #238).
+   - Fix SVG icons not being displayed on Windows (bug #239).
+   - Ship libusb0.dll in the NSIS based installer (bug #241).
+   - Additionally ship decoders, firmware files, example *.sr files, and
+     zadig.exe and zadig_xp.exe in the NSIS based installer.
+   - Fix a "working path" issue resulting in PDs not being usable.
+ * Device scan: Disable "OK" button if no devices were found (bug #237).
+ * Fix a segfault related to incorrect decoder option handling (bug #160).
+ * Fix an off-by-one issue resulting in one PD not being usable (bug #164).
+ * Fix a PD channel auto-select logic issue with optional channels (bug #310).
+ * Fix an issue when cancelling "Connect to Device" (bug #242).
+ * Avoid confusing annotation color changes (bug #311).
+ * Fix an issue that caused some decoded data to not be shown (bug #308).
+ * Don't allow disabled channels (channel arrows) to be selected (bug #313).
+ * The channel name field is now resized to always fit the contents (bug #167).
+ * Build fixes for systems with (among other versions) Qt5 installed.
+ * Fix a build issue related to missing libboost-filesystem (bug #133).
+ * Add Cotire (optional, disabled by default) support for build performance.
+ * Fix a build issue related to Cotire (bug #217).
+ * Fix an issue with missing channel names from loaded files (bug #126).
+ * Fix missing samplerate loading from session files (bug #123).
+ * Fix some build issues related to C++ namespaces (bug #196).
+ * Fix a file loading issue which triggered an assert (bug #320).
+
 0.1.0 (2013-05-04)
 ------------------