Changelog#
Written by release-please from
the conventional-commit subjects that land on main — see RELEASING.md. Do not
edit it by hand; the next release overwrites what you wrote.
New releases are inserted directly below this paragraph, so nothing may sit
between it and the first ## heading. The Keep a Changelog skeleton that used
to live here — a hand-maintained ## Unreleased block, and a comment
documenting the heading format — is what broke 0.0.0-alpha.1: that comment
contained a literal ## [X.Y.Z] heading, release-please inserts above the first
## it finds, and so the entire release landed inside the comment and rendered
nowhere.
0.0.0-alpha.26 (2026-08-27)#
Features#
0.0.0-alpha.25 (2026-08-27)#
Features#
- rung 11 — PyPSA's ac-dc-meshed example, whole (#151) (a133044)
- rung 12 — linearized unit commitment, a file of its own (#152) (69b926e)
- rung 13 — transmission losses in tangent form, a file of its own (#153) (379ce23)
- rung 14 — two-stage stochastic with CVaR, a file of its own (#154) (41b427d)
- rung 15 — investment periods with a growth limit, a file of its own (#155) (285aac3)
0.0.0-alpha.24 (2026-08-26)#
Features#
- PyPSA in one file — every rung stated, shown beside its data, and solved to the same objective on both lanes (#122) (46544e3)
0.0.0-alpha.23 (2026-08-26)#
Bug Fixes#
- docs: the homepage feature cards render as cards rather than as loose rules and paragraphs (#145) (b88e5dc)
0.0.0-alpha.22 (2026-08-26)#
Features#
0.0.0-alpha.21 (2026-08-26)#
Documentation#
0.0.0-alpha.20 (2026-08-26)#
Documentation#
0.0.0-alpha.19 (2026-08-26)#
Bug Fixes#
0.0.0-alpha.18 (2026-08-26)#
Refactoring#
- parser: one number rule, one amount table, and a namespace nothing builds by hand (#106) (f775a07)
- schema: one wording for an undeclared dimension, and the front door validates once (#105) (69e42db)
- the stack's own additions say less and repeat nothing (#102) (119e588)
- typeset: Markdown is LaTeX's math with its own document layer, and a step merges itself (#107) (1ca9178)
0.0.0-alpha.17 (2026-08-25)#
Bug Fixes#
- language: a link takes any affine expression, an uncalled template hides no typo, and degree is decided at load (#91) (a653056)
- parser: a negation is over a power, a keyword is given once, and an amount is a number or a name (#88) (4bf994c)
- schema: every refusal of a malformed file is a SchemaError, and an empty declared map survives a round trip (#89) (ee07736)
- schema: two literal bounds that cross are refused at load (#97) (30589ba)
- typeset: a sum under its own dimension takes a fresh index, and prose escapes its markup (#92) (20c7076)
Refactoring#
0.0.0-alpha.16 (2026-08-25)#
Refactoring#
0.0.0-alpha.15 (2026-08-25)#
Documentation#
0.0.0-alpha.14 (2026-08-25)#
Documentation#
0.0.0-alpha.13 (2026-08-25)#
Bug Fixes#
0.0.0-alpha.12 (2026-08-25)#
Documentation#
0.0.0-alpha.11 (2026-08-25)#
Bug Fixes#
- enforce the two rules a named offset or width was always said to obey (#61) (5bd92dc), closes #58
- let sum_back stop at each group's edge, as its checks already assumed (#65) (cb58e88)
- refuse a negated named amount, and one read where there is no coordinate (#63) (15d9c25), closes #62
0.0.0-alpha.10 (2026-08-24)#
Features#
Refactoring#
- name the groups a pass asks about, and spell each operator once (#52) (e35c46c)
- the package is
typesetting, the function staystypeset(#54) (a1d9599)