Skip to content

Contributing

Releases

How changes reach pooled.run, how to get a preview of a branch, and how a release is cut.

Every merge to main deploys pooled.run. Other branches deploy nothing unless a commit message contains [preview]; then they get a public preview at https://pooled-git-<branch>-nehanths-projects.vercel.app. The details are in Deploying the site.

  1. Put [preview] anywhere in a commit message and push.
  2. Wait for the bot’s comment on the PR, or find the deployment in Vercel.
  3. Check the deployment’s commit before you trust what it shows.
  4. Test the room at /room, not /p2p.html. /p2p.html redirects to /room.

A preview is also how you test on a real iPhone, since iOS gives WebGPU only to https pages.

Git tags mark milestones people can cite. The current release is v1.0.0.

  1. All GPU tests pass on the maintainer’s hardware (npm run test:gpu, npm run test:q38). The no-GPU checks pass too: npm test, npm run e2e:code and node tests/e2e/preview_browser.mjs.

  2. docs/bench-log.md has a row for every performance change since the last tag.

  3. In CHANGELOG.md, move Unreleased into a dated section. Bump version in package.json and CITATION.cff.

  4. Tag it and push the tag:

    git tag -a v1.1.0 -m "..." && git push --tags
  5. Merge to main. Vercel deploys production. Use a manual npx vercel deploy --prod only in an emergency.

A change to the room protocol bumps the minor version. The protocol number itself is PROTOCOL in room/transport.js. Tabs on different protocol versions refuse each other with a message that says who should reload.

@pooled/cli has its own version in cli/package.json and is published to npm separately. Its changes still go into CHANGELOG.md.

vercel.json permanently redirects swarmllm.ai, www.swarmllm.ai and www.pooled.run to the same path and query on pooled.run, so old join links like swarmllm.ai/r/ABCD?signal=... still work. Don’t remove these rules. (Weights cached on swarmllm.ai download again on pooled.run: browser storage is per site.)