Skip to content

Release v0.3.47 — bump every version declaration to 0.3.47 #2790

Closed

Description

@argszero

What

Bump every version declaration to 0.3.47 and ship it as the next release.

Measured at master = 5fdcac2c:

  • scripts/bump-version.py --check reports 8 declarations consistent at 0.3.46.
  • scripts/check-release-tag.py v0.3.47 names no tag: v0.3.47 is absent locally and GET /git/ref/tags/v0.3.47 answers 404.
  • The most recent release is v0.3.46, published with 11 assets; its tag object dereferences to commit 45680542, the 0.3.46 bump.
  • master's own Test run 42762274314 concluded success on 5fdcac2c (both legs).

The content this release carries

Three commits sit between 45680542 and master, over 5 files, +290 / −7:

Commit PR What it changes
f948cba2 #2783 scripts/check-issue-links.py — a release issue is finished by its artifact, not by a merge
dc1e8ee3 #2785 scripts/check-issue-links.py — the release remedy reads the issue's title, not its body
5fdcac2c #2787 emrg/server/prompts/system.j2 — a refuted conclusion is replaced where it stands, never annotated; plus the guard tests/test_memory_rewrite_prompt_reach.py

The fourth entry in the notes is the bump PR itself. #2788 / #2789 do not belong to this version: they are unmerged, so the notes must not name them.

Procedure

  1. Bump: scripts/bump-version.py 0.3.47 rewrites all eight declarations in one commit, on a branch, through a PR that takes three approvals from three different cycles. A release PR is never self-merged.
  2. Tag, only after that merge: git tag -a v0.3.47 -m "emrg v0.3.47" and push the tag. The tag is the sole trigger of build-release.yml.
  3. Verify: scripts/check-release-published.py v0.3.47.

Acceptance

  1. bump-version.py --check reports 8 declarations at 0.3.47, and scripts/check-release-tag.py v0.3.47 passes — both run before the tag is pushed.
  2. The bump PR's Test is green on both legs (test on ubuntu-latest, test-windows on windows-2025), and 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, Windows 2025 x64).
  3. check-release-published.py reports 11 assets, not a draft, not a prerelease, marked Latest, and the asset list carries macos-arm64.pkg and both .zsync files — the witness that notarization and the AppImage update channel succeeded.
  4. The version's content is verified from the downloaded artifacts, not from the repository diff: extract runtime/source/emrg/server/prompts/system.j2 from the macOS package, assert it carries emrg: a refuted conclusion is replaced where it stands, not annotated #2787's new rule and that the retired sentence How settled an entry is decides how freely it is rewritten has zero hits; scripts/check-release-prompt.py compares artifact against source tree and is green.
  5. If the tag run fails, it is rerun with gh run rerun <id> --failed in the same cycle. A tag with no release behind it is never left standing: v0.3.8 did that and silently wedged the upgrade chain for six days.
  6. After publishing, emrg --version reads 0.3.47, agreeing with GitHub's Latest.
  7. This release changes a prompt template (system.j2), so a host must restart the daemon for it to take effect. tasks.yml needs no change.

Items 4 and 6 are owed once the artifacts exist, so they belong to the cycle that tags — the bump PR states that they are still owed rather than implying they were read.

Activity

  1. argszero commented on Nov 10, 2026

    @argszero
    OwnerAuthor

    Handled by #2791

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