Releases: smithy-lang/smithy-rs
July 23rd, 2025
Internal changes only with this release
July 21st, 2025
New this release:
- 🎉 (client, smithy-rs#4203) Add support for configuring auth schemes manually using an auth scheme preference list.
The preference list allows customers to reprioritize the order of auth schemes originally
determined by the auth scheme resolver.
Customers can configure the auth scheme preference at the following locations, listed in order of precedence:- Service Client Configuration
use aws_runtime::auth::sigv4; use aws_smithy_runtime_api::client::auth::AuthSchemeId; use aws_smithy_runtime_api::client::auth::http::HTTP_BEARER_AUTH_SCHEME_ID; let config = aws_sdk_s3::Config::builder() .auth_scheme_preference([AuthSchemeId::from("scheme1"), sigv4::SCHEME_ID, HTTP_BEARER_AUTH_SCHEME_ID]) // ... .build();
- Environment Variable
AWS_AUTH_SCHEME_PREFERENCE=scheme1, sigv4, httpBearerAuth
- Configuration File
With this configuration, the auth scheme resolver will prefer to select them in the specified order,auth_scheme_preference=scheme1, sigv4, httpBearerAuth
if they are supported.
July 17th, 2025
New this release:
- (all, smithy-rs#4212) Event streams now allocate a right-sized buffer avoiding repeated reallocations during serialization
July 16th, 2025
New this release:
- (client) re-use checksums on retry attempts for enhanced durability
July 8th, 2025
Breaking Changes:
- ⚠ (all, smithy-rs#4191) Update MSRV to Rust 1.86.0
New this release:
- (client, smithy-rs#4076, smithy-rs#4198) Allows customers to configure the auth schemes and auth scheme resolver. For more information see the GitHub discussion.
June 30th, 2025
Internal changes only with this release
June 27th, 2025
New this release:
- 🐛 (client) Fix hyper 1.x connection refused errors not marked as retryable
- (client, smithy-rs#4186) Make Rpc V2 CBOR a compatible protocol for
awsQuery
usingawsQueryCompatible
trait
June 11th, 2025
Breaking Changes:
⚠️ (all, smithy-rs#4154) Update MSRV to 1.85.0- 🐛
⚠️ (server) Fixed SmithyRpcV2CBOR Router to properly respect case in service names, preventing routing failures for services with mixed-case service shape ID.
New this release:
- 🐛 (client, smithy-rs#4165) Fix default supported protocols incorrectly ordered in
ClientProtocolLoader
.
June 3rd, 2025
New this release:
- 🐛 (client, aws-sdk-rust#1272) Fix h2 GoAway errors not being retried by hyper legacy client
May 19th, 2025
New this release:
-
🎉 (client, smithy-rs#4135) Introduce a new
repeatedly()
function toaws-smithy-mocks
sequence builder to build mock rules that behave as an
infinite sequence.let rule = mock!(aws_sdk_s3::Client::get_object) .sequence() .http_status(503, None) .times(2) // repeat the last output twice before moving onto the next response in the sequence .output(|| GetObjectOutput::builder() .body(ByteStream::from_static(b"success")) .build() ) .repeatedly() // repeat the last output forever .build();
-
🐛 (client, aws-sdk-rust#1291) Removing the
optimize_crc32_auto
feature flag from thecrc-fast
dependency of theaws-smithy-checksums
crate since it was causing build issues for some customers. -
🐛 (client, smithy-rs#4137) Fix bug with enum codegen
When the first enum generated has the
@sensitive
trait the opaque type
underlying theUnknownVariant
inherits that sensitivity. This means that
it does not deriveDebug
. Since the module is only generated once this
causes a problem for non-sensitive enums that rely on the type deriving
Debug
so that they can also deriveDebug
. We manually addDebug
to
the module so it will always be there since theUnknownVariant
is not
modeled and cannot be@sensitive
. -
🐛 (client, smithy-rs#4135) fix simple rules behavior with
RuleMode::MatchAny