Restate v1.6.0 π
β¨ Release Highlights
βΈοΈ Pause and Resume for Invocations
Gain explicit control over invocation execution! You can now manually pause running invocations and resume them later β even on a different deployment. Invocations now pause by default when max retries are exhausted, giving you time to investigate issues before deciding to resume, restart, or kill.
# Pause a stuck invocation
restate invocations pause <invocation_id>
# Resume when ready (optionally on a different deployment)
restate invocations resume <invocation_id> --deployment latestπ Restart Invocation from Journal Prefix
Preserve your expensive work when restarting invocations! Keep completed calls, sleeps, and side effects instead of re-executing everything from the beginning. Perfect for recovering from issues without losing progress.
π Deployment Registration Improvements
Safer and more robust deployment workflows:
- Idempotent registration β re-registering the same deployment returns HTTP 200 β
- Default
force=falseβ better protection against accidental overwrites - New
breakingflag β allow breaking changes while still protecting against accidents - Update Deployment API β fix tokens or rotate credentials without re-deploying
π§ Memory Management Improvements
Better performance with a lower memory footprint out of the box:
- Automatic partition store memory balancing across all active partitions
- Optimized RocksDB defaults (2 GiB total, 85% memtables)
- Reduced query engine memory usage
π Error Events Enabled by Default
Better observability for debugging invocations! When invocations encounter transient failures, Restate now automatically records detailed error information in the journal β visible in the UI invocation timeline and queryable via SQL. See exactly why invocations are failing during retries, including error codes, messages, stacktraces, and the related command that caused the failure.
βοΈ Expanded Cloud Provider Support
Simpler cloud deployments with native integrations for AWS, Azure, and GCP:
- DynamoDB Metadata Store β run Restate on AWS without the metadata-server role, leveraging DynamoDB for managed metadata storage with automatic scaling and high availability
- Azure Blob Storage & Google Cloud Storage snapshots β store partition snapshots natively in Azure (
az://) or GCS (gs://), in addition to Amazon S3
π More New Features
restate upcommand β spin up a local Restate server for development with a single command! π- Kafka SASL OAUTHBEARER/OIDC β connect to Confluent Cloud, Amazon MSK, and Azure Event Hubs π
- Unix Domain Sockets β the server now listens on both TCP and Unix sockets by default π
- Batch invocation operations β operate on hundreds of invocations at once with progress bars π
β οΈ Important Breaking Changes
Deprecated SDK Versions Now Rejected
New invocations will be rejected for services using deprecated SDK versions:
- Java/Kotlin < 2.0
- TypeScript <= 1.4
- Go < 0.16
- Python < 0.6
- Rust < 0.4
Existing in-flight invocations continue normally. See migration guidance β
Retry Policy Configuration Migration
The deprecated worker.invoker.retry-policy has been removed. Migrate to invocation.default-retry-policy. Invocations now pause by default when max attempts are reached.
Helm Chart Resource Limits Increased
Default resource limits increased to 8Gi memory / 4 CPU. Check your cluster has sufficient resources before upgrading.
Install
Pull the Docker images
docker pull docker.restate.dev/restatedev/restate:1.6.0
docker pull docker.restate.dev/restatedev/restate-cli:1.6.0Install prebuilt binaries via Homebrew
brew install restatedev/tap/restate-server
brew install restatedev/tap/restate
brew install restatedev/tap/restatectlInstall prebuilt binaries into your npm project
npm install @restatedev/restate-server@1.6.0
npm install @restatedev/restate@1.6.0
npm install @restatedev/restatectl@1.6.0Download binary archives
| File | Platform | Checksum |
|---|---|---|
| restate-server-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| restate-server-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| restate-server-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| restate-server-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
| restate-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| restate-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| restate-cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| restate-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
| restatectl-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| restatectl-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| restatectl-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| restatectl-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |