Releases: DataLab-Platform/DataLab-Kernel
v0.2.10
DataLab-Kernel Version 0.2.10 (2026-02-10)
✨ New features since version 0.2.9
-
Multi-object plotting:
plotter.plot()now accepts lists of signals or images,
enabling side-by-side visualization of multiple objects in a single call -
Analysis result display: Geometry and table results now display as separate
HTML tables below the plot instead of cluttering the figure with on-plot text
annotations — especially important when working with multiple ROIs -
Consistent figure sizing: Introduced
DEFAULT_PLOT_WIDTHconstant for
uniform figure dimensions across Plotly and Matplotlib backends -
User-defined figure dimensions: Plotly plots now accept custom
widthand
heightkeyword arguments for fine-grained control over figure sizing -
Advanced plotting showcase notebook: Added a comprehensive notebook
demonstrating advanced features: multiple curve styles, colormaps, ROI-based
analysis, geometry/table results, and interactive Plotly visualization
🛠️ Bug Fixes since version 0.2.9
-
Fixed legend display in Plotly plots — legends are now hidden by default for
cleaner visualization -
Fixed default Plotly signal figure dimensions to match Matplotlib's aspect ratio
-
Fixed figure serialization performance in Plotly backend
-
Fixed image rendering edge cases in Matplotlib backend
🔧 Other changes since version 0.2.9
-
Updated documentation with structured "Try it Online" section linking to both
Quick Start and Advanced Showcase notebooks -
Improved portability of development scripts by using relative paths
v0.2.9
DataLab-Kernel v0.2.9 Release Notes
New Features
Plotly visualization backend
- Added a new Plotly interactive visualization backend as an alternative to the existing Matplotlib static backend. Plotly figures provide rich interactivity (zoom, pan, hover tooltips) directly in Jupyter notebooks.
- Install with
pip install datalab-kernel[plotly].
Smart backend selection
- When both Plotly and Matplotlib are available, Plotly is automatically preferred for its richer interactive experience.
- Switch backends at runtime with
plotter.set_backend("matplotlib")orplotter.set_backend("plotly"). - Override the default backend via the
DATALAB_PLOTTER_BACKENDenvironment variable.
Enhanced Matplotlib backend
- Extracted the Matplotlib rendering logic into a dedicated
matplotlib_backendmodule with improved support for:- Error bars
- Curve styles (Sticks, Steps)
- Per-object line styling from metadata
- Log scale and axis bounds
- Non-uniform image coordinates (
pcolormesh) - Per-object colormaps
Figure height customization
- Enhanced figure height customization for both backends, with updated documentation.
MIME bundle support for Plotly
- Plotly figures now produce proper MIME bundles for native Jupyter display integration.
Improvements
Documentation
- Removed references to the legacy XML-RPC connection method; documentation now emphasizes the Web API as the primary (and recommended) connection method.
- Updated README with visualization backend documentation, usage examples, and runtime switching instructions.
- Updated online demo badge link.
Python version support
- Added Python 3.13 and 3.14 to the supported version classifiers.
Optional dependency
- Added
plotlyoptional dependency group inpyproject.toml(pip install datalab-kernel[plotly]).
Dev tooling
- Enhanced wheel building script (
serve_dev_wheels.py) to support package selection via--packagesargument. - New VS Code tasks for interactive plot tests, dev wheel serving, and backend-specific testing.
Bug Fixes
- Fixed test compatibility with Python 3.9 by using
ExitStackinstead of multiplemock.patchcontext managers. - Fixed test module shadowing issue by using
mock.patch.objectinstead ofmock.patchwith string targets. - Fixed various Ruff and Pylint warnings across the codebase.
- Fixed test workflow branch references for DataLab installation.
Test Suite
- Added 65 tests for the Matplotlib backend covering all rendering features, backward-compatibility aliases, and edge cases.
- Added 40 tests for the Plotly backend covering all rendering features and edge cases.
- Added backend selection and resolution logic tests.
- Added
--guiinteractive gallery viewers for visual test validation (tkinter for Matplotlib, tabbed HTML for Plotly).
v0.2.8
Remove outdated datalab-kernel version 0.2.7 from nblink-lock.json
v0.2.7
Bump version to 0.2.7
v0.2.6
Enhance documentation to clarify Xeus-Python foundation, connection m…
v0.2.5
Enhance Plotter class with geometry and table result display capabili…
v0.2.4
Bump version to 0.2.4 in __init__.py
v0.2.3
Bump version to 0.2.3 in __init__.py
v0.2.2
Bump version to 0.2.2 in __init__.py
v0.2.1
Bump version to 0.2.1 in __init__.py