Dear labscript suite community,
labscript 3.1.0 has been released! You may update to it by installing from pip or the labscript-suite conda channel. As always, you can also get these updates by pulling them from the various github repositories.
This release primarily includes a lot of bug fixes to the various suite components, some enhancements to functionality, and a number of improvements under-the-hood that help us to maintain the code.
Of particular note:
The suite now supports Python 3.9
There have been a number of performance improvements in shot compilation times, lyse shot loading performance when using many shots, and runviewer performance.
New features include a square_wave waveform output for AnalogQuantities, wider support of analog input termination configurations in NI-DAQmx, better control of source control information saving in shot compilations, and the ability for lyse.data() to return only a subset of the full dataframe.
There has also been a significant effort to improve the online documentation available at https://docs.labscriptsuite.org/en/latest/.
NOTE: if your experiment uses unitconversion classes or the NI-DAQmx labscript device, you will need to recompile your connection table upon updating.
Please report any bugs or issues you encounter.
As always, great thanks to the contributors, testers, and bug reporters that made these updates possible!
Changes in this release (by component) are:
Added a square_wave waveform output for AnalogQuantity (PR#77, zakv)
Save full import path of unit conversion classes (PR#84, chrisjbillington). This allows for custom unit conversion classes to be located outside the labscript_utils module (ie in the user’s labscriptlib)
Add the option to save git info (PR#72, zakv) instead of just hg info when compiling a shot. This also allows for turning off saving of repository info all together, which can give significant speed improvements to shot compilation.
Various performance improvements to shot compilation (PR#73, philipstarkey)
Fix that prevents labscript_utils.dedent from being overwritten (PR#79, zakv)
Initial upload of detailed labscript documentation (PR#74, dihm)
Remove deprecated set-env command from github workflow (PR#75, chrisjbillington)
Fixed bug that prevented NI-DAQmx devices without analog inputs from working (PR#90, dihm)
Modify pulseblaster transition_to_buffered to limit unnecessary calls to start_programming (PR#61, dihm)
Add support for other analog input terminations for NI-DAQmx devices (PR#75, dihm)
Fixed bug in FunctionRunner function deserialisation (PR#85, chrisjbillington)
Fixed bug in FunctionRunner function sorting (PR#86, chrisjbillington)
Fix intermittent error in NI-DAQmx AI indexing (PR#78, ispielma)
Fix issue in Spinnaker error string (PR#88, dihm)
Fix bug in runviewer display of Novatech instructions (PR#89, chrisjbillington)
Bugfix for the Tekscope device (PR#65, rpanderson)
Remove deprecated set-env command from github workflow (PR#74, chrisjbillington)
Break circular dependency on labscript_devices (PR#79, philipstarkey)
Fix issue where some tabs did not close properly (PR#87, zakv)
Fix bug where AO unit conversion classes import fails (PR#81, zakv)
Added detailed documentation (PR#80, dihm)
Fix bug where stop order is set to start order (PR#85, zakv)
Remove deprecated set-env command from github workflow (PR#83, chrisjbillington)
Confirm global group names are valid hdf5 group names (PR102, zakv)
Added detailed documentation (PR99, dihm)
Update save file text after using save as (PR103, lakodarmstadt)
Remove deprecated set-env command from github workflow (PR100, chrisjbillington)
Make runmanger timeout configurable (PR96, zakv)
Update save_dataframe to replace msg format with python’s pickle (PR95, dihm)
Move infer_objects out of main thread to improve performance (PR88, zakv)
Remove deprecated set-env command from github workflow (PR89, chrisjbillington)
Fixes to Run.get_units() (PR87, zakv)
Fixes Run.set_group(no_write=True) behavior (PR80, zakv)
Mock site package during builds (PR79, philipstarkey)
Allow lyse.data() to return a subset of the dataframe (PR76, zakv)
Add n_runs column to dataframe (PR74, zakv)
Allow Run.set_group() to create group if necessary (PR72, zakv)
Break circular dependency on labscript_devices (PR49, philipstarkey)
Improve performance of resample thread (PR50, philipstarkey)
Added detailed documentation (PR51, dihm)
Remove deprecated set-env command from github workflow (PR52, chrisjbillington)
Fix bug for Python 3.6 (PR81, chrisjbillington)
Make setup_logging() more Jupyter-friendly (PR78, zakv)
Fix bug in unitconversion import (PR74, zakv)
Workaround for infinite recursion in ToolPalette.resizeEvent() (PR76, zakv)
Remove deprecated set-env command from github workflow (PR75, chrisjbillington)