Changelog#
v1.2.0 (unreleased)#
Features added#
GUI: - Added a branding system (
branding): the newbrandingsetting selects the branding ofdevctrlor one of the installed modules. The branding’s icon is used as program icon and rail button icon, and its color replacements are applied dynamically when icons are loaded (ThemedIconEngine). - Added athemesetting (system/light/dark) which is applied immediately viaapply_theme(); themed icons convert instantly on change. - The rail buttons now show icons: module branding icons and the icons of the shared Devices, Data and Tools views. - Added a global Tools workspace (tools) with launcher buttons, pop-out/re-dock and a module tool API. - Added a global Devices workspace with per-module device load/connect. - Added a per-modulesave_statehook called from the app-wide state saving. - The task list is restored on startup and robust against loading errors. - Added task parameter sweeps: the Sweep button of the task list opensTaskParameterSweepDialogto replicate the selected task once per sweep point (devctrl.task.sweeps), with list/range values, cartesian or lockstep combination, randomized order and optional hierarchy variant templates.Devices: - Added
ThorlabsPM100Dpower meter support. - Added anauto_saveflag to the device manager; improved RTA4000 robustness.
Significant changes#
GUI: Icons are stored in the default IconPark colorset and recolored dynamically at load time; pre-generated dark icon sets (
icons-dark) are no longer required.
Bugfixes#
GUI: - Device widgets keep their ideal size and the device list is scrollable. - Dataset opening is deferred until after a drag&drop; directories are expanded. - Qt signals are bound correctly in the combined host entry point. - The fallback device manager prompts for devices.
Utility: Each
Signaldescriptor instance gets a unique index.
v1.1.0 (2026-08-28) - GUI Update#
Features added#
Devices: - Added
temperature_controllermodule with TEC support. - Addedoscilloscopemodule withGageCompuScopesupport (currently WIP). - Addedpower_metermodule withThorlabsPM160support. - AddedEksplasupport to thelasermodule (WIP).SettingsClass: - Added
SettingsClass, which is a python dataclass that allows saving/loading from/to yaml. - Added a key-value database interface forSettingsClass.Task system: Added task system (
devctrl.task).Messaging: Added
messagingmodule that allows sending messages to the user in both CLI and GUI environments.GUI: - Added
FieldWidget, which allows generating a complete input form for anySettingsClass. - Added task management widgets. - Addedutilitymodule for GUI utilities.Resources: - Added
load_iconfunction. - Added IconPark icons in light and dark mode. - Addedsvg_recolormodule/tool to adapt colors in SVG icons.Documentation: Added Sphinx documentation in
docs/source/.Translation: Added
translationmodule and used QT translation features in GUI code.Utility: - Added support for sending emails. - Added
eventmodule. - Addedthreadingmodule.
Significant changes#
GUI: Using the GUI must now be configured using
from devctrl import configure; configure(gui=True)before any import statements.Dependencies: Updated Python requirement to
>=3.12.Devices: - Renamed
ShutterDAQtoNIDAQ. - Upgraded TMC300 monochromator backend frompyBentobenhw.Project: Added
Makefilefor documentation and icon builds.
v1.0.3 (2025-09-19)#
Features added#
Devices: Added
Ionivac_ITR90support.GUI: - Added Python console widget. - Added
LogViewerwidget. - Added general-purpose widgets (About,FileSelection). - Added GUI controls for devices (DeviceManager,DeviceWidget).Data: - Added
timemodule for time series data functionality. - Addedspectrummodule for spectral data with plotting and transforms.
v1.0.2 (2025-07-23)#
Features added#
Devices: - Added
wheelmodule with Thorlabs Filter Wheel support. - Addedtemperature_sensormodule withClewareHumiditysupport. - AddedKymerasupport tomonochromatormodule.Utility: Added
search_in_path.
v1.0.1 (2025-06-30)#
Features added#
Devices: - Added
Devicebase class with auto-registration metaclass. - Addedamplifiermodule withFemtoDLPCA200support. - Added Arduino support forFemtoDLPCA200.Utility: - Added
file_iomodule for file operations. - Addedlogmodule for colored logging and package filtering.
Significant changes#
Dependencies: Temporarily commented out
pyyamldependency.Project: Reorganized device modules from
devices/todevctrl/devices/.
v1.0.0 (2025-05-19)#
Features added#
Project: Initial release. Moved initial features over from
cpdctrlandprsctrl.