Prefer std::make_shared().
[pulseview.git] / NEWS
blob5ffbfe815bc8492b10b19aea76a76edec04ae513
1 0.3.0 (2016-01-29)
2 ------------------
4  * PulseView now uses libsigrokcxx (the libsigrok C++ bindings library).
5  * Update to use the new APIs of libsigrokcxx 0.4.x and libsigrokdecode 0.4.x.
6  * Add support for vertical scaling of analog and logic traces.
7  * Add a "Save selection range as..." feature. This allows the user to select
8    a subset of the data (using the cursors) and save that into a file in the
9    libsigrok session format (*.sr).
10  * Remember the directory of the last file that was opened/saved.
11  * Automatically save and restore (upon PulseView shutdown/startup):
12     - the window state (size, position)
13     - the most recently used device
14  * Implement pinch-zoom support (useful e.g. on tablets).
15  * Implement an "always zoom-to-fit" feature.
16  * Implement a "sticky scrolling" feature, using hotkey 's' (bug #121).
17  * Show icons for active triggers on the right-hand side of the window.
18  * Cursors: Also show the frequency in addition to distance/time (bug #502).
19  * List available serial ports (for serial-based devices) in a drop-down.
20  * Add support for trace groups. An arbitrary number of traces can be grouped
21    together, which allows for dragging them around as a group and re-ordering
22    traces within the group. Hotkeys: group (CTRL+g), ungroup (CTRL+u).
23  * Use either alternating gray values as trace background color, or the
24    trace's own color (slightly modified). This behaviour is configurable
25    via the menu or the 'b' hotkey.
26  * Show a vertical marker at the trigger point (bug #685).
27  * Sampling bar: Show the total sampling time in a tooltip.
28  * Trace/Decoder popups: Close the popup when the ENTER/RETURN key is pressed.
29  * Improve horizontal arrow-key scrolling step size.
30  * The viewport can now be dragged vertically as well.
31  * Add support for placing arbitrary markers (double-click at the desired
32    position in the ruler area) with arbitrary name/content. Markers can be
33    removed via the delete key (or the right-click context menu).
34  * Show full device names in the device drop-down.
35  * The device selector combobox is now a split button. Clicking on a device
36    name will open the "Connect to Device" dialog which allows for manual
37    device selection. Clicking on the small arrow will open a drop-down with
38    all autodetected devices.
39  * The main menu is now hidden by default, pressing ALT will make it appear,
40    pressing ALT or ESC will hide it again.
41  * Add an Export menu item, which can export the data in various formats.
42  * Add an Import menu item, which allows data import of various formats.
43  * Support specifying input files + formats on the command-line (-i and -I).
44  * Update the possible samplerates/samplecounts widgets when needed.
45  * Various UI fixes and improvements (colors, font sizes, clipping, etc).
46  * Add support for the SR_CONF_{POWER_OFF,PROBE_FACTOR} config keys.
47  * Include the device / filename in the window title (bug #244).
48  * Keyboard shortcuts:
49    - Add space as a shortcut to start/stop an acquisition.
50    - Add shortcuts for the open/save menu items (CTRL-o, CTRL-s).
51    - Add trace group shortcuts: group (CTRL+g), ungroup (CTRL+u).
52    - Add 's' as shortcut for enabling/disabling sticky scrolling.
53    - Add 'b' as shortcut for colored / alternating-gray trace backgrounds.
54  * Add a few missing toolbar buttons.
55  * Provide tooltips for decoder annotations (which show the "full" annotation
56    text regardless of zoom-level).
57  * Improvements to work (better) with Qt5 (Qt4 remains supported as well).
58  * The whole code-base has been converted to C++11 (dropping the use
59    of various Boost functionality in favor of std:: equivalents).
60  * Build system:
61    - Always build with -std=c++11.
62    - Auto-detect Qt4 or Qt5. If both are available, Qt5 will be selected
63      unless the cmake option FORCE_QT4 is set to TRUE.
64    - Don't use Qt-defined keywords (can cause issues with other headers).
65    - Fix an issue with QtSvg linking (bug #369).
66    - Fix a build issue related to Qt4 MOC.
67    - Add "-git-<hash>" suffix to development version numbers (bug #609).
68    - Fix the build for older glibmm versions (bug #548).
69  * Updated build requirements:
70    - A C++ compiler with C++11 support (g++ >= 4.7 or clang++ >= 3.1)
71    - glibmm-2.4 (>= 2.28.0)
72    - Qt4 >= 4.5 or Qt5 (including the following components):
73     - Qt4: QtCore, QtGui, QtSvg
74     - Qt5: Qt5Core, Qt5Gui, Qt5Widgets, Qt5Svg
75    - Boost >= 1.53 (bugs #722, #593).
76    - libsigrokcxx >= 0.4.0 (libsigrok C++ bindings)
77    - libsigrokdecode >= 0.4.0
78    - libsigrokandroidutils >= 0.1.0 (optional, only needed on Android)
79  * Dropped build requirements:
80    - libsigrok (PulseView now uses libsigrokcxx instead).
81  * manpage:
82    - Various fixes and updates.
83    - Document all keyboard shortcuts.
84  * Android:
85    - Add basic Android support and support for building a PulseView APK.
86    - Install logging callbacks for Android.
87    - Fix a rendering issue by disabling the system background.
88    - Fix an issue due to a missing libintl.so in the APK (bug #575).
89    - Add asset reader functionality, e.g. for firmware files.
90    - Include firmware files (from sigrok-firmware) in the APK (bug #400).
91  * Windows:
92    - Fix an issue related to CMAKE_MODULE_PATH usage.
93    - Fix multiple Boost- and thread-related issues.
94    - Fix a build issue due to windows.h namespace pollution (bug #517).
95    - Fix an issue when saving .sr files (bug #615).
96  * Mac OS X:
97    - Fix an issue related to Glib::Variant types.
98    - Fix a build failure on Mac OS X 10.10 (bug #621).
99  * NSIS:
100    - Drop libusb0.dll, we use libusb-1.0 everywhere now.
101    - Add start menu entries for Zadig (bug #542).
102    - Support out-of-tree builds.
103    - Don't hardcode the MXE install location.
104  * README: Drop reference to obsolete sigrok-commits mailing list.
105  * Add a Doxygen file for auto-generated code documentation.
106  * Populate signal popup combo box with signal names (not probe names).
107  * Fix various thread related issues.
108  * Fix various compiler warnings and compiler portability issues.
109  * Adapt PulseView to use the new libsigrokcxx trigger API (bugs #448, #452).
110  * Reimplement file save using the "srzip" output module (bug #451).
111  * Check whether config keys are available before use (bug #487).
112  * Markers: Fix display of negative values in popups (bug #460).
113  * Properly handle device selection failure (bug #455).
114  * Fix a progressbar issue when saving files (bug #451).
115  * Fix incorrect channel names in .sr files (bug #490).
116  * Save and load signal names as UTF-8 strings (bug #498).
117  * Add a workaround for QTBUG-22829 (bug #532).
118  * Allow vertical scrolling via CTRL + mouse-wheel (bug #497).
119  * Fix an isnan() related compiler error (bug #531).
120  * Gracefully handle the case of a failing SAMPLERATE query (bug #529).
121  * Show less device info in the device dropdown (bug #285).
122  * Always show full device info in device selection tooltips (bug #489).
123  * Fix a segfault due to a missing Capability::LIST check (bug #453).
124  * Allow PulseView to be killed via CTRL-C from a terminal (bug #368).
125  * Support having no selected device (bug #488, #392).
126  * Add menu actions to the main window too (bug #590).
127  * Avoid confusing autocompletion in the channel name popups (bug #501).
128  * Fix an issue with channel ordering being reset incorrectly (bug #536).
129  * Fix an issue related to a disappearing samplerate dropdown (bug #594).
130  * Fix an issue with incorrect samplenumbers when running decoders.
131  * Suppress warnings from glibmm about deprecated auto_ptr (bug #654).
132  * Add a workaround for a corrupted timescale issue (bug #627).
133  * Fix a libzip-related issue resulting in errors writing .sr files (bug #570).
134  * Fix an issue that caused incorrect .sr files being saved (bug #599).
135  * When clicking a channel name, place the cursor in the text field (bug #298).
136  * Fix a double-free issue/segfault when trying to open an .sr file (bug #405).
137  * Fix an issue with incorrect placement of PD annotation tooltips (bug #477).
138  * Allow drag-moving both cursors (left + right) at the same time (bug #514).
139  * Improve the step-size of the vertical scroll bar click-movement (bug #513).
140  * Fix a too small display area for devices with many channels (bug #515).
141  * Fix a Qt5 QWellArray related static linking issue (bug #525).
142  * Fix broken session saving for devices with more than one channel (bug #404).
143  * Fix incorrect ruler units of kilo-/mega-/giga-seconds (bug #371).
144  * Fix an issue with segment sizes wasting huge amounts of memory (bug #622).
145  * Avoid a crash when running out of memory, show an error instead (bug #626).
146  * Improve behaviour when the last PD is removed from the stack (bug #510).
147  * Disable device options GUI elements after an acquisition start (bug #597).
148  * Fix an issue with the samplerate input format option (bug #595).
149  * Fix a segfault when switching from a file to a device and back (bug #596).
150  * Fix a segfault when loading very large .sr files (bug #592).
151  * Fix a segfault when selecting a device twice (bug #605).
152  * Fix an incorrect decode trace background color (bug #718).
153  * Fix incorrect annotation row background color behaviour (bug #719).
154  * Fix an issue with lingering decoder traces (bug #687).
155  * Fix non-intuitive channel name editing behaviour (bug #717).
156  * Speed up annotation drawing by quite a bit (bug #325).
158 0.2.0 (2014-05-06)
159 ------------------
161  * Add support for protocol decoding.
162    - A menu item Decoders->Add can add (only) low-level protocol decoders.
163    - Clicking on a decoder's arrow on the left-hand side allows stacking
164      (only) further, higher-level decoders (bug #333).
165    - Add support for multiple decoder rows per PD (bugs #161, #303).
166  * Add support for loading data from input files.
167  * Add support for saving logic analyzer data in *.sr files (bug #245).
168  * Show the filename of loaded *.sr files as "device name" in a drop-down.
169  * Add support for the new "channel groups" feature in libsigrok.
170  * Add a "Zoom to fit" and a "Zoom 1:1" icon/button.
171  * Add a "Channels" icon/button for enabling and configuring device channels.
172  * Add a "Device options" icon/button for configuring device specific settings
173    such as voltage thresholds.
174  * Double-clicking will zoom into the location the cursor points to.
175  * Add shortcut keys for Zoom-in (CTRL++) and Zoom-out (Ctrl+-) (bug #235).
176  * Add initial, basic support for analog data sources, such as oscilloscopes.
177    This has been tested on e.g. the Rigol DS1052E oscilloscope (bug #127).
178  * Almost all operations in PulseView work in an "auto-apply" style, i.e.
179    any changes in the GUI popups (decoder channel assignment, decoder option
180    changes, device channel changes, device option changes, and so on) have an
181    immediate effect (you don't have to click on any "OK" buttons).
182  * Open file dialog: Add 'All files' selection possibility.
183  * Added GUI support for the following libsigrok config options:
184    - SR_CONF_VOLTAGE_THRESHOLD
185    - SR_CONF_TRIGGER_SLOPE
186    - SR_CONF_EXTERNAL_CLOCK
187    - SR_CONF_CLOCK_EDGE
188  * Updated build requirements:
189    - cmake >= 2.8.6 (required)
190    - libsigrok >= 0.3.0 (required)
191    - libsigrokdecode >= 0.3.0 (required)
192      Note: libsigrokdecode is now always required (was optional before).
193    - libboost-filesystem >= 1.42 (required)
194    - libboost-test >= 1.42 (optional, only needed for running unit tests)
195  * Fix a build issue on NetBSD due to an incorrect #include.
196  * Fix a channel handling issue for devices with >= 16 channels.
197  * Fixed a few display issues related to UTF-8 strings in decoder annotations,
198    decoder options, and so on (bug #307, and other fixes without bug numbers).
199  * Don't decode if required PD channels were not supplied (bug #204).
200  * Fix some issues with partially disappearing PD annotations.
201  * Update the samplerate selector when the device config changes (since e.g.
202    en-/disabling logic analyzer channels can change available samplerates).
203  * Fix a samplerate selector and device config update issue (bug #296).
204  * Minor performance improvements via memory pre-allocation in some areas.
205  * Remove old PD annotations upon new captures (bugs #172, #302).
206  * Portability improvements by using portable sample pack/unpack code.
207  * Fix a segfault related to thread joining (bug #323).
208  * Fix a minor issue which lead to trigger config being unusable (bug #318).
209  * Fix an issue which lead to the user-selected samplerate in the drop-down
210    box not being selected and shown again after clicking "Run" (bug #324).
211  * Start a new decode session whenever a new frame begins.
212  * Fix an issue which arose when a session file load failed (bug #331).
213  * Fix a segfault if only exactly one libsigrok driver is available (bug #334).
214  * Fix an issue with channel names not being updated while typing (bug #338).
215  * Fix an issue by stopping the capture when a device is changed (bug #223).
216  * Fix an issue with the displayed cursor popup time (bug #229).
217  * Fix handling of different integer types in some properties (bug #203).
218  * Hide the 'Configure device' button when the popup would be empty (bug #232).
219  * Fix a decoding chunk buffer / unitsize issue (bugs #171, #225).
220  * Fix a zoom issue due to invalid samplerate, assume 1Hz if needed (bug #278).
221  * Fix a QWellArray related issue by dropping QT_NO_MENU code (bug #265).
222  * Fix an analog data channel interleaving issue (bug #279).
223  * Only show the sample count widget if needed (i.e., hide it for scopes).
224  * SweepTimingWidget: Show a 1-2-5 based list for samplerate and samplecount.
225  * Fixed a unit test issue with AnalogSnapshotTest (bug #286).
226  * Add an extra sample to edges to make the end sample visible (bug #280).
227  * Fix an issue with decoder errors being shown even after the error was fixed.
228  * Add support for SR_CONF_LIMIT_SAMPLES (device-specific limits) (bug #74).
229  * Windows:
230    - Use the sigrok logo as icon for pulseview.exe (bugs #110, #238).
231    - Fix SVG icons not being displayed on Windows (bug #239).
232    - Ship libusb0.dll in the NSIS based installer (bug #241).
233    - Additionally ship decoders, firmware files, example *.sr files, and
234      zadig.exe and zadig_xp.exe in the NSIS based installer.
235    - Fix a "working path" issue resulting in PDs not being usable.
236  * Device scan: Disable "OK" button if no devices were found (bug #237).
237  * Fix a segfault related to incorrect decoder option handling (bug #160).
238  * Fix an off-by-one issue resulting in one PD not being usable (bug #164).
239  * Fix a PD channel auto-select logic issue with optional channels (bug #310).
240  * Fix an issue when cancelling "Connect to Device" (bug #242).
241  * Avoid confusing annotation color changes (bug #311).
242  * Fix an issue that caused some decoded data to not be shown (bug #308).
243  * Don't allow disabled channels (channel arrows) to be selected (bug #313).
244  * The channel name field is now resized to always fit the contents (bug #167).
245  * Build fixes for systems with (among other versions) Qt5 installed.
246  * Fix a build issue related to missing libboost-filesystem (bug #133).
247  * Add Cotire (optional, disabled by default) support for build performance.
248  * Fix a build issue related to Cotire (bug #217).
249  * Fix an issue with missing channel names from loaded files (bug #126).
250  * Fix missing samplerate loading from session files (bug #123).
251  * Fix some build issues related to C++ namespaces (bug #196).
252  * Fix a file loading issue which triggered an assert (bug #320).
254 0.1.0 (2013-05-04)
255 ------------------
257  * Initial release.