Retrospective: R012 (the tag day of 0.1.0)#
Status: ready for the tag on the branch release-0.1.0-final (after R011, accepted at
d6483b6). The tag v0.1.0 is pushed on 2026-10-02 (UTC), one day after the final-release pull
request (R011, Retrospective: R011 (the final-release pull request for 0.1.0)) wrote the release date 2026-10-01, so R012 makes the tag-day fixes of
docs/developer/release.md (A tag day later than the final-release pull request, step 10) and records the decisions the
author took on 2026-10-01. Nothing is published by it: the merge, the tag, the GitHub Release and
the upload are the orchestrator’s (on the author’s behalf), and the PyPI deployment waits for the
author’s approval. R012 is one step done by one implementer.
What changed#
Item |
Where |
|---|---|
The release date 2026-10-02: |
|
O3 closed: the |
|
Zenodo not connected for 0.1.0 (no DOI) (2026-10-01): a row of the approvals log; the release guide (who does what, step 12), the repository settings (row 14 and section 14), the citing page, the roadmap and the developer plan no longer say 0.1.0 may or will get a DOI |
|
The licence expression: a row of the approvals log (2026-10-02): the author was told that it is in the 0.1.0rc1 distributions on TestPyPI and raised no objection by the tag day; the author’s approval of the |
|
A section of the release guide for a tag day later than the final-release pull request (the procedure of R011’s note, made a part of the guide) |
|
The R011 retrospective: an “Afterwards (R012)” paragraph and the outcome of each note (the date, O3, the licence expression, Zenodo) |
|
The checks of the |
|
python ci/wheel_check.py --release-metadata --release-date 2026-10-02 passes, and so does
--release-date today (run on 2026-10-02 UTC).
The certificate#
CHANGELOG.md and CITATION.cff are in the packaging scope and in the repo scope (the whole
tree but benchmarks/results/); GOVERNANCE.md and the documents are in the repo scope. So,
after the last change outside benchmarks/results/ (the commit of this retrospective), these
checks were run again from fresh clones of that commit and recorded with parity/certify.py check --version 0.1.0, replacing the records of the same names:
Check |
Scope |
What was run |
|---|---|---|
|
packaging |
|
|
repo |
|
|
repo |
|
The other records stand: the gates, the golden replays, the sssp golden mutations and the
equivalence record (library scope) and the C++ test suites asan, tsan and
mutation-ctests (tests scope, measured at 454e61f): no path of these scopes changed
(README.md and the test paths are unchanged), which parity/certify.py write --version 0.1.0
verifies for every part. It wrote benchmarks/results/0.1.0/parity.json naming 0.1.0 and the
final commit; the results, commits, dates and logs of the checks are in the certificate
(benchmarks/results/0.1.0/README.md, “Checks”).
Deviations and decisions (each with the same intent)#
Older retrospectives are not edited. INT1, M4, M2b, M5 and R010 mention O3 as open or the Zenodo choice for 0.1.0 as still to be made; they are the records of their milestones and stay as written (as R010 did with the M5 readiness list). R011 is annotated, since the milestone asked for its notes to be updated: its statements are kept and marked as R011’s state, with the outcome next to each.
The licence row is a new row, dated the tag day, rather than an edit of the row of 2026-09-30 (an approvals log is appended to, not rewritten). Its “Approved by” cell says what happened: no objection by the tag day; the final confirmation is the
pypiapproval.The release guide gained a section for a late tag day, written from R011’s note to the orchestrator, so the next release follows the guide instead of a retrospective.
The checks ran in the order of R011’s note: the
repochecks after the last change outsidebenchmarks/results/(this retrospective), so this retrospective names their results by reference to the certificate.
Notes for the orchestrator#
Merge with a merge commit (ADR 0019), then tag
v0.1.0onmainon 2026-10-02 (UTC): runpython ci/wheel_check.py --release-metadata --release-date todayfirst. If the tag slips past 2026-10-02, the date must move again (A tag day later than the final-release pull request).Nothing is open for the author before the tag: O3 is closed, the licence expression stood without objection, and Zenodo is not connected for 0.1.0 (no DOI; no step 12 for 0.1.0). The author’s approval of the
pypideployment remains, and it is the final confirmation of the licence expression.After the release (step 14): bump
VERSIONto0.1.1.dev0or0.2.0.dev0in a pull request, announce, and carry over the R010 note onparity/cycle_count_perf.py.