Releases: TerseAI/durable-actors
Release list
Durable Actors 0.7.10
WebSockets now remain connected at the gateway while idle actor sandboxes shut down. The next application message wakes a replacement sandbox.
- Default to 32,768 connections per actor, with maintained counts and connection lists fetched on demand.
- Add connection tags, metadata, automatic gateway replies, and optional dedicated WebSocket gateways.
- Preserve close metadata, handle partial gateway inventories, and retry host transitions only when execution is known not to have started.
- Keep rejected connections out of connect-handler broadcasts.
- Simplify WebSocket configuration documentation.
- Rename the concurrency decorators to
Interleave(TypeScript) andinterleave(Python); update actor imports and annotations.
The executor protocol is now 23. Deploy the matching runtime and SDK together; there is no legacy protocol mode.
Included in PR #153. The capacity results documented there were measured on the earlier benchmark source, not this final release commit.
Durable Actors 0.7.9
This release includes #146, bounding storage transfer memory and accelerating actor recovery.
- Spill large storage payloads to temporary files and buffer transfers in 256 KiB chunks.
- Index archived history and coalesce range reads to avoid downloading entire ownership epochs during recovery.
- Restore live Rapid ranges over gRPC and support larger append records.
- Default actor sandboxes to one CPU and provision bounded ephemeral storage. Explicit CPU overrides remain respected.
The TypeScript and Python SDKs, observer, native runtimes, container image, and Helm chart are versioned together at 0.7.9.
Durable Actors 0.7.8
Improve actor restoration with full SQLite checkpoints, bounded archive recovery, and checkpoint progress tracking. Give shutdown archiving and checkpointing a bounded drain period with ownership renewal. Include resume diagnostics and the independently validated terse-ltx compatibility fixes.
Durable Actors 0.7.7
WebSocket grants now return a signed gateway URL without waiting for actor activation. The gateway resolves the actor when the client connects and preserves the original authorization deadline.
Socket authorization and authorized socket effects check persisted ownership without fetching actor snapshots. Actor, host, session, epoch, and lease checks remain enforced.
No client application changes are required. Cold actor startup still occurs before the WebSocket handshake completes.
Changes: #139
Durable Actors 0.7.6
Actor writes continue acknowledging after both Rapid replicas flush. Standard archival now runs in background batches, triggered by 16 MiB or 10 seconds by default. Configure the triggers through DURABLE_ACTORS_ARCHIVE_BATCH_BYTES / DURABLE_ACTORS_ARCHIVE_BATCH_INTERVAL_MS or Helm storage.rapid.archiveBatchBytes / storage.rapid.archiveBatchIntervalMs.
The runtime uses immutable archive batches, bounded buffering with Rapid catch-up reads, asynchronous stream rotation, and cleanup after complete archival. Recovery combines validated Standard batches with the Rapid tail. A concurrency fix lets a lagging archiver recognize work already completed by cleanup instead of retrying deleted Rapid objects.
This release also avoids remote reads for validation of the latest committed parent snapshot and includes the current production capacity defaults: two control-plane replicas and an enabled 32-slot GKE capacity buffer.
Durable Actors 0.7.5
What's Changed
- Thomas/ter 756 update readme for tik tok brain by @tekaratzas in #129
- Use persistent Rapid append logs for actor state by @oliviersm199 in #130
- Remove persistence docs and experiment results requested in review by @oliviersm199 in #131
- Unify actor persistence on SQLite with managed Litestream IPC by @oliviersm199 in #105
- Update README.md by @oliviersm199 in #133
- Prepare 0.7.5 release and fix Rapid SQLite test fixtures by @oliviersm199 in #134
Full Changelog: v0.7.4...v0.7.5
Durable Actors 0.7.4
Allow actor sessions to last up to five minutes across the runtime, TypeScript SDK, and Python SDK. Sessions remain bounded by the application's authorization deadline and configured JWT lifetime; delegated host tickets cannot outlive the session.
SDKs reuse valid sessions after idle periods and renew near expiry.
Durable Actors 0.7.3
Improvements
- Group observer invocation timelines by method and actor instance.
- Show request details in a shadcn drawer.
Full changelog: v0.7.2...v0.7.3
Durable Actors 0.7.2
Raise the default actor sandbox CPU request and limit from 0.25 to 0.5 cores to reduce Bun startup throttling. Runtime and Helm defaults now agree; explicit CPU overrides remain supported and the default memory allocation remains 256 MiB.
Includes configuration documentation updates and regression coverage for default and overridden CPU settings.
Durable Actors 0.7.1
Release the merged invocation waterfall and replica fallback changes from #119 and #120.
- Add actor invocation timing details and compact instance views.
- Persist writes to the archive when replica capacity is unavailable, then restore replicas from verified checkpoints.
- Spread default actor compute, storage replicas, and application control-plane instances across three zones. Existing installations must provision multi-zone nodes and update their deployment overrides.
This release contains no unmerged local changes and retains the current 0.25 CPU default.