Releases: restatedev/restate
v1.2.0-rc.2
Restate v1.2.0-rc.2
Install
Pull the Docker images
docker pull docker.restate.dev/restatedev/restate:1.2.0-rc.2
docker pull docker.restate.dev/restatedev/restate-cli:1.2.0-rc.2Install 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.2.0-rc.2
npm install @restatedev/restate@1.2.0-rc.2
npm install @restatedev/restatectl@1.2.0-rc.2Download 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 |
v1.2.0-rc.1
Restate v1.2.0-rc.1
Install
Pull the Docker images
docker pull docker.restate.dev/restatedev/restate:1.2.0-rc.1
docker pull docker.restate.dev/restatedev/restate-cli:1.2.0-rc.1Install 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.2.0-rc.1
npm install @restatedev/restate@1.2.0-rc.1
npm install @restatedev/restatectl@1.2.0-rc.1Download 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 |
v1.2.0-alpha.1
Restate v1.2.0-alpha.1
Install
Pull the Docker images
docker pull docker.restate.dev/restate:1.2.0-alpha.1
docker pull docker.restate.dev/restate-cli:1.2.0-alpha.1Install 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.2.0-alpha.1
npm install @restatedev/restate@1.2.0-alpha.1
npm install @restatedev/restatectl@1.2.0-alpha.1Download 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 |
v1.1.6
Restate 1.1.6
IMPORTANT for SDK-Typescript users: Only when upgrading from 1.0.x to 1.1.x you MUST rediscover all the existing deployments using restate dp register <address> --force. You don't need to update the SDK, nor change the code.
IMPORTANT: If you upgraded a 1.0.x installation to version 1.1.1, please first upgrade to 1.1.2 or 1.1.3 before attempting a downgrade back to 1.0.2.
This version fixes an issue with the Kafka consumer where it could drop messages when starting to consume after the server starts, and an issue of growing memory usage over time due to oversized invoker in memory queues.
Full Changelog: v1.1.5...v1.1.6
v1.1.5
Restate 1.1.5
IMPORTANT for SDK-Typescript users: Only when upgrading from 1.0.x to 1.1.x you MUST rediscover all the existing deployments using restate dp register <address> --force. You don't need to update the SDK, nor change the code.
IMPORTANT: If you upgraded a 1.0.x installation to version 1.1.1, please first upgrade to 1.1.2 or 1.1.3 before attempting a downgrade back to 1.0.2.
This release fixes a memory leak issue related to Prometheus Histograms - memory would grow unboundedly when metrics are not scraped
Full Changelog: v1.1.4...v1.1.5
v1.1.4
Restate 1.1.4
IMPORTANT for SDK-Typescript users: Only when upgrading from 1.0.x to 1.1.x you MUST rediscover all the existing deployments using restate dp register <address> --force. You don't need to update the SDK, nor change the code.
IMPORTANT: If you upgraded a 1.0.x installation to version 1.1.1, please first upgrade to 1.1.2 or 1.1.3 before attempting a downgrade back to 1.0.2.
This release contains a small quality of life improvement from main while we work on the next minor release.
What's Changed
- You may now provide Accept: application/json to the :9070/query endpoint to receive rows in JSON format.
Full Changelog: v1.1.3...v1.1.4
v1.1.3
Restate 1.1.3
IMPORTANT for SDK-Typescript users: Only when upgrading from 1.0.x to 1.1.x you MUST rediscover all the existing deployments using restate dp register <address> --force. You don't need to update the SDK, nor change the code.
IMPORTANT: If you upgraded a 1.0.x installation to version 1.1.1, please first upgrade to 1.1.2 or 1.1.3 before attempting a downgrade back to 1.0.2.
This release contains various cherry picked fixes and quality of life improvements from main while we work on the next minor release.
What's Changed
- Docker images now contain curl for easier health checking (#2006)
- The admin role no longer assumes that the node svc port is 5122 (#2038)
- Various otel improvements including exporting spans for ctx.run operations (#2291)
- HTTP ingress path information including query string is now available as a special header (#2315)
- Kafka ingress now supports talking to brokers over TLS, via a statically linked openssl library (#2292)
Full Changelog: v1.1.2...v1.1.3
v1.1.2
Restate 1.1.2
IMPORTANT for SDK-Typescript users: Only when upgrading from 1.0.x to 1.1.x you MUST rediscover all the existing deployments using restate dp register <address> --force. You don't need to update the SDK, nor change the code.
IMPORTANT: If you upgraded a 1.0.x installation to version 1.1.1, please first upgrade to 1.1.2 before attempting a downgrade back to 1.0.2.
This release contains an important compatibility update for anyone running Restate 1.1.1. Our versioning policy is to maintain rollback ability to the last minor version; Restate 1.1.1 broke this promise by shipping an upcoming feature called called log-server by default.
Please see the new Upgrading section on the Restate website for more information about version updates in general: https://docs.restate.dev/operate/upgrading.
If you are running Restate 1.0.x
We recommend that you upgrade directly to 1.1.2 (or the latest available patch release), and specifically to avoid 1.1.1.
If you are already running Restate 1.1.1
Please upgrade to 1.1.2 and delete the directory ${base_dir}/${node_name}/log-store to avoid issues with future upgrades. To avoid a crash on startup, please upgrade to 1.1.2 before attempting a downgrade back to 1.0.2.
What's Changed
- [Security] Bump quinn crate version by @pcholakov in #1965
- [Networking Add ability to register raw handlers in message router by @AhmedSoliman in https://github.com//pull/1957
- Kafka perf improvements by @slinkydeveloper in #1964
- Make sure we don't send the awakeable completion twice by @slinkydeveloper in #1973
- Disable log-server role by default to fix v1.0.x compatibility by @AhmedSoliman in #1974
Full Changelog: v1.1.1...v1.1.2
v1.1.1
Restate 1.1.1
IMPORTANT for SDK-Typescript users: Only when upgrading from 1.0.x to 1.1.x you MUST rediscover all the existing deployments using restate dp register <address> --force. You don't need to update the SDK, nor change the code.
This is a bug fix release which corrects an issue making the sys_invocation_state introspection table inaccessible (#1961).
What's Changed
- [Bifrost] Moves LogletOffset to restate-types by @AhmedSoliman in #1927
- [Networking] Allow sending messages through Outgoing by @AhmedSoliman in #1928
- [Bifrost] Move Record to restate-types by @AhmedSoliman in #1929
- use opentelemetry to separate services from runtime traces by @muhamadazmy in #1922
- Fix state_machine teardown in tests by @AhmedSoliman in #1941
- Update release checklist doc by @pcholakov in #1930
- [Bifrost] Move TailState to restate-types by @AhmedSoliman in #1933
- PolyBytes serde by proxy by @AhmedSoliman in #1935
- Testing helpers for networking by @AhmedSoliman in #1936
- Report roles and address on startup by @AhmedSoliman in #1937
- [LogServer] Initial implementation for store path by @AhmedSoliman in #1938
- [LogServer] Support for seal by @AhmedSoliman in #1939
- [LogServer] GetTailInfo message by @AhmedSoliman in #1942
- Add loadtest environment CDK stack by @pcholakov in #1946
- [TestEnv] supporting routing responses back to callers by @muhamadazmy in #1947
- [LogServer] GetRecords basic implementation by @AhmedSoliman in #1944
- [LogServer] Reject stores with no records by @AhmedSoliman in #1945
- [LogServer] Support for trimming loglets by @AhmedSoliman in #1951
- [LogServer] GetLogInfo replaces GetTailInfo by @AhmedSoliman in #1952
- [ReplicatedLoglet] Define Append Messages by @AhmedSoliman in #1956
- [ReplicatedLoglet] ReplicationProperty is failure-domain-aware by @AhmedSoliman in #1959
- Let MultiplexedInvokerStatusReader share state by @tillrohrmann in #1962
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Restate 1.1.0
IMPORTANT for SDK-Typescript users: Only when upgrading from 1.0.x to 1.1.x you MUST rediscover all the existing deployments using restate dp register <address> --force. You don't need to update the SDK, nor change the code.
Notable changes:
- Restate now sets the
x-restate-invocation-idheader when making service invocations to support load balancers implementing "sticky" routing - Improved forward- and backward-compatibility checks with data store on service startup
- When discovering
httpsservice deployments, now both HTTP/1.1 and HTTP/2 are supported, with negotiation performed using ALPN. When discoveringhttpdeployments, HTTP/2 prior knowledge is assumed, but you can override it to use HTTP/1.1 by passing the--use-http1.1flag torestate deployments register. - We now publish a Docker image
restatedev/restate-clicontaining therestateCLI tool (#1758) - Restate CLI and SQL interface now contain several additional fields to improve debugging your service invocations.
Notable bug fixes:
- Service-to-service invocations will now correctly propagate headers
- Tracing context header injection at the Restate ingress endpoint works as expected
Infrastructure updates:
- Forward compatibility with the upcoming Service Invocation Protocol V2, enabling granular retry policies
- Introduces the
restatectladministrative tool which helps operators manage Restate cluster configuration - Foundational work on the Restate distributed log and data partitioning for upcoming distributed deployment support
What's Changed
- Fix pinned_deployment_id is printed incorrectly in SQL by @slinkydeveloper in #1612
- [RocksDb] Fixing RocksDbPerfGuard's semantics and performance by @AhmedSoliman in #1606
- Use GET for service discovery by @slinkydeveloper in #1613
- Fix panics datafusion by @slinkydeveloper in #1618
- Update compatibility map to include 1.0.0 as a new breaking version by @tillrohrmann in #1616
- Check for backward compatibility when validating the cluster marker by @tillrohrmann in #1619
- [config] Adds invoker segment queue limit to configuration file by @AhmedSoliman in #1622
- Unify mocks and test-util feature in crates by @tillrohrmann in #1627
- Use different directories for cluster marker tests by @tillrohrmann in #1628
- [CLI] Bootstrapping restatectl admin command line by @AhmedSoliman in #1625
- Lazily calculate value when using StyledTable::add_kv_row_if and predicate is true by @tillrohrmann in #1632
- feat: update pgwire to latest release by @sunng87 in #1634
- Generate documentation of SQL tables by @slinkydeveloper in #1623
- Delete the node dir when wiping all by @tillrohrmann in #1630
- Let shuffle always use get_next_message to support holey outboxes by @tillrohrmann in #1640
- Support http1 for request-response protocol deployments by @jackkleeman in #1232
- [restatectl] dump cluster-state by @AhmedSoliman in #1638
- Update rocksdb dependency by @AhmedSoliman in #1653
- CLI should respect that not just virtual objects are stateful by @jackkleeman in #1656
- [reorg] Stage 1 by @AhmedSoliman in #1643
- [reorg] Stage 2 by @AhmedSoliman in #1644
- [Housekeeping] Upgrade toolchain and deps by @AhmedSoliman in #1645
- Fix erroneous enable of test-util by @AhmedSoliman in #1647
- [LogServer] Stub log server service by @AhmedSoliman in #1652
- Replace clean-runner with jlumbroso/free-disk-space by @tillrohrmann in #1657
- Remove empty line which breaks the help message description by @tillrohrmann in #1658
- Only emit admin API incompatibility warning if cluster is running by @tillrohrmann in #1659
- Fix underflow in Millis/Nanos SinceEpoch elapsed by @AhmedSoliman in #1663
- [invoker] Add x-restate-invocation-id header by @igalshilman in #1670
- [Bifrost] minor cleanups by @AhmedSoliman in #1664
- MetadataBuilder to untangle shared metadata construction by @AhmedSoliman in #1665
- Updateable is now Live by @AhmedSoliman in #1668
- Schemas -> Live by @AhmedSoliman in #1671
- Support http2 request-response endpoints (forwardport) by @jackkleeman in #1674
- Remove two default imports from datafusion dependency by @jackkleeman in #1679
- [Bifrost] Eager providers initialization by @AhmedSoliman in #1681
- OpenDB is async and BoxedLiveLoad by @AhmedSoliman in #1682
- [Bifrost] ReplicatedLoglet bifrost stubs by @AhmedSoliman in #1683
- Start ingress only after all partitions have a leader by @tillrohrmann in #1686
- [CLI] Emit correct row count from CLI sql subcommand JSON mode by @pcholakov in #1685
- [Bifrost] Tail semantics change by @AhmedSoliman in #1689
- [Bifrost] Chain and Log metadata improvements by @AhmedSoliman in #1691
- [Bifrost] Logs metadata builder and multi-segment finder by @AhmedSoliman in #1693
- Update leader election protocol by @tillrohrmann in #1694
- Port invoker and a couple of other modules to Hyper 1.0/HTTP 1.0 by @slinkydeveloper in #1716
- Add missing fedora local dev env protobuf dependency by @aradwann in #1728
- Sync nodes configuration if node from the future connects by @tillrohrmann in #1699
- Show invocation completion in CLI by @slinkydeveloper in #1719
- Update aws deps in service-client by @jackkleeman in #1734
- Use http 1.x/hyper 1.x in admin API and part of CLI by @slinkydeveloper in #1733
- Fix bug in
IdempotencyId::combinethat prevented correct storing of idempotency key in idempotency table by @slinkydeveloper in #1723 - [Bifrost] Decouples loglet dependencies from bifrost by @AhmedSoliman in #1704
- [Bifrost] Decouple loglet errors from bifrost errors by @AhmedSoliman in #1705
- [Bifrost] Base seal tests and implements seal() on memory loglet by @AhmedSoliman in #1717
- [Bifrost] Implements seal() for LocalLoglet by @AhmedSoliman in #1718
- [Bifrost] Init single-node loglets with random loglet ids by @AhmedSoliman in #1720
- [Bifrost] rename bifrost read functions by @AhmedSoliman in #1722
- [Bifrost] read correctly handles seal and tail instability by @AhmedSoliman in #1725
- [Bifrost] Improve merge operator performance by coalescing metadata updates by @AhmedSoliman in #1726
- Update workspace file by @slinkydeveloper in #1738
- Pass through headers in service to service calls by @jackkleeman in #1741
- Bump datafusion dependency to 35.0.0-object-store by @tillrohrmann in #1750
- Replace hyper 0.14 with reqwest and http 1.1 in benchmarks by @tillrohrmann in #1740
- Update metadata-store crate to use prost 0.13, tonic 0.12 and hyper 1.4 by @tillrohrmann in #1746
- Bump prost and tonic dependency to 0.13.1 and 0.12.1 respectively by @tillrohrmann in #1748
- Request metadata updates from peers by @tillrohrmann in #1700
- Update CLI hyper/http dependencies by @jackkleeman in #1739
- [Bifrost] Watch tail updates by @AhmedSoliman in #1743
- [Bifrost] Read stream support multi-segment logs by @AhmedSoliman in #1744
- [Bifrost] Introduces SegmentIndex to identify segments in the log chain by @AhmedSoliman in https://g...