Release notes

v1.4.9, 11/24/2017
- Fixed issue with drivers not starting on some Windows distribution.

v1.4.8, 11/14/2017
- Added version and path information to driver dialogs.
- Fixed issue with Measurement program sometimes not plotting traces progress dialog.
- Fixed issue with old traces remaining visible in graphs in instrument driver dialogs.
- Fixed issue with mixing of forward and backward slashes in paths on Windows.
- Fixed compatibility issues with Keysight PXI AWG and digitizers.

v1.4.7, 11/1/2017
- Added metadata to exported images.
- Fixed issue with hidden dialogs in the Measurement program.

v1.4.6, 9/25/2017
- Added timeout for license and updates check.

v1.4.5, 9/12/2017
- Added multi-qubit pulse generator.
- Fixed issue with some logs not showing previews in the Log Browser.
- Fixed issue with Log Browswer sometimes showing error dialog when searching for logs.

v1.4.4, 9/6/2017
- Added option to control instruments using the Teledyne/LeCroy VICP protocol.
- Added option allowing drivers to be both signal generators and signal analyzers.
- Fixed issue affecting license registration for some users.

v1.4.3, 8/30/2017
- Added dialog informing about software updates.
- Fixed issue with error dialog sometimes showing when closing Measurement configuration editor.
- Fixed issue with sending non-unicode characters between Instrument Server and clients.

v1.4.2, 8/11/2017
- Fixed issue with Log Browser not showing data for log files containing text-based step items.

v1.4.1, 8/8/2017
- Added option to not show error dialogs if running scripted measurements.
- Fixed issue causing increased memory consumption and slowdown over time in the Measurement program.
- Fixed issue causing slowdown when repeatedly loading a log file in Measurement editor.
- Fixed issue with Signal connections sometimes occurring in the wrong order when using multiple signal generators.
- Fixed issue with Log Browser failing to load if there is an empty log file in the database.
- Fixed issue with Log Viewer / Log Browser not showing results of relations in channel/step list.

v1.4, 6/27/2017
- Fixed issue with Log Browser not showing correct preview for multi-graph logs.
- Fixed issue with Tektronix AWG sometimes not clearing old waveforms.
- Fixed issue with non-blocking client API not working with PyQt5.
- Improved speed for Log Browser log preview.

v1.3.9, 6/19/2017
- Instrument config dialogs now have different background colors in the Instrument server and in the Measurement program.
- Improved memory handling for Alazartech digitizers.
- Creating a log file using the API will now send a "New file"-notification to the Log Browser.
- Fixed bug with Log Viewer inverting axes when plotting log files created using the API.

v1.3.8, 6/8/2017
- Labber is now a 64-bit application on both Windows and Mac, resulting in speed improvements.
- Added option to run individual drivers in 32-bit mode, for backwards compatibility.
- Added option to run drivers in a user-provided, external Python distribution.
- Added parula, cubehelix and viridis colormaps to Log Viewer image mode.

v1.3.7, 5/20/2017
- Fixed issue with Labber scripting tools API sometimes not working on Python 2.7.
- Fixed issue with Measurement window sometimes not closing after stopping a measurement.

v1.3.6, 5/17/2017
- Fixes to instrument drivers for improved Python 3 compatibility.
- Fixed issue with histogram data showing the wrong y-axis in image mode.
- Fixed issue with Instrument Server refusing connections from IPv6 addresses.
- Fixed issue with Log Browser failing to plot certain data in image format.

v1.3.5, 5/3/2017
- Labber and all instrument drivers are now running Python 3 on all platforms.
- Auto-save default view when closing the LogViewer dialog.
- Fixed issue with order of step items in hardware loop mode.

v1.3.4, 4/16/2017
- Added hardware looping support for Alazartech digitizer.
- Fixed issue with exporting header in text files.
- Fixed issue with incorrect labels in live graph in Measurement program.
- Fixed issue with tag selection not working properly on Mac OS.

v1.3.3, 3/30/2017
- Added button to the Measurement program for skipping current trace and continuing to the next step item.
- Added option to automatically abort a Measurement if a log value is outside a valid range.
- Multi-panel graph is now on per default in the Log Viewer for log files with multiple log channels.
- Added Preferences option to set default multi-panel graph configuration.
- Fixed bug with Instrument server not workig on pre-Sierra versions of macOS.
- Fixed issue with Zurich Instrument driver not working properly for Labber 1.3 or later.

v1.3.2, 3/18/2017
- Updated drivers for Oxford instruments hardware to be compatible with latest Labber version.
- Fixed bug related to sweep rate display in step dialog.
- Fixed bug with sweep_res option not working properly.
- Fixed bug with exporting text headers.

v1.3.1, 3/11/2017
- Added support for multiple graphs in the LogViewer. This feature is still experimental.
- Fixed bug with the Windows version sometimes not showing the preferences dialog.
- Fixed bug with copy graph failing on the Mac version.

v1.3, 2/17/2017
- Labber API is now available for both Python 2.7 and Python 3.4 or later.
- Log names, comments and channel names now support international characters.
- The macOS version of Labber is now using Python 3.5 instead of Python 2.7.
- Fixed bug with the Mac version failing when connecting to VISA instruments.
- Fixed bug with sweeping not working when setting sweep resolution in .ini configuraton file.
- LogViewer graph now shows labels for items multi-column mode.

v1.2.6, 2/1/2017
- Fixed issue with Python API not working on some Python distributions.
- Fixed issue where the LogViewer would crash when opening certain log files as image.
- Including all of scipy and numpy in Labber Python distribution.
- General bug fixes.

v1.2.5, 12/9/2016
- Support for Retina displays on macOS.
- Fixed bug with wrong labels in exported images.
- Fixed bug with auto-scale of log scales.
- Performance update on live data traces in Instrument Server.
- Added support for both PyQt4 and PyQt5.

v1.2.4, 11/15/2016
- Added support for logarithmic frequency scales for network and spectrum analyzers.
- Added option to always read responses from VISA instruments.
- Fixed issue with non-changing step values being incorrect when extracted using the Labber Logfile API.
- Fixed issue with continous trace update in the Instrument Server.

v1.2.3, 10/28/2016
- Improved compatibility with macOS Sierra.
- Added option to show timing statistics in the Instrument Server, allowing benchmarking of instrument communication.
- Added option to set VISA library location.
- Performance enhancements for instrument/network logging.

v1.2.2, 10/1/2016
- Added a context menu option to copy the log file path in the Log Browser.
- Added binary serialization for transfer of data over TCP/IP.
- Updated instrument drivers that were using old-style wait functions.

v1.2,1, 9/28/2016
- Instrument drivers now run in separate processes instead of separate threads, leading to improved performance on multi-core CPUs.
- Fixed memory leak in the Instrument Server. Memory used by the program should no longer grow over time.
- Fixed bug causing errors when transferring large data sets from the Instrument server using the Labber API client.
- Fixed bugs when accessing data using the LogFile API.

v1.2, 8/5/2016
- Added support for hardware triggering, which improves instrument synchronization
- Added support for hardware looping. In hardware loop mode, stepping of parameters is handled by the instrument hardware, which can speed up certain operations and enable features such as round-robin type averaging. Round-robin averaging is implemented for the Tektronix AWG and the Acqiris digitizer.

v1.1.5, 8/2/2016
- Fixed bug with equations not working for parameters p11, p12, etc, in the Log Viewer.
- Added helper functions for sending status updates from instrument drivers.
- Added default interface/protocol for instrument drivers.
- New User Input driver, now working on Mac.
- Fixed bug with Log Viewer not showing correct x-data for certain log files.

v1.1.4, 5/23/2016
- Added drivers for various instruments.
- Added export script for .s2p format.

v1.1.3, 4/22/2016
- Fixed bug with instruments not being locked in the Instruments server.
- Added option to lock VISA resource.
- Fixed bug with VISA driver not working for combo-type quantities with empty command strings.

v1.1.2, 3/28/2016
- Fixed compatibility issues with newer versions of NI-VISA on Mac OS X.
- Added menu option to get all values of instruments in the Measurement dialog.
- Values of instruments drivers can now be controlled from the driver window while a driver is running.
- The "Set value" dialog in the Instrument server can now be used while a measurement is running.

v1.1.1, 3/10/2016
- Fixed bug with Measurement program not working for certain configurations.
- Image plots now supports unsorted x/y vectors.
- Cursors in image plots now display data value at cursor position.
- Added feature: Clicking a trace in a graph will bring up a label describing the data.
- Fixed bug with improper scaling to physical units in Log Viewer.
- Fixed bug with labels not showing when exporting images.
- Fixed bug with program not launching properly on certain Windows configurations.

v1.1, 3/1/2016
- Introduced the Labber Python API for controlling instruments and creating log files using Python.

v1.0.8, 2/22/2016
- Added support for 4K monitors and high DPI scaling on Windows.
- Added option to alternate step direction of step configurations.
- Fixed bug with Measurement program sometimes showing "Runtime Error - R6016" when scripting.
- Fixed bug with "Add Instrument"-dialog not displaying if a driver definition file contains an error.
- Fixed bug with physical/instrument-unit scaling in Log Viewer.
- Equations in Log Viewer now support values from all channels in the logfile.

v1.0.7, 1/15/2016
- Added log scale option for live image map.
- Removed "libpng warning: iCCP: known incorrect sRGB profile" reported while scripting.
- Fixed bug with Measurement program sometimes incorrectly reporting step channels to be outside channel limits.
- Fixed bug causing Measurement program to hang if given an invalid equation in the channel relations.
- Added option for exporting log comments in custom export scripts.
- Driver for Yokogawa 7651 no longer resets if changing to a lower range than the current value.

