Skip to content

v1.7.13

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Oct 17:06
5ab87a6

Restate v1.7.13

Restate v1.7.13 fixes Virtual Object state consistency across replicas when using VQueues, improves graceful handling of HTTP/2 connection shutdowns, and adds a configurable RocksDB write rate limiter mode for bursty workloads.

🛠️ Consistent State Changes Across Replicas

With VQueues enabled, Virtual Object state changes made through the Admin API could be applied on the partition leader but skipped by followers. After a leader change, the Virtual Object could then continue with its old state.

State changes are now applied on all partition replicas. This includes changes made through POST /services/{service}/state and the restate state edit, patch, and clear commands.

Upgrade guidance: Only clusters with a replication factor greater than 1 that used the state API while VQueues were enabled are affected. If this applies to you, re-submit the state of the affected Virtual Objects after upgrading—for example, with restate state edit—to bring all replicas back in line.

Related: #5416

🔌 Graceful HTTP/2 Connection Shutdowns

When a service endpoint sent a graceful HTTP/2 GOAWAY, Restate could cancel the connection and interrupt unrelated in-flight invocations.

Restate now drains the connection gracefully: in-flight invocations complete, and new requests are retried on another connection.

No configuration or migration is required.

Related: #5311

⚡ Configurable RocksDB Write Rate Limiter

The new rocksdb-write-rate-limiter-mode option controls how the write rate limit is applied to RocksDB flushes and compactions:

  • auto-tuned (default): Preserves existing behavior. The rate adapts to recent demand, starting as low as 1/20 of the configured maximum and taking minutes to ramp up.
  • fixed: Makes the full configured maximum available immediately, without ramp-up.

If you experience write stalls under bursty load, use fixed mode with a rocksdb-max-write-rate-per-second value your storage device can sustain. For example:

rocksdb-max-write-rate-per-second = "2400 MiB"
rocksdb-write-rate-limiter-mode = "fixed"

Restart the node for the setting to take effect. Existing deployments retain the default auto-tuned behavior unless explicitly configured otherwise.

Related: #5408

📖 Full Release Notes

Install

Pull the Docker images

docker pull docker.restate.dev/restatedev/restate:1.7.13
docker pull docker.restate.dev/restatedev/restate-cli:1.7.13

Install prebuilt binaries via Homebrew

brew install restatedev/tap/restate-server
brew install restatedev/tap/restate
brew install restatedev/tap/restatectl

Install prebuilt binaries into your npm project

npm install @restatedev/restate-server@1.7.13
npm install @restatedev/restate@1.7.13
npm install @restatedev/restatectl@1.7.13

Download 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