Skip to content

docs(releasing): close the loophole in the redirect rule before someone finds it - #494

Closed
PathGao wants to merge 1 commit into
masterfrom
docs/releasing-redirect-precision
Closed

docs(releasing): close the loophole in the redirect rule before someone finds it#494
PathGao wants to merge 1 commit into
masterfrom
docs/releasing-redirect-precision

Conversation

@PathGao

@PathGao PathGao commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Follow-up to #485, which added RELEASING.md §5 — the rule that nothing may occupy alecdotdev/Markpad, because a repository or fork there permanently voids the transfer redirect that every install up to v2.7.0 depends on for updates.

The rule is right and I am not weakening it. What is missing is the answer to the question a reader will actually ask.

The loophole. The redirect is only the means. What those installs need is for that URL to keep returning a current latest.json, whose contents are absolute download URLs verified against the pubkey compiled into the binary. So a repository at the old location could keep them working — publish a release there whose latest.json names this repository's artifacts, same signing key, and old clients verify it and update normally.

Someone will notice this, and they will notice it at the worst moment, which is while they are doing whatever made them want the old name back.

Why it is a bad trade, stated so nobody has to work it out under pressure. It converts a guarantee that costs nothing into an obligation that must be met on every release, forever, by whoever happens to be releasing. The first time it is missed, old clients are handed a stale feed offering a version they already have — they stop updating exactly as if the URL had 404'd, except now nothing looks broken to anyone.

So the section now says the exception exists and why not to take it, rather than leaving a reader to find it alone.

Verification

npm test passes, unchanged. Nothing else is touched — this is one inserted paragraph in RELEASING.md.

Not verified: I have not tested what GitHub actually does if a repository is created at a transferred location — the claim that the redirect is voided is from GitHub's documentation, quoted in the section, not from an experiment. The same is true of the claim that a latest.json served from the old location would satisfy tauri-plugin-updater; that follows from reading the updater's get_urls and our feed's shape, and has not been run.

🤖 Generated with Claude Code

…ne finds it

Section 5 says not to occupy `alecdotdev/Markpad`, and gives the mechanism: a
repository or fork at the old location permanently voids the transfer redirect
that every install up to v2.7.0 depends on.

What it does not say is why the obvious workaround is worse than the rule it
would replace. The redirect is only the means; what those installs need is for
that URL to keep returning a current `latest.json`. Someone reading this under
pressure will notice that a repository at the old location could serve exactly
that, verified by the same pinned key, and conclude the rule has an exception.

It does, and taking it is a bad trade: a guarantee that costs nothing becomes an
obligation on every release, forever, and the first missed release hands old
clients a stale feed offering a version they already have. That fails the same
way the 404 does, minus the part where anything looks broken.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@PathGao

PathGao commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator Author

Closing this in favour of a check.

The point @PathGao's reviewer made is that §5 keeps needing more words because it is not adjacent to anything. §4 earns its place by sitting directly after the step it constrains — generating the keypair is step 1, "the pubkey is permanent" is the warning on step 1. §5 constrains an action that is not a step in this runbook at all: nobody cutting a release is going to fork the repository. Adding another paragraph, as this PR does, treats the symptom.

More to the point, the loophole this PR spends a paragraph closing does not need prose. A check that asserts the old URL still returns a feed pointing at this repository tests the property we actually care about, rather than the proxy of whether a repository exists there — so a repository at the old location that does serve a correct feed passes, correctly, and one that does not goes red. The exception polices itself.

Replacing this with that check, and shortening §5 rather than growing it.

@PathGao PathGao closed this Aug 6, 2026
@PathGao
PathGao deleted the docs/releasing-redirect-precision branch August 6, 2026 04:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant