Skip to content

Upgrading aws-smithy-types 0.37 to 0.38

Breaking0.37.0 → 0.38.0Breaking3Fixed1

BreakingUpgrade verdict

3 breaking changes.

  • If you write code that decides whether a failed request should be retried, you now must use two separate values instead of one: one for successful responses and one for failures that should not be retried.
  • A low-level helper type changed its internal shape, but how you call it is unchanged.
  • The convenience methods for choosing a TLS connector now return a generic connector, so code that relied on the specific connector type must build the connector manually.
3 items need code or config changes
Breaking3
Splits RetryKind::NotRetryable into UnretryableFailure and Unnecessary, requiring ClassifyResponse implementors to return the new variants.
aws_smithy_types::retry::RetryKindRetryKind::NotRetryableRetryKind::UnretryableFailureRetryKind::UnnecessaryClassifyResponse
Changes aws_smithy_types::primitive::Encoder from an enum to a struct, though its usage stays the same.
aws_smithy_types::primitive::Encoder
Makes ClientBuilder rustls() and native_tls() return DynConnector with dynamic dispatch instead of concrete connector types.
ClientBuilderrustls()native_tls()DynConnectorAdapteraws_smithy_client::conns::https()aws_smithy_client::hyper_ext