Document the upgrade steps and always print them after a release

Readers and future sessions need one obvious place that says how to move
an installed app to the latest version, and the release flow now requires
surfacing those commands in every release report.

💘 Generated with Crush

Assisted-by: Crush:deepseek-v4.1-flash
This commit is contained in:
2026-09-26 23:05:12 +08:00
parent 373fda738e
commit 9b5031aff2
2 changed files with 29 additions and 2 deletions
+14
View File
@@ -79,6 +79,20 @@ ad-hoc signing (`-`) if none is present. `LSUIElement` is true → no Dock icon.
Bump `CFBundleShortVersionString`/`CFBundleVersion` via the `build-app.sh` Bump `CFBundleShortVersionString`/`CFBundleVersion` via the `build-app.sh`
version argument and pass the same version to `release.sh`. version argument and pass the same version to `release.sh`.
## Release process
1. `./release.sh <version>` — builds, zips `SimpleTopBar.app` to
`dist/SimpleTopBar.zip`, and prints its sha256 (it does not tag or upload).
2. Commit and push `main`.
3. `tea releases create --tag v<version> --asset dist/SimpleTopBar.zip --repo TZGyn/simpletopbar --login gitea.tzgyn.dev`.
4. Bump `version`/`sha256` in `~/.cache/homebrew-tap/Casks/simpletopbar.rb`,
push, then `git -C /opt/homebrew/Library/Taps/tzgyn/homebrew-tap pull --ff-only`.
**Always print the upgrade script after any release or version bump** — the user
wants it in the final answer every time. Keep it to the cask upgrade commands
(see the README release section for the exact block), because the app is
installed through the tap.
## Gotchas ## Gotchas
- `AppListModel` is `@MainActor`; the `NSWorkspace` observers hop back with - `AppListModel` is `@MainActor`; the `NSWorkspace` observers hop back with
+15 -2
View File
@@ -44,14 +44,27 @@ brew install --cask simpletopbar
The tap is hosted on Gitea, so the full URL is required. Homebrew may print an The tap is hosted on Gitea, so the full URL is required. Homebrew may print an
"Unsupported tap" warning — it's harmless. "Unsupported tap" warning — it's harmless.
## Upgrade
```bash
brew update
brew upgrade --cask simpletopbar
```
If Gatekeeper still blocks the app after upgrading (it is not notarized yet):
```bash
xattr -dr com.apple.quarantine /Applications/SimpleTopBar.app
```
## Build from source ## Build from source
```bash ```bash
swift build # debug build swift build # debug build
swift run SimpleTopBar # run from terminal (app appears in the menu bar) swift run SimpleTopBar # run from terminal (app appears in the menu bar)
swift run SimpleTopBar --self-test # headless check of the dropdown logic swift run SimpleTopBar --self-test # headless check of the dropdown logic
./build-app.sh 0.1.0 # release build + SimpleTopBar.app bundle + icon + codesign ./build-app.sh 0.2.0 # release build + SimpleTopBar.app bundle + icon + codesign
./release.sh 0.1.0 # build-app.sh + dist/SimpleTopBar.zip + sha256 ./release.sh 0.2.0 # build-app.sh + dist/SimpleTopBar.zip + sha256
``` ```
## Around the Background dropdown ## Around the Background dropdown