Use this checklist for every MacScope version bump and GitHub Release.
For 4.0.x specifically, also verify Workspaces start/stop only assigned members, Assistant evidence panels render, and macscope/data/knowledge_pack.json is included in the ZIP.
- Working tree is clean except intentional release changes
- You are on
main(or the agreed release branch) -
git pull/ remote is up to date - No local inventory DB/logs staged for commit
-
Compile check:
source .venv/bin/activate python -m compileall -q -x '.venv|.venv312|dist' .
-
Full test suite:
pytest -q
-
Optional lint (advisory until fully clean):
ruff check . -
Smoke test Streamlit:
python -m streamlit run app.py --server.headless true --server.port 8599Confirm HTTP 200 and core pages load (Dashboard, Applications, Settings).
- Update
VERSION(single-line semver, e.g.3.0.1) - Update
config.APP_VERSIONandmacscope/__version__if they are not derived automatically - Update
CHANGELOG.md(Keep a Changelog): move[Unreleased]notes into the new version section with date - Verify
README.mdversion badge / version mentions - Update
ROADMAP.mdif major features shipped - Confirm
SECURITY.mdsupported-versions table if support policy changes
-
Build release ZIP:
./scripts/build_release.sh
-
Confirm artifact path:
dist/MacScope-<VERSION>.zip -
Spot-check ZIP contents (no
.venv, no*.db, no secrets, includesVERSION+README.md+MacScope.command)
-
Commit release documentation/version changes
-
Tag annotated release:
git tag -a "v<VERSION>" -m "MacScope <VERSION>" git push origin main git push origin "v<VERSION>"
- Create GitHub Release for
v<VERSION>(do not rely on auto-publish workflows) - Paste changelog summary into the release notes
- Upload
dist/MacScope-<VERSION>.zip - Verify release asset download works
- Confirm Actions CI is green on the tagged commit when available
- Smoke the downloaded ZIP on a clean shell (optional but recommended)
- Open
[Unreleased]section inCHANGELOG.mdfor future work - Close/milestone related issues
- Announce briefly in Discussions if appropriate
- Never publish
~/Library/Application Support/MacScope/data - Never include local
.env, credentials, or machine inventory in the ZIP - Do not enable automatic release publishing that uploads secrets