Version 1.2#
DataLab Version 1.2.0 (2026-04-20)#
✨ New Features#
Plugin configuration dialog:
DataLab now provides a dedicated plugin configuration dialog (accessible via “Plugins > Configure plugins…”) that gives full control over third-party plugin management:
Enable or disable individual plugins using checkboxes, or toggle all plugins at once with a tri-state master checkbox
Filter plugins by status: all, enabled, disabled, or plugins with import errors
View plugin details including version, author, and expandable long descriptions directly in the dialog
Plugins with import errors are displayed prominently at the top with their full traceback, making it easy to diagnose installation issues
The expandable text widget used for long descriptions computes its preferred width from a fixed measurement context, ensuring stable layout and reliable “Show full description” toggling regardless of dialog resizing or offscreen rendering
Plugin hot-reload:
Third-party plugins can now be reloaded at runtime without restarting DataLab, via “Plugins > Reload plugins”
Enabling or disabling plugins in the Preferences dialog or plugin configuration dialog takes effect immediately - no restart required
The Plugins menu, status widget, and plugin actions are automatically refreshed after configuration changes
Multi-instance detection:
DataLab now detects when another instance is already running and warns the user before opening a second instance:
Uses a PID-based lock file mechanism that supports multiple concurrent instances (reference counting)
Stale PIDs from crashed processes are automatically cleaned up
Cross-platform support (Windows, macOS, Linux) using platform-specific process detection
Closing one instance no longer incorrectly removes the lock file when other instances are still running
Image ROI editor contrast synchronization:
The image ROI editor now shares contrast (LUT) settings with the source image panel
Adjusting the contrast in the ROI editor is reflected back in the main panel and vice versa
Contrast controls are fully re-enabled in the image ROI editor dialog
Remote control API — push modified objects back to DataLab:
The proxy API (XML-RPC and Web API) now exposes a new set_object method that updates an existing signal or image in DataLab from a modified copy obtained via get_object (fixes Issue #305):
Previously, modifications to object properties (e.g.
dx,dy,x0,y0,title) made on the result ofget_objectwere lost becauseget_objectreturns a copy —set_objectnow provides a clean round-trip workflowWorks for both signal and image objects: computed result items attached to the object are preserved during the update, so updating an
ImageObjno longer triggers a type mismatchThe properties panel is automatically refreshed after
set_object, so updated object properties (title, units, axes, uncertainties, etc.) are immediately visible in the GUI
📖 Documentation#
Added API documentation for the
datalab.objectmodelmoduleAdded screenshots for the “Paste metadata” dialog (signal and image panels)
Updated plugin documentation to describe the new configuration dialog, hot-reload workflow, and plugin API helpers
Updated third-party plugin development guide with new template references and test coverage information
Expanded Web API reference: documented the binary data transfer options (
?compress=falsefor faster uncompressed NPZ downloads,?overwrite=truefor atomic replacement of existing objects), the in-placePUT /objects/{name}endpoint that updates an object while preserving its identity, group membership and position, and the new “Computation” section listing the/selectand/calcendpoints used to drive DataLab computations remotelyUpdated French translations across all new and modified documentation pages
🔧 Improvements#
Compatibility:
Officially support pandas 3.0.x (updated dependency constraint from
< 3.0to< 3.1)Updated minimum Sigima requirement from 1.1.0 to 1.1.2 to benefit from latest computation engine fixes and improvements
Added legacy support for the
WINPYDIRBASEenvironment variable for WinPython-based deployments
Plugin system hardening:
Plugin discovery and registration is now resilient to third-party import failures while preserving error reporting in the console, logs, and configuration dialog
Plugin submenus are now scrollable to prevent overflow when many plugin entries are registered
Development tooling:
New
run_with_env.pyscript for running tasks across multiple Python environment contexts (WinPython, venv, etc.)Simplified environment variable handling by removing the
DATALAB_ENV_LOADEDsystemFixed Coverage full VS Code task to properly use the
run_with_env.pywrapper
🛠️ Bug Fixes#
HDF5 workspace - Table serialization:
Fixed callable metadata not being stripped during HDF5 save/load of
TableResultobjectsFixed string-based enum values in table results not being restored correctly after HDF5 round-trip
Fixed
column_formatsattribute not surviving HDF5 round-trip for bothTableResultandTableResultBuilderoutputs
Plugin system:
Fixed
AttributeErrorin plugin configuration dialog when clicking “Show full description” (incorrect attribute reference)Fixed plugin import errors being silently swallowed when they occurred before the internal console was initialized