From 9eb999dfa60a64c197a6d3342ff09fa8b9e58896 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 29 Jul 2026 14:26:50 +0000 Subject: [PATCH 1/5] docs: backfill HISTORY for 2.1.1 and 2.1.0.post1 (#802) Record the already-shipped patch and post-release notes that were missing from HISTORY.md, and clear the stale Unreleased stub. Co-authored-by: Jan Petter Maehlen --- .../01-current-issues/issue802_original.md | 7 ++ .../01-current-issues/issue802_plan.md | 88 +++++++++++++++++++ .../01-current-issues/issue802_status.md | 13 +++ HISTORY.md | 31 ++++++- 4 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 .issueflows/01-current-issues/issue802_original.md create mode 100644 .issueflows/01-current-issues/issue802_plan.md create mode 100644 .issueflows/01-current-issues/issue802_status.md diff --git a/.issueflows/01-current-issues/issue802_original.md b/.issueflows/01-current-issues/issue802_original.md new file mode 100644 index 00000000..17d2fca5 --- /dev/null +++ b/.issueflows/01-current-issues/issue802_original.md @@ -0,0 +1,7 @@ +# Issue #802: Update history + +Source: https://github.com/jepegit/cellpy/issues/802 + +## Original issue text + +The HISTORY.md file seems not to have gotten properly updated. Could be other docs things also stale. Check. Fix. Post release (2.1.1.post1) diff --git a/.issueflows/01-current-issues/issue802_plan.md b/.issueflows/01-current-issues/issue802_plan.md new file mode 100644 index 00000000..9685f37f --- /dev/null +++ b/.issueflows/01-current-issues/issue802_plan.md @@ -0,0 +1,88 @@ +# Issue #802 — Plan + +## Goal + +Backfill `HISTORY.md` for the already-shipped **2.1.0.post1** and **2.1.1** +releases (and clear the stale Unreleased stub), then do a light pass for other +obviously stale public docs. Prep the tree so a docs-only **`v2.1.1.post1`** +can be cut after merge if desired. + +## Constraints + +- Keep a Changelog shape at repo root (`## [Unreleased]` then + `## [x.y.z] - YYYY-MM-DD`) — see `iflow-history-update`. +- Match tone/density of existing `HISTORY.md` bullets (user-facing summary + + `(#NNN)`); prefer the published GitHub release notes over inventing detail. +- **Docs-only** change set — no runtime/API edits. +- Do **not** create the `v2.1.1.post1` tag/release in this PR; that follows + [`release-procedure.md`](../04-designs-and-guides/release-procedure.md) on + `master` after merge (same pattern as `v2.1.0.post1`). +- Scope of “other docs stale”: quick public-facing check only (README / docs + index / getting_started version or `v2-docs-stable` leftovers). No deep docs + rewrite. + +### Prior art + +- Toolbox: no HISTORY helper in `.issueflows/00-tools/` (none applicable). +- `.cursor/skills/iflow-history-update/SKILL.md` — Keep a Changelog append / + promote conventions for per-issue close; this issue is a **retroactive + multi-release backfill**, so apply the same heading/bullet style manually. +- GitHub releases `v2.1.0.post1` and `v2.1.1` — authoritative bullet source + (already written). +- `git log v2.1.0..v2.1.0.post1` / `v2.1.0.post1..v2.1.1` — PR inventory to + cross-check the release bodies. +- Graph: skipped (docs/HISTORY-only; no code graph needed). + +## Approach + +1. **Inventory (already done in planning)** + - `HISTORY.md` has `[Unreleased]` (only the #768/`v2-docs-stable` retirement + note) and jumps to `[2.1.0]` — **no** `[2.1.0.post1]` or `[2.1.1]`. + - Tags/releases exist: `v2.1.0.post1` (2026-07-28), `v2.1.1` (2026-07-29, + tip of `master`). + +2. **Rewrite the top of `HISTORY.md`** + - Keep an empty `## [Unreleased]` (or only truly unreleased items — none + expected on tip). + - Insert `## [2.1.1] - 2026-07-29` with bullets distilled from the GitHub + 2.1.1 release notes (#785, #787, #790, #789, #788, #786, #791 / #798). + Skip Dependabot-only noise unless the release notes mention it. + - Insert `## [2.1.0.post1] - 2026-07-28` with bullets from that release + (#771/#777 docstring cleanup, #775/#776 RTD / docs-on-master). Move the + current Unreleased `v2-docs-stable` retirement bullet into this section + (merge with #775 — do not duplicate). + - Leave the existing `## [2.1.0]` block intact (including its historical + “synced to `v2-docs-stable`” line — that was true at 2.1.0 ship). + +3. **Stale-docs skim** + Grep README / `docs/` for leftover “edit on `v2-docs-stable`” instructions + or wrong “latest is 2.1.0” claims. Fix only clear public falsehoods found; + do not churn issueflow archive text. + +4. **Verify** + Head of `HISTORY.md` reads Unreleased → 2.1.1 → 2.1.0.post1 → 2.1.0 → … + No code tests required beyond a quick visual check. + +## Files to touch + +| Path | Change | +|------|--------| +| [`HISTORY.md`](../../HISTORY.md) | Add `[2.1.1]` + `[2.1.0.post1]`; clear/move Unreleased stub | +| Public docs (only if skim finds a clear falsehood) | Minimal fix | + +## Test strategy + +- No pytest — changelog/docs only. +- Manual: `git log` / `gh release view` vs `HISTORY.md` headings and bullets + match; `rg` for leftover stale `v2-docs-stable` edit instructions in + `README.md` + `docs/`. + +## Open questions + +1. **Tag after merge?** After this PR lands, cut `v2.1.1.post1` as a + docs-only post-release (like `v2.1.0.post1`), or leave HISTORY corrected on + `master` without a new tag? + **Recommended:** cut `v2.1.1.post1` after merge (out of band of this PR). +2. **Dependabot bumps in 2.1.0.post1?** Those commits sit on the post1 tag but + are not in the GitHub release notes. + **Recommended:** omit from HISTORY (match the published release body). diff --git a/.issueflows/01-current-issues/issue802_status.md b/.issueflows/01-current-issues/issue802_status.md new file mode 100644 index 00000000..4097ce46 --- /dev/null +++ b/.issueflows/01-current-issues/issue802_status.md @@ -0,0 +1,13 @@ +# Issue #802 — Status + +- [ ] Done + +## What's done + +- Plan accepted; build started on `cursor/802-update-history-143c`. + +## Remaining work + +- Backfill `HISTORY.md` for 2.1.1 and 2.1.0.post1; clear Unreleased stub. +- Light stale-docs skim of README / `docs/`. +- Commit, push, hand off to `/iflow-close`. diff --git a/HISTORY.md b/HISTORY.md index b9e98797..19558d9b 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,8 +2,37 @@ ## [Unreleased] +## [2.1.1] - 2026-07-29 + +Patch release — app-builder fixes and conveniences (gathered while building +on 2.1.0.post1). Additive, no breaking changes. + +* **Bug fix (collect):** group-averaged collected summaries plot again — + `Collection.plot()` / `plot(spread=True)` render group-keyed `mean`±`std` + frames instead of raising `KeyError 'cell'`. (#785) +* `cellpy.collect.from_cells()` (+ `Batch.from_cells`): build a batch from + already-loaded in-memory `CellpyCell` objects. (#787) +* `Collection.is_grouped` / `meta.grouped`: whether group-averaging actually + happened. (#790) +* `Collection.save()` supports `xlsx` and `json` (was parquet/csv only). (#789) +* `CurveOptions` gains `mode` / `method`, forwarded per cell to `get_cap` + (parity with the single-cell call). (#788) +* `cellpy.list_instruments()`: quiet app-facing listing → + `[{"id", "label", "models", "suffixes"}]`, no per-module warnings. (#786) +* App/agents guide: note on the polars/pandas frame boundary and quieting + cellpy's logger/warnings. (#791) + +## [2.1.0.post1] - 2026-07-28 + +Docs-only post-release of 2.1.0 — no API, schema, or runtime changes. + * Retire `v2-docs-stable`: docs land on `master`; RTD stable tracks release - tags (e.g. `v2.1.0`). (#768) + tags. (#775) +* Strip issue-tracker references and migration narrative from package + docstrings so the API reference reads cleanly. (#771) +* Document Read the Docs header release-badge behaviour (badge shows the live + GitHub latest release; the RTD version switcher is the source of truth). + (#776) ## [2.1.0] - 2026-07-28 From 4fca06aed5aba30388c2fedd970ae0613c266dff Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 29 Jul 2026 14:27:01 +0000 Subject: [PATCH 2/5] chore: record draft PR #803 in issue 802 status Co-authored-by: Jan Petter Maehlen --- .issueflows/01-current-issues/issue802_status.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.issueflows/01-current-issues/issue802_status.md b/.issueflows/01-current-issues/issue802_status.md index 4097ce46..c526fa6a 100644 --- a/.issueflows/01-current-issues/issue802_status.md +++ b/.issueflows/01-current-issues/issue802_status.md @@ -4,10 +4,13 @@ ## What's done -- Plan accepted; build started on `cursor/802-update-history-143c`. +- Plan accepted on `cursor/802-update-history-143c`. +- Backfilled `HISTORY.md`: `[2.1.1]` (2026-07-29) and `[2.1.0.post1]` + (2026-07-28) from GitHub release notes; moved Unreleased `v2-docs-stable` + retirement into post1 (#775); left `[2.1.0]` intact; Dependabot omitted. +- Stale-docs skim of `README.md` / `docs/`: no clear public falsehoods to fix. ## Remaining work -- Backfill `HISTORY.md` for 2.1.1 and 2.1.0.post1; clear Unreleased stub. -- Light stale-docs skim of README / `docs/`. -- Commit, push, hand off to `/iflow-close`. +- `/iflow-close` (HISTORY bullet for #802 itself; PR finalize). +- After merge (out of band): optionally cut `v2.1.1.post1` docs-only release. From 2d87afe62754bf669847f9424378bfca910b5d17 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 29 Jul 2026 14:27:08 +0000 Subject: [PATCH 3/5] chore: note draft PR URL on issue 802 status Co-authored-by: Jan Petter Maehlen --- .issueflows/01-current-issues/issue802_status.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.issueflows/01-current-issues/issue802_status.md b/.issueflows/01-current-issues/issue802_status.md index c526fa6a..3ef9e7f8 100644 --- a/.issueflows/01-current-issues/issue802_status.md +++ b/.issueflows/01-current-issues/issue802_status.md @@ -14,3 +14,7 @@ - `/iflow-close` (HISTORY bullet for #802 itself; PR finalize). - After merge (out of band): optionally cut `v2.1.1.post1` docs-only release. + +## Notes + +- PR: https://github.com/jepegit/cellpy/pull/803 (#803, draft) From e2210c7066009f50f9c175f2deb9cd03895da637 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 29 Jul 2026 14:35:42 +0000 Subject: [PATCH 4/5] =?UTF-8?q?docs:=20close=20#802=20=E2=80=94=20HISTORY?= =?UTF-8?q?=20post-release=20section=20for=202.1.1.post1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Promote the Unreleased backfill note into [2.1.1.post1] and archive the issue-flow docs under 03-solved-issues ahead of the docs-only tag. Co-authored-by: Jan Petter Maehlen --- .../01-current-issues/issue802_status.md | 10 ++++++---- .../issue802_original.md | 0 .../issue802_plan.md | 0 .../03-solved-issues/issue802_status.md | 20 +++++++++++++++++++ HISTORY.md | 7 +++++++ 5 files changed, 33 insertions(+), 4 deletions(-) rename .issueflows/{01-current-issues => 03-solved-issues}/issue802_original.md (100%) rename .issueflows/{01-current-issues => 03-solved-issues}/issue802_plan.md (100%) create mode 100644 .issueflows/03-solved-issues/issue802_status.md diff --git a/.issueflows/01-current-issues/issue802_status.md b/.issueflows/01-current-issues/issue802_status.md index 3ef9e7f8..e14136a0 100644 --- a/.issueflows/01-current-issues/issue802_status.md +++ b/.issueflows/01-current-issues/issue802_status.md @@ -1,6 +1,6 @@ # Issue #802 — Status -- [ ] Done +- [x] Done ## What's done @@ -9,12 +9,14 @@ (2026-07-28) from GitHub release notes; moved Unreleased `v2-docs-stable` retirement into post1 (#775); left `[2.1.0]` intact; Dependabot omitted. - Stale-docs skim of `README.md` / `docs/`: no clear public falsehoods to fix. +- Close: promoted Unreleased → `[2.1.1.post1]`; planned tag `v2.1.1.post1`. +- Essential tests green (`uv run pytest -m essential`: 606 passed). ## Remaining work -- `/iflow-close` (HISTORY bullet for #802 itself; PR finalize). -- After merge (out of band): optionally cut `v2.1.1.post1` docs-only release. +- None (release tag created after merge). ## Notes -- PR: https://github.com/jepegit/cellpy/pull/803 (#803, draft) +- PR: https://github.com/jepegit/cellpy/pull/803 (#803) +- Planned tag: `v2.1.1.post1` (git-tag derived; create on `master` after merge) diff --git a/.issueflows/01-current-issues/issue802_original.md b/.issueflows/03-solved-issues/issue802_original.md similarity index 100% rename from .issueflows/01-current-issues/issue802_original.md rename to .issueflows/03-solved-issues/issue802_original.md diff --git a/.issueflows/01-current-issues/issue802_plan.md b/.issueflows/03-solved-issues/issue802_plan.md similarity index 100% rename from .issueflows/01-current-issues/issue802_plan.md rename to .issueflows/03-solved-issues/issue802_plan.md diff --git a/.issueflows/03-solved-issues/issue802_status.md b/.issueflows/03-solved-issues/issue802_status.md new file mode 100644 index 00000000..3ef9e7f8 --- /dev/null +++ b/.issueflows/03-solved-issues/issue802_status.md @@ -0,0 +1,20 @@ +# Issue #802 — Status + +- [ ] Done + +## What's done + +- Plan accepted on `cursor/802-update-history-143c`. +- Backfilled `HISTORY.md`: `[2.1.1]` (2026-07-29) and `[2.1.0.post1]` + (2026-07-28) from GitHub release notes; moved Unreleased `v2-docs-stable` + retirement into post1 (#775); left `[2.1.0]` intact; Dependabot omitted. +- Stale-docs skim of `README.md` / `docs/`: no clear public falsehoods to fix. + +## Remaining work + +- `/iflow-close` (HISTORY bullet for #802 itself; PR finalize). +- After merge (out of band): optionally cut `v2.1.1.post1` docs-only release. + +## Notes + +- PR: https://github.com/jepegit/cellpy/pull/803 (#803, draft) diff --git a/HISTORY.md b/HISTORY.md index 19558d9b..7377789c 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,6 +2,13 @@ ## [Unreleased] +## [2.1.1.post1] - 2026-07-29 + +Docs-only post-release of 2.1.1 — no API, schema, or runtime changes. + +* Backfill `HISTORY.md` for the already-shipped 2.1.1 and 2.1.0.post1 + releases. (#802) + ## [2.1.1] - 2026-07-29 Patch release — app-builder fixes and conveniences (gathered while building From eb2c1e90588899f87f5ef2a172a8fd2d8c00dbc8 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 29 Jul 2026 14:35:58 +0000 Subject: [PATCH 5/5] chore: archive issue 802 status under solved-issues Remove the leftover focus-issue status file so only 03-solved-issues keeps the closed #802 tracking docs. Co-authored-by: Jan Petter Maehlen --- .../01-current-issues/issue802_status.md | 22 ------------------- .../03-solved-issues/issue802_status.md | 10 +++++---- 2 files changed, 6 insertions(+), 26 deletions(-) delete mode 100644 .issueflows/01-current-issues/issue802_status.md diff --git a/.issueflows/01-current-issues/issue802_status.md b/.issueflows/01-current-issues/issue802_status.md deleted file mode 100644 index e14136a0..00000000 --- a/.issueflows/01-current-issues/issue802_status.md +++ /dev/null @@ -1,22 +0,0 @@ -# Issue #802 — Status - -- [x] Done - -## What's done - -- Plan accepted on `cursor/802-update-history-143c`. -- Backfilled `HISTORY.md`: `[2.1.1]` (2026-07-29) and `[2.1.0.post1]` - (2026-07-28) from GitHub release notes; moved Unreleased `v2-docs-stable` - retirement into post1 (#775); left `[2.1.0]` intact; Dependabot omitted. -- Stale-docs skim of `README.md` / `docs/`: no clear public falsehoods to fix. -- Close: promoted Unreleased → `[2.1.1.post1]`; planned tag `v2.1.1.post1`. -- Essential tests green (`uv run pytest -m essential`: 606 passed). - -## Remaining work - -- None (release tag created after merge). - -## Notes - -- PR: https://github.com/jepegit/cellpy/pull/803 (#803) -- Planned tag: `v2.1.1.post1` (git-tag derived; create on `master` after merge) diff --git a/.issueflows/03-solved-issues/issue802_status.md b/.issueflows/03-solved-issues/issue802_status.md index 3ef9e7f8..e14136a0 100644 --- a/.issueflows/03-solved-issues/issue802_status.md +++ b/.issueflows/03-solved-issues/issue802_status.md @@ -1,6 +1,6 @@ # Issue #802 — Status -- [ ] Done +- [x] Done ## What's done @@ -9,12 +9,14 @@ (2026-07-28) from GitHub release notes; moved Unreleased `v2-docs-stable` retirement into post1 (#775); left `[2.1.0]` intact; Dependabot omitted. - Stale-docs skim of `README.md` / `docs/`: no clear public falsehoods to fix. +- Close: promoted Unreleased → `[2.1.1.post1]`; planned tag `v2.1.1.post1`. +- Essential tests green (`uv run pytest -m essential`: 606 passed). ## Remaining work -- `/iflow-close` (HISTORY bullet for #802 itself; PR finalize). -- After merge (out of band): optionally cut `v2.1.1.post1` docs-only release. +- None (release tag created after merge). ## Notes -- PR: https://github.com/jepegit/cellpy/pull/803 (#803, draft) +- PR: https://github.com/jepegit/cellpy/pull/803 (#803) +- Planned tag: `v2.1.1.post1` (git-tag derived; create on `master` after merge)