v1.0.6, 12/13/2015
- Added option for setting different sweep rates inside and outside the step loop.

v1.0.5, 12/02/2015
- Added functions for getting name/interface/address settings for custom drivers.
- Added dialog showing remaining wait time before proceeding to next point.

v1.0.4, 11/15/2015
- Fixed bug with LogBrowser / LogViewer crashing when displaying images with non-uniform grid.
- Driver ini definition file can now be stored in the driver subfolder.
- Created github repository for instrument drivers.
- LogViewer now shows the configuration for the currently selected log entry.

v1.0.3, 10/28/2015
- Fixed bug with dots when renaming logs in the Log Browser.
- Drag/drop support for merging files in the Log Browser.
- Log comments now support non-ASCII characters.
- Fixed bug with sweep rate being reset if clearing all step items.
- Fixed bug with sweep rate showing up in step dialog for non-sweepable quantities.

v1.0.2, 10/27/2015
- Added option to define sweep rates in rate per minute instead of rate per second.
- Fixed bugs involving channel limits and sweep rates in physical units.

v1.0.1, 10/14/2015
- Added support for custom export scripts in the Log Viewer.
- Added option for setting string format for sending/reading numerical values from a VISA driver instrument.

v1.0, 10/7/2015
- Signal connections now works for channels that are not defined in the step/log lists.
- Fixed bug with combo controls not available in step list.
- Removed old-style definitions and code from driver files.

v0.9.3, 9/26/2015
– Product name changed to Labber.

v0.9.2, 9/24/2015
– Replaced icons with incompatible license agreements.

v0.9.1, 9/21/2015
– Added installation scripts for both Mac and Windows.
– Added folder for storing user-created instrument drivers in a separate location from the ones provided by the software package.
– Implemented proper support for the Button datatype in instrument drivers.

v0.9.0, 9/8/2015
- Added support for continuously sweeping instruments in the Measurement program.

v0.8.4, 8/22/2015
- Implemented scaling between physical and instrument units in the Measurement program and the LogViewer.
- Better handling of axes autoscaling in graphs.
- Scripted measurements now support string- and path-valued channels.

v0.8.3, 8/18/2015
- Added Tags to database metadata (in addition to the Project and User fields), allowing multiple tags to be assigned to a single log file.
- Updated design of the Measurement setup dialog.
- Bug fix: Set value in Measurement setup dialog now supports strings and path controls.
- Bug fix: Stanford SRS830 Lock-in driver had a conflict between output amplitude and detection harmonic settings.

v0.8.2, 7/25/2015
- Added online documentation.
- Help function now opens a browser showing html documentation.

v0.8.1, 7/1/2015
- Fixed bug causing the program to hang when opening an empty database.
- Drag-and-drop now highlights the dropped item

v0.8.0, 6/24/2015
- Support for drag-and-drop of Project/User folders in the LogBrowser.
- Added "read" function to VISA_Driver, taking an optional argument specifying number of bytes to read from the interface.
- Added option for setting log file compression. Higher compression creates smaller log files, but may lead to slight reduction in read/write performance.
- Double-click instead of single-click axes to open "Set axes limit" dialog

- Performance update: General graph refresh rate improvements.
- Performance update: LogViewer dialog opens faster.
- Performance update: LogBrowser preview graph loads faster.
- Performance update: LogBrowser searching/sorting is faster.
- Performance update: Faster database reloading. Opening an existing database for the first time with the new version will be slightly slower, but subsequent loading will be much faster.

- Bug fix: Measurement program won't hang if log file is corrupted.
- Bug fix: File lock mechanism to log files, to prevent simultaneous write to the same file.
- Bug fix: Stopping an experiment in the Measurement program will abort all current driver operations.

v0.7.4, 6/7/2015
- Added "Set axes limit" dialog to graphs. Right-click inside graph or click on graph axes to show the dialog.
- Added possibility for all subprograms to open other subprogram.
- Max server timeout is limited to 1,000,000 s, to avoid issues with float->int conversion.
- Re-import module when starting a custom driver with "Start"-button.
- Scripted measurements no longer shows an error if updating an inactive step item. Instead, the step item is automatically switched to the new step type. For example, if the step type is SINGLE, and the user updates the START value, the step type is changed to START-STOP. Note that it is up to the user to ensure that all other relevant quantities are updated as well (in the example, the STOP value and the STEP or N_PTS value).

- Bug fix: Log scale autoscaling now works properly.
- Bug fix: Export image now exports images with correct font size for tick labels.
- Bug fix: Vector-valued channels can now have different lengths withing a single measurement file.
- Bug fix: Certain logs could previously not be exported to Matlab.
- Bug fix: Only one instance of the Instrument server can be opened at a time.

- New driver: Added Rohde and Schwarz spectrum analyzer driver.
- SRS 830 driver: Set lowest limit to 4 mV for SRS 830.
- Yokogawa driver: Reduced sleep time when sweeping to 30ms.