X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=NEWS;h=d5934f455dc57a4a2a8e72cf6d1e8eeeb482ebad;hp=60dbb82edd29b7e97d0dd9bf5002e700b0a970fd;hb=f98070844c2d468fdbb6beb5b65e4ccbbcd3f10b;hpb=42a113fe1270485a0c06e22ce43860db8b48d2c3 diff --git a/NEWS b/NEWS index 60dbb82e..d5934f45 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,376 @@ +0.4.0 (2017-06-12) +------------------ + + * Updated build requirements: + - A C++ compiler with full C++11 support (g++ >= 4.8.1 or clang++ >= 3.3) + - cmake >= 2.8.12 + - libglib >= 2.28.0 + - glibmm-2.4 >= 2.28.0 + - Boost >= 1.55: + - New requirement: libboost-serialization. + - Dropped requirement: libboost-thread. + - libsigrokcxx >= 0.5.0 (libsigrok C++ bindings) + - libsigrokdecode >= 0.5.0 + - Dropped support for Qt4; PulseView now requires Qt5. + * Add the concepts of sessions and views to PulseView: + - Sessions represent individual files/device instances. + Each session is represented as a tab in PulseView. + - Views are different data representations of one specific session. + For example, different views of a session can have different zoom levels, + can be scrolled to different positions, etc. etc. + Each view is a dock window within the respective session's tab. + - The view docks can be repositioned, resized and extracted out into their + own individual windows. + - Sessions and views are partially saved and restored when PulseView + exits/starts. Not all information is restored yet, though (e.g. decoders). + - Add CTRL-q to close PulseView, CTRL-w to close a session tab (bug #899). + * Add support for saving analog data to .sr files. + * Analog signal traces: + - Add initial implementation of a vertical grid for analog traces. + - Add a dropdown for the vertical resolution setting. + - Show the vertical resolution info on the right-hand side of the trace. + - Make the number of vertical/horizontal divisions configurable. + - Add an option to enable autoranging for analog channels. + * Add a settings icon which allows access to various PulseView config options. + * Settings -> About: + - Show the used libraries, versions, and features (bug #912). + - Fix word-wrapping of the driver/decoder/module names (bug #111). + * The menu bar and "burger menu" have been removed in favor of the + global settings menu (plus various buttons/icons and their hotkeys). + * UI and usability tweaks: + - Try to keep annotation labels within the view if there's enough space. + - Annotation labels can now be pushed aside by the row title. + - Use natural sort order for decode trace's channel selector drop-down. + - Improve icon/theme handling: Don't try to use non-existing theme icons. + - Add a pane splitter for the trace names/arrows, allowing horizontal resize. + - Show a confirmation dialog when closing sessions with unsaved data. + - Add tooltips to various UI elements to increase usability. + - Show a progress dialog while scanning for devices. + * Connect dialog: + - Improve UI to make it easier to use and understand. + - Allow for TCP and VXI connections to supported devices (bug #769). + - Clarify button label to "Scan for devices using driver above". + * Add support for showing the sampling points in traces (bug #485). + * Add support for specifying the (assumed) initial pin states before the + first sample that is being decoded. This can be set to 0/low, 1/high, or + to "use the same value as in the first sample". + * Add support for lists of discrete values for probe factor config. + * Add the -c option to not restore previous sessions on startup (bug #862). + * Performance improvements: + - Improved decoding performance due to larger chunk size. + - Increase session saving chunk size for much better performance. + * Open to-be-imported files in binary mode (bug #733). + * Startup: If last-used device is not available, use other available ones. + * Various internal code fixes and improvements found by clang-tidy. + * Add a check for explicit linking against libatomic (bug #810). + * Import/export/load: Allow file names without dots ("*" vs. "*.*"). + * Improve support for high-DPI displays and scaling (bug #871). + * Improve internal data storage and data handling algorithms. + * Remove FSF postal address from boiler plate license text. + * Fix a clang build issue related to 'override' (bug #737). + * Fix some zoom-dependent annotation block drawing issues (bug #745). + * Fix locking issues when trying to run multiple decoders (bug #181). + * Fix an exception due to incorrect handling of SR_CONF_FILTER. + * Fix an issue with multiple device/session creation upon file imports. + * Fix a drawing issue with "use coloured backgrounds" and markers (bug #771). + * Fix various issues to better handle re-loading of input files. + * Fix a build issue in the PulseView test-suite (bug #808). + * Fix a Qt5 bug related to QMainWindow SVG icons via workaround (bug #814). + * Fix a Boost-related build issue with gcc 6.2.x (bug #863). + * Fix an issue that prevented decoders from being removed (bug #849). + * Fix an issue with incorrect sample rate limits (bug #890). + * Fix decoding issues due to re-feeding old data (bugs #876, #850). + * Fix temporarily non-working 'b' and 's' hotkeys (bugs #907, #908) + * Fix an issue with std::roundf() on Android (bug #945). + * Fix an issue with negative vertical divisions on channel 0 (bug #940). + * Fix an issue when zero vertical divisions were configured (bug #942). + * Fix an issue with the file save progressbar remaining open (bug #895). + * Fix incorrect values when importing raw analog data (bug #958). + * Fix an issue with non-smooth zoom on e.g. some trackpads. + * Fix an issue where the horizontal scrollbar couldn't be moved (bug #957). + * Fix an issue with the pane positioning when loading files (bug #969). + * Fix an issue where the Run button would remain green incorrectly (bug #970). + * Fix a crash when input modules were yielding errors (bug #775). + * Fix a crash with stacked decoders on Mac OS X. + * Fix a crash when no device was found or selected. + * Fix a crash with selected but unusable devices (bug #805). + * Fix a crash when closing PulseView with active triggers (bug #705). + * Fix a crash that occured with certain glibmm versions (bug #777). + * Fix a crash when an unusable device is encountered (bug #829). + * Fix a negative cursor position "Save Selected Range As" crash (bug #792). + * Fix various other unrelated crash conditions. + * Add an AppData/AppStream file for PulseView (bug #859). + - Install the file to ${CMAKE_INSTALL_DATAROOTDIR}/metainfo. + * .desktop file: + - Rename to org.sigrok.PulseView.desktop. + - Add MimeType=application/vnd.sigrok.session field (bug #858). + - Add additional Development category. + - Install the file to ${CMAKE_INSTALL_DATAROOTDIR}/applications. + * Rename sigrok-logo-notext.{png,svg,ico} icons to pulseview.{png,svg,ico}. + - Install the icons to ${CMAKE_INSTALL_DATAROOTDIR}/icons/... + * NSIS: + - Update to Python 3.4.x. We can't use any higher version for the time + being, since 3.4.x is the last version to support Windows XP. + - Place the example .sr files in a separate installer section. + - Limit example .sr files to a small set to shrink the installer size. + - Clarify Start menu links (e.g. "Uninstall") to avoid confusion. + - Allow registering the .sr extension with PulseView (bug #964). + * manpage: Various updates (e.g. hotkeys, command-line options). + * Fix various compiler warnings. + +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-" 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) ------------------