Skip to content

Commit 67990b6

Browse files
committed
feat: add release notes section and initial content for version 0.2
1 parent bfa8aa1 commit 67990b6

File tree

4 files changed

+163
-7
lines changed

4 files changed

+163
-7
lines changed

README.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,16 @@ Click a badge to open the notebook in a live JupyterLite environment powered by
4646

4747
---
4848

49+
## Documentation
50+
51+
📖 Full documentation is available at:
52+
👉 <https://datalab-kernel.readthedocs.io/>
53+
54+
> Want to use DataLab-Kernel inside DataLab with GUI tools?
55+
> Check out the full platform: [DataLab](https://datalab-platform.com/)
56+
57+
---
58+
4959
## Key Features
5060

5161
- **Single, stable user API**
@@ -249,13 +259,6 @@ This enables:
249259

250260
---
251261

252-
## Documentation
253-
254-
- **User contract and behavior**: see `plans/specification.md`
255-
- **Vision and architectural principles**: see `plans/architecture.md`
256-
257-
---
258-
259262
## Project Status
260263

261264
DataLab-Kernel is under active design and development.

doc/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,5 @@ notebooks directly in the browser with zero setup.
131131
api/index
132132
examples/index
133133
contributing/index
134+
release_notes/index
134135
requirements

doc/release_notes/index.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Release notes
2+
=============
3+
4+
This section contains the release notes for all versions of DataLab-Kernel,
5+
documenting new features, improvements, bug fixes, and breaking changes.
6+
7+
.. toctree::
8+
:maxdepth: 1
9+
:glob:
10+
:reversed:
11+
12+
release_*

doc/release_notes/release_0.02.md

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
# Version 0.2 #
2+
3+
## DataLab-Kernel Version 0.2.10 (not released yet) ##
4+
5+
### ✨ New features since version 0.2.9 ###
6+
7+
* **Multi-object plotting**: `plotter.plot()` now accepts lists of signals or images,
8+
enabling side-by-side visualization of multiple objects in a single call
9+
10+
* **Analysis result display**: Geometry and table results now display as separate
11+
HTML tables below the plot instead of cluttering the figure with on-plot text
12+
annotations — especially important when working with multiple ROIs
13+
14+
* **Consistent figure sizing**: Introduced `DEFAULT_PLOT_WIDTH` constant for
15+
uniform figure dimensions across Plotly and Matplotlib backends
16+
17+
* **User-defined figure dimensions**: Plotly plots now accept custom `width` and
18+
`height` keyword arguments for fine-grained control over figure sizing
19+
20+
* **Advanced plotting showcase notebook**: Added a comprehensive notebook
21+
demonstrating advanced features: multiple curve styles, colormaps, ROI-based
22+
analysis, geometry/table results, and interactive Plotly visualization
23+
24+
### 🛠️ Bug Fixes since version 0.2.9 ###
25+
26+
* Fixed legend display in Plotly plots — legends are now hidden by default for
27+
cleaner visualization
28+
29+
* Fixed default Plotly signal figure dimensions to match Matplotlib's aspect ratio
30+
31+
* Fixed figure serialization performance in Plotly backend
32+
33+
* Fixed image rendering edge cases in Matplotlib backend
34+
35+
### 🔧 Other changes since version 0.2.9 ###
36+
37+
* Updated documentation with structured "Try it Online" section linking to both
38+
Quick Start and Advanced Showcase notebooks
39+
40+
* Improved portability of development scripts by using relative paths
41+
42+
## DataLab-Kernel Version 0.2.9 (2026-02-08) ##
43+
44+
### ✨ New features ###
45+
46+
#### Plotly visualization backend ####
47+
48+
* Added a new **Plotly** interactive visualization backend as an alternative to
49+
the existing Matplotlib static backend. Plotly figures provide rich
50+
interactivity (zoom, pan, hover tooltips) directly in Jupyter notebooks.
51+
* Install with `pip install datalab-kernel[plotly]`.
52+
53+
#### Smart backend selection ####
54+
55+
* When both Plotly and Matplotlib are available, **Plotly is automatically
56+
preferred** for its richer interactive experience.
57+
* Switch backends at runtime with `plotter.set_backend("matplotlib")` or
58+
`plotter.set_backend("plotly")`.
59+
* Override the default backend via the `DATALAB_PLOTTER_BACKEND` environment
60+
variable.
61+
62+
#### Enhanced Matplotlib backend ####
63+
64+
* Extracted the Matplotlib rendering logic into a dedicated `matplotlib_backend`
65+
module with improved support for:
66+
* Error bars
67+
* Curve styles (Sticks, Steps)
68+
* Per-object line styling from metadata
69+
* Log scale and axis bounds
70+
* Non-uniform image coordinates (`pcolormesh`)
71+
* Per-object colormaps
72+
73+
#### Figure height customization ####
74+
75+
* Enhanced figure height customization for both backends, with updated
76+
documentation.
77+
78+
#### MIME bundle support for Plotly ####
79+
80+
* Plotly figures now produce proper MIME bundles for native Jupyter display
81+
integration.
82+
83+
### 🔧 Improvements ###
84+
85+
#### Documentation ####
86+
87+
* Removed references to the legacy XML-RPC connection method; documentation now
88+
emphasizes the **Web API** as the primary (and recommended) connection method.
89+
* Updated README with visualization backend documentation, usage examples, and
90+
runtime switching instructions.
91+
* Updated online demo badge link.
92+
93+
#### Python version support ####
94+
95+
* Added Python **3.13** and **3.14** to the supported version classifiers.
96+
97+
#### Optional dependency ####
98+
99+
* Added `plotly` optional dependency group in `pyproject.toml`
100+
(`pip install datalab-kernel[plotly]`).
101+
102+
#### Dev tooling ####
103+
104+
* Enhanced wheel building script (`serve_dev_wheels.py`) to support package
105+
selection via `--packages` argument.
106+
* New VS Code tasks for interactive plot tests, dev wheel serving, and
107+
backend-specific testing.
108+
109+
### 🛠️ Bug Fixes ###
110+
111+
* Fixed test compatibility with **Python 3.9** by using `ExitStack` instead of
112+
multiple `mock.patch` context managers.
113+
* Fixed test module shadowing issue by using `mock.patch.object` instead of
114+
`mock.patch` with string targets.
115+
* Fixed various Ruff and Pylint warnings across the codebase.
116+
* Fixed test workflow branch references for DataLab installation.
117+
118+
### 🧪 Test Suite ###
119+
120+
* Added **65 tests** for the Matplotlib backend covering all rendering features,
121+
backward-compatibility aliases, and edge cases.
122+
* Added **40 tests** for the Plotly backend covering all rendering features and
123+
edge cases.
124+
* Added backend selection and resolution logic tests.
125+
* Added `--gui` interactive gallery viewers for visual test validation (tkinter
126+
for Matplotlib, tabbed HTML for Plotly).
127+
128+
## DataLab-Kernel Versions 0.2.0–0.2.8 ##
129+
130+
These early development releases established the core architecture of
131+
DataLab-Kernel, including:
132+
133+
* Workspace API (`add`, `get`, `remove`, `list`, `save`, `load`)
134+
* Standalone and Live operating modes with auto-discovery
135+
* Matplotlib-based plotting (`Plotter` class)
136+
* Geometry and table result display
137+
* HDF5 persistence for reproducible analysis
138+
* `%load_ext datalab_kernel` extension for JupyterLite compatibility
139+
* Web API-based connection to DataLab (replacing legacy XML-RPC)
140+
* Comprehensive test suite foundation

0 commit comments

Comments
 (0)