Releases: awslabs/aws-sdk-rust
v0.5.0 (January 19th, 2022)
New this release:
- 🎉 (aws-sdk-rust#348) The docs for fluent builders now have easy links to their corresponding Input, Output, and Error structs
- 🎉 (smithy-rs#1051, aws-sdk-rust#4) Add support for SSO credentials
- 🐛🎉 (smithy-rs#1065, aws-sdk-rust#398, @nmoutschen) Silence profile credential warnings in Lambda environment
- 🐛 (aws-sdk-rust#405, smithy-rs#1083) Fixed paginator bug impacting EC2 describe VPCs (and others)
Contributors
Thank you for your contributions! ❤
v0.4.1 (January 10th, 2022)
New this release:
- 🐛 (smithy-rs#1050, @nmoutschen) Fix typos for X-Ray trace ID environment variable in aws_http::recursion_detection
- 🐛 (smithy-rs#1054, aws-sdk-rust#391) Fix critical paginator bug where an empty outputToken lead to a never ending stream.
Contributors
Thank you for your contributions! ❤
v0.4.0 (January 6th, 2022)
Breaking Changes:
- ⚠ (smithy-rs#990) Codegen will no longer produce builders and clients with methods that take
impl Into<T>
except for strings and boxed types. - ⚠ (smithy-rs#961) The
meta
,environment
, anddns
Cargo feature flags were removed fromaws-config
.
The code behind thedns
flag is now enabled whenrt-tokio
is enabled. The code behind
themeta
andenvironment
flags is always enabled now. - ⚠ (smithy-rs#1003)
aws_http::AwsErrorRetryPolicy
was moved toaws_http::retry::AwsErrorRetryPolicy
. - ⚠ (smithy-rs#1017, smithy-rs#930) Simplify features in aws-config. All features have been removed from
aws-config
with the exception of:rt-tokio
,rustls
andnative-tls
. All other features are now included by default. If you depended on those features specifically, remove them from your features listing.
New this release:
- 🎉 (aws-sdk-rust#47, smithy-rs#1006) Add support for paginators! Paginated APIs now include
.into_paginator()
and (when supported).into_paginator().items()
to enable paginating responses automatically. The paginator API should be considered in preview and is subject to change pending customer feedback. - (smithy-rs#712) We removed an example 'telephone-game' that was problematic for our CI.
The APIs that that example demonstrated are also demonstrated by our Polly
and TranscribeStreaming examples so please check those out if you miss it. - 🐛 (aws-sdk-rust#357) Generated docs should no longer contain links that don't go anywhere
- (aws-sdk-rust#254, @Jacco) Made fluent operation structs cloneable
- (smithy-rs#973) Debug implementation of Credentials will print
expiry
in a human readable way. - 🐛 (smithy-rs#999, smithy-rs#143, aws-sdk-rust#344) Add Route53 customization to trim
/hostedzone/
prefix prior to serialization. This fixes a bug where round-tripping a hosted zone id resulted in an error. - 🐛 (smithy-rs#998, aws-sdk-rust#359) Fix bug where ECS credential provider could not perform retries.
- (smithy-rs#1003) Add recursion detection middleware to the default stack
- (smithy-rs#1002, aws-sdk-rust#352) aws_types::Config is now
Clone
- (smithy-rs#670, @Jacco) Example for Config builder region function added
- (smithy-rs#1021, @kiiadi) Add function to
aws_config::profile::ProfileSet
that allows listing of loaded profiles by name. - 🐛 (smithy-rs#1046, aws-sdk-rust#384) Fix IMDS credentials provider bug where the instance profile name was incorrectly cached.
Contributors
Thank you for your contributions! ❤
v0.3.0 (December 15th, 2021)
Breaking Changes:
-
⚠ (smithy-rs#930) If you directly depend on AWS or Smithy runtime crates (e.g., AWS crates not named
aws-config
or prefixed withaws-sdk-
),
the formerly default features from those crates must now be explicitly set in yourCargo.toml
.Upgrade guide
before after aws-smithy-async = "VERSION"
aws-smithy-async = { version = "VERSION", features = ["rt-tokio"] }
aws-smithy-client = "VERSION"
aws-smithy-client = { version = "VERSION", features = ["client-hyper", "rustls", "rt-tokio"] }
aws-smithy-http = "VERSION"
aws-smithy-http = { version = "VERSION", features = ["rt-tokio"] }
-
⚠ (smithy-rs#940)
aws_hyper::Client
which was just a re-export ofaws_smithy_types::Client
with generics set has been removed. If you used
aws_hyper::Client
oraws_hyper::Client::https()
you can update your code to useaws_smithy_client::Builder::https()
. -
⚠ (smithy-rs#947) The features
aws-hyper/rustls
andaws-hyper/native-tls
have been removed. If you were using these, use the identical features onaws-smithy-client
. -
⚠ (smithy-rs#959, smithy-rs#934)
aws-hyper::AwsMiddleware
is now generated into generated service clients directly. If you usedaws_hyper::Middleware
, use ::middleware::DefaultMiddleware` instead.
New this release:
- 🐛 (aws-sdk-rust#330) A bug that occurred when signing certain query strings has been fixed
- 🐛 (smithy-rs#949, @a-xp) Fix incorrect argument order in the builder for
LazyCachingCredentialsProvider
- 🐛 (aws-sdk-rust#304)
aws-config
will now work as intended for users that want to usenative-tls
instead ofrustls
. Previously, it was
difficult to ensure thatrustls
was not in use. Also, there is now an example of how to usenative-tls
and a test
that ensuresrustls
is not in the dependency tree - 🐛 (aws-sdk-rust#317, smithy-rs#907) Removed inaccurate log message when a client was used without a sleep implementation, and
improved context and call to action in logged messages around missing sleep implementations. - (smithy-rs#923) Use provided
sleep_impl
for retries instead of using Tokio directly. - (smithy-rs#920) Fix typos in module documentation for generated crates
- 🐛 (aws-sdk-rust#301, smithy-rs#892) Avoid serializing repetitive
xmlns
attributes when serializing XML. This reduces the length of serialized requests and should improve compatibility with localstack. - 🐛 (smithy-rs#953, aws-sdk-rust#331) Fixed a bug where certain characters caused a panic during URI encoding.
Contributors
Thank you for your contributions! ❤
v0.2.0 (December 2nd, 2021)
This release was a version bump to fix a version number conflict on crates.io while releasing 0.1.0
. The changes in 0.1.0 were:
New this release
- Add docs.rs metadata section to all crates to document all features
- Added a new example showing how to set all currently supported timeouts
- Add a new check so that the SDK doesn't emit an irrelevant
$HOME
dir warning when running in a Lambda (aws-sdk-rust#307) - 🐛 Don't capture empty session tokens from the
AWS_SESSION_TOKEN
environment variable (aws-sdk-rust#316, smithy-rs#906)
v0.1.0 (December 2nd, 2021)
New this release
- Add docs.rs metadata section to all crates to document all features
- Added a new example showing how to set all currently supported timeouts
- Add a new check so that the SDK doesn't emit an irrelevant
$HOME
dir warning when running in a Lambda (aws-sdk-rust#307) - 🐛 Don't capture empty session tokens from the
AWS_SESSION_TOKEN
environment variable (aws-sdk-rust#316, smithy-rs#906)
v0.0.26-alpha (November 24th, 2021)
Breaking Changes
RetryConfigBuilder::merge_with
has been renamed toRetryConfigBuilder::take_unset_from
Credentials::from_keys
is now behind a feature flag namedhardcoded-credentials
inaws-types
.
It is NOT secure to hardcode credentials into your application, and the credentials
providers that come with the AWS SDK should be preferred. (smithy-rs#875, smithy-rs#317)- (aws-smithy-client): Extraneous
pub use SdkSuccess
removed fromaws_smithy_client::hyper_ext
. (smithy-rs#855) - The
add_metadata
function was removed fromAwsUserAgent
inaws-http
.
Usewith_feature_metadata
,with_config_metadata
, orwith_framework_metadata
now instead. (smithy-rs#865) - Several breaking changes around
aws_smithy_types::Instant
were introduced by smithy-rs#849:aws_smithy_types::Instant
from was renamed toDateTime
to avoid confusion with the standard library's monotonically nondecreasingInstant
type.DateParseError
inaws_smithy_types
has been renamed toDateTimeParseError
to match the type that's being parsed.- The
chrono-conversions
feature and associated functions have been moved to theaws-smithy-types-convert
crate.- Calls to
Instant::from_chrono
should be changed to:use aws_smithy_types::DateTime; use aws_smithy_types_convert::date_time::DateTimeExt; // For chrono::DateTime<Utc> let date_time = DateTime::from_chrono_utc(chrono_date_time); // For chrono::DateTime<FixedOffset> let date_time = DateTime::from_chrono_offset(chrono_date_time);
- Calls to
instant.to_chrono()
should be changed to:use aws_smithy_types_convert::date_time::DateTimeExt; date_time.to_chrono_utc();
- Calls to
Instant::from_system_time
andInstant::to_system_time
have been changed toFrom
trait implementations.- Calls to
from_system_time
should be changed to:DateTime::from(system_time); // or let date_time: DateTime = system_time.into();
- Calls to
to_system_time
should be changed to:SystemTime::from(date_time); // or let system_time: SystemTime = date_time.into();
- Calls to
- Several functions in
Instant
/DateTime
were renamed:Instant::from_f64
->DateTime::from_secs_f64
Instant::from_fractional_seconds
->DateTime::from_fractional_secs
Instant::from_epoch_seconds
->DateTime::from_secs
Instant::from_epoch_millis
->DateTime::from_millis
Instant::epoch_fractional_seconds
->DateTime::as_secs_f64
Instant::has_nanos
->DateTime::has_subsec_nanos
Instant::epoch_seconds
->DateTime::secs
Instant::epoch_subsecond_nanos
->DateTime::subsec_nanos
Instant::to_epoch_millis
->DateTime::to_millis
- The
DateTime::fmt
method is now fallible and fails when aDateTime
's value is outside what can be represented by the desired date format.
New this week
⚠️ MSRV increased from 1.53.0 to 1.54.0 per our 3-behind MSRV policy.- Conversions from
aws_smithy_types::DateTime
toOffsetDateTime
from thetime
crate are now available from theaws-smithy-types-convert
crate. (smithy-rs#849) - Fixed links to Usage Examples (smithy-rs#862, @floric)
- Added missing features to user agent formatting, and made it possible to configure an app name for the user agent via service config. (smithy-rs#865)
- 🐛 Relaxed profile name validation to allow
@
and other characters (smithy-rs#861, aws-sdk-rust#270) - 🐛 Fixed signing problem with S3 Control (smithy-rs#858, aws-sdk-rust#291)
- 🎉 Timeouts for requests are now configurable. You can set a timeout for each individual request attempt or for all attempts made for a request. (smithy-rs#831)
SdkError
now includes a variantTimeoutError
for when a request times out (smithy-rs#885)
- Improve docs on
aws-smithy-client
(smithy-rs#855) - Fix http-body dependency version (smithy-rs#883, aws-sdk-rust#305)
Contributions
Thank you for your contributions! ❤️
v0.0.25-alpha (November 11th, 2021)
No changes since last release except for version bumping since older versions of the AWS SDK were failing to compile with the 0.27.0-alpha.2
version chosen for some of the supporting crates.
v0.0.24-alpha (November 9th, 2021)
Breaking Changes
- Members named
builder
on model structs were renamed tobuilder_value
so that their accessors don't conflict with the existingbuilder()
methods (smithy-rs#842)
New this week
- Fix epoch seconds date-time parsing bug in
aws-smithy-types
(smithy-rs#834) - Omit trailing zeros from fraction when formatting HTTP dates in
aws-smithy-types
(smithy-rs#834) - Moved examples into repository root (aws-sdk-rust#181, smithy-rs#843)
- Model structs now have accessor methods for their members. We recommend updating code to use accessors instead of public fields. A future release will deprecate the public fields before they are made private. (smithy-rs#842)
- 🐛 Fix bug that caused signing to fail for requests where the body length was <=9. (smithy-rs#845)
v0.0.23-alpha (November 5th, 2021)
To upgrade to the new version of the SDK, update your version to 0.0.23-alpha
:
[dependencies]
aws-sdk-s3 = "0.0.23-alpha"
New this week
- 🎉 The SDK is available on crates.io! This also means that generated docs are now searchable and hosted on https://docs.rs.
- 🎉 Add support for AWS Glacier (smithy-rs#801)
- 🎉 Add support for AWS Panorama
- 🐛 Fix
native-tls
feature inaws-config
(aws-sdk-rust#265, smithy-rs#803) - 📖 Add example to aws-sig-auth for generating an IAM Token for RDS (smithy-rs#811, aws-sdk-rust#147)
- 🐛
hyper::Error(IncompleteMessage)
will now be retried (smithy-rs#815) - 🐛 Fix generated docs on unions like
dynamodb::AttributeValue
. (smithy-rs#826)
Breaking Changes
<operation>.make_operation(&config)
is now anasync
function for all operations. Code should be updated to call.await
. This will only impact users using the low-level API. (smithy-rs#797)- 🐛 S3 request metadata signing now correctly trims headers fixing problems like this (smithy-rs#761)