2021-08-11 04:07:56 +08:00
vNext (Month Day, Year)
-----------------------
2021-08-21 03:03:17 +08:00
**Breaking Changes**
2021-08-31 06:23:21 +08:00
- `<sevicename>::from_env()` has been removed (#675). A drop-in replacement is available:
1. Add a dependency on `aws-config` :
```toml
[dependencies]
aws-config = { git = "https://github.com/awslabs/aws-sdk-rust", tag = "v0.0.17-alpha" }
```
2. Update your client creation code:
```rust
let client = < service > >::Client::new(& aws_config::load_from_env().await)
```
- `ProvideRegion` has been moved to `aws_config::meta::region::ProvideRegion` . (#675)
- `aws_types::region::ChainProvider` has been moved to `aws_config::meta::region::RegionProviderChain` (#675).
2021-08-21 03:03:17 +08:00
- `ProvideRegion` is now asynchronous. Code that called `provider.region()` must be changed to `provider.region().await` .
2021-08-31 06:23:21 +08:00
- `<awsservice>::Config::builder()` will **not** load a default region. To preserve previous behavior:
1. Add a dependency on `aws-config` :
```toml
[dependencies]
aws-config = { git = "https://github.com/awslabs/aws-sdk-rust", tag = "v0.0.17-alpha" }
```
2. ```rust
let shared_config = aws_config::load_from_env().await;
let config = < service > ::config::Builder::from(& shared_config).< other builder modifications > .build();
```
2021-08-28 00:27:44 +08:00
- `Request` and `Response` in `smithy_http::operation` now use `SharedPropertyBag` instead of `Arc<Mutex<PropertyBag>>` . Use the `acquire` and `acquire_mut` methods to get a reference to the underlying `PropertyBag` to access properties. (#667)
2021-08-13 01:34:41 +08:00
2021-08-12 03:03:36 +08:00
**New this week**
2021-08-21 01:50:42 +08:00
- (When complete) Add Event Stream support (#653, #xyz )
2021-08-11 04:07:56 +08:00
- (When complete) Add profile file provider for region (#594, #xyz )
2021-08-24 10:07:36 +08:00
- Improve documentation on collection-aware builders (#664)
2021-08-28 00:27:44 +08:00
- Add support for Transcribe `StartStreamTranscription` and S3 `SelectObjectContent` operations (#667)
2021-08-28 04:19:16 +08:00
- Add support for shared configuration between multiple services (#673)
2021-09-01 03:22:44 +08:00
- Update AWS SDK models (#677)
2021-08-31 10:08:06 +08:00
- :bug: Fix sigv4 signing when request ALPN negotiates to HTTP/2. (#674)
2021-09-01 07:06:34 +08:00
- :bug: Fix integer size on S3 `Size` (#679, aws-sdk-rust#209)
2021-08-20 04:22:20 +08:00
2021-08-28 01:52:54 +08:00
**Internal Changes**
- Add NowOrLater future to smithy-async (#672)
2021-08-21 03:03:17 +08:00
2021-08-20 04:22:20 +08:00
v0.21 (August 19th, 2021)
-------------------------
**New This Week**
- :tada: Add Chime Identity, Chime Messaging, and Snow Device Management support (#657)
- :tada: Add profile file credential provider implementation. This implementation currently does not support credential sources for assume role providers other than environment variables. (#640)
- :tada: Add support for WebIdentityToken providers via profile & environment variables. (#654)
2021-08-13 01:34:41 +08:00
- :bug: Fix name collision that occurred when a model had both a union and a structure named `Result` (#643)
2021-08-20 04:22:20 +08:00
- :bug: Fix STS Assume Role with WebIdentity & Assume role with SAML to support clients with no credentials provided (#652)
- Update AWS SDK models (#657)
2021-08-13 05:19:15 +08:00
- Add initial implementation of a default provider chain. (#650)
2021-08-20 04:22:20 +08:00
**Internal Changes**
- Update sigv4 tests to work around behavior change in httparse 1.5. (#656)
2021-08-17 06:02:04 +08:00
- Remove Bintray/JCenter source from gradle build. (#651)
2021-08-20 04:22:20 +08:00
- Add experimental `dvr` module to smithy-client. This will enable easier testing of HTTP traffic. (#640)
- Update smithy-client to simplify creating HTTP/HTTPS connectors (#650)
- Add Event Stream support to aws-sigv4 (#648)
2021-08-18 02:50:40 +08:00
- Add support for the smithy auth trait. This enables authorizations that explicitly disable authorization to work when no credentials have been provided. (#652)
2021-08-11 04:07:56 +08:00
v0.20 (August 10th, 2021)
--------------------------
2021-08-04 01:50:06 +08:00
2021-08-05 08:31:48 +08:00
**Breaking changes**
2021-08-12 03:03:36 +08:00
- (#635) The `config()` , `config_mut()` , `request()` , and `request_mut()` methods on `operation::Request` have been
renamed to `properties()` , `properties_mut()` , `http()` , and `http_mut()` respectively.
- (#635) The `Response` type on Tower middleware has been changed from `http::Response<SdkBody>`
to `operation::Response` . The HTTP response is still available from the `operation::Response` using its `http()`
and `http_mut()` methods.
- (#635) The `ParseHttpResponse` trait's `parse_unloaded()` method now takes an `operation::Response` rather than
an `http::Response<SdkBody>` .
- (#626) `ParseHttpResponse` no longer has a generic argument for the body type, but instead, always uses `SdkBody` .
This may cause compilation failures for you if you are using Smithy generated types to parse JSON or XML without using
a client to request data from a service. The fix should be as simple as removing `<SdkBody>` in the example below:
2021-08-05 08:31:48 +08:00
Before:
```rust
let output = < Query as ParseHttpResponse < SdkBody > >::parse_loaded(& parser, &response).unwrap();
```
After:
```rust
let output = < Query as ParseHttpResponse > ::parse_loaded(& parser, &response).unwrap();
```
2021-07-28 07:52:58 +08:00
**New This Week**
2021-08-12 03:03:36 +08:00
2021-08-06 11:26:46 +08:00
- Add AssumeRoleProvider parser implementation. (#632)
2021-08-10 02:07:31 +08:00
- The closure passed to `async_provide_credentials_fn` can now borrow values (#637)
2021-08-11 01:45:12 +08:00
- Add `Sender` /`Receiver` implementations for Event Stream (#639)
2021-08-11 04:07:56 +08:00
- Bring in the latest AWS models (#630)
2021-08-04 01:50:06 +08:00
v0.19 (August 3rd, 2021)
------------------------
IoT Data Plane is now available! If you discover it isn't functioning as expected, please let us know!
2021-08-12 03:03:36 +08:00
This week also sees the addition of a robust async caching credentials provider. Take a look at the
2021-08-04 01:50:06 +08:00
[STS example ](https://github.com/awslabs/smithy-rs/blob/7fa4af4a9367aeca6d55e26fc4d4ba93093b90c4/aws/sdk/examples/sts/src/bin/credentials-provider.rs )
to see how to use it.
**New This Week**
- :tada: Add IoT Data Plane (#624)
2021-08-12 03:03:36 +08:00
- :tada: Add LazyCachingCredentialsProvider to aws-auth for use with expiring credentials, such as STS AssumeRole.
Update STS example to use this new provider (#578, #595 )
2021-07-28 23:29:02 +08:00
- :bug: Correctly encode HTTP Checksums using base64 instead of hex. Fixes aws-sdk-rust#164. (#615)
2021-07-31 05:18:54 +08:00
- Update SDK gradle build logic to use gradle properties (#620)
2021-08-12 03:03:36 +08:00
- Overhaul serialization/deserialization of numeric/boolean types. This resolves issues around serialization of
NaN/Infinity and should also reduce the number of allocations required during serialization. (#618)
2021-07-31 05:08:57 +08:00
- Update SQS example to clarify usage of FIFO vs. standard queues (#622, @trevorrobertsjr )
2021-08-04 01:50:06 +08:00
- Implement Event Stream frame encoding/decoding (#609, #619 )
2021-07-20 06:29:00 +08:00
2021-08-04 01:50:06 +08:00
**Contributions**
Thank you for your contributions! :heart:
- @trevorrobertsjr (#622)
v0.18.1 (July 27th 2021)
------------------------
- Remove timestreamwrite and timestreamquery from the generated services (#613)
v0.18 (July 27th 2021)
----------------------
2021-07-28 08:16:37 +08:00
2021-07-27 22:15:46 +08:00
**Breaking changes**
2021-08-04 01:50:06 +08:00
2021-08-12 03:03:36 +08:00
- `test-util` has been made an optional dependency and has moved from aws-hyper to smithy-http. If you were relying
on `aws_hyper::TestConnection` , add `smithy-client` as a dependency and enable the optional `test-util` feature. This
prunes some unnecessary dependencies on `roxmltree` and `serde_json`
2021-07-27 22:15:46 +08:00
for most users. (#608)
2021-07-20 06:29:00 +08:00
**New This Week**
2021-08-04 01:50:06 +08:00
2021-08-12 03:03:36 +08:00
- :tada: Release all but three remaining AWS services! Glacier, IoT Data Plane and Transcribe streaming will be
available in a future release. If you discover that a service isn't functioning as expected please let us know! (#607)
2021-07-28 07:35:55 +08:00
- :bug: Bugfix: Fix parsing bug where parsing XML incorrectly stripped whitespace (#590, aws-sdk-rust#153)
2021-07-22 05:36:19 +08:00
- Establish common abstraction for environment variables (#594)
- Add windows to the test matrix (#594)
2021-07-22 03:57:08 +08:00
- :bug: Bugfix: Constrain RFC-3339 timestamp formatting to microsecond precision (#596)
2021-07-20 06:29:00 +08:00
2021-08-04 01:50:06 +08:00
v0.17 (July 15th 2021)
----------------------
2021-07-28 07:52:58 +08:00
**New this Week**
2021-08-04 01:50:06 +08:00
- :tada: Add support for Autoscaling (#576, #582 )
2021-08-12 03:03:36 +08:00
- `AsyncProvideCredentials` now introduces an additional lifetime parameter, simplifying bridging it
with `#[async_trait]` interfaces
2021-08-04 01:50:06 +08:00
- Fix S3 bug when content type was set explicitly (aws-sdk-rust#131, #566 , @eagletmt )
2021-07-28 07:52:58 +08:00
**Contributions**
2021-08-04 01:50:06 +08:00
Thank you for your contributions! :heart:
- @eagletmt (#566)
v0.16 (July 6th 2021)
---------------------
2021-07-28 07:52:58 +08:00
**New this Week**
2021-08-04 01:50:06 +08:00
2021-08-12 03:03:36 +08:00
- :warning: **Breaking Change:** `ProvideCredentials` and `CredentialError` were both moved into `aws_auth::provider`
when they were previously in `aws_auth` (#572)
2021-08-04 01:50:06 +08:00
- :tada: Add support for AWS Config (#570)
- :tada: Add support for EBS (#567)
- :tada: Add support for Cognito (#573)
- :tada: Add support for Snowball (#579, @landonxjames )
2021-07-28 07:52:58 +08:00
- Make it possible to asynchronously provide credentials with `async_provide_credentials_fn` (#572, #577 )
- Improve RDS, QLDB, Polly, and KMS examples (#561, #560 , #558 , #556 , #550 )
- Update AWS SDK models (#575)
2021-08-04 01:50:06 +08:00
- :bug: Bugfix: Fill in message from error response even when it doesn't match the modeled case format (#565)
2021-07-28 07:52:58 +08:00
**Internal Changes**
2021-08-04 01:50:06 +08:00
2021-07-28 07:52:58 +08:00
- Add support for `@unsignedPayload` Smithy trait (#567)
- Strip service/api/client suffix from sdkId (#546)
- Remove idempotency token trait (#571)
**Contributions**
2021-08-04 01:50:06 +08:00
Thank you for your contributions! :heart:
2021-07-28 07:52:58 +08:00
- landonxjames (#579)
2021-08-04 01:50:06 +08:00
v0.15 (June 29th 2021)
----------------------
2021-08-12 03:03:36 +08:00
This week, we've added EKS, ECR and Cloudwatch. The JSON deserialization implementation has been replaced, please be on
the lookout for potential issues.
2021-06-30 05:54:07 +08:00
**New this Week**
2021-08-04 01:50:06 +08:00
- :tada: Add support for ECR (#557)
- :tada: Add support for Cloudwatch (#554)
- :tada: Add support for EKS (#553)
- :warn: **Breaking Change:** httpLabel no longer causes fields to be non-optional. (#537)
2021-08-12 03:03:36 +08:00
- :warn: **Breaking Change:** `Exception` is not renamed to `Error` . Code may need to be updated to replace `exception`
with `error`
2021-06-30 05:54:07 +08:00
- Add more SES examples, and improve examples for Batch.
- Improved error handling ergonomics: Errors now provide `is_<variantname>()` methods to simplify error handling
2021-08-04 01:50:06 +08:00
- :bug: Bugfix: fix bug where invalid query strings could be generated (#531, @eagletmt )
2021-06-30 05:54:07 +08:00
**Internal Changes**
2021-08-12 03:03:36 +08:00
2021-06-30 05:54:07 +08:00
- Pin CI version to 1.52.1 (#532)
- New JSON deserializer implementation (#530)
- Fix numerous namespace collision bugs (#539)
- Gracefully handle empty response bodies during JSON parsing (#553)
**Contributors**
2021-08-04 01:50:06 +08:00
Thank you for your contributions! :heart:
- @eagletmt (#531)
2021-06-30 05:54:07 +08:00
2021-08-04 01:50:06 +08:00
v0.14 (June 22nd 2021)
----------------------
2021-06-30 05:54:07 +08:00
2021-08-12 03:03:36 +08:00
This week, we've added CloudWatch Logs support and fixed several bugs in the generated S3 clients. There are a few
breaking changes this week.
2021-06-30 05:54:07 +08:00
**New this Week**
2021-08-04 01:50:06 +08:00
- :tada: Add support for CloudWatch Logs (#526)
- :warning: **Breaking Change:** The `set_*` functions on generated Builders now always take an `Option` (#506)
2021-08-12 03:03:36 +08:00
- :warning: **Breaking Change:** Unions with Documents will see the inner document type change from `Option<Document>`
to `Document` (#520)
- :warning: **Breaking Change:** The `as_*` functions on unions now return `Result` rather than `Option` to clearly
indicate what the actual value is (#527)
- Add more S3 examples, and improve SNS, SQS, and SageMaker examples. Improve example doc comments (#490, #508 , #509 ,
#510 , #511 , #512 , #513 , #524 )
2021-08-04 01:50:06 +08:00
- :bug: Bugfix: Show response body in trace logs for calls that don't return a stream (#514)
- :bug: Bugfix: Correctly parse S3's GetBucketLocation response (#516)
- :bug: Bugfix: Correctly URL-encode tilde characters before SigV4 signing (#519)
2021-08-12 03:03:36 +08:00
- :bug: Bugfix: Fix S3 PutBucketLifecycle operation by adding support for the `@httpChecksumRequired` Smithy trait (
#523 )
2021-08-04 01:50:06 +08:00
- :bug: Bugfix: Correctly parse non-list headers with commas in them (#525, @eagletmt )
2021-06-30 05:54:07 +08:00
**Internal Changes**
2021-08-12 03:03:36 +08:00
2021-06-30 05:54:07 +08:00
- Reduce name collisions in generated code (#502)
- Combine individual example packages into per-service example packages with multiple binaries (#481, #490 )
- Re-export HyperAdapter in smithy-client (#515, @zekisherif )
- Add serialization/deserialization benchmark for DynamoDB to exercise restJson1 generated code (#507)
**Contributions**
2021-08-04 01:50:06 +08:00
Thank you for your contributions! :heart:
2021-06-30 05:54:07 +08:00
- @eagletmt (#525)
- @zekisherif (#515)
2021-08-04 01:50:06 +08:00
v0.13 (June 15th 2021)
----------------------
2021-08-12 03:03:36 +08:00
Smithy-rs now has codegen support for all AWS services! This week, we've added CloudFormation, SageMaker, EC2, and SES.
More details below.
2021-06-30 05:54:07 +08:00
**New this Week**
2021-08-04 01:50:06 +08:00
- :tada: Add support for CloudFormation (#500, @alistaim )
- :tada: Add support for SageMaker (#473, @alistaim )
- :tada: Add support for EC2 (#495)
- :tada: Add support for SES (#499)
2021-06-30 05:54:07 +08:00
- Add support for the EC2 Query protocol (#475)
- Generate fluent builders for all smithy-rs clients (#496, @jonhoo )
2021-08-04 01:50:06 +08:00
- :bug: Bugfix: RFC-3339 timestamps (`date-time` format in Smithy) are now formatted correctly (#479, #489 )
- :bug: Bugfix: Union and enum variants named Self no longer cause compile errors in generated code (#492)
2021-06-30 05:54:07 +08:00
**Internal Changes**
2021-08-04 01:50:06 +08:00
2021-08-12 03:03:36 +08:00
- Combine individual example packages into per-service example packages with multiple binaries (#477, #480 , #482 , #484 ,
#485 , #486 , #487 , #491 )
2021-06-30 05:54:07 +08:00
- Work towards JSON deserialization overhaul (#474)
- Make deserializer function naming consistent between XML and JSON deserializers (#497)
Contributors:
2021-08-12 03:03:36 +08:00
2021-06-30 05:54:07 +08:00
- @Doug -AWS
- @jdisanti
- @rcoh
- @alistaim
- @jonhoo
Thanks!!
2021-08-04 01:50:06 +08:00
v0.12 (June 8th 2021)
---------------------
2021-08-12 03:03:36 +08:00
Starting this week, smithy-rs now has codegen support for all AWS services except EC2. This week we’ ve added MediaLive,
MediaPackage, SNS, Batch, STS, RDS, RDSData, Route53, and IAM. More details below.
2021-06-30 05:54:07 +08:00
**New this Week**
2021-08-04 01:50:06 +08:00
2021-06-30 05:54:07 +08:00
- :tada: Add support for MediaLive and MediaPackage (#449, @alastaim )
- :tada: Add support for SNS (#450)
- :tada: Add support for Batch (#452, @alistaim )
2021-08-12 03:03:36 +08:00
- :tada: Add support for STS. **Note:** This does not include support for an STS-based credential provider although an
example is provided. (#453)
2021-06-30 05:54:07 +08:00
- :tada: Add support for RDS (#455) and RDS-Data (#470). (@LMJW)
- :tada: Add support for Route53 (#457, @alistaim )
2021-08-12 03:03:36 +08:00
- Support AWS Endpoints & Regions. With this update, regions like `iam-fips` and `cn-north-1` will now resolve to the
correct endpoint. Please report any issues with endpoint resolution. (#468)
- :bug: Bugfix: Primitive numerics and booleans are now filtered from serialization when they are 0 and not marked as
required. This resolves issues where maxResults needed to be set even though it is optional. (#451)
2021-08-04 01:50:06 +08:00
- :bug: Bugfix: S3 Head Object returned the wrong error when the object did not exist (#460, fixes #456 )
2021-06-30 05:54:07 +08:00
**Internal Changes**
- Remove unused key “build” from smithy-build.json and Rust settings (#447)
- Split SDK CI jobs for faster builds & reporting (#446)
- Fix broken doc link in JSON serializer (@LMJW)
- Work towards JSON deserialization overhaul (#454, #462 )
Contributors:
2021-08-12 03:03:36 +08:00
2021-06-30 05:54:07 +08:00
- @rcoh
- @jdisanti
- @alistaim
- @LMJW
Thanks!!
2021-08-04 01:50:06 +08:00
v0.11 (June 1st, 2021)
----------------------
2021-06-30 05:54:07 +08:00
**New this week:**
2021-08-04 01:50:06 +08:00
2021-08-12 03:03:36 +08:00
- :tada: Add support for SQS. SQS is our first service to use the awsQuery protocol. Please report any issues you may
encounter.
2021-06-30 05:54:07 +08:00
- :tada: Add support for ECS.
2021-08-12 03:03:36 +08:00
- **Breaking Change**: Refactored `smithy_types::Error` to be more flexible. Internal fields of `Error` are now private
and can now be accessed accessor functions. (#426)
2021-06-30 05:54:07 +08:00
- `ByteStream::from_path` now accepts `implications AsRef<Path>` (@LMJW)
- Add support for S3 extended request id (#429)
- Add support for the awsQuery protocol. smithy-rs can now add support for all services except EC2.
- **Bugfix**: Timestamps that fell precisely on minute boundaries were not properly formatted (#435)
- Improve documentation for `ByteStream` & add `pub use` (#443)
2021-08-12 03:03:36 +08:00
- Add support for `EndpointPrefix` used
by [`s3::WriteGetObjectResponse` ](https://awslabs.github.io/aws-sdk-rust/aws_sdk_s3/operation/struct.WriteGetObjectResponse.html ) (
#420 )
2021-06-30 05:54:07 +08:00
2021-08-04 01:50:06 +08:00
**Smithy Internals**
2021-06-30 05:54:07 +08:00
- Rewrite JSON serializer (#411, #423 , #416 , #427 )
- Remove dead “rootProject” setting in `smithy-build.json`
- **Bugfix:** Idempotency tokens were not properly generated when operations were used by resources
Contributors:
2021-08-12 03:03:36 +08:00
2021-06-30 05:54:07 +08:00
- @jdisanti
- @rcoh
- @LMJW
Thanks!