Skip to content

Commit 29e75c6

Browse files
authored
Merge smithy-rs-release-1.x.y into main (#4141)
2 parents 4e4a0ee + 1e00371 commit 29e75c6

File tree

7 files changed

+82
-77
lines changed

7 files changed

+82
-77
lines changed

.changelog/1747668519.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

.changelog/1747668565.md

Lines changed: 0 additions & 27 deletions
This file was deleted.

.changelog/crc-fast-feature.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

.changelog/unknown-debug.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,35 @@
11
<!-- Do not manually edit this file. Use the `changelogger` tool. -->
2+
May 19th, 2025
3+
==============
4+
**New this release:**
5+
- :tada: (client, [smithy-rs#4135](https://github.com/smithy-lang/smithy-rs/issues/4135)) Introduce a new `repeatedly()` function to `aws-smithy-mocks` sequence builder to build mock rules that behave as an
6+
infinite sequence.
7+
8+
```rust
9+
let rule = mock!(aws_sdk_s3::Client::get_object)
10+
.sequence()
11+
.http_status(503, None)
12+
.times(2) // repeat the last output twice before moving onto the next response in the sequence
13+
.output(|| GetObjectOutput::builder()
14+
.body(ByteStream::from_static(b"success"))
15+
.build()
16+
)
17+
.repeatedly() // repeat the last output forever
18+
.build();
19+
```
20+
- :bug: (client, [aws-sdk-rust#1291](https://github.com/awslabs/aws-sdk-rust/issues/1291)) Removing the `optimize_crc32_auto` feature flag from the `crc-fast` dependency of the `aws-smithy-checksums` crate since it was causing build issues for some customers.
21+
- :bug: (client, [smithy-rs#4137](https://github.com/smithy-lang/smithy-rs/issues/4137)) Fix bug with enum codegen
22+
23+
When the first enum generated has the `@sensitive` trait the opaque type
24+
underlying the `UnknownVariant` inherits that sensitivity. This means that
25+
it does not derive `Debug`. Since the module is only generated once this
26+
causes a problem for non-sensitive enums that rely on the type deriving
27+
`Debug` so that they can also derive `Debug`. We manually add `Debug` to
28+
the module so it will always be there since the `UnknownVariant` is not
29+
modeled and cannot be `@sensitive`.
30+
- :bug: (client, [smithy-rs#4135](https://github.com/smithy-lang/smithy-rs/issues/4135)) fix simple rules behavior with `RuleMode::MatchAny`
31+
32+
233
May 15th, 2025
334
==============
435
**New this release:**

aws/SDK_CHANGELOG.next.json

Lines changed: 49 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"smithy-rs#4050"
1818
],
1919
"since-commit": "f0c92d92b680771787af8ab60995d0e1fae02611",
20-
"age": 4
20+
"age": 5
2121
},
2222
{
2323
"message": "Fix an issue where a custom `Content-Encoding` header was incorrectly overwritten by the `aws-chunked` header value.\n",
@@ -31,7 +31,7 @@
3131
"aws-sdk-rust#1281"
3232
],
3333
"since-commit": "f0c92d92b680771787af8ab60995d0e1fae02611",
34-
"age": 4
34+
"age": 5
3535
},
3636
{
3737
"message": "Add support for the account-based endpoints in AWS SDKs. For more details, please refer to the [AWS SDKs and Tools Reference Guide on Account-Based Endpoints](https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html).\n",
@@ -45,7 +45,7 @@
4545
"smithy-rs#3776"
4646
],
4747
"since-commit": "f0c92d92b680771787af8ab60995d0e1fae02611",
48-
"age": 4
48+
"age": 5
4949
},
5050
{
5151
"message": "Fix service specific endpoint url keys\n",
@@ -59,7 +59,7 @@
5959
"aws-sdk-rust#1252"
6060
],
6161
"since-commit": "f0c92d92b680771787af8ab60995d0e1fae02611",
62-
"age": 4
62+
"age": 5
6363
},
6464
{
6565
"message": "Fix a bug where fields that were initially annotated with the `required` trait and later updated to use the `addedDefault` trait were not serialized when their values matched the default, even when the values were explicitly set. With this fix, fields with `addedDefault` are now always serialized.\n",
@@ -73,7 +73,7 @@
7373
"smithy-rs#4117"
7474
],
7575
"since-commit": "84f5464aacf3544f706d75af0aaddfea42c20e9f",
76-
"age": 2
76+
"age": 3
7777
},
7878
{
7979
"message": "Promote `aws-smithy-mocks-experimental` to `aws-smithy-mocks`. This crate is now a recommended tool for testing\ngenerated SDK clients. This release includes several fixes as well as a new sequence builder API that can be\nused to test more complex scenarios such as retries.\n\n```rust\nuse aws_sdk_s3::operation::get_object::GetObjectOutput;\nuse aws_sdk_s3::config::retry::RetryConfig;\nuse aws_smithy_types::byte_stream::ByteStream;\nuse aws_smithy_mocks::{mock, mock_client, RuleMode};\n\n#[tokio::test]\nasync fn test_retry_behavior() {\n // Create a rule that returns 503 twice, then succeeds\n let retry_rule = mock!(aws_sdk_s3::Client::get_object)\n .sequence()\n .http_status(503, None)\n .times(2) // Return 503 HTTP status twice\n .output(|| GetObjectOutput::builder() // Finally return a successful output\n .body(ByteStream::from_static(b\"success\"))\n .build())\n .build();\n\n // Create a mocked client with the rule\n let s3 = mock_client!(\n aws_sdk_s3,\n RuleMode::Sequential,\n [&retry_rule],\n |client_builder| {\n client_builder.retry_config(RetryConfig::standard().with_max_attempts(3))\n }\n );\n\n // This should succeed after two retries\n let result = s3\n .get_object()\n .bucket(\"test-bucket\")\n .key(\"test-key\")\n .send()\n .await\n .expect(\"success after retries\");\n\n // Verify the response\n let data = result.body.collect().await.expect(\"successful read\").to_vec();\n assert_eq!(data, b\"success\");\n\n // Verify all responses were used\n assert_eq!(retry_rule.num_calls(), 3);\n}\n```\n",
@@ -88,7 +88,7 @@
8888
"smithy-rs#3926"
8989
],
9090
"since-commit": "84f5464aacf3544f706d75af0aaddfea42c20e9f",
91-
"age": 2
91+
"age": 3
9292
},
9393
{
9494
"message": "Update MSRV to 1.82.0\n",
@@ -102,7 +102,7 @@
102102
"smithy-rs#4120"
103103
],
104104
"since-commit": "84f5464aacf3544f706d75af0aaddfea42c20e9f",
105-
"age": 2
105+
"age": 3
106106
},
107107
{
108108
"message": "Replace once_cell with std equivalents\n",
@@ -116,6 +116,48 @@
116116
"smithy-rs#4105"
117117
],
118118
"since-commit": "f3aebe7b53d7e1be4bd922e13d459f8ef72104fa",
119+
"age": 2
120+
},
121+
{
122+
"message": "Removing the `optimize_crc32_auto` feature flag from the `crc-fast` dependency of the `aws-smithy-checksums` crate since it was causing build issues for some customers.\n",
123+
"meta": {
124+
"bug": true,
125+
"breaking": false,
126+
"tada": false
127+
},
128+
"author": "landonxjames",
129+
"references": [
130+
"aws-sdk-rust#1291"
131+
],
132+
"since-commit": "4e4a0ee2d663a1212927a8a70ca97eac567d54b6",
133+
"age": 1
134+
},
135+
{
136+
"message": "fix simple rules behavior with `RuleMode::MatchAny`\n",
137+
"meta": {
138+
"bug": true,
139+
"breaking": false,
140+
"tada": false
141+
},
142+
"author": "aajtodd",
143+
"references": [
144+
"smithy-rs#4135"
145+
],
146+
"since-commit": "4e4a0ee2d663a1212927a8a70ca97eac567d54b6",
147+
"age": 1
148+
},
149+
{
150+
"message": "Introduce a new `repeatedly()` function to `aws-smithy-mocks` sequence builder to build mock rules that behave as an\ninfinite sequence.\n\n```rust\nlet rule = mock!(aws_sdk_s3::Client::get_object)\n .sequence()\n .http_status(503, None)\n .times(2) // repeat the last output twice before moving onto the next response in the sequence\n .output(|| GetObjectOutput::builder()\n .body(ByteStream::from_static(b\"success\"))\n .build()\n )\n .repeatedly() // repeat the last output forever\n .build();\n```\n",
151+
"meta": {
152+
"bug": false,
153+
"breaking": false,
154+
"tada": true
155+
},
156+
"author": "aajtodd",
157+
"references": [
158+
"smithy-rs#4135"
159+
],
160+
"since-commit": "4e4a0ee2d663a1212927a8a70ca97eac567d54b6",
119161
"age": 1
120162
}
121163
],

aws/sdk/Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)