Skip to content

0.4.4 - 2026-04-14

Choose a tag to compare

@github-actions github-actions released this 14 Apr 17:53
b0f1f02

Release Notes

Added

  • Per-stage thermal cost overridethermal_bounds.parquet now supports
    an optional cost_per_mwh column alongside block_id to override thermal
    costs per (plant, stage). D27 deterministic regression test verifying
    per-stage dispatch ordering.
  • Per-stage warm-start cut countsFutureCostFunction::new accepts
    per-stage warm_start_counts: &[u32] instead of a uniform scalar.
    WARM_START_ITERATION sentinel distinguishes warm-start from training cuts.
    Terminal-stage theta conditionally activated for boundary cuts.
  • Angular-accelerated dominance pruning (Stage 2 of the cut management
    pipeline) — two-phase algorithm: cluster cuts by cosine similarity of their
    coefficient vectors, then perform pointwise dominance verification within
    each cluster. Preserves Assumption (H2) from Guigues 2017 and finite
    convergence. Config: angular_pruning.enabled, cosine_threshold,
    check_frequency.
  • Active cut budget enforcement (Stage 3 of the cut management pipeline)
    — hard cap on LP size via max_active_per_stage. Evicts stalest cuts
    when the budget is exceeded, protecting current-iteration cuts. Runs every
    iteration (not gated by check_frequency).
  • Basis-aware warm-start paddingpad_basis_for_cuts evaluates each
    active cut at the warm-start state and assigns informed basis status
    (NONBASIC_LOWER for tight, BASIC for slack). Gated by basis_padding
    config flag (default: false).
  • Performance Accelerators documentation — new mdBook chapter documenting
    LP setup optimizations, solver safeguards, LP scaling, cut management
    pipeline, basis warm-start, parallel execution, and memory efficiency.
  • Comprehensive documentation update — updated output-format reference
    (timing schema, solver stats, cut selection, metadata), configuration guide,
    crate developer docs (sddp, solver, overview), and JSON schemas.

Changed

  • Cut selection Parquet schema (breaking) — cut_selection/iterations.parquet
    expanded from 7 to 10 columns: added active_after_angular,
    budget_evicted, active_after_budget.
  • JSON schemas regenerated for config (angular pruning, cut budget, basis
    padding, memory_window, domination_epsilon) and thermals (schemars update).
  • Root-level .schema.json files moved to book/src/schemas/ (canonical
    location); .gitignore updated to prevent re-accumulation.

Install cobre-cli 0.4.4

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/cobre-rs/cobre/releases/download/v0.4.4/cobre-cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/cobre-rs/cobre/releases/download/v0.4.4/cobre-cli-installer.ps1 | iex"

Download cobre-cli 0.4.4

File Platform Checksum
cobre-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
cobre-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
cobre-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
cobre-cli-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
cobre-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum