Skip to content

Releases: restatedev/restate

v0.7.0

14 Jan 19:10
Compare
Choose a tag to compare

Restate 0.7.0 is here 🎉

The latest Restate release comes with a ton of new useful features for you. Enjoy the release and give us feedback on discord to further improve Restate!

New features

  • The Restate CLI is here. It provides a much simpler interaction with a running Restate server and advanced introspection and observability of what is happening.
  • We are now offering project templates with which you can get a Restate project bootstrapped with a single command via the CLI: restate examples typescript-hello-world-lambda.
  • Stopping running invocations which are no longer of interest or stuck is now possible with invocation cancelations and invocation killings. Cancelations even allow to keep your system state consistent by running compensations.
  • Deploying Restate to the cloud with one click via restate-cdk. Learn more about Restate's CDK support.

Notable improvements

  • We are now offering new ways to install Restate's CLI and server:
    • CLI
      • via Homebrew: brew install restatedev/tap/restate
      • via npx: npx @restatedev/restate
    • Server
      • via Homebrew: brew install restatedev/tap/restate-server
      • via npx: npx @restatedev/restate-server
    • Check out our new download page for more information.
  • We started improving Restate's performance which lead to noticeable throughput improvements.

Breaking changes

The new release contains a few breaking changes which require you to start the server with a clean storage directory.

  • Extending the Restate protocol to make it support future use cases
  • Fixing a problem in the timer keys which lead to wrong binary orderings
  • Renaming service endpoints to service deployments which led to new REST paths

Full Changelog: v0.6.0...v0.7.0

v0.6.0

13 Dec 11:16
5c45df3
Compare
Choose a tag to compare

Breaking changes

  • Due to some breaking changes to the metadata storage format, we recommend existing users to start with a new cluster and wipe all existing state.
  • We have restricted the service key format for keyed services to only string keys. If you have any feedback about this change, let us know here #955

New features

Notable changes

  • Now the Admin API expose more metadata about service endpoints.
  • Improved DELETE /invocations/:id command

We've also included some bug fixes and small improvements.

Enjoy!

Full Changelog: v0.5.1...v0.6.0

v0.5.1

02 Dec 16:04
9be98c5
Compare
Choose a tag to compare

Fixes

  • Enable the strictest sync mode for RocksDB's WAL.
  • Extend sys_status and sys_invocation_state with endpoint_id to make tables more expressive

Full Changelog: v0.5.0...v0.5.1

v0.5.0

18 Nov 16:46
Compare
Choose a tag to compare

Breaking changes

  • Due to some breaking changes to the metadata storage format, we recommend existing users to start with a new cluster and wipe all existing state.

New features

We've also included some bug fixes and small improvements.

Enjoy!

Full Changelog: v0.4.0...v0.5.0

v0.4.0

24 Oct 14:32
Compare
Choose a tag to compare

Breaking changes

New features

  • You can now provide an idempotency key when sending requests to Restate from an external client. This allows to implement end-to-end exactly once processing of requests. See https://docs.restate.dev/services/invocation#invoke-a-service-idempotently.
  • The introspection SQL interface has been expanded with two new tables:
    • sys_invocation_state to inspect the status of in-flight invocations.
    • sys_journal to inspect the invocation journal.
  • External ingress invocation traces now have client socket info

Among the other changes, we've also included a plethora of bug fixes and small improvements.

Enjoy!

Full Changelog: v0.3.0...v0.4.0

v0.3.0

21 Sep 15:31
e7c4339
Compare
Choose a tag to compare

Breaking changes

Due to some breaking changes to the storage format, we recommend existing users to start with a new cluster and wipe all existing state.

Changes

  • New feature: Add Kafka ingress, to read events from Kafka directly in restate services. Check the documentation https://docs.restate.dev/services/sdk/kafka for more details.
  • New feature: Now you can use the function key_to_json in SQL queries to convert the service key to json
  • Improvements: Now GET /service in the Admin API returns more metadata about service methods
  • Various fixes

Full changelog: v0.2.1...v0.3.0

v0.2.1

26 Aug 19:19
3c3c3b7
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.2.0...v0.2.1

v0.2.0

23 Aug 14:18
e819993
Compare
Choose a tag to compare

Breaking changes

Due to the amount of breaking changes, we recommend existing users to start with a new cluster and wipe all existing state. This release is compatible only with SDK versions starting from 0.2.0 (using the new versioning scheme).

Changes

  • Breaking: Invocation identifiers and Awakeable identifiers now have a new string format, they are shorter and bounded (both around ~30 characters). You can safely include these identifiers in path parameters, or in headers, without any risk to hit size limits. Awakeable identifiers created with a previous release are not compatible with this release.
  • New feature: Implement the dev.restate.Awakeables built-in service, to complete awakeables directly from the ingress
  • New feature: Added support to reject Awakeables, that is completing an awakeable with a failure value.
  • New feature: Added GET /endpoints in the admin api to retrieve the list of registered endpoints
  • Breaking: Modified the DELETE /invocations in the admin api to accept the id of the invocation as path parameter: DELETE /invocations/:invocation_id
  • Breaking: Modified the PartitionKey type to u64
  • Various fixes

Full Changelog: v0.1.7...v0.2.0

v0.1.7

07 Aug 19:08
3e1fa14
Compare
Choose a tag to compare

Overview

  • Adding support for querying the storage via SQL. This allows getting access to the state and status table of the system which helps understanding and debugging the system.

What's Changed

Full Changelog: v0.1.6...v0.1.7

v0.1.6

14 Jul 10:20
d30cb1b
Compare
Choose a tag to compare

Overview

  • Tracing improvements. Now the traces will look more natural, as if they're published by services. Look at the documentation to configure observability.
  • (Breaking) Upgrade and versioning of services. Registering services now works differently, and supports different service revisions. For more details, look at the documentation.

What's Changed

Full Changelog: v0.1.5...v0.1.6