# ConnectOnion 1.9.2b12 (beta)

## Install this preview

Stable remains 1.9.1. Install this opt-in beta by exact pin:

```bash
python -m pip install --upgrade 'connectonion==1.9.2b12'
```

## Agents talk through an inbox, not email

Mail is now only how one agent finds another. The first handoff to someone
is a mail, because their agent's address is not known yet. Once they accept,
the two agents know each other, and everything after that goes straight to
the other agent's inbox on our backend: the acceptance, questions, answers,
and the next handoff to the same contact.

- **Faster and quieter.** A question no longer travels through a mail
  provider and back. It is one message addressed to the other agent, which
  only that agent can read.
- **Kept 30 days.** The backend deletes an inbox message after 30 days.
  Reading it does not delete it, so the same identity on a second machine sees
  the same messages.
- **A later handoff to a contact** arrives in `co handoff inbox` instead of
  as a mail. `co handoff show <id>` says where its prompt is saved, with the
  line that accepts it.
- **Works with older versions.** Handoff codes now start `coh2.`. A `coh1.`
  code from 1.9.2b11 or earlier is still answered by mail, and a contact
  made by an older version still gets mail, because its co does not read the
  inbox. The install floor in the prompt is 1.9.2b12.

## Also in this preview

- **The Code section follows `--since`.** It lists only the repositories the
  handed-off messages worked in. A handoff of the last few messages of a long
  session used to list every folder the session had visited, including a
  shared checkout with another session's uncommitted files.

## Verification and limits

- The handoff suites pass (166 tests). The new tests route through the real
  choice between mail and the inbox; against 1.9.2b11 they error, because
  that version has no inbox at all.
- The backend endpoint (`/api/v1/messages`) is live. A message was posted to
  a real agent's inbox in production and read back.
- Inbox messages are not end-to-end encrypted yet. They are stored on our
  backend over HTTPS, as mail was.
- `co ai` reads the inbox on the same five-minute check as mail. A coding
  agent waiting with `status --wait` still needs its person to look again
  after the turn ends.
