Rust SDK 0.9.0



  • Added a new fastly::secret_store module for use with the new Fastly Secret Store.
  • Added support for enabling or disabling reuse of connections for the experimental dynamic backend interface. The default is to reuse connections. Connection reuse is at the discretion of the server running the service.


  • Streaming bodies must now be explicitly finish()ed in order to be properly framed. The default behavior on drop for StreamingBody or StreamingBodyHandle now can yield an error to the recipient of the message (the client requesting the response, or the backend receiving a request). This is a breaking change for all current uses of these types, and prevents situations where errors or premature exits from Compute programs could cause incomplete transfer-encoding: chunked bodies to appear complete despite being truncated.
  • Request::with_header() has been changed to have appending behavior rather than set behavior. As a result, chained invocations of with_header() will add multiple versions of the same header to the request, just like Request::append_header(). Users that prefer the old behavior should use Request::with_set_header(), instead.
  • Documentation on backend creation has been extended, to make it clear how to tell if a service supports dynamic backends.
  • The arguments to BackendBuilder::new and BackendBuilder::override_host have ben standardized to impl ToString, to match the other functions in the file.
  • LookupError and OpenError enums for config stores are now #[non_exhaustive].
  • Improved error messages when some resource limits are exceeded.


  • Removed the migration guide Rustdoc for SDKs earlier than 0.6.0.
  • Removed deprecated aliases from Request, RequestHandle, and Response.
  • Removed the deprecated legacy items from fastly-sys.
  • Removed deprecated aliases from fastly-shared.

Prior change: JavaScript SDK 1.2.0

Following change: Rust SDK 0.9.1