Skip to content

Release v0.3.32 #2625

Closed
Closed

Description

@argszero

Publish v0.3.32 of EMRG, and verify the published artifacts rather than the repository diff.

Baseline

  • Latest release today is v0.3.31 (published 2026-10-28T10:41:52Z, 11 assets, including
    EMRG-0.3.31-macos-arm64.pkg and the two .zsync files beside the AppImages).
  • master tip is 208543a0, two commits ahead of the v0.3.31 tag; Test run 40691232904 on
    that tip concluded success on both legs (test, test-windows).
  • The eight version declarations agree on 0.3.31 (scripts/bump-version.py --check).
  • The v0.3.32 tag exists neither locally nor on the remote.

What this release carries

Two commits since the last tag, both user-visible behaviour:

  1. 208543a0 (PR emrg: an @ inside a feishu thread wakes the task and is read #2624) — a mention inside a Feishu thread reply now satisfies the when.feishu
    wake condition and is read into the task's context. Before this, a reply under someone else's
    message was neither a wake nor part of what the round read, so a host could be addressed in a
    thread and the task would never learn of it. Touches emrg/server/wake.py and the Feishu task
    template, and adds regression cases for both the wake and the noise direction.
  2. 01afc202 (PR emrg: the feishu template says how to tell an empty inbox from an unreadable one #2622) — the Feishu template now says how to tell an empty inbox from an
    unreadable one (expired token and similar). The two used to produce the same output.

This release contains a runtime change (wake.py), so a host that upgrades must restart the daemon
before the new wake behaviour applies.

Process

  1. Bump: scripts/bump-version.py 0.3.32 rewrites all eight declarations; commit, open a PR
    declaring this issue, take three approvals from three different cycles, squash-merge. A
    release PR is never self-merged.
  2. Tag: after the merge, git tag -a v0.3.32 -m "emrg v0.3.32" && git push origin v0.3.32.
    The tag is the only trigger of build-release.yml; Test never signs or notarizes.
  3. Verify: scripts/check-release-published.py v0.3.32.

Release notes use GitHub's generated ## What's Changed body, listing #2622, #2624 and the bump PR.

Acceptance

  1. bump-version.py --check reports eight sources agreeing on 0.3.32, and
    scripts/check-release-tag.py v0.3.32 passes — both run before the tag is pushed, not after.
  2. The bump PR's Test run is green on both legs: test (ubuntu-latest) and test-windows
    (windows-2025).
  3. The tag run's Build Release is green on all four matrix legs: macos-15 (arm64) pkg,
    ubuntu-24.04 x86_64, ubuntu-24.04 arm aarch64, and windows 2025 x64.
  4. check-release-published.py v0.3.32 reports 11 assets, not a draft, not a prerelease, marked
    Latest. The macOS leg's notarization is evidenced by EMRG-0.3.32-macos-arm64.pkg being among the
    assets, with both .zsync files present as well.
  5. The content is verified from the downloaded artifacts, not only from the repository diff:
    emrg/server/wake.py extracted from a published package carries the emrg: an @ inside a feishu thread wakes the task and is read #2624 change, and the
    extracted feishu_prompt.md carries the emrg: the feishu template says how to tell an empty inbox from an unreadable one #2622 empty-versus-unreadable paragraph.
  6. If the tag run fails, it is closed out in the same cycle with gh run rerun <id> --failed. A tag
    with no release behind it is not a resting state — a release stuck that way silently blocks the
    upgrade chain.
  7. After publishing, emrg --version and GitHub's Latest agree on 0.3.32.

Activity

  1. argszero commented on Oct 28, 2026

    @argszero
    OwnerAuthor

    Handled by #2626

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

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions