From 2af35c8243a251b818d06ee46a49bff824f7637f Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 25 Sep 2026 13:33:45 +0000 Subject: [PATCH] chore: release 0.1.0 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Xh8mtkAfVLEGYCTtwy3oqd --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c4689fa..d25f5ebf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,34 @@ it releases that version ([RELEASING.md](https://github.com/fluxopt/specsolve/bl ## Upcoming version +## 0.1.0 (2026-09-25) + +🎉 specsolve is officially on PyPI! + +```bash +pip install specsolve +``` + +specsolve 0.1.0 requires mathspec 0.2.0 and uses its words. A **spec** is the +problem a file states, with no data. A **model** is a spec with data attached, +which `build` returns as a `Model` +([glossary](https://specsolve.readthedocs.io/en/latest/reference/glossary/)). +The messages and the docs use the two words in these senses. + +Since 0.1.0rc1, this release breaks three things: + +- An archive holds its spec as `spec.yaml`, not `model.yaml`. An archive that + 0.1.0rc1 wrote is refused with a `LayoutError`. To read one, rename its + `model.yaml` member to `spec.yaml`. +- specsolve requires mathspec 0.2.0. There, the first parameter of `to_spec`, + `advice` and the typesetting functions is `spec`, not `model`, and the module + `mathspec.model` is `mathspec.spec`. A call that passes `model=` by keyword + fails. A positional call works as before. +- Messages say "spec" where they said "model" for the file. A test that + matches the old text fails. + +The pull requests since 0.1.0rc1: + - feat!: specsolve requires mathspec 0.2.0 and uses its words spec and model, so an archive holds its spec as spec.yaml ([#1768](https://github.com/fluxopt/specsolve/pull/1768)) - docs: every link to the language's documentation points at mathspec.readthedocs.io ([#1764](https://github.com/fluxopt/specsolve/pull/1764)) - fix: the PyPI page links the docs, issues and changelog, and a stale saved answer says the layout moves before 1.0 ([#1763](https://github.com/fluxopt/specsolve/pull/1763))