---
title: Rust SDK 0.2.0-alpha3
summary: null
url: >-
  https://www.fastly.com/documentation/reference/changes/2020/03/rust-sdk-0.2.0-alpha3
---

## Added

- Added `request::downstream_tls_cipher_openssl_name()` and `request::downstream_tls_protocol()` to get basic TLS metadata for the downstream client request. These functions both return strings for the moment, but we will be evolving to more structured metadata in future releases.

- Added some checks to make sure backend requests are sent with complete URIs and valid backend names, returning with an error before trying to send if validation fails. Previously, this would fail outside of the WebAssembly program, making debugging more obscure.

- Added a `FromStr` implementation for `Backend`, allowing them to be `parse`d directly from a string. For example:

```rust
let backend = "exampleOrigin".parse::().unwrap();
```

## Changed

- Changed from blanket `RequestExt` and `ResponseExt` implementations for `AsRef<[u8]>` to implementations on specific concrete types. This includes a new implementation for `()` to represent an empty body, as well as all of the "stringy" types from the standard library like `String`, `&str`, `Vec<u8>`, and `&[u8]`.
