Skip to content

docs: prepare 2.1.2 release notes and re-execute the ICA and batch tutorials - #870

Merged
jepegit merged 1 commit into
masterfrom
866-release-prep-2-1-2
Aug 9, 2026
Merged

docs: prepare 2.1.2 release notes and re-execute the ICA and batch tutorials#870
jepegit merged 1 commit into
masterfrom
866-release-prep-2-1-2

Conversation

@jepegit

@jepegit jepegit commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Release prep for v2.1.2: the changelog, plus the documentation errors found while reviewing it.

What changed

HISTORY.md. The flat [Unreleased] list is now a real ## [2.1.2] - 2026-08-09 section, grouped by theme, with a lead paragraph noting that the interim v2.1.1.post7 / v2.1.1.post8 tags and the v2.1.2a1a4 pre-releases fold into it. Coverage was checked against git log v2.1.1.post6..master; nothing invented or dropped.

Two tutorials rewritten and re-executed. Incremental capacity analysis and Batch processing taught API removed in 2.1 and could not be run as written — the batch page failed on its very first configuration cell, since prms.Paths does not exist in 2.x.

The published .md pages are generated from the notebooks by dev/render_example_notebooks.py, so editing them directly would not have survived the next render. The fixes were made in the .ipynb sources; both notebooks were then executed, their plotly figures backfilled to PNG, and the markdown regenerated through the official script. Every code cell, table and figure on those pages is now real output.

Migrations applied:

Old New
prms.Paths.<name> cellpy.config.paths.<name>
collectors.Batch*Collector + .show() cellpy.collect collectors + .plot()
ica.dqdv_cycle / dqdv_cycles / dqdv_np ica.dqdv (three input forms)
y="dq" y="dqdv"
get_cap().voltage get_cap().potential
b.summaries.<col> b.summaries.pivot(...) (long-format polars)

Executing the notebooks — rather than only reading them — surfaced three breakages that a code review had missed: paper01 has no ir_charge column (the second summary subplot now plots coulombic efficiency), get_cap returns potential not voltage, and b.summaries is a polars frame without attribute column access.

Other documentation fixes. The pandas-only framing in The fundamentals of cellpy (pandas per-cell, polars in cellpy.collect, parquet on disk); nine factual errors in the About loaders developers-guide section; and "deprecated, removal in 2.1" wording in the migration guides for API that has since been removed.

How to test

  • uv run pytest -m essential — 703 passed, 1 skipped locally.
  • Read the two rendered pages: Incremental capacity analysis, Batch processing.
  • Re-render is reproducible and scoped: uv run --group docs python dev/render_example_notebooks.py leaves the other seven example pages byte-identical.
  • The batch notebook writes no artifacts into the tracked docs/examples/batch_utility/out/ tree.

Notes for reviewers

  • The *_1.png*_0.png renames in the batch figures are output-index renumbering from re-execution, not lost figures — the page still has all eight.
  • Notebook editors tend to drop the required metadata / execution_count keys from output records, which makes nbconvert refuse the file; the committed notebooks already had this defect and it was repaired.
  • The separate, still-stale top-level examples/ notebook tree is not touched here — tracked in Top-level examples/ notebooks still use removed 1.x API #869.

Closes #866

Made with Cursor

…h tutorials

Turn the flat [Unreleased] list in HISTORY.md into a real [2.1.2] section grouped
by theme, folding in the interim v2.1.1.post7 / post8 tags and the v2.1.2a1-a4
pre-releases, then fix the documentation errors found while reviewing it.

The Incremental capacity analysis and Batch processing tutorials taught API that
was removed in 2.1 and could not be run as written; the batch page failed on its
very first configuration cell, because prms.Paths no longer exists. Since the
published .md pages are generated from the notebooks by
dev/render_example_notebooks.py, editing them directly would not have survived the
next render, so the fixes were made in the .ipynb sources. Both notebooks were then
executed (against the vendored paper01 dataset and example_data) and the markdown
regenerated, so every code cell, table and figure is real output again.

Executing the notebooks surfaced three breakages that reading them had not:
paper01 has no ir_charge column, so the second summary subplot now plots coulombic
efficiency; get_cap returns potential rather than voltage; and b.summaries is a
long-format polars frame, which does not support attribute column access.

Also correct the pandas-only framing in the fundamentals page, nine factual errors
in the About loaders section of the developers guide, and the "deprecated, removal
in 2.1" wording in the migration guides for API that has since been removed.

The separate, still-stale top-level examples/ notebook tree is tracked in #869.

Closes #866

Co-authored-by: Cursor <cursoragent@cursor.com>
@cursor

cursor Bot commented Aug 9, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@jepegit
jepegit merged commit 1e8bbdd into master Aug 9, 2026
5 checks passed
@jepegit
jepegit deleted the 866-release-prep-2-1-2 branch August 9, 2026 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Iterative fixes: release prep for v2.1.2 (HISTORY.md + docs review)

1 participant