Skip to content

question: restore the release notes and v1.5.0b9 conda assets that Conda Update and Create Release overwrote? #1681

Closed

Description

@JarryShaw

Question, carried over from #1657 (fixed by #1678) and #1640 (fixed by #1656): should the damage already done be repaired?

What was lost.

Options.

  1. Restore both:
    • re-set each release's name to PyPCAPKit vX and its body from the changelog;
    • re-upload the four v1.5.0b9 assets from anaconda.org.
      I can script this through the API, dry-run first.
  2. Restore the notes only.
  3. Leave both as they are.

Recommended: (1), with a dry-run listing posted here before anything is written.

Activity

  1. added
    needs: decisionWaiting on the maintainer to decide — not blocked by other work
    on Oct 13, 2026
  2. JarryShaw commented on Oct 13, 2026

    @JarryShaw
    OwnerAuthor

    Take your recommendations

  3. JarryShaw commented on Oct 13, 2026

    @JarryShaw
    OwnerAuthor

    Recorded: option (1), restore both, dry-run first. A worker is writing the restore script.

    • Releases: for each of the 38 releases, the name goes back to PyPCAPKit vX. The body is rebuilt from the changelog the way Create Release's "Select release body" step builds it, and the prerelease flag is set from the version.
    • v1.5.0b9 assets: the four linux-64 conda assets are re-uploaded from the anaconda.org originals.

    The dry-run listing goes up here before anything is written.

  4. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    needs: decisionWaiting on the maintainer to decide — not blocked by other work
    on Oct 13, 2026
  5. JarryShaw commented on Oct 13, 2026

    @JarryShaw
    OwnerAuthor

    Dry run for the restore (GETs only; nothing written). A Sonnet check of the plan came back GOOD TO GO.

    • 38 releases are still wiped (name equals the tag, empty body). Each gets its name back as PyPCAPKit <tag>.
    • Bodies are rebuilt the way each release's own workflow generated them:
      • the 2023-24 commit lists, reproduced byte for byte on 30 of 30 unwiped neighbours;
      • GitHub's generated notes for the four 2026 releases.
    • Changelog entries go first in four bodies: v1.0.3, v1.2.2, v1.3.1 and v1.4.1 gain their docs/source/changelog/ entry ahead of the notes, as Create Release joins them today.
    • Prerelease flips to true for v1.3.1.dev0, dev1, dev2 and dev4, matching dev3 and dev5.
    • Inferred: six bodies rest on an inference (marked †‡§ below), and none of the notes is lost outright.
    • v1.5.0b9 assets: four linux-64 assets are replaced by the anaconda.org originals, uploaded 01:43-01:45Z on 2026-10-13. py315 is identical on both sides, so it stays.
    • Each write re-checks first: each PATCH sends only name, body and prerelease, and re-reads the release first, skipping it unless it is still wiped. The latest release stays v1.4.1.post2.

    I'll apply this at the next sweep, in about 13 minutes, unless you object. Say if you'd rather drop the changelog prefix from those four.

    Per-release plan
    tag now: len, pre new: len, pre body source live
    v1.0.2.post1 0, F 117, F log v1.0.2..v1.0.2.post1 (2) tag-push wiped
    v1.0.2.post2 0, F 1168, F log v1.0.2..v1.0.2.post2 (28) wiped
    v1.0.2.post3 0, F 1193, F log v1.0.2.post1..v1.0.2.post3 (29) wiped
    v1.0.2.post4 0, F 720, F log v1.0.2.post2..v1.0.2.post4 (19) wiped
    v1.0.2.post5 0, F 804, F log v1.0.2.post4..v1.0.2.post5 (21) tag-push wiped
    v1.0.2.post6 0, F 913, F log v1.0.2.post4..v1.0.2.post6 (24) wiped
    v1.0.2.post7 0, F 290, F log v1.0.2.post5..v1.0.2.post7 (8) wiped
    v1.0.2.post8 0, F 738, F log v1.0.2.post6..v1.0.2.post8 (17) wiped
    v1.0.3 0, F 1516, F CL + log v1.0.2.post8..v1.0.3 (20) tag-push wiped
    v1.0.3.post1 0, F 1105, F log v1.0.2.post8..v1.0.3.post1 (24) wiped
    v1.0.3.post2 0, F 621, F log v1.0.3..v1.0.3.post2 (15) wiped
    v1.0.3.post3 0, F 476, F log v1.0.3.post1..v1.0.3.post3 (13) wiped
    v1.2.2 0, F 338, F CL + log v1.2.1.post3..v1.2.2 (2) † wiped
    v1.2.2.post1 0, F 218, F log v1.2.2..v1.2.2.post1 (5) wiped
    v1.3.1.dev0 0, F 427, T log v1.3.0..v1.3.1.dev0 (9) tag-push wiped
    v1.3.1.dev1 0, F 498, T log v1.3.0..v1.3.1.dev1 (11) wiped
    v1.3.1.dev2 0, F 142, T log v1.3.1.dev0..v1.3.1.dev2 (4) wiped
    v1.3.1.dev4 0, F 437, T log v1.3.1.dev2..v1.3.1.dev4 (9) wiped
    v1.3.1 0, F 914, F CL + log v1.3.1.dev4..v1.3.1 (10) tag-push wiped
    v1.3.1.post1 0, F 644, F log v1.3.1.dev4..v1.3.1.post1 (15) wiped
    v1.3.1.post2 0, F 482, F log v1.3.1.dev5..v1.3.1.post2 (11) wiped
    v1.3.1.post3 0, F 144, F log v1.3.1.post1..v1.3.1.post3 (4) wiped
    v1.3.1.post5 0, F 206, F log v1.3.1.post3..v1.3.1.post5 (4) wiped
    v1.3.1.post7 0, F 144, F log v1.3.1.post5..v1.3.1.post7 (4) wiped
    v1.3.1.post8 0, F 484, F log v1.3.1.post6..v1.3.1.post8 (11) wiped
    v1.3.1.post9 0, F 514, F log v1.3.1.post7..v1.3.1.post9 (12) wiped
    v1.3.1.post17 0, F 146, F log v1.3.1.post15..v1.3.1.post17 (4) wiped
    v1.3.1.post18 0, F 243, F log v1.3.1.post16..v1.3.1.post18 (6) wiped
    v1.3.1.post20 0, F 320, F log v1.3.1.post18..v1.3.1.post20 (7) ‡ wiped
    v1.3.1.post21 0, F 119, F log v1.3.1.post19..v1.3.1.post21 (3) ‡ wiped
    v1.3.1.post22 0, F 150, F log v1.3.1.post20..v1.3.1.post22 (4) ‡ wiped
    v1.3.1.post24 0, F 119, F log v1.3.1.post22..v1.3.1.post24 (3) wiped
    v1.3.1.post25 0, F 119, F log v1.3.1.post23..v1.3.1.post25 (3) wiped
    v1.3.1.post26 0, F 181, F log v1.3.1.post24..v1.3.1.post26 (5) wiped
    v1.3.5.post42 0, F 13960, F gen full list (post43 − #335/#336) wiped
    v1.4.1 0, F 14771, F CL + gen full list (post1 − #337/#338) wiped
    v1.4.1.post2 0, F 14394, F gen full list (= post1) wiped
    v1.5.0a1 0, T 4814, T gen compare post2…a1 (36 PRs) § wiped

    † tag-push range v1.2.2..v1.2.2 was empty (git sorts v1.2.2 before v1.2.2.dev0), so the workflow_run range is used. ‡ sha abbrev 9 inferred (8 measured through post19, 9 from post23). § previous tag inferred: every era-2 prerelease got a compare range, every full release a full list.

    Assets
    • pypcapkit-1.5.0b9-py311_0.tar.bz2 REPLACE: GitHub 12366007 2b7ecd653412d85596c88b9a7f1e7a6cce37ab00013ef3ca3fb1c0d260e50447
      → anaconda.org 12357661 16cfdb041dc440b0248f3c26d7fbf9a43fc376cedc5e7c06c091a4b200834b63 (01:45:31Z)
    • pypcapkit-1.5.0b9-py312_0.tar.bz2 REPLACE: GitHub 11993793 2b8b21cdce70355748f29ecabc5efa114405b2bb6fc8568cda787c7d8fa24af3
      → anaconda.org 11994477 0db5257f5ecb6f28644172886cbe9975b6f2ab86ffcbaf01ae52e26b18357049 (01:43:49Z)
    • pypcapkit-1.5.0b9-py313_0.tar.bz2 REPLACE: GitHub 12021610 9c0a4e7bef53f890a0017d582b7d2bf78baa3b0ddf7d0eef2a6b7986af4312f4
      → anaconda.org 11997102 838121563ddaaed0760a3e37f948f2599b45f26d82706dab9fd8df2d9055152d (01:45:20Z)
    • pypcapkit-1.5.0b9-py314_0.tar.bz2 REPLACE: GitHub 12384185 5381ee96f96e693e7c05d22059b8f4770a01e2f0459985132345e53da9b2e55e
      → anaconda.org 12296050 309208d15ad976621621ca02c8ce5b5716eb996405748b28d817dad6c4569f8d (01:45:40Z)
    • pypcapkit-1.5.0b9-py315_0.tar.bz2 keep (identical): GitHub 12356241 0b81678222644a05304614441eca55f4aa0e4a6670ba191cc6d818aa117187f3
  6. JarryShaw commented on Oct 13, 2026

    @JarryShaw
    OwnerAuthor

    Restored, at about 21:56Z, from the dry run above, with no objection in the window.

    • Releases: all 38 PATCHed (name, body and prerelease only). Read back, 0 of 160 releases are still wiped, and the latest release is still v1.4.1.post2. Spot checks: v1.3.1.dev0 is now a prerelease, and v1.4.1 and v1.0.3 carry their changelog entry followed by the notes.
    • v1.5.0b9 assets: py311, py312, py313 and py314 were re-uploaded from anaconda.org. GitHub's digests now equal the originals (16cfdb04…, 0db5257f…, 83812156…, 309208d1…), and py315 is untouched.

    The script, plan and log are kept in /tmp/restore-1681/ on the bot's host. Closing as done.

  7. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions