Breaking Changes
- Dropped Python 3.7 support when using [mqtt] or [telegram] feature (due to update to
aiomqtt
andaiogram
3.x) - Default line interpolation style of un-aggregated
ChartWidget
plots changed toLINEAR
. To return to the old behaviour, addline_interpolation=shc.web.log_widgets.ChartLineInterpolation.STEP_BEFORE
to the respectiveChartDataSpec
. Seeline_interpolation
in the Docs for more info.
New Features
- Python 3.12 support
- All Python and frontend dependencies updated to the latest version
- New utility class
DelayedVariable
- New display options for
shc.web.log_widgets.ChartWidget
:- Area charts, dots or pure line charts via
plot_style
- custom line interpolation (stepped vs. smooth) via
line_interpolation
- Stacked lines/areas via
stack_group
- Area charts, dots or pure line charts via
Fixes
- base: Improved state synchronization between multiple state-full objects on concurrent updates. The existing implementation for preventing conflicting updates turned out to be not sufficient to prevent inconsistent state of multiple connected connectable objects in all cases.
- web ui: Only connect to websocket when the current page contains dynamic widgets (esp. do not connect to websocket on monitoring web page)
- MySQL: Allow storing NaN in float-type variables
Internal Changes
- Update Sphinx, Sphinx theme and Sphinx plugins for docs generation
- Update imported GitHub Actions in the CI and release pipeline
- Docs generation in the CI pipeline
- Docs and package artifact uploads in the CI pipeline (see Actions → build → run → Artifacts)
Full Changelog: v0.8.0...v0.9.0