From be26f6e42126a1056d0cbfb369317eb219add861 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 25 Sep 2026 16:42:46 +0000 Subject: [PATCH 1/2] chore: release 0.1.1 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_016Pv7LzSgzt7Yn2K3ioyJXw --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 298ec8fb..9e9c95ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,22 @@ it releases that version ([RELEASING.md](https://github.com/fluxopt/specsolve/bl ## Upcoming version +## 0.1.1 (2026-09-25) + +A saved answer now records which layout it was written in and which specsolve +wrote it, so a later release can name an answer it no longer reads. The Python +API reference is now rendered from the docstrings. + +This release breaks one thing: + +- An answer or an archive that 0.1.0 or earlier wrote is refused with a + `LayoutError` that says to solve the model again and save it. Its + `format.json` reads `{"answer": 0}`; 0.1.1 writes + `{"layout": 1, "specsolve": "0.1.1"}`. An archive still holds the spec and + the data it was solved with, under `spec.yaml` and `sources/`. + +The pull requests since 0.1.0: + - feat(api)!: a saved answer is stamped with layout 1 and the specsolve version that wrote it, and one written by 0.1.0 or earlier is refused by name ([#1765](https://github.com/fluxopt/specsolve/pull/1765)) - docs: each fact about the Python API is stated once, in the docstring of the name it belongs to ([#1769](https://github.com/fluxopt/specsolve/pull/1769)) - docs: the Python API page renders every public name from its docstring ([#1766](https://github.com/fluxopt/specsolve/pull/1766)) From 7789aa77aaf883b306565cb85092a9da7a936c7a Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 25 Sep 2026 16:44:01 +0000 Subject: [PATCH 2/2] chore: release 0.2.0 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_016Pv7LzSgzt7Yn2K3ioyJXw --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e9c95ea..77437571 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ it releases that version ([RELEASING.md](https://github.com/fluxopt/specsolve/bl ## Upcoming version -## 0.1.1 (2026-09-25) +## 0.2.0 (2026-09-25) A saved answer now records which layout it was written in and which specsolve wrote it, so a later release can name an answer it no longer reads. The Python @@ -17,8 +17,8 @@ This release breaks one thing: - An answer or an archive that 0.1.0 or earlier wrote is refused with a `LayoutError` that says to solve the model again and save it. Its - `format.json` reads `{"answer": 0}`; 0.1.1 writes - `{"layout": 1, "specsolve": "0.1.1"}`. An archive still holds the spec and + `format.json` reads `{"answer": 0}`; 0.2.0 writes + `{"layout": 1, "specsolve": "0.2.0"}`. An archive still holds the spec and the data it was solved with, under `spec.yaml` and `sources/`. The pull requests since 0.1.0: