Skip to content

Releases: restatedev/sdk-rust

v0.5.0

29 Apr 13:52
Compare
Choose a tag to compare

What's Changed

Schema generation

By enabling the optional dependency schemars, the SDK will generate and propagate JSON schemas of your handlers input/output, which will be available in the generated OpenAPI and in the Restate Playground. For more details on the schema generation, and info on how to tune it, check the https://docs.rs/restate-sdk/latest/restate_sdk/serde/trait.PayloadMetadata.html documentation.

Thanks to @hxphsts for the contribution!

New restate-sdk-testcontainers module

We've released a first version of the testcontainers integration, that simplifies testing locally your restate service. Check https://github.com/restatedev/sdk-rust/blob/main/testcontainers/tests/test_container.rs for a full example.

Thanks to @kpwebb for the contribution.

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

v0.4.0

09 Apr 17:08
Compare
Choose a tag to compare

We're pleased to announce the release of Rust SDK 0.4.0, in combination with Restate 1.3.
Check out the announcement blog post for more details about Restate 1.3 and the new SDK features: https://restate.dev/blog/announcing-restate-1.3/

This SDK introduces the following new APIs:

Rust SDK 0.4.0 can be used in combination with Restate 1.3 onward.

Full changelog

New Contributors

Full Changelog: v0.3.2...v0.4.0

v0.3.2

05 Dec 10:07
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.3.0...v0.3.2

v0.3.0

10 Sep 07:17
Compare
Choose a tag to compare

Breaking changes

  • The ctx.run API now does not require name as first parameter anymore
  • Renamed Endpoint.with_service to Endpoint.bind
  • This SDK is compatible only with Restate >= 1.1

New features

What's Changed

Full Changelog: v0.2.0...v0.3.0

v0.2.0

22 Aug 08:12
Compare
Choose a tag to compare

New features

  • Generated clients from the respective service/object/workflow macros. To use them, just use context.service_client::<MyTraitClient>() et al.
  • You can now use the hyper integration alone, without using our HttpServer that depends on tokio, by enabling the feature hyper and disabling the feature http_server
  • Now the context methods are defined in traits
  • Add ctx.rand() and ctx.rand_uuid() for deterministic random number/uuid generation
  • Add ctx.headers() and ctx.headers_mut() to access the ingress headers
  • Add identity verification

Breaking changes

  • Renamed HyperServer to HttpServer
  • Removed context send, send_delay and call, replaced with ctx.request(..).send() and ctx.request(..).call() (in future this Request struct will allow to configure some parameters of the request, such as headers)

Full Changelog: v0.1.0...v0.2.0