Releases: awslabs/aws-sdk-rust
Releases · awslabs/aws-sdk-rust
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)
v0.0.22-alpha (October 20th, 2021)
Breaking Changes
CredentialsError
variants became non-exhaustive & now have struct bodies. This makes them impossible to construct directly outside of theaws_types
crate. In order to construct credentials errors, new methods have been added for each variant. Instead ofCredentialsError::Unhandled(...)
, you should instead useCredentialsError::unhandled
. Matching methods exist for all variants. If you match on specific variants, you will also need to update your code to include..
. (#781)- The default credentials chain now returns
CredentialsError::CredentialsNotLoaded
instead ofProviderError
when no credentials providers are configured. ⚠️ All Smithy runtime crates have been renamed to have anaws-
prefix. This may require code changes:- Cargo.toml changes:
smithy-async
->aws-smithy-async
smithy-client
->aws-smithy-client
smithy-eventstream
->aws-smithy-eventstream
smithy-http
->aws-smithy-http
smithy-http-tower
->aws-smithy-http-tower
smithy-json
->aws-smithy-json
smithy-protocol-test
->aws-smithy-protocol-test
smithy-query
->aws-smithy-query
smithy-types
->aws-smithy-types
smithy-xml
->aws-smithy-xml
- Rust
use
statement changes:smithy_async
->aws_smithy_async
smithy_client
->aws_smithy_client
smithy_eventstream
->aws_smithy_eventstream
smithy_http
->aws_smithy_http
smithy_http_tower
->aws_smithy_http_tower
smithy_json
->aws_smithy_json
smithy_protocol_test
->aws_smithy_protocol_test
smithy_query
->aws_smithy_query
smithy_types
->aws_smithy_types
smithy_xml
->aws_smithy_xml
- Cargo.toml changes:
New this week
- Moved the contents of
aws-auth
into theaws-http
runtime crate (smithy-rs#783) - Fix instances where docs were missing in generated services and add
#[warn_missing_docs]
(smithy-rs#779) - Add tracing output for resolved AWS endpoint (smithy-rs#784)
- Update AWS service models (smithy-rs#790)
- Add support for the following Glacier customizations:
- Set the ApiVersion header (smithy-rs#138, #787)
v0.0.21-alpha (October 18th, 2021)
v0.0.21-alpha (October 15th, 2021)
New this week
- Prepare crate manifests for publishing to crates.io (smithy-rs#755)
- Add support for IAM Roles for tasks credential provider (smithy-rs#765, aws-sdk-rust#123)
- All service crates now have generated README files (smithy-rs#766)
- Update AWS service models (smithy-rs#772)
- 🎉 Add support for Amazon Managed Grafana (smithy-rs#772)
- 🎉 Make retry behavior configurable
- With env vars
AWS_MAX_ATTEMPTS
andAWS_RETRY_MODE
- With
~/.aws/config
settingsmax_attempts
andretry_mode
- By calling the
with_retry_config
method on aConfig
and passing in aRetryConfig
- Only the
Standard
retry mode is currently implemented.Adaptive
retry mode will be implemented at a later
date. - For more info, see the AWS Reference pages on configuring these settings:
- With env vars
v0.0.20-alpha (October 7th, 2021)
v0.0.20-alpha (October, 7, 2021)
Breaking changes
⚠️ MSRV increased from 1.52.1 to 1.53.0 per our 3-behind MSRV policy.SmithyConnector
andDynConnector
now returnConnectorError
instead ofBox<dyn Error>
. If you have written a custom connector, it will need to be updated to return the new error type. (#744)- The
DispatchError
variant ofSdkError
now containsConnectorError
instead ofBox<dyn Error>
(#744).
New This Week
- 🎉 Add presigned request support and examples for S3 GetObject and PutObject (smithy-rs#731, aws-sdk-rust#139)
- 🎉 Add presigned request support and example for Polly SynthesizeSpeech (smithy-rs#735, aws-sdk-rust#139)
- Add connect & HTTP read timeouts to IMDS, defaulting to 1 second
- IO and timeout errors from Hyper can now be retried (#744)
- 🐛 Fix error when receiving
Cont
event from S3 SelectObjectContent (smithy-rs#736) - 🐛 Fix bug in event stream receiver that could cause the last events in the response stream to be lost when using S3 SelectObjectContent (smithy-rs#736)
- Updated EC2 code examples to include readme; refactored operations from main into separate functions.
- Updated Transcribe code example to take an audio file as a command-line option and added readme.
- Refactored API Gateway code example by moving operation out of main and into a separate function; added readme.
- Updated Auto Scaling code example to move operation from main to separate function; added readme.
- Updated AWS Config code examples to include a readme; added command-line options; added DeleteConfigurationRecorder, DeleteDeliveryChannel, ListConfigurationRecorders, ListDeliveryChannels, ListResources, ShowResourceHistory, and EnableConfig code examples.
- 🎉 Add support for 6 new AWS services:
- Wisdom
- VoiceId
- Account
- KafkaConnect
- OpenSearch
- CloudControl
Contributors
Thank you!! ❤️
v0.0.19-alpha (September 24th, 2021)
New This Week
- 🎉 IMDS support in the default credential provider chain (aws-sdk-rust#97)
- 🎉 Add
sts::AssumeRoleProvider
toaws-config
. This enables customers to invoke STS directly, instead of using it via~/.aws/config
. (smithy-rs#703, aws-sdk-rust#3) - Add IMDS client to
aws-config
(smithy-rs#701) - Add IMDS credential provider to
aws-config
(smithy-rs#709) - Add IMDS region provider to
aws-config
(smithy-rs#715, aws-sdk-rust#97) - Add query param signing to the
aws-sigv4
crate (smithy-rs#707) - 🐛 Update event stream
Receiver
s to beSend
(smithy-rs#702, aws-sdk-rust#224) - 🐛 Fix panic when signing non-ASCII header values (smithy-rs#708, aws-sdk-rust#226)
Contributions
Thank you for your contributions! ❤️
September 14th, 2021: Bug fixes
v0.0.18-alpha (September 14th, 2021)
New This Week
- 🎉 Add support for OpenSearch service & bring in other model updates (smithy-rs#698)
- Cleanup docs in aws-config (smithy-rs#693)
- 🐛 Fixes issue where Content-Length header could be duplicated leading to signing failure (#220, smithy-rs#697)