Releases: smithy-lang/smithy-rs
November 20th, 2025
New this release:
- (client, smithy-rs#4388, @greenwoodcm) Add
then_compute_responseto Smithy mock
Contributors
Thank you for your contributions! ❤
November 6th, 2025
New this release:
- (client) Bump crc-fast version to 1.6.0
- (client) Validate
Regionis a valid host label when constructing endpoints.
October 30th, 2025
Breaking Changes:
-
⚠️ 🎉 (server, smithy-rs#4356) Parse EventStream signed-frames for servers marked with@sigv4.This is a breaking change, because events from SigV4 services are wrapped in a SignedEvent frame.
-
⚠️ (all, smithy-rs#4367) Upgrade MSRV to Rust 1.88.0.
New this release:
-
🐛🎉 (server, smithy-rs#4352, smithy-rs#4345) Update smithy-rs servers to support sending
initial-responseevents over event streams.Prior to this change, event streams that had initial responses were unsupported. This change also adds a new codegen setting,
alwaysSendEventStreamInitialResponse.When this setting is set to
true, the generated server will unconditionally sendinitial-responseobjects, even when empty. This is required for compatibility with smithy-java as well as a few other clients.This setting defaults to false currently because smithy-rs based clients do not currently support this behavior.
"codegen": { "alwaysSendEventStreamInitialResponse": true // default false }
-
🎉 (all, @arielby) Include the protocol name in
package.metadata.smithy.protocolinCargo.toml
to allow easily figuring out which protocol was used to generate a crate. -
🐛🎉 (client, smithy-rs#4349, @arielby) Make Hyper idle pool timeout configurable, and fix the bug where pool timeouts
would not work if the client was built directly. -
🎉 (server, smithy-rs#4317, @jasgin) Adds validators and codegen support for the custom traits custom traits
@validationException,@validationMessage,
@validationFieldList,@validationFieldName, and@validationFieldMessagefor defining a custom validation exception
to use instead ofsmithy.framework#ValidationException. -
🐛 (client, smithy-rs#4346) Fix bug where httpQueryParams were silently dropped when no other query parameters were modeled.
-
🐛 (server, smithy-rs#4344, smithy-rs#4325) Fix bug where servers did not attempt to parse an
initial-request.initial-requestsmay be sent by clients both when they would contain valid data
and when they are empty. -
🐛 (client, smithy-rs#4352, smithy-rs#4353) Update clients to allow
initial-responseevents to be accepted on event streams, even when know modeled initial response exists.This is required for spec compliance, backwards compatibility, and compatibility with non-smithy-rs based servers that
MAY unconditionally sendinitial-responsemessages. -
🐛 (client, smithy-rs#4265, smithy-rs#4189) Adds new
with_test_defaults_v2()for all clients supporting region configuration which appliesus-east-1as default region if not set by user. This allowsaws-smithy-mocksto work for non AWS SDK generated clients. Also clarifytest-utilfeature requirement when usingaws-smithy-mocks.
Contributors
Thank you for your contributions! ❤
October 6th, 2025
New this release:
- 🎉 (server, smithy-rs#4321, @jasgin) Adds the custom traits
@validationException,@validationMessage,@validationFieldList,@validationFieldName, and@validationFieldMessage
for defining custom validation exceptions.
Contributors
Thank you for your contributions! ❤
October 2nd, 2025
New this release:
-
🐛 (server) Fix bug where servers rejected
application/vnd.amazon.evenstreamACCEPT header for RPCv2CborThis change allows this header while also allowing
application/cborfor backwards compatibility.
October 1st, 2025
New this release:
- 🎉 (client, smithy-rs#4299, @greenwoodcm) Added a new
then_compute_outputtoaws-smithy-mocksrule builder that allows using the input type when computing a mocked response, e.g.// Return a computed output based on the input let compute_rule = mock!(Client::get_object) .then_compute_output(|req| { let key = req.key().unwrap_or("unknown"); GetObjectOutput::builder() .body(ByteStream::from_static(format!("content for {}", key).as_bytes())) .build() });
- 🐛 (client, smithy-rs#4226, @haydenbaker) Fixed problematic assertion on HttpApiKeyAuthTrait
scheme, which was causing client-codegen to fail when the correct settings for api-key based auth were set.
Contributors
Thank you for your contributions! ❤
September 10th, 2025
New this release:
- 🐛 (client, smithy-rs#4274) The
HickoryDnsResolverandTokioDnsResolverwere notClonemaking it impossible to use them in the http_client builder'sbuild_with_resolvermethod.
August 28th, 2025
New this release:
- 🎉 (client, smithy-rs#4274) Add a new crate,
aws-smithy-dnsthat contains aHickoryDnsResolver. This wraps ahickory_resolver::Resolverand provides some minimal configuration options (timeouts, retries, etc.) Instructions for overriding the DNS resolver on your HTTP client can be found in our documentation at https://docs.aws.amazon.com/sdk-for-rust/latest/dg/http.html#overrideDns - 🐛 (client, smithy-rs#4282) Set the
pool_timerfor the default Hyper client. This is required to allow thepool_idle_timeoutto work. Now idle connections will be released by the pool after 90 seconds. - (client, smithy-rs#4263) Make
TokenBucketandClientRateLimiterconfigurable throughRetryPartition.
August 18th, 2025
New this release:
- 🎉 (client, aws-sdk-rust#169) Add support for proxy environment variables (
HTTP_PROXY,HTTPS_PROXY,ALL_PROXY,NO_PROXY). Service clients will now automatically respect these proxy environment variables on the latestBehaviorVersion. Older behavior versions do not automatically detect these environment variables and will require manually building aaws_smithy_http_client::Connectorwith a proxy config explicitly set to use this feature. - 🎉 (client, @WillChilds-Klein) Enable rustls post-quantum by default.
- (client) fix
aws-smithy-eventstreamfeaturederive-arbitraryonarbitrary>= 1.4.2
Contributors
Thank you for your contributions! ❤
August 13th, 2025
New this release:
- 🐛 (client) pin crc-fast to <1.4 to workaround SIGILL