S3DAT NEWS
· 19 stories RSS s3dat.com

Cloudflare Agents adopts Pi 1.5 with a one-way conversation migration

Cloudflare released Agents 0.33.0 on November 3 with Pi 1.5 support. Developers using its Pi integration face a conversation-format migration that prevents returning upgraded conversations to the previous version.

Spec sheet

Cloudflare release
Agents 0.33.0
Pi Durable
1.5.0, November 2
Progress persistence
1,000 ms default; 0 stores every update

The upgrade changes the application interface

The breaking changes apply to users of the Pi harness, Pi model adapter or Pi tools. Cloudflare directs them to update the Pi packages and add pi-schema. Session consumers replace events() with watch(), rendering the current conversation view when it changes. Older transcript entries are retrieved separately. Tool schemas also move away from pi-ai’s TypeBox export. The new object schema rejects unlisted properties unless explicitly opened. Session retry calls and parked-state handling disappear. Applications continue an unanswered conversation through continue(), without adding another message. These are changes to the integration code as well as the stored conversation format.

Immediate display and durable storage separate

Pi Durable’s November 2 changelog explains the storage trade-off behind the update. Partial answers and running tool output appear immediately in live views, while persistence waits for dependent work or the configured deadline. The default crash-loss window grows from roughly one hundred milliseconds to one second. Setting the interval to zero restores per-update persistence and its write cost. Custom storage adapters also receive batches instead of individual commits. Each batch remains atomic. When a consistency check refuses a batch, earlier accepted batches remain stored and later ones are skipped. A database or input/output failure instead rejects the call as an uncertain outcome, rolling back what the backend can. The changelog distinguishes these failures because adapters must report accepted work accurately. A receipt is delivered for each stored batch, in order, before the next storage call starts.

Recovery does not repeat every tool

Cloudflare’s current recovery documentation describes how the updated harness behaves after eviction or failure. A heartbeat checks active work every thirty seconds and restarts a crashed object from its last checkpoint. A streaming model request counts as a failed attempt and follows retry policy. Tools marked safe for replay run again; other interrupted tools return an interruption to the model instead. Repeated crashes eventually end the affected task, with five consecutive interruptions as the default limit. Tool failures can then be shown to the model while its run continues. A model request reaching that limit leaves the run unanswered. Separately, defaults.maxTurns applies only to new sessions and counts tool rounds. At the limit, the current round’s tools finish before the run ends. Existing sessions do not inherit later changes to that default. The documented recovery behavior therefore distinguishes failed model work, interrupted tool work and exhausted run limits.

Claim check

  • Confirmed Pi 1.5 conversations cannot reopen under Pi 1.4. [1]
  • Confirmed Pi Durable does not yet provide a tool-call approval or permission step. [3]

Sources