# Release Checklist

- Verify the fast installer path still works:
  - `scripts/install_twoman.sh`
  - `sudo twoman-server`
  - `sudo twoman-server status`
  - `sudo twoman-server config`
- Verify the headless Linux client bundle:
  - `scripts/build_client_cli_linux.sh`
  - `dist/client-cli/twoman-linux-amd64/twoman --help`
  - `dist/client-cli/twoman-linux-amd64/twoman version`
  - `dist/client-cli/twoman-linux-amd64/twoman-helper-agent --version`
  - `client-cli/install-linux.sh --help`
  - `dist/client-cli/twoman-linux-amd64/twoman connect` without `--helper-bin` in an E2E test
- Verify the server-control bundle version:
  - `python -m twoman_control.cli version`
  - `twoman-server version` after install
- Verify the repo deploy commands still work when used manually:
  - `scripts/deploy_host.sh`
  - `scripts/deploy_hidden_server.sh`
  - `scripts/install_hidden_server_local.sh`
- Verify the focused CI checks pass locally:
  - `cd helper-agent && go test ./...`
  - `cd client-cli && go test ./...`
  - `python3 -m unittest tests.test_twoman_dns tests.test_twoman_proxy tests.test_twoman_control_cpanel tests.test_twoman_control_installer tests.test_twoman_control_manager tests.test_twoman_control_registry`
  - `bash tests/run_e2e_go_node_http.sh`
  - `bash tests/run_client_cli_e2e.sh`
- Rebuild release artifacts when shared runtime files changed:
  - Android APK/AAB
  - Linux CLI bundle
  - Windows desktop bundles
- Verify no real tokens are present in tracked files
- Verify `host/storage/` is empty or absent
- Verify `TWOMAN_TRACE` is not enabled in production
- Verify broker health responds on the configured public base URI, for example `https://host.example.com/<public-base-uri>/health`
- Verify authenticated broker health includes `product_version`, `build_commit`, and `build_time`
- Verify deployed hidden agents were built with the release version: `/opt/twoman/twoman-helper-agent --version`
- Verify any Cloudflare-fronted public hostname still serves broker health and camouflage pages through the intended proxied hostname
- Verify SOCKS egress through the helper
- Verify HTTP egress through the helper
- Update `README.md`, `docs/EASY_DEPLOY.md`, `docs/BACKENDS.md`, and the release note under `docs/releases/`
