Skip to content

Releases: rusoto/rusoto

Rusoto 0.29.0

04 Nov 03:32
5b0c6b5
Compare
Choose a tag to compare

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

Rusoto 0.28.0

27 Aug 19:47
Compare
Choose a tag to compare

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 0.26.0

22 Jun 00:24
Compare
Choose a tag to compare

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:

  • #648 - update README to use Rusoto 0.25.0
  • #650 - allow Region type to be serialized and deserialized
  • #652 - fix a double-encoding bug with an S3 call
  • #651 - bring back SQS roundtrip integration tests
  • #653 - clean up old, no longer used codegen code
  • #655 - run generated code through rustfmt
  • #657 - regenerate service code, ensuring it's run through rustfmt
  • #663 - have generated tests have consistent order
  • #667 - upgrade xml-rs to 0.6
  • #664 - update botocore to 1.5.60
  • #668 - fix serialization of optional blobs
  • #665 - replace top-level crate with an integration tests crate
  • #678 - add AWS Organizations service
  • #672 - document use of StsAssumeRoleSessionCredentialsProvider
  • #682 - speed up Appveyor builds by running tests only instead of compile then test
  • #671 - bring codegen into service_crategen crate
  • #684 - let Appveyor skip service crate generation during build
  • #680 - expand use of services.json for codegen
  • #683 - adds encode_key helper for S3
  • #687 - fix JSON optional deserialization
  • #689 - add Snowball service
  • #690 - add StepFunctions service
  • #692 - add ServiceCatalog service
  • #691 - add AWS Support service
  • #693 - add Rekognition service
  • #694 - add OpsWorksCM (Chef Automate)
  • #695 - add Lightsail service
  • #696 - add Kinesis Analytics service
  • #697 - add GameLift service
  • #698 - add Database Migration Service
  • #699 - add Cost and Usage Reports service
  • #700 - add CodeBuild service
  • #701 - add Cognito Identity Provider service
  • #688 - add WAF Regional service
  • #704 - add AppStream service
  • #705 - add Server Migration Service
  • #706 - add AWS Marketplace Metering
  • #707 - add AWS Health service
  • #711 - pin rustfmt version
  • #713 - PR for Rusoto 0.26.0
  • #719 - remove generation of unused types
  • #717 - rest_json codegen correctly uses response headers and status codes
  • #709 - Remove input from json services that have no input params
  • #712 - Trim crate keyword if the service name is too long

Rusoto 0.25.0 - the crategen release

20 May 21:17
Compare
Choose a tag to compare

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 0.24.0

12 Apr 01:20
Compare
Choose a tag to compare

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:

  • #589 - generated structs derive debug and clone
  • #577 - support S3 get bucket location
  • #367 - STS support! 🎉
  • #597 - improve CONTRIBUTING doc
  • #562 - store payload of result as Vec<u8>
  • #580 - add docs on using clippy
  • #584 - adds default_region function
  • #582 - new version of ring
  • #581 - use latest version of reqwest
  • #510 - exponential backoff for sourcing credentials from instance metadata and container metadata providers
  • #578 - set README sample to correct version of Rusoto
  • #575 - resume making Appveyor build all crate features
  • #574 - adds an S3 integration test to catch a regression we had
  • #564 - remove Cargo feature flag we don't use anymore
  • #569 - use raw_body to handle binary data from AWS services (simplified by #562 )

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

Rusoto v0.22.0

19 Jan 06:34
Compare
Choose a tag to compare

In this release:

  • #514 - compilation optimizations
  • #515 - fix param serialization bug and add tests
  • #505 - add more rest-xml services
  • #517 - update to latest version of botocore
  • #525 - fix api docs and gitbook links
  • #523 - strongly type return codes
  • #520 - panic during compilation if service codegen fails
  • #526 - add test for SQS to ensure a bug stays fixed
  • #528 - use latest md5 crate
  • #524 - use reqwest and hyper-native-tls
  • #531 - make TlsError public
  • #527 - support binary responses from AWS services
  • #529 - add support for S3 range query and add tests for it

Thanks to everyone who contributed!

Rusoto 0.21.0

06 Jan 06:11
Compare
Choose a tag to compare

Included in this release:

  • #464 - update our releasing documentation
  • #478 - add ca-central-1 region
  • #473 - reorganize our Cargo.toml feature list
  • #472 - have all our crates build and publish their documentation
  • #477 - lints and cleanups
  • #476 - fix nightly channel build error
  • #483 - add Cloudformation support
  • #485 - documentation update for sample code
  • #422 - bring back S3 bucket creation integration test
  • #480 - add Cloudwatch support
  • #489 - use new version of ring
  • #491 - fix build issues on beta channel
  • #492 - don't emit unused serde attribute
  • #496 - set Appveyor to use latest stable version of Rust
  • #499 - add us-east-2 and eu-west-2 regions
  • #321 - adds the last big codegen piece: rest-xml.
  • #502 - adds top level descriptions for error enums in rustdoc
  • #503 - adds multithreading to codegen
  • #501 - cleans up rest-xml generator
  • #509 - update our releasing walkthrough with how to tag individual crates

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

v0.20.0

02 Dec 02:32
Compare
Choose a tag to compare

In this release:

  • Improve S3 integration tests: #448
  • Fix typo in credentials documentation: #455
  • Add steady contributor to author list: #453
  • Break up credentials crate into modules: #434
  • Update contributing doc minimum Rust version: #458
  • Add ContainerProvider for ECS task IAM profiles: #435
  • Appveyor: cache cargo dir: #427
  • Update serde_macros to serde_derive: #457

0.19.1

25 Nov 23:51
Compare
Choose a tag to compare

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

v0.19.0

23 Nov 03:45
Compare
Choose a tag to compare

Changes:

  • Dependency updates: #415
  • Fix some Clippy lints: #418
  • README updates: #417
  • Read AWS session tokens: #420
  • Fix our TravisCI builds on OSX: #424
  • Adds S3 integration test for timestamped named files: #423
  • URL encode S3 path: #425
  • Switch Appveyor to Rust 1.13.0: #428
  • Make OSX builds mandatory for TravisCI: #426
  • Allow setting credential file via env vars: #430
  • Extract credentials to their own crate: #433
  • Update minimum Rust version required due to upstream dependencies: #438
  • Add back an integration test file for S3: #439