rusoto

AWS SDK for Rust

MIT License

Downloads
58.9M
Stars
2.7K
Committers
183

Bot releases are hidden (Show)

rusoto - Rusoto 0.29.0

Published by matthewkmayer almost 7 years ago

Another big release! See the CHANGELOG for the full details.

rusoto - Rusoto 0.28.0

Published by adimarco about 7 years ago

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:

  • The long awaited merge of #627, which adds streaming support. This will make large S3 (and other) downloads easier by providing a body you can access with the Read trait.
    See the S3 integration tests for an example
  • Support for a 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());
  • Elimination of lots of unnecessary type aliases, which should lead to much more readable and usable generated code
  • Support for several new AWS services including:
    • Batch
    • Glacier
    • Polly
    • Mechanical Turk
    • API Gateway

PRs:

  • #772 - Adds a Code of Conduct
  • #756 - Fixes a lot of bugs for rest_json and rest_xml services and simplifies the codegen by removing a lot of duplication
  • #771 - Fixes a bug with the new local endpoints provided by #759
  • #759 - Adds support for custom endpoints
  • #627 - Adds support for streaming response objects instead of reading everything into memory before passing it back to the user
  • #764 - Adds an integration test for the Route 53 service
  • #763 - Fixes the Route 53 service to use the single region independent endpoint AWS provides.
  • #760 - Allows unrecognized fields when reading credentials/profiles from the filesystem
  • #758 - Cleans up the hyper/reqwest dependencies for the rusoto_credential crate
  • #749 - Builds integration tests as part of our CI
  • #753 - Fixes the upload of our crate documentation
  • #750 - Removes travis-cargo from our Travis build
  • #752 - Improves our documentation by including the botocore provided service documentation as part of the crate docs
  • #745 - Per discussion in #742 removes all generated type aliases from the codegen and generated code
  • #741 - Adds support for AWS Batch
  • #674 - Adds a warning about modifying generated code
  • #746 - Adds support for Glacier
  • #744 - Adds support for Polly
  • #743 - Adds support for Mechanical Turk
  • #740 - Adds support for API Gateway
  • #739 - Updates our botocore submodule dependency to 1.5.75
  • #738 - Removes an exponential backoff and retry from the credentials provider
  • #720 - Adds a "check" command to the crategen that checks for unsupported services
  • #737 - Handles aws_security_token for backwards compatibility
  • #731 - Moves rusoto/Cargo.toml to the crate root
rusoto - Rusoto 0.26.0

Published by matthewkmayer over 7 years ago

Rusoto 0.26.0 release notes

Another 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! 🎉

A big thank-you to all our contributors helping us out.

PRs:

rusoto - Rusoto 0.25.0 - the crategen release

Published by matthewkmayer over 7 years ago

Rusoto 0.25.0

Welcome 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.

What's that mean for crate users?

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.

Migrating to Rusoto 0.25.0

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

PRs and changes in this Rusoto release:

  • 601 - codify which versions of Rust and OSs we support
  • 603 - adds homepage and build badges to Cargo file
  • 606 - change default integer shapetype to i64
  • 611 - fix clippy errors
  • 607 - adds SES support
  • 609 - fixes mismatched types in an S3 integration test
  • 617 - update README code sample to use latest version of Rusoto
  • 602 - smarter importing of serde_derive macro
  • 624 - adds Rust 1.16.0 as a tested/supported version for Rusoto
  • 623 - extract rusoto_core crate
  • 625 - upgrade to serde 1.0
  • 610 - add unit tests for error responses from botocore
  • 620 - adds backing trait to all services
  • 631 - fix some compilation errors when using a combination of Rusoto feature flags
  • 635 - use new Github token after the TravisCI env var leaks
  • 628 - crategen: generate a crate for each supported AWS service
  • 637 - update location of API docs to point to rusoto_core
  • 638 - use https for all documentation links
  • 626 - allow use of manually specified AWS credentials
  • 640 - move Rusoto example to rusoto_core docs
  • 639 - upgrade ring to 0.9.4
  • 641 - check in generated code for all services
  • 644 - address issues for publishing

A warm welcome to mthjones

@mthjones has joined the Rusoto org on Github! We're very excited to have him on board.

One last thank you

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! 🎉

rusoto - Rusoto 0.24.0

Published by matthewkmayer over 7 years ago

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:

A huge thank you to our contributors. You're all great people. 😄

rusoto - Rusoto v0.22.0

Published by matthewkmayer over 7 years ago

In this release:

Thanks to everyone who contributed!

rusoto - Rusoto 0.21.0

Published by matthewkmayer almost 8 years ago

Included in this release:

A big thank you to all the contributors and maintainers! 🎉

rusoto - v0.20.0

Published by matthewkmayer almost 8 years ago

In this release:

rusoto - 0.19.1

Published by adimarco almost 8 years ago

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).

rusoto - v0.19.0

Published by matthewkmayer almost 8 years ago

Changes:

rusoto - v0.18.1

Published by adimarco about 8 years ago

Fixes a major bug in #413 where an upstream bug in serde_codegen was breaking generated code

rusoto - v0.18.0

Published by matthewkmayer about 8 years ago

Release changes:

rusoto - 0.17.0

Published by matthewkmayer about 8 years ago

Big thank you to our contributors for helping make these happen:

rusoto - 0.16.0

Published by adimarco about 8 years ago

  • Typed errors are now implemented for all generated services.
    This will allow users to respond to specific errors instead handling the AWSError catch-all that was previously in use. Generated methods now return Result<FooResult, FooError> where FooError enumerates the specific errors that can be generated by the method (per the botocore service definitions), and implements Rust Error trait for proper composition. See the documentation for details e.g., https://rusoto.github.io/rusoto/rusoto/sqs/enum.CreateQueueError.html
  • Hyper clients are now reused between requests. Previously a new hyper client was created for each request.
  • Model objects now derive Clone
  • Adds a DispatchSignedRequest trait that hides implementation details of HTTP request dispatch (Hyper by default)
    This allows for easy mocking of interactions with AWS and opens the door for rich unit tests of generated services with the sample responses provided in AWS API documentation.
  • Adds support for the cn-north-1 region
  • Adds a warning to the docs that you probably don't want to build with --features all since you probably don't need 40+ AWS services built, and that doing so will use a lot of memory
  • Updates some stale dependency versions (serde to 0.8.0 and url to 1.2.0)
  • Fixes a bug where debug!() logging of non-UTF-8 responses caused a panic
  • Fixed a bug where list-based data types in some requests weren't serialized properly (AWS list types are 1 based, not 0 based)
rusoto - 0.15.3

Published by adimarco about 8 years ago

Fixes a serious bug where an upstream change to our serde dependency broke the build for DynamoDb, DynamoDbStreams, and Emr. All services now compile again.

  • S3 panic()s less due to getting rid of some unwrap()s
  • S3 put_object requests now include the missing Cache-Control header
  • Removed build dependency on Syntex
  • Fixed a bug where the EC2 service was still using &mut self instead of just &self
  • Added the ap-south-1 region
  • Various minor documentation tweaks
rusoto - 0.15.2

Published by adimarco over 8 years ago

Fixes a bug that caused all credentials requests to wait for the IamProvider to timeout
Fixes a bug where S3 PutObject requests didn't include user metadata, ACL, or Content-Type
Updated the README to indicate required rust version is 1.8.0
Added travis-cargo support and integrated with coveralls

rusoto - 0.15.1

Published by adimarco over 8 years ago

Patch release to fix a bug where rusoto would recompile constantly when used as a crates.io dependency - #285

rusoto - 0.15.0

Published by adimarco over 8 years ago

Several changes to allow AWS services to be threadsafe.

  • AWS service client methods no longer take &mut self
  • Credentials providers have been separated into Sync and !Sync implementations, to allow users to choose whether they want to incur the overhead of a Mutex to allow expired credentials to be automatically refreshed via interior mutability.
  • Implemented DefaultCredentailsProvider and DefaultCredentialsProviderSync to cover the 99% of cases where users just want automatically refreshed credentials from the standard credentials chain.

Pull AWS_SESSION_TOKEN from the environment for credentials (allowing rusoto to run in a Lambda with an IAM role)

Fixed a bug when S3 path names contained spaces

Adds support for nearly all JSON protocol services that weren't yet supported. Including:

  • Certificate Manager
  • CloudHSM
  • CloudTrail
  • CloudWatch Events
  • CloudWatch Logs
  • CodeCommit
  • CodeDeploy
  • CodePipeline
  • Cognito Identity
  • Config
  • Data Pipeline
  • Device Farm
  • Direct Connect
  • Directory Service
  • DynamoDB Streams
  • EC2 Container Registry
  • Elastic MapReduce
  • Inspector
  • Key Management Service
  • Kinesis
  • Kinesis Firehose
  • Machine Learning
  • OpsWorks
  • Route53 Domains
  • Simple Systems Manager
  • Simple Workflow Service
  • Storage Gateway
  • Web Application Firewall
  • WorkSpaces
rusoto - 0.14.0

Published by adimarco over 8 years ago

Fix a bug with blob deserialization.
Add support for the ap-northeast-2 region.
Move the rusoto_helpers crate into the main rusoto repository.
Add support for Kinesis with typed errors.
Modify build script output so the codegen is only rerun when necessary.
Minor documentation changes.
Update serde/syntex dependency versions.
Add EC2 support.

rusoto - 0.12.1

Published by jimmycuadra over 8 years ago

Maintenance fixes:

  • Updated dependencies to build with the latest versions of Rust and Syntex.