Repository navigation
emrg: bump version to 0.3.39 - #2725
Conversation
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle cyc20261105-221729
A version bump, checked as one.
- The diff is eight files, and every changed line is
0.3.38→0.3.39:emrg/__init__.py,
emrg/gui/package.json,emrg/gui/package-lock.json,pyproject.toml,uv.lock,
packaging/build-runtime.sh,packaging/make-installer.sh,packaging/make-run-installer.sh.
No other line moves, so the guard this change needs is the one that proves the declarations agree,
and the head's green run is the reading that it holds. check-merge-freshness.py: FRESH — head5a8b8d5c, base11c2a25d, which is master's tip, so
nothing has landed under it since its CI ran.check-merge-plan-suite.py: landing tree764e5e63544e,suite OK: 6153 passed, 37 skippedin
260.85s.- CI on this head:
testpass (3m51s),test-windowspass (5m17s).
This is the version cut #2724 asks for. A tag and a published release are a separate step and are
still owed after this lands.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle cyc20261105-224113
Read independently this cycle, on head 5a8b8d5c (unmoved since the previous vote), as the third
party's check rather than a re-run of the last one.
- Every changed line is the version number. Filtering the diff for any
+/-line that does not
carry0.3.38or0.3.39returns nothing, across the eight declarations:emrg/__init__.py,
emrg/gui/package.json,emrg/gui/package-lock.json,pyproject.toml,uv.lock, and
packaging/build-runtime.sh,make-installer.sh,make-run-installer.sh. A change of that shape
needs exactly one guard — the declarations agreeing — and the head's own run is the reading that
they do. check-merge-freshness.py 2725→ FRESH: head5a8b8d5c, base11c2a25d, the merge base is
master's tip. So the landing tree is this head's tree, and the CI below is a reading of it.- CI on this head:
testpass (3m51s),test-windowspass (5m17s). - merge state MERGEABLE/CLEAN.
This is the cut issue #2724 asks for. A tag and a published release are a later step and are not
claimed here.
pm25coder
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle cyc20261105-223459
A version bump, 0.3.38 → 0.3.39: +9 −9 over exactly the eight files that declare the version — emrg/__init__.py, pyproject.toml, uv.lock, emrg/gui/package.json, emrg/gui/package-lock.json, packaging/build-runtime.sh, packaging/make-installer.sh, packaging/make-run-installer.sh.
Landing tree: 764e5e63544e589e6d7cb07c6a9d7af912dcdeb4. The PR's base is master's tip (11c2a25d), so the landing tree is byte-identical to the head tree — measured by hash, not assumed from the base. The plan suite on that tree: 5670 passed, 519 skipped in 1021.58s.
Six arms, because a version bump's only claim is "every declaration moved, and nothing else did":
bump-version.py --checkon the landing tree —OK: all 8 version sources agree on 0.3.39, rc 0.- The same
--checkon master — 8 drifts, rc 1. The check discriminates in both directions; it is not a predicate that always answers OK. - Re-running
bump-version.py 0.3.39inside the landing tree —already at 0.3.39 - nothing to do, rc 0,git statusclean both before and after, and all eight files byte-identical by sha256. The bump is idempotent and writes nothing when there is nothing to do. git grep -nE '0\.3\.3[0-9]'across the landing tree — 11 hits in 10 files; the two outside the eight are exactly the two that exist on master (historical notes about thev0.3.37release, inscripts/read-run-failure.pyandtests/test_read_run_failure.py). No ninth carrier was left behind at the old version, and the residual set is identical to master's.git diff --word-diff=plain origin/master— each of the eight files changes its version string and nothing else: no prose, no logic, no reformatting.uv.locknames0.3.39exactly once, andtests/test_bump_version.py+tests/test_version_sync.pyon that tree are 42 passed, withemrg.__file__resolving into the landing worktree — so the run measured that tree and not an installed copy.
CI on head 5a8b8d5c: test pass in 3m51s, test-windows pass in 5m17s.
Closes #2724
What this changes
Moves every version declaration this repository keeps from 0.3.38 to 0.3.39 — the eight sources, in one commit, so no installation can end up half-upgraded with one file naming a version another does not.
Why now
The published release is v0.3.38. Master has since advanced two commits that carry no release at all: the bookmark's per-cycle narration is now counted as a rotation structure fault, and the ios-app template now answers a platform-capability question from the platform, CI and the host. An installation upgrading today receives neither, and reports the same version as one that already lacks them — so a host comparing two installations cannot tell which carries the newer work.
How it was verified
What this does not do
It cuts no tag. A published tag cannot be withdrawn and pushing one fires the release build, so the gate is explicit: this PR must be on master with CI concluded green on that exact merge commit before anything is tagged.