AWS SDK for Rust
Another big release! See the CHANGELOG for the full details.
A long overdue release. It's been 2 months since our last. We got in some great new features and some important bug fixes, so hopefully it's worth the wait. Many thanks to everyone who contributed.
Major highlights include:
Read
trait.
See the S3 integration tests for an example
Custom
Region, so you can point Rusoto services at a custom (or local) REST endpoint for services like DynamoDB, SQS and any others that support it with e.g., let region = Region::Custom("localhost:9494".to_string());
PRs:
rest_json
and rest_xml
services and simplifies the codegen by removing a lot of duplicationrusoto_credential
crateaws_security_token
for backwards compatibilityrusoto/Cargo.toml
to the crate rootAnother big release! It's been about a month since Rusoto 0.25.0 where we shattered the crate, providing a crate for each AWS service we support. This release has 19 new AWS services added! :tada:
A big thank-you to all our contributors helping us out.
PRs:
rustfmt
rustfmt
StsAssumeRoleSessionCredentialsProvider
encode_key
helper for S3rustfmt
versionWelcome to Rusoto 0.25.0! This is a notable release for several reasons. The most outstanding reason is we've finally landed crategen! A huge thank-you to mthjones for his hard work on that.
The biggest change is the Rusoto crate is now deprecated. This mega-crate saw us through 34 published versions of Rusoto, 56 AWS services implemented and a lot of work from a collection of wonderful contributors. However, the crate was getting too big to build on various continuous integration/build services, where our massive crate was doing too much in one project.
To continue implementing new services and reducing compilation times, we've extracted a few core crates and every AWS service we support now has its own crate.
rusoto_core
now contains the core functionality of Rusoto: AWS signature handling, regions, requests to services and XML helpers.
rusoto_mock
was also extracted. Crate users shouldn't need this: it's for developing on Rusoto itself.
rusoto_credential
remains its own crate, providing AWS credential sourcing. If you're working on something that uses AWS and Rusoto doesn't support it, you can use that crate instead of rolling your own AWS credential providers.
The new service crates depend on rusoto_core
.
Previously, to bring in a Rusoto implementation of an AWS service, you'd specify something like this in your Cargo.toml file:
rusoto = {version = "0.24", features = ["rds"]}
Now, you'd bring in services like this:
rusoto_core = {version = "0.25.0"}
rusoto_rds = {version = "0.25.0"}
Once the new crates have been brought in, use the new crates in your code. A sample before:
extern crate rusoto;
use rusoto::rds::{RdsClient, CreateDBInstanceMessage, DescribeDBInstancesMessage};
use rusoto::{DefaultCredentialsProvider, Region, default_tls_client};
And after:
extern crate rusoto_core;
extern crate rusoto_rds;
use rusoto_rds::{Rds, RdsClient, CreateDBInstanceMessage, DescribeDBInstancesMessage};
use rusoto_core::{DefaultCredentialsProvider, Region, default_tls_client};
Note there are now two crates required: rusoto_core
as well as the RDS crate, rusoto_rds
. There's also a new trait for each service. In this case it's Rds
and we bring that in. This is used to make calls to services easier to test and improve ergonomics of using Rusoto clients.
PRs and changes in this Rusoto release:
rusoto_core
craterusoto_core
rusoto_core
docs@mthjones has joined the Rusoto org on Github! We're very excited to have him on board.
Rusoto has been in development for two years and is my first open source project as a maintainer. The Rust community is supportive, intelligent and welcoming. One couldn't ask for a better group of people to work with.
Here's to another two years of Rust and Amazon Web Services! 🎉
Welcome to Rusoto 0.24.0! The highlight of this release is STS support. Big thanks to @cmsd2 for his hard work getting that done.
Changes in this release:
Vec<u8>
default_region
functionA huge thank you to our contributors. You're all great people. 😄
In this release:
Thanks to everyone who contributed!
Included in this release:
A big thank you to all the contributors and maintainers! 🎉
In this release:
Bumps minimum required rustc
version to 1.12
to fix a build-breaking error caused by an update to an upstream dependency (quote 0.3.9
).
Changes: