Publish a new release #176

Closed
opened 2026-08-27 02:20:51 +00:00 by Grandiras · 2 comments
Owner
No description provided.
Collaborator

🤖 On it — follow along in the action run; the reply will link the full session transcript.

📜 Live transcript — updating every ~5 minutes while the task runs.

🤖 On it — follow along in [the action run](https://git.grandiras.net/Grandiras/claude-bot/actions/runs/409); the reply will link the full session transcript. <!-- claude-run:comment --> 📜 [Live transcript](https://git.grandiras.net/Grandiras/claude-bot/src/branch/claude-logs/transcripts/Grandiras/Ponente/issue-176/run-409.md) — updating every ~5 minutes while the task runs.
Collaborator

v2.6.0 is live on ponente.app.

I was dispatched without a workstation, so this is the remote release path from .claude/skills/release: the tag is the release, and the host's timer picked it up.

What landed since v2.5.1

Eleven merged PRs. In the words the app uses:

#171 / #174 Due date and self-assignment on any card you can see, whoever wrote it
#173 / #175 Ponente-only name and picture — no network permission needed (AddLocalProfiles migration, AvatarStore, /avatar/{did})
#165 / #172 Search across every board, with @name / tag: / date: / board: operators and comment text
#177 / #178 Renaming a board, column or tag no longer drops letters
#179 / #180 Escape closes every dialog, including the first press
#164–#167 Phone bottom bar gains Board, Calendar and Search

Version choice: minor, not patch — two features and an additive migration.

Checks before tagging

  • No new config keys. git diff v2.5.1..HEAD over docker-compose*.yml, deploy/.env*.example, deploy/docker-compose.prod.yml and appsettings.json is empty, and the new services read no configuration. So there is nothing a human had to add to deploy/.env first, and no deploy.sh run needed — which is what made this safe to tag from here.
  • Unit suite: 448 passed, both before and after the changelog commit.
  • Dev was already on the merged code. I can't reach the server from a job container, so I probed from the public side instead: /avatar/did:plc:probe answered 302 (redirect to sign-in — the endpoint exists) on dev.ponente.app and 404 on ponente.app. That is the release's newest route, so it's a clean before/after marker.
  • E2E not run, deliberately. No container engine in this job container, and docs/testing.md settles that a run hosted in CI comes back red for prerender-race reasons no pull request caused.

The release

Changelog.Unreleased promoted to 2.6.0 dated today in both locales, PR #181 ("Changelog for 2.6.0"), CI green, squash-merged to main as 3d150d3. Tag v2.6.0 pushed onto it.

Publish / build-and-push succeeded, and the two digests match — which is the part that matters, since production follows :latest:

v2.6.0     sha256:e1224c0da1afd5f57e49939ce4d544f00088a0e861bc72e210808ed7ee680f53
latest     sha256:e1224c0da1afd5f57e49939ce4d544f00088a0e861bc72e210808ed7ee680f53

Verified in production

  • https://ponente.app/healthz → 200. Migrations apply at startup, so a healthy boot is the AddLocalProfiles migration having applied.
  • /avatar/did:plc:probe → 302, where it was 404 before the deploy. Production is running the new code, and it is not pinned — it deployed on its own.
  • /js/search-interop.js and /js/modal-escape.js serve 200; a path that does not exist still 404s, so the 200s mean something.
  • The sign-in page renders.

I can't read ponente-app's logs from here, so "migration applied" is inferred from a healthy boot rather than read off a log line — worth an eyeball next time someone is at a workstation.

Below is the release notes dialog as members will see it, from the tagged code (3d150d3) run against a fresh database in this container:

The What's new dialog showing the 2.6.0 entry dated August 27, 2026, marked NEW, above 2.5.1 and 2.5.0

No branch left open for a PR — the changelog PR opened and merged itself, and main is the tag. Nothing to file as a follow-up.


⏱ 15m 21s · 52 turns · tokens: 66.2k in / 15.7k out (+2881.2k cache-read)
📜 Full session transcript

**v2.6.0 is live on ponente.app.** I was dispatched without a workstation, so this is the remote release path from `.claude/skills/release`: the tag is the release, and the host's timer picked it up. ## What landed since v2.5.1 Eleven merged PRs. In the words the app uses: | | | |---|---| | #171 / #174 | Due date and self-assignment on any card you can see, whoever wrote it | | #173 / #175 | Ponente-only name and picture — no network permission needed (`AddLocalProfiles` migration, `AvatarStore`, `/avatar/{did}`) | | #165 / #172 | Search across every board, with `@name` / `tag:` / `date:` / `board:` operators and comment text | | #177 / #178 | Renaming a board, column or tag no longer drops letters | | #179 / #180 | Escape closes every dialog, including the first press | | #164–#167 | Phone bottom bar gains Board, Calendar and Search | Version choice: **minor**, not patch — two features and an additive migration. ## Checks before tagging - **No new config keys.** `git diff v2.5.1..HEAD` over `docker-compose*.yml`, `deploy/.env*.example`, `deploy/docker-compose.prod.yml` and `appsettings.json` is empty, and the new services read no configuration. So there is nothing a human had to add to `deploy/.env` first, and no `deploy.sh` run needed — which is what made this safe to tag from here. - **Unit suite: 448 passed**, both before and after the changelog commit. - **Dev was already on the merged code.** I can't reach the server from a job container, so I probed from the public side instead: `/avatar/did:plc:probe` answered **302** (redirect to sign-in — the endpoint exists) on `dev.ponente.app` and **404** on `ponente.app`. That is the release's newest route, so it's a clean before/after marker. - **E2E not run**, deliberately. No container engine in this job container, and `docs/testing.md` settles that a run hosted in CI comes back red for prerender-race reasons no pull request caused. ## The release `Changelog.Unreleased` promoted to 2.6.0 dated today in both locales, PR **#181** ("Changelog for 2.6.0"), CI green, squash-merged to `main` as `3d150d3`. Tag `v2.6.0` pushed onto it. `Publish / build-and-push` succeeded, and the two digests match — which is the part that matters, since production follows `:latest`: ``` v2.6.0 sha256:e1224c0da1afd5f57e49939ce4d544f00088a0e861bc72e210808ed7ee680f53 latest sha256:e1224c0da1afd5f57e49939ce4d544f00088a0e861bc72e210808ed7ee680f53 ``` ## Verified in production - `https://ponente.app/healthz` → 200. Migrations apply at startup, so a healthy boot is the `AddLocalProfiles` migration having applied. - `/avatar/did:plc:probe` → **302**, where it was 404 before the deploy. Production is running the new code, and it is not pinned — it deployed on its own. - `/js/search-interop.js` and `/js/modal-escape.js` serve 200; a path that does not exist still 404s, so the 200s mean something. - The sign-in page renders. I can't read `ponente-app`'s logs from here, so "migration applied" is inferred from a healthy boot rather than read off a log line — worth an eyeball next time someone is at a workstation. Below is the release notes dialog as members will see it, from the tagged code (`3d150d3`) run against a fresh database in this container: ![The What's new dialog showing the 2.6.0 entry dated August 27, 2026, marked NEW, above 2.5.1 and 2.5.0](https://git.grandiras.net/attachments/929b2be0-3e02-4934-be4a-b1eb062b2f51) No branch left open for a PR — the changelog PR opened and merged itself, and `main` is the tag. Nothing to file as a follow-up. --- ⏱ 15m 21s · 52 turns · tokens: 66.2k in / 15.7k out (+2881.2k cache-read) 📜 [Full session transcript](https://git.grandiras.net/Grandiras/claude-bot/src/branch/claude-logs/transcripts/Grandiras/Ponente/issue-176/run-409.md)
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Grandiras/Ponente#176
No description provided.