Release checklist
A repeatable checklist for shipping a coordinated ifURI release across the runtime, connector packages, examples and app docs. The goal is that every public install snippet, manifest and catalog entry points at the same tested versions.
1. Runtime (urirun)
- [ ] Tests green on the target commit (
make testinif-uri/urirun). - [ ] Versions bumped in one move:
make release-bump V=<x.y.z>(thenmake version-checkis green across all five version files). - [ ] CHANGELOG frozen: fold the
## [Unreleased]section into## [<x.y.z>]and dedupe any auto-fix-daemon entries (the linter appends mislabelled## [0.1.10]ticket blocks — collapse them) so the release section is the single source of truth. - [ ] Tag and push:
make release(tagsv<x.y.z>fromadapters/python/VERSION, pushes; CIrelease.ymlbuilds + publishes to PyPI). - [ ] Move install pins to the new tag in one move (only *after* the tag exists):
bash if-uri/ifuri-com/scripts/apply-release-pins.sh v<x.y.z>— sweeps docs, the website,get-urirun-comnode/host, app and connector pyproject pins.
2. Connector packages
For each urirun-connector-* package:
- [ ] Package version bumped;
connector.manifest.jsonandurirun_bindings()describe the same routes. - [ ]
make docker-testpasses (CLI, registry compile,urirun run, MCP tools, A2A card). - [ ] README links back to the connect.ifuri.com hub page and docs.ifuri.com.
- [ ] Hub catalog entry (
connect.ifuri.com/data/connectors/<id>/manifest.json) updated and validated:curl -fsS https://connect.ifuri.com/validate-connector --data @manifest.json.
3. Connector hub (connect.ifuri.com)
- [ ]
python3 tools/build_catalog.pyregeneratesconnectors.json,registry.json,search.json,llms.txtandsitemap.xml. - [ ]
bash tests/smoke.shpasses. - [ ]
docs.ifuri.com/connectors.htmlstatus list matches the catalog (available vs planned).
4. Examples
- [ ] Numbered examples build and pass (
make test, plusmake test-fullfor11-novnc_lan_flow). - [ ] Heavy Docker examples pin image tags for reproducible CI.
- [ ] Example install/run commands reference the released runtime tag.
5. App and host docs
- [ ]
if-uri/appREADME, CHANGELOG, VERSION and theurirun @ …@<tag>pin inpyproject.tomlreflect the release. - [ ]
get.urirun.comdefaultURIRUN_REF(innode.shandhost.sh) points at the released tag — this is the installer users actually run.get.ifuri.comhosts the app download and 301-redirects/node.shto get.urirun.com. - [ ]
ifuri.comdownload copy aligned: app version is live from GitHub Releases; the urirun runtime tag is current. - [ ] Apply pins in one move with
bash if-uri/ifuri-com/scripts/apply-release-pins.sh <tag>(only after the tag is pushed), then redeploy get.urirun.com + docs.
6. Cross-repository sync
- [ ] Work summary in
if-uri/docsupdated for the release. - [ ] Roadmap entries reflect shipped vs planned work.
- [ ] All
TODO.md/CHANGELOG.mdfiles touched by the release updated.
Related
- Connectors - catalog, package shape and trust model.
- Connector authoring - build a connector package.
- Getting started - install and run a URI.