|
| 1 | +## Release 4.0.0b18 (30.6.2026) — fix zeroed existing capacity for scalar+Map entity classes |
| 2 | + |
| 3 | +No database migration (schema stays **v62**) and dependency floors unchanged |
| 4 | +(`polar-high>=3.2.0`, `polars>=1.40`, `highspy<=1.14.0`). Output-only fix — the |
| 5 | +converged solution (dispatch, investments, optimal objective) is unchanged. |
| 6 | + |
| 7 | +### Outputs |
| 8 | + |
| 9 | +- **Fix zeroed `existing` capacity for a unit whose constant value shares an |
| 10 | + entity class with a period-Map sibling.** When one unit carries a scalar |
| 11 | + (constant) `existing` capacity while another unit of the same class carries a |
| 12 | + period-indexed Map, the Spine reader returns a single frame with one shared |
| 13 | + index column (named `x` by Spine's silent default) in which the constant |
| 14 | + unit's row has a **null** index. The per-entity resolver classified rows by the |
| 15 | + *presence* of that column rather than per-row, so the null-index scalar became |
| 16 | + an explicit `(entity, period=null)` row that never joined the period grid and |
| 17 | + was silently filled with `0`. Downstream this zeroed the output-facing |
| 18 | + existing/total capacity for such units — surfacing most visibly as **negative |
| 19 | + VRE curtailment** (`potential − flow`, with `potential` computed from a `0` |
| 20 | + capacity), and as `0` in the capacity, capacity-factor, and per-entity |
| 21 | + pre-existing fixed-cost reports. The resolver now detects scalars per row (a |
| 22 | + null index broadcasts the constant across the period universe), in both mirror |
| 23 | + implementations. The LP itself was never affected — its flow bound reads a |
| 24 | + separate, scalar-correct existing-count parameter, and existing fixed cost |
| 25 | + enters the objective only as an opt-in constant term — so this is purely a |
| 26 | + reporting fix; re-running output processing on an existing solve produces |
| 27 | + correct reports without re-solving. |
| 28 | + |
1 | 29 | ## Release 4.0.0b17 (30.6.2026) — autoscale centres the objective (no more "excessively small costs") |
2 | 30 |
|
3 | 31 | No database migration (schema stays **v62**). Dependency floor raised to |
|
0 commit comments