Skip to content

chore(release): v0.7.29 - #336

Merged
argszero merged 1 commit into
mainfrom
release/v0.7.29
Sep 30, 2026
Merged

argszero merged 1 commit into
mainfrom
release/v0.7.29

Conversation

@argszero

@argszero argszero commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

Summary

Release v0.7.29 — a version bump (Cargo.toml / Cargo.lock) plus the CHANGELOG entry for the
41 commits merged since v0.7.28 (#295–#335). No production logic is touched by this PR.

  • No schema change (still 15). One config default change: the mail port moved from 587
    to 465 in fix(config): make the SMTP port match the implicit-TLS transport #328 — an existing config.toml that spells out smtp_port = 587 has to be updated;
    omitting the key picks up the new default.
  • No cache-bust bump here: every UI PR in this batch advanced its own ?v= token, so
    ui/index.html ends this version at app.js ?v=20260930-2, i18n.js ?v=20260930-1,
    api.js ?v=20260929-1, style.css ?v=20260924-5, data.js ?v=20260914-11.
  • cargo test 462 passed / 0 failed (was 376 at v0.7.28), cargo fmt --check rc=0,
    cargo clippy --all-targets -- -D warnings rc=0.

This release PR touches five files, not three — by design

#303 and #305 gave the version copies in docker-compose.yml, Dockerfile and CHANGELOG.md an
executor in src/deploy_gate.rs. A bump that misses any of them now turns cargo test red instead
of shipping an artifact that reports a version its own binary does not. This is the first release
PR that has to carry those two deploy files.

src/deploy_gate.rs also changes by one line: the version-scanner self-check asserted against the
literal "0.7.28". It now reads the derived declared_version(), so the release number is not
left behind as one more stale copy — in the very gate whose job is to catch stale copies.

What is in v0.7.29

The batch closes three themes:

area PRs
Release chain: MSRV, deploy-artifact copies, release tag, CHANGELOG heading, Docker build context #302, #303, #304, #305, #306
Gate blind spots: unreadable error write forms, out-of-repo instrument citations #307, #311
CSS cascade — an element's look is declared by its own class; plus JS declarations with no reader #329, #330, #331, #332
"One fact, one source" on the display surface (peak-price trigger, keyboard row identity, refused view switch, ops key noun, router price gate, dead_code scope, dashboard series name, sentinel in a placeholder, deleted-model copy, retired "shown once" claim, sharing key mask, inline-confirm exits) #295–#301, #308, #312, #320, #321, #323
Config: the SMTP port value was left behind the protocol switch #328
Documentation corrections (claims the code no longer implements) #309, #310, #313–#319, #322, #324–#327
New feature: edit a listed sharing in place #333, #334
New feature: SIGTERM graceful shutdown with a bounded drain #335

Related Issue

No linked issue — this is a release commit for the merged work above. It carries out the host's
release rant 2026-09-30T16:25:38 ("release v0.7.29 and upgrade dev / prod").

Changes

  • Cargo.toml / Cargo.lock: 0.7.28 → 0.7.29
  • docker-compose.yml: header comment and image: aitokenpool:<v>
  • Dockerfile: header comment, docker build -t aitokenpool:<v> and the docker run example
  • CHANGELOG.md: the ## v0.7.29 entry, grouped by theme in the style of the previous entries
  • src/deploy_gate.rs: the self-check no longer freezes the release number as a literal
  • No config/data change beyond the mail port default already shipped in fix(config): make the SMTP port match the implicit-TLS transport #328

Tests

  • cargo test 462 passed / 0 failed
  • cargo fmt --check rc=0; cargo clippy --all-targets -- -D warnings rc=0
  • A/B, with every file restored byte-identical afterwards:
    bumping the manifest alone reddens exactly the two version rules and names all five copy
    sites; a stale CHANGELOG heading reddens only the heading rule; a builder image below the
    declared rust-version reddens only the >= rule

Checklist

  • Branch naming follows the convention (release/<version>, as v0.7.28 did)
  • Commit message uses Conventional Commits (chore(release): v0.7.29)
  • Single purpose, minimal change

Tagging note for the maintainer: merge this first, then tag v0.7.29 on the merge commit of
main (not on this branch's head). docker-publish.yml now refuses a tag that does not match
Cargo.toml, so the order cannot be reversed.

Release v0.7.29 — a version bump plus the CHANGELOG entry for the 41
commits merged since v0.7.28 (#295–#335). No production logic changes.

The release PR now has to touch five files instead of three: #303 and #305
gave the copies in docker-compose.yml / Dockerfile / CHANGELOG.md an
executor in src/deploy_gate.rs, so a bump that misses any of them turns
`cargo test` red (this is the deliberate cost of those rules).

- Cargo.toml / Cargo.lock: 0.7.28 -> 0.7.29
- docker-compose.yml: header comment and `image: aitokenpool:<v>`
- Dockerfile: header comment, `docker build -t aitokenpool:<v>` and the
  `docker run` example
- CHANGELOG.md: the `## v0.7.29` entry
- src/deploy_gate.rs: the version-scanner self-check asserted against the
  literal "0.7.28"; it now uses the derived `declared_version()`, so the
  release number is not left behind as another stale copy in the test.

Verified: `cargo test` 462 passed / 0 failed, `cargo fmt --check` rc=0,
`cargo clippy --all-targets -- -D warnings` rc=0. A/B with the file bytes
restored afterwards: bumping the manifest alone reddens exactly the two
version rules and names all five copy sites; a stale CHANGELOG heading
reddens only the heading rule; a builder image below the declared
rust-version reddens only the >= rule.
@argszero
argszero merged commit 28232e1 into main Sep 30, 2026
2 checks passed
@argszero
argszero deleted the release/v0.7.29 branch September 30, 2026 09:04
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