Skip to content

Commit 31afc48

Browse files
Update changelog and tag release manifest
1 parent 317b86d commit 31afc48

File tree

2 files changed

+131
-0
lines changed

2 files changed

+131
-0
lines changed

CHANGELOG.md

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,131 @@
11
<!-- Do not manually edit this file. Use the `changelogger` tool. -->
2+
December 14th, 2022
3+
===================
4+
**Breaking Changes:**
5+
- 🐛⚠ ([smithy-rs#1847](https://github.com/awslabs/smithy-rs/issues/1847)) Support Sigv4 signature generation on PowerPC 32 and 64 bit. This architecture cannot compile `ring`, so the implementation has been updated to rely on `hamc` + `sha2` to achive the same result with broader platform compatibility and higher performance. We also updated the CI which is now running as many tests as possible against i686 and PowerPC 32 and 64 bit.
6+
- ⚠ ([smithy-rs#1225](https://github.com/awslabs/smithy-rs/issues/1225), [smithy-rs#1918](https://github.com/awslabs/smithy-rs/issues/1918)) `<service>::Client::from_conf_conn` has been removed since it's now possible to configure the connection from the
7+
shared and service configs. To update your code, pass connections to the `http_connector` method during config creation.
8+
9+
<details>
10+
<summary>Example</summary>
11+
12+
before:
13+
14+
```rust
15+
let conf = aws_sdk_sts::Config::builder()
16+
// The builder has no defaults but setting other fields is omitted for brevity...
17+
.build();
18+
let (server, request) = capture_request(None);
19+
let client = aws_sdk_sts::Client::from_conf_conn(conf, server);
20+
```
21+
22+
after:
23+
24+
```rust
25+
let (server, request) = capture_request(None);
26+
let conf = aws_sdk_sts::Config::builder()
27+
// The builder has no defaults but setting other fields is omitted for brevity...
28+
.http_connector(server)
29+
.build();
30+
let client = aws_sdk_sts::Client::from_conf(conf);
31+
```
32+
33+
</details>
34+
- ⚠ ([smithy-rs#1935](https://github.com/awslabs/smithy-rs/issues/1935)) Removed re-export of `aws_smithy_client::retry::Config` from the `middleware` module.
35+
- ⚠ ([smithy-rs#1926](https://github.com/awslabs/smithy-rs/issues/1926), [smithy-rs#1819](https://github.com/awslabs/smithy-rs/issues/1819)) Several breaking changes have been made to errors. See [the upgrade guide](https://github.com/awslabs/aws-sdk-rust/issues/657) for more information.
36+
- ⚠ ([smithy-rs#1945](https://github.com/awslabs/smithy-rs/issues/1945)) Generate enums that guide the users to write match expressions in a forward-compatible way.
37+
Before this change, users could write a match expression against an enum in a non-forward-compatible way:
38+
```rust
39+
match some_enum {
40+
SomeEnum::Variant1 => { /* ... */ },
41+
SomeEnum::Variant2 => { /* ... */ },
42+
Unknown(value) if value == "NewVariant" => { /* ... */ },
43+
_ => { /* ... */ },
44+
}
45+
```
46+
This code can handle a case for "NewVariant" with a version of SDK where the enum does not yet include `SomeEnum::NewVariant`, but breaks with another version of SDK where the enum defines `SomeEnum::NewVariant` because the execution will hit a different match arm, i.e. the last one.
47+
After this change, users are guided to write the above match expression as follows:
48+
```rust
49+
match some_enum {
50+
SomeEnum::Variant1 => { /* ... */ },
51+
SomeEnum::Variant2 => { /* ... */ },
52+
other @ _ if other.as_str() == "NewVariant" => { /* ... */ },
53+
_ => { /* ... */ },
54+
}
55+
```
56+
This is forward-compatible because the execution will hit the second last match arm regardless of whether the enum defines `SomeEnum::NewVariant` or not.
57+
- ⚠ ([smithy-rs#1984](https://github.com/awslabs/smithy-rs/issues/1984), [smithy-rs#1496](https://github.com/awslabs/smithy-rs/issues/1496)) Functions on `aws_smithy_http::endpoint::Endpoint` now return a `Result` instead of panicking.
58+
- ⚠ ([smithy-rs#1984](https://github.com/awslabs/smithy-rs/issues/1984), [smithy-rs#1496](https://github.com/awslabs/smithy-rs/issues/1496)) `Endpoint::mutable` now takes `impl AsRef<str>` instead of `Uri`. For the old functionality, use `Endpoint::mutable_uri`.
59+
- ⚠ ([smithy-rs#1984](https://github.com/awslabs/smithy-rs/issues/1984), [smithy-rs#1496](https://github.com/awslabs/smithy-rs/issues/1496)) `Endpoint::immutable` now takes `impl AsRef<str>` instead of `Uri`. For the old functionality, use `Endpoint::immutable_uri`.
60+
- ⚠ ([smithy-rs#1983](https://github.com/awslabs/smithy-rs/issues/1983), [smithy-rs#2029](https://github.com/awslabs/smithy-rs/issues/2029)) Implementation of the Debug trait for container shapes now redacts what is printed per the sensitive trait.
61+
- ⚠ ([smithy-rs#2065](https://github.com/awslabs/smithy-rs/issues/2065)) `SdkBody` callbacks have been removed. If you were using these, please [file an issue](https://github.com/awslabs/aws-sdk-rust/issues/new) so that we can better understand your use-case and provide the support you need.
62+
- ⚠ ([smithy-rs#2063](https://github.com/awslabs/smithy-rs/issues/2063)) `AwsEndpointStage`, a middleware which set endpoints and auth has been split into `AwsAuthStage` and `SmithyEndpointStage`. Related types have also been renamed.
63+
- ⚠ ([smithy-rs#1989](https://github.com/awslabs/smithy-rs/issues/1989)) The Unit type for a Union member is no longer rendered. The serializers and parsers generated now function accordingly in the absence of the inner data associated with the Unit type.
64+
65+
**New this release:**
66+
- 🎉 ([smithy-rs#1225](https://github.com/awslabs/smithy-rs/issues/1225), [smithy-rs#1918](https://github.com/awslabs/smithy-rs/issues/1918)) <details>
67+
<summary>The HTTP connector used when making requests is now configurable through `SdkConfig`.</summary>
68+
69+
```rust
70+
use std::time::Duration;
71+
use aws_smithy_client::{Client, hyper_ext};
72+
use aws_smithy_client::erase::DynConnector;
73+
use aws_smithy_client::http_connector::ConnectorSettings;
74+
use aws_types::SdkConfig;
75+
76+
let https_connector = hyper_rustls::HttpsConnectorBuilder::new()
77+
.with_webpki_roots()
78+
.https_only()
79+
.enable_http1()
80+
.enable_http2()
81+
.build();
82+
83+
let smithy_connector = hyper_ext::Adapter::builder()
84+
// Optionally set things like timeouts as well
85+
.connector_settings(
86+
ConnectorSettings::builder()
87+
.connect_timeout(Duration::from_secs(5))
88+
.build()
89+
)
90+
.build(https_connector);
91+
92+
let sdk_config = aws_config::from_env()
93+
.http_connector(smithy_connector)
94+
.load()
95+
.await;
96+
97+
let client = Client::new(&sdk_config);
98+
99+
// When sent, this operation will go through the custom smithy connector instead of
100+
// the default HTTP connector.
101+
let op = client
102+
.get_object()
103+
.bucket("some-test-bucket")
104+
.key("test.txt")
105+
.send()
106+
.await
107+
.unwrap();
108+
```
109+
110+
</details>
111+
- 🎉 ([aws-sdk-rust#641](https://github.com/awslabs/aws-sdk-rust/issues/641), [smithy-rs#1892](https://github.com/awslabs/smithy-rs/issues/1892), @albe-rosado) Ability to add an inline policy or a list of policy ARNs to the `AssumeRoleProvider` builder.
112+
- 🎉 ([smithy-rs#2044](https://github.com/awslabs/smithy-rs/issues/2044), [smithy-rs#371](https://github.com/awslabs/smithy-rs/issues/371)) Fixed and improved the request `tracing` span hierarchy to improve log messages, profiling, and debuggability.
113+
- ([smithy-rs#1890](https://github.com/awslabs/smithy-rs/issues/1890)) Add test to exercise excluded headers in aws-sigv4.
114+
- ([smithy-rs#1801](https://github.com/awslabs/smithy-rs/issues/1801)) Add test ensuring that a response will error if the response body returns an EOF before the entire body has been read.
115+
- ([smithy-rs#1923](https://github.com/awslabs/smithy-rs/issues/1923)) Fix cargo audit issue on criterion.
116+
- ([smithy-rs#1918](https://github.com/awslabs/smithy-rs/issues/1918)) Add `to_vec` method to `aws_smithy_http::byte_stream::AggregatedBytes`.
117+
- 🐛 ([smithy-rs#1957](https://github.com/awslabs/smithy-rs/issues/1957)) It was possible in some cases to send some S3 requests without a required upload ID, causing a risk of unintended data
118+
deletion and modification. Now, when an operation has query parameters that are marked as required, the omission of
119+
those query parameters will cause a BuildError, preventing the invalid operation from being sent.
120+
- 🐛 ([smithy-rs#2018](https://github.com/awslabs/smithy-rs/issues/2018)) Normalize URI paths per RFC3986 when constructing canonical requests, except for S3.
121+
- ([smithy-rs#2064](https://github.com/awslabs/smithy-rs/issues/2064), [aws-sdk-rust#632](https://github.com/awslabs/aws-sdk-rust/issues/632)) The SDK clients now default max idle connections to 70 (previously unlimited) to reduce the likelihood of hitting max file handles in AWS Lambda.
122+
- ([smithy-rs#2057](https://github.com/awslabs/smithy-rs/issues/2057), [smithy-rs#371](https://github.com/awslabs/smithy-rs/issues/371)) Add more `tracing` events to signing and event streams
123+
- ([smithy-rs#2062](https://github.com/awslabs/smithy-rs/issues/2062)) Log an `info` on credentials cache miss and adjust level of some credential `tracing` spans/events.
124+
125+
**Contributors**
126+
Thank you for your contributions!
127+
- @albe-rosado ([aws-sdk-rust#641](https://github.com/awslabs/aws-sdk-rust/issues/641), [smithy-rs#1892](https://github.com/awslabs/smithy-rs/issues/1892))
128+
2129
October 26th, 2022
3130
==================
4131
**Breaking Changes:**

versions.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1987,6 +1987,10 @@ source_hash = '60118ef4d9fdf653ddc390eeca22009b38020dd41684bf5d771f1cc27b968074'
19871987
category = 'AwsRuntime'
19881988
version = '0.52.0'
19891989
source_hash = '359b1362caa19ea5236d3709b566318d9a6ceacd6912e56297624f3af933ddb8'
1990+
1991+
[release]
1992+
tag = 'release-2022-12-14'
1993+
19901994
[release.crates]
19911995
aws-config = '0.52.0'
19921996
aws-endpoint = '0.52.0'

0 commit comments

Comments
 (0)