Skip to content

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#

  • a snapshot is a timestamp, in the file and in every rung's network (#159) (dd5122e)

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#

  • a piecewise method answers which curvature it is exact for (#135) (6f0fff1)

0.0.0-alpha.21 (2026-08-26)#

Documentation#

  • language: the absence page is half the length and shows each rule on a model (#127) (147788a)

0.0.0-alpha.20 (2026-08-26)#

Documentation#

  • the language knows nothing about sinks (#118) (886a854)

0.0.0-alpha.19 (2026-08-26)#

Bug Fixes#

  • typeset: a string value in a where clause prints as a quoted label (#114) (9be22c1)

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#

  • the tree describes this package, not the project it was cut from (#94) (9673f9a)

0.0.0-alpha.16 (2026-08-25)#

Refactoring#

  • dead branches, an unused depth cap and prose about a parent project are gone (#86) (f31f3b0)

0.0.0-alpha.15 (2026-08-25)#

Documentation#

  • the title rules are written for the changelog reader (#79) (fdb52e4)

0.0.0-alpha.14 (2026-08-25)#

Documentation#

  • AGENTS.md says what a change here is held to (#76) (5e142f5)

0.0.0-alpha.13 (2026-08-25)#

Bug Fixes#

  • refuse a str or bool parameter where arithmetic wants a number (#71) (9b320fd)

0.0.0-alpha.12 (2026-08-25)#

Documentation#

  • a named offset needs no edge=, the limitation it named is gone (#68) (d91a0c3), closes #64

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#

  • pin the eight names that keep this package and its consumer in step (#51) (15a354b)

Refactoring#

  • name the groups a pass asks about, and spell each operator once (#52) (e35c46c)
  • the package is typesetting, the function stays typeset (#54) (a1d9599)

0.0.0-alpha.9 (2026-08-23)#

Features#

  • position(dim) replaces index(dim, i), converting on the left (#31) (8f78ac5)

0.0.0-alpha.8 (2026-08-23)#

Features#

  • upright is what the model is given, italic is what the solver chooses (#44) (cbccc68)

0.0.0-alpha.7 (2026-08-23)#

Bug Fixes#

  • the notation page is generated again, and something says so (#41) (3dad75e)

0.0.0-alpha.6 (2026-08-23)#

Documentation#

  • an Examples section, each model beside the math it prints (#38) (66bfae4)

0.0.0-alpha.5 (2026-08-22)#

Bug Fixes#

  • to_markdown printed TeX's em-dash ligature, not an em dash (#34) (226407a)

0.0.0-alpha.4 (2026-08-21)#

Refactoring#

  • extract the language and typeset from lpspec (#17) (b997193)

0.0.0-alpha.3 (2026-08-21)#

Bug Fixes#

  • stop prettier rewriting what release-please generates (#27) (7486555)

0.0.0-alpha.2 (2026-08-21)#

Bug Fixes#

  • the release notes landed inside an HTML comment (#25) (c33dc24)

0.0.0-alpha.1 (2026-08-21)#

Bug Fixes#

  • stop the release build silently shipping a 0.0.0 wheel (#23) (a801b00)