Skip to content

Changelog

0.6.0 (2026-05-27)

⚠ BREAKING CHANGES

  • ClusteringResult: time_coords attribute and the _time_coords_to_dict / _time_coords_from_dict helpers have been removed. The time index now lives inside the tsam ClusteringResult payload (time_index) and flows through aggregate / disaggregate natively. Pre-0.6 JSONs are still loadable — the legacy outer time_coords field is forwarded to the inner time_index with a DeprecationWarning. Re-save to silence the warning. (#83)

Refactors

  • Reuse tsam 3.4's DatetimeIndex round-trip in disaggregate, dropping the parallel time_coords field, the compact serialization helpers, and the manual MultiIndex truncation in _disaggregate_single. (#83)

Dependencies

  • Bump minimum tsam to >=3.4.0 (required for the time_index round-trip above).
  • Bump googleapis/release-please-action from 4 to 5. (#82)
  • Bump dependabot/fetch-metadata from 2 to 3. (#81)

0.5.2 (2026-04-01)

Features

  • compact time_coords serialization in ClusteringResult JSON (#79) (bac9fd1)

0.5.1 (2026-03-31)

Features

  • add to_dict/from_dict on ClusteringResult (#75) (24723a8)

0.5.0 (2026-03-31)

⚠ BREAKING CHANGES

  • find_best_combination renamed to grid_search. Old name still works but emits FutureWarning.

Features

  • rename grid_search, add timesteps param, update notebook (#73) (c54c321)

0.4.0 (2026-03-31)

⚠ BREAKING CHANGES

  • AccuracyMetrics.weighted_rmse, weighted_mae, weighted_rmse_duration changed from float to xr.DataArray.

Features

  • make weighted accuracy metrics per-slice DataArrays (#71) (5540913)

0.3.1 (2026-03-31)

Features

  • add cluster_centers, segment_assignments, segment_centers to ClusteringResult (#68) (8b0087e)

0.3.0 (2026-03-30)

⚠ BREAKING CHANGES

  • ClusteringInfo renamed to ClusteringResult. ClusteringInfo remains as a backwards-compatible alias.
  • ClusteringInfo renamed to ClusteringResult. ClusteringInfo remains as a backwards-compatible alias.

Features

  • rename ClusteringInfo to ClusteringResult with cached DataArray properties (#64) (5db89d0)
  • store weighted accuracy metrics and compact repr (#65) (5327ecd)

0.2.0 (2026-03-30)

⚠ BREAKING CHANGES

  • add ClusteringInfo.disaggregate() (requires tsam >=3.3.0) (#62)

Features

  • add ClusteringInfo.disaggregate() (requires tsam >=3.3.0) (#62) (945210a)

0.1.1 (2026-03-27)

Features

0.1.0 (2026-03-27)

Initial release of tsam_xarray — lightweight xarray wrapper for tsam time series aggregation.

Features

  • find_optimal_combination with cross-slice RMSE (#50)
  • clustering IO and apply() (#35) (2068e12)
  • dict-based weights API (#31) (1141f61)
  • find_optimal_combination with cross-slice RMSE (#50) (ae4f281)
  • implement aggregate() API with stack_dims and slice_dims (#9) (dc1070c)
  • input data validation (#32) (69fbc51)
  • per-dimension weight mapping for multi-dim cluster_dim (#26) (18e62f5)
  • segment_durations as DataArray and disaggregate() method (#28) (9358696)
  • validate consistent cluster counts across slices (#44) (0b98ea2)

Bug Fixes

  • allow 1D DataArray clustering with cluster_dim=() (#38) (9a1a46b), closes #36
  • configure release-please for 0.0.1-alpha prerelease (#29) (8036b30)
  • correct release-please option name (#57) (2e385bc)
  • remove alpha suffix from release-please manifest (#54) (9615ec1)
  • replace remaining my-package placeholder in docs/index.md (e4f5dc0)

0.0.4-alpha.0 (2026-03-25)

Features

  • validate consistent cluster counts across slices (#44) (0b98ea2)

0.0.3-alpha.0 (2026-03-25)

Features

Bug Fixes

  • allow 1D DataArray clustering with cluster_dim=() (#38) (9a1a46b), closes #36

0.0.2-alpha.0 (2026-03-25)

Features

0.0.1-alpha.0 (2026-03-25)

Features

  • dict-based weights API (#31) (1141f61)
  • implement aggregate() API with stack_dims and slice_dims (#9) (dc1070c)
  • per-dimension weight mapping for multi-dim cluster_dim (#26) (18e62f5)
  • segment_durations as DataArray and disaggregate() method (#28) (9358696)

Bug Fixes

  • configure release-please for 0.0.1-alpha prerelease (#29) (8036b30)
  • replace remaining my-package placeholder in docs/index.md (e4f5dc0)

Changelog