Release notes ============= 2.0 ### Autolab 2.0 released in 2024 is the first major release since 2020. General Features ---------------- - Configuration Enhancements: - Enhanced configuration options for driver management in autolab_config.ini, including extra paths and URLs for driver downloads. - Added install_driver() to download drivers. - Improved handling of temporary folders and data saving options. - Driver Management: - Moved drivers to a dedicated GitHub repository: https://github.com/autolab-project/autolab-drivers. - Drivers are now located in the local "/autolab/drivers/official" folder instead of the main package. - Added the ability to download drivers from GitHub using the GUI, allowing selective driver installation. - Documentation: - Added documentation for new features and changes. GUI Enhancements ---------------- - General Improvements: - Switched from matplotlib to pyqtgraph for better performance and compatibility. - Enhanced plotting capabilities in the monitor and scanner, including support for 1D and 2D arrays and images. - Added $eval: special tag to execute Python code in the GUI to perform custom operations. - Added autocompletion for variables using tabulation. - Added sliders to variables to tune values. - Control Panel: - Added the ability to display and set arrays and dataframes in the control panel. - Added possibility to use variable with type bytes and action that have parameters with type bool, bytes, tuple, array or dataframe. - Added yellow indicator for written but not read elements. - Introduced a checkbox option to optionally display arrays and dataframes in the control panel. - Added sub-menus for selecting recipes and parameters. - Improved device connection management with options to modify or cancel connections. - Added right-click options for modifying device connections. - Scanner: - Implemented multi-parameter and multi-recipe scanning, allowing for more complex scan configurations. - Enhanced recipe management with right-click options for enabling/disabling, renaming, and deleting. - Enabled plotting of scan data as an image, useful for 2D scans. - Added support for custom arrays and parameters in scans. - Enabled use of a default scan parameter not linked to any device. - Added data display filtering option. - Added scan config history with the last 10 configurations. - Added variables to be used in the scan, allowing on-the-fly analysis inside a recipe. - Changed the scan configuration file format from ConfigParser to json to handle new scan features. - Add shortcut for copy paste, undo redo, delete in scanner for recipe steps. - Plotter: - Implementation of a plotter to open previous scan data, connect to instrument variables and perform data analysis. - Usability Improvements: - Enabled drag-and-drop functionality in the GUI. - Added icons and various UI tweaks for better usability. - Enabled opening configuration files from the GUI. - Standalone GUI Utilities: - Added autolab.about() for autolab information. - Added autolab.slider(variable) to change a variable value. - Added autolab.variables_menu() to control variables, monitor or use slider. - Added autolab.add_device() for adding devices to the config file. - Added autolab.monitor(variable) for monitoring variables. - Added autolab.plotter() to open the plotter directly. Device and Variable Management ------------------------------ - Variable and Parameter Handling: - Added new action units ('user-input', 'open-file', 'save-file') to open dialog boxes. - Added 'read_init' argument to variable allowing to read a value on device instantiation in the control panel. - Added new type 'tuple' to create a combobox in the control panel. Miscellaneous Improvements -------------------------- - Code Quality and Compatibility: - Numerous bug fixes to ensure stability and usability across different modules and functionalities. - Compatibility from Python 3.6 up to 3.12. - Switched from PyQt5 to qtpy to enable extensive compatibility (Qt5, Qt6, PySide2, PySide6). - Extensive code cleanup, PEP8 compliance, and added type hints. - Logger and Console Outputs: - Added an optional logger in the control center to display console outputs. - Added an optional console in the control center for debug/dev purposes. - Miscellaneous: - Added an "About" window showing versions, authors, license, and project URLs. - Implemented various fixes for thread handling and error prevention. - Add dark theme option for GUI. 1.1.12 ###### Last version developed by the original authors.