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! ❤