diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f3a70d70c..70a6a34b80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,75 @@ +October 31st, 2023 +================== +**Breaking Changes:** +- :warning::tada: (client, [smithy-rs#2417](https://github.com/awslabs/smithy-rs/issues/2417), [smithy-rs#3018](https://github.com/awslabs/smithy-rs/issues/3018)) Retry classifiers are now configurable at the service and operation levels. Users may also define their own custom retry classifiers. + + For more information, see the [guide](https://github.com/awslabs/smithy-rs/discussions/3050). +- :warning: (client, [smithy-rs#3011](https://github.com/awslabs/smithy-rs/issues/3011)) HTTP connector configuration has changed significantly. See the [upgrade guidance](https://github.com/awslabs/smithy-rs/discussions/3022) for details. +- :warning: (client, [smithy-rs#3038](https://github.com/awslabs/smithy-rs/issues/3038)) The `enableNewSmithyRuntime: middleware` opt-out flag in smithy-build.json has been removed and no longer opts out of the client orchestrator implementation. Middleware is no longer supported. If you haven't already upgraded to the orchestrator, see [the guide](https://github.com/awslabs/smithy-rs/discussions/2887). +- :warning: (client, [smithy-rs#2909](https://github.com/awslabs/smithy-rs/issues/2909)) It's now possible to nest runtime components with the `RuntimePlugin` trait. A `current_components` argument was added to the `runtime_components` method so that components configured from previous runtime plugins can be referenced in the current runtime plugin. Ordering of runtime plugins was also introduced via a new `RuntimePlugin::order` method. +- :warning: (all, [smithy-rs#2948](https://github.com/awslabs/smithy-rs/issues/2948)) Update MSRV to Rust 1.70.0 +- :warning: (client, [smithy-rs#2970](https://github.com/awslabs/smithy-rs/issues/2970)) `aws_smithy_client::hyper_ext::Adapter` was moved/renamed to `aws_smithy_runtime::client::connectors::hyper_connector::HyperConnector`. +- :warning: (client, [smithy-rs#2970](https://github.com/awslabs/smithy-rs/issues/2970)) Test connectors moved into `aws_smithy_runtime::client::connectors::test_util` behind the `test-util` feature. +- :warning: (client, [smithy-rs#2970](https://github.com/awslabs/smithy-rs/issues/2970)) DVR's RecordingConnection and ReplayingConnection were renamed to RecordingConnector and ReplayingConnector respectively. +- :warning: (client, [smithy-rs#2970](https://github.com/awslabs/smithy-rs/issues/2970)) TestConnection was renamed to EventConnector. +- :warning: (all, [smithy-rs#2973](https://github.com/awslabs/smithy-rs/issues/2973)) Remove `once_cell` from public API. +- :warning: (all, [smithy-rs#2995](https://github.com/awslabs/smithy-rs/issues/2995)) Structure members with the type `Option>` now produce an accessor with the type `&[T]` instead of `Option<&[T]>`. This is enabled by default for clients and can be disabled by updating your smithy-build.json with the following setting: + ```json + { + "codegen": { + "flattenCollectionAccessors": false, + ... + } + } + ``` +- :warning: (client, [smithy-rs#2978](https://github.com/awslabs/smithy-rs/issues/2978)) The `futures_core::stream::Stream` trait has been removed from public API. `FnStream` only supports `next`, `try_next`, `collect`, and `try_collect` methods. [`TryFlatMap::flat_map`](https://docs.rs/aws-smithy-async/latest/aws_smithy_async/future/pagination_stream/struct.TryFlatMap.html#method.flat_map) returns [`PaginationStream`](https://docs.rs/aws-smithy-async/latest/aws_smithy_async/future/pagination_stream/struct.PaginationStream.html), which should be preferred to `FnStream` at an interface level. Other stream operations that were previously available through the trait or its extension traits can be added later in a backward compatible manner. Finally, `fn_stream` has been moved to be a child module of `pagination_stream`. +- :warning: (client, [smithy-rs#2983](https://github.com/awslabs/smithy-rs/issues/2983)) The `futures_core::stream::Stream` trait has been removed from [`ByteStream`](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/byte_stream/struct.ByteStream.html). The methods mentioned in the [doc](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/byte_stream/struct.ByteStream.html#getting-data-out-of-a-bytestream) will continue to be supported. Other stream operations that were previously available through the trait or its extension traits can be added later in a backward compatible manner. +- :warning: (client, [smithy-rs#2997](https://github.com/awslabs/smithy-rs/issues/2997)) `StaticUriEndpointResolver`'s `uri` constructor now takes a `String` instead of a `Uri`. +- :warning: (server, [smithy-rs#3038](https://github.com/awslabs/smithy-rs/issues/3038)) `SdkError` is no longer re-exported in generated server crates. +- :warning: (client, [smithy-rs#3039](https://github.com/awslabs/smithy-rs/issues/3039)) The `customize()` method is now sync and infallible. Remove any `await`s and error handling from it to make things compile again. +- :bug::warning: (all, [smithy-rs#3037](https://github.com/awslabs/smithy-rs/issues/3037), [aws-sdk-rust#756](https://github.com/awslabs/aws-sdk-rust/issues/756)) Our algorithm for converting identifiers to `snake_case` has been updated. This may result in a small change for some identifiers, particularly acronyms ending in `s`, e.g. `ACLs`. +- :warning: (client, [smithy-rs#3055](https://github.com/awslabs/smithy-rs/issues/3055)) The future return types on traits `EndpointResolver` and `IdentityResolver` changed to new-types `EndpointFuture` and `IdentityFuture` respectively. +- :warning: (client, [smithy-rs#3032](https://github.com/awslabs/smithy-rs/issues/3032)) [`EndpointPrefix::new`](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/endpoint/struct.EndpointPrefix.html#method.new) no longer returns `crate::operation::error::BuildError` for an Err variant, instead returns a more specific [`InvalidEndpointError`](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/endpoint/error/struct.InvalidEndpointError.html). +- :warning: (client, [smithy-rs#3061](https://github.com/awslabs/smithy-rs/issues/3061)) Lifetimes have been added to the `EndpointResolver` trait. +- :warning: (client, [smithy-rs#3065](https://github.com/awslabs/smithy-rs/issues/3065)) Several traits have been renamed from noun form to verb form to be more idiomatic: + - `AuthSchemeOptionResolver` -> `ResolveAuthSchemeOptions` + - `EndpointResolver` -> `ResolveEndpoint` + - `IdentityResolver` -> `ResolveIdentity` + - `Signer` -> `Sign` + - `RequestSerializer` -> `SerializeRequest` + - `ResponseDeserializer` -> `DeserializeResponse` + - `Interceptor` -> `Intercept` +- :warning: (client, [smithy-rs#3059](https://github.com/awslabs/smithy-rs/issues/3059)) **This change has [detailed upgrade guidance](https://github.com/awslabs/smithy-rs/discussions/3067)**. A summary is below.

The `HttpRequest` type alias now points to `aws-smithy-runtime-api::client::http::Request`. This is a first-party request type to allow us to gracefully support `http = 1.0` when it arrives. Most customer code using this method should be unaffected. `TryFrom`/`TryInto` conversions are provided for `http = 0.2.*`. +- :warning: (client, [smithy-rs#2917](https://github.com/awslabs/smithy-rs/issues/2917)) `RuntimeComponents` have been added as an argument to the `IdentityResolver::resolve_identity` trait function. +- :warning: (client, [smithy-rs#3072](https://github.com/awslabs/smithy-rs/issues/3072)) The `idempotency_provider` field has been removed from config as a public field. If you need access to this field, it is still available from the context of an interceptor. +- :warning: (client, [smithy-rs#3078](https://github.com/awslabs/smithy-rs/issues/3078)) The `config::Builder::endpoint_resolver` method no longer accepts `&'static str`. Use `config::Builder::endpoint_url` instead. +- :warning: (client, [smithy-rs#3043](https://github.com/awslabs/smithy-rs/issues/3043), [smithy-rs#3078](https://github.com/awslabs/smithy-rs/issues/3078)) **This change has [detailed upgrade guidance](https://github.com/awslabs/smithy-rs/discussions/3079).**

The endpoint interfaces from `aws-smithy-http` have been removed. Service-specific endpoint resolver traits have been added. +- :warning: (all, [smithy-rs#3054](https://github.com/awslabs/smithy-rs/issues/3054), [smithy-rs#3070](https://github.com/awslabs/smithy-rs/issues/3070)) `aws_smithy_http::operation::error::{BuildError, SerializationError}` have been moved to `aws_smithy_types::error::operation::{BuildError, SerializationError}`. Type aliases for them are left in `aws_smithy_http` for backwards compatibility but are deprecated. +- :warning: (all, [smithy-rs#3076](https://github.com/awslabs/smithy-rs/issues/3076)) `aws_smithy_http::body::{BoxBody, Error, SdkBody}` have been moved to `aws_smithy_types::body::{BoxBody, Error, SdkBody}`. Type aliases for them are left in `aws_smithy_http` for backwards compatibility but are deprecated. +- :warning: (all, [smithy-rs#3076](https://github.com/awslabs/smithy-rs/issues/3076), [smithy-rs#3091](https://github.com/awslabs/smithy-rs/issues/3091)) `aws_smithy_http::byte_stream::{AggregatedBytes, ByteStream, error::Error, FsBuilder, Length}` have been moved to `aws_smithy_types::byte_stream::{AggregatedBytes, ByteStream, error::Error, FsBuilder, Length}`. Type aliases for them are left in `aws_smithy_http` for backwards compatibility but are deprecated. +- :warning: (client, [smithy-rs#3077](https://github.com/awslabs/smithy-rs/issues/3077)) **Behavior Break!** Identities for auth are now cached by default. See the `Config` builder's `identity_cache()` method docs for an example of how to disable this caching. +- :warning: (all, [smithy-rs#3033](https://github.com/awslabs/smithy-rs/issues/3033), [smithy-rs#3088](https://github.com/awslabs/smithy-rs/issues/3088), [smithy-rs#3101](https://github.com/awslabs/smithy-rs/issues/3101)) Publicly exposed types from `http-body` and `hyper` crates within `aws-smithy-types` are now feature-gated. See the [upgrade guidance](https://github.com/awslabs/smithy-rs/discussions/3089) for details. +- :warning: (all, [smithy-rs#3033](https://github.com/awslabs/smithy-rs/issues/3033), [smithy-rs#3088](https://github.com/awslabs/smithy-rs/issues/3088)) `ByteStream::poll_next` is now feature-gated. You can turn on a cargo feature `byte-stream-poll-next` in `aws-smithy-types` to use it. +- :warning: (client, [smithy-rs#3092](https://github.com/awslabs/smithy-rs/issues/3092), [smithy-rs#3093](https://github.com/awslabs/smithy-rs/issues/3093)) The [`connection`](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/connection/index.html) and [`result`](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/result/index.html) modules in `aws-smithy-http` have been moved to `aws-smithy-runtime-api`. Type aliases for all affected pub items, except for a trait, are left in `aws-smithy-http` for backwards compatibility but are deprecated. Due to lack of trait aliases, the moved trait `CreateUnhandledError` needs to be used from `aws-smithy-runtime-api`. +- :bug::warning: (server, [smithy-rs#3095](https://github.com/awslabs/smithy-rs/issues/3095), [smithy-rs#3096](https://github.com/awslabs/smithy-rs/issues/3096)) Service builder initialization now takes in a `${serviceName}Config` object on which plugins and layers should be registered. The `builder_with_plugins` and `builder_without_plugins` methods on the service builder, as well as the `layer` method on the built service have been deprecated, and will be removed in a future release. See the [upgrade guidance](https://github.com/awslabs/smithy-rs/discussions/3096) for more details. + +**New this release:** +- :tada: (client, [smithy-rs#2916](https://github.com/awslabs/smithy-rs/issues/2916), [smithy-rs#1767](https://github.com/awslabs/smithy-rs/issues/1767)) Support for Smithy IDLv2 nullability is now enabled by default. You can maintain the old behavior by setting `nullabilityCheckMode: "CLIENT_ZERO_VALUE_V1" in your codegen config. + For upgrade guidance and more info, see [here](https://github.com/awslabs/smithy-rs/discussions/2929). +- :tada: (server, [smithy-rs#3005](https://github.com/awslabs/smithy-rs/issues/3005)) Python middleware can set URI. This can be used to route a request to a different handler. +- :tada: (client, [smithy-rs#3071](https://github.com/awslabs/smithy-rs/issues/3071)) Clients now have a default async sleep implementation so that one does not need to be specified if you're using Tokio. +- :bug: (client, [smithy-rs#2944](https://github.com/awslabs/smithy-rs/issues/2944), [smithy-rs#2951](https://github.com/awslabs/smithy-rs/issues/2951)) `CustomizableOperation`, created as a result of calling the `.customize` method on a fluent builder, ceased to be `Send` and `Sync` in the previous releases. It is now `Send` and `Sync` again. +- :bug: (client, [smithy-rs#2960](https://github.com/awslabs/smithy-rs/issues/2960)) Generate a region setter when a model uses SigV4. +- :bug: (all, [smithy-rs#2969](https://github.com/awslabs/smithy-rs/issues/2969), [smithy-rs#1896](https://github.com/awslabs/smithy-rs/issues/1896)) Fix code generation for union members with the `@httpPayload` trait. +- (client, [smithy-rs#2964](https://github.com/awslabs/smithy-rs/issues/2964)) Required members with @contextParam are now treated as client-side required. +- :bug: (client, [smithy-rs#2926](https://github.com/awslabs/smithy-rs/issues/2926), [smithy-rs#2972](https://github.com/awslabs/smithy-rs/issues/2972)) Fix regression with redacting sensitive HTTP response bodies. +- :bug: (all, [smithy-rs#2831](https://github.com/awslabs/smithy-rs/issues/2831), [aws-sdk-rust#818](https://github.com/awslabs/aws-sdk-rust/issues/818)) Omit fractional seconds from `http-date` format. +- :bug: (client, [smithy-rs#2985](https://github.com/awslabs/smithy-rs/issues/2985)) Source defaults from the default trait instead of implicitly based on type. This has minimal changes in the generated code. +- (client, [smithy-rs#2996](https://github.com/awslabs/smithy-rs/issues/2996)) Produce better docs when items are marked @required +- :bug: (client, [smithy-rs#3034](https://github.com/awslabs/smithy-rs/issues/3034), [smithy-rs#3087](https://github.com/awslabs/smithy-rs/issues/3087)) Enable custom auth schemes to work by changing the code generated auth options to be set at the client level at `DEFAULTS` priority. + + August 22nd, 2023 ================= **Breaking Changes:** diff --git a/CHANGELOG.next.toml b/CHANGELOG.next.toml index 267d530fd5..fc4c4c2578 100644 --- a/CHANGELOG.next.toml +++ b/CHANGELOG.next.toml @@ -9,506 +9,4 @@ # message = "Fix typos in module documentation for generated crates" # references = ["smithy-rs#920"] # meta = { "breaking" = false, "tada" = false, "bug" = false, "target" = "client | server | all"} -# author = "rcoh" - -[[aws-sdk-rust]] -message = "(Behavior Break!) The SSO credentials provider is no longer enabled by default in `aws-config`, and so SSO profile config will no longer work out of box. The `credentials-sso` feature in `aws-config` was removed from the default features, and renamed to `sso`. If you need credentials from SSO, then enable the `sso` feature in `aws-config`." -references = ["smithy-rs#2917"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "jdisanti" - -[[aws-sdk-rust]] -message = "The `SsoCredentialsProvider` now supports token refresh and is compatible with the token cache file paths the latest AWS CLI uses." -references = ["smithy-rs#2917", "aws-sdk-rust#703", "aws-sdk-rust#699"] -meta = { "breaking" = false, "tada" = true, "bug" = false } -author = "jdisanti" - -[[smithy-rs]] -message = "HTTP connector configuration has changed significantly. See the [upgrade guidance](https://github.com/awslabs/smithy-rs/discussions/3022) for details." -references = ["smithy-rs#3011"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[smithy-rs]] -message = "The `enableNewSmithyRuntime: middleware` opt-out flag in smithy-build.json has been removed and no longer opts out of the client orchestrator implementation. Middleware is no longer supported. If you haven't already upgraded to the orchestrator, see [the guide](https://github.com/awslabs/smithy-rs/discussions/2887)." -references = ["smithy-rs#3038"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[aws-sdk-rust]] -message = "HTTP connector configuration has changed significantly. See the [upgrade guidance](https://github.com/awslabs/smithy-rs/discussions/3022) for details." -references = ["smithy-rs#3011"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "jdisanti" - -[[smithy-rs]] -message = "It's now possible to nest runtime components with the `RuntimePlugin` trait. A `current_components` argument was added to the `runtime_components` method so that components configured from previous runtime plugins can be referenced in the current runtime plugin. Ordering of runtime plugins was also introduced via a new `RuntimePlugin::order` method." -references = ["smithy-rs#2909"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[aws-sdk-rust]] -message = """Several breaking changes were made to the aws-sigv4 API to remove the direct HTTP dependency: -- The `take_parameters` and `take_headers` APIs were removed from `SigningInstructions`. Use `into_parts()` instead -- The arguments of `SignableRequest::new` were changed to accept string types instead of types from the HTTP crate -- `SigningInstructions::apply_to_request` was gated beyond an `http0-compat` feature flag for backwards compatibility. This API MAY be removed in a future release. -- Several public accessors were removed from `SigningInstructions`. -""" -references = ["smithy-rs#2921"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "rcoh" - -[[aws-sdk-rust]] -message = "In sigV4-related code, rename 'signing service' to 'signing name'. This aligns with the terminology used by the endpoint resolver." -references = ["smithy-rs#2911"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "Velfi" - -[[aws-sdk-rust]] -message = "Struct members modeled as required are no longer wrapped in `Option`s [when possible](https://smithy.io/2.0/spec/aggregate-types.html#structure-member-optionality). For upgrade guidance and more info, see [here](https://github.com/awslabs/smithy-rs/discussions/2929)." -references = ["smithy-rs#2916", "aws-sdk-rust#536"] -meta = { "breaking" = true, "tada" = true, "bug" = false } -author = "Velfi" - -[[smithy-rs]] -message = """ -Support for Smithy IDLv2 nullability is now enabled by default. You can maintain the old behavior by setting `nullabilityCheckMode: "CLIENT_ZERO_VALUE_V1" in your codegen config. -For upgrade guidance and more info, see [here](https://github.com/awslabs/smithy-rs/discussions/2929). -""" -references = ["smithy-rs#2916", "smithy-rs#1767"] -meta = { "breaking" = false, "tada" = true, "bug" = false, "target" = "client" } -author = "Velfi" - -[[aws-sdk-rust]] -message = """ -All versions of SigningParams have been updated to contain an [`Identity`](https://docs.rs/aws-smithy-runtime-api/latest/aws_smithy_runtime_api/client/identity/struct.Identity.html) -as opposed to AWS credentials in `&str` form. [Read more](https://github.com/awslabs/aws-sdk-rust/discussions/868). -""" -references = ["smithy-rs#2913"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "Velfi" - -[[aws-sdk-rust]] -message = "Update MSRV to Rust 1.70.0" -references = ["smithy-rs#2948"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "Velfi" - -[[smithy-rs]] -message = "Update MSRV to Rust 1.70.0" -references = ["smithy-rs#2948"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "all" } -author = "Velfi" - -[[aws-sdk-rust]] -message = "Correctly identify HTTP 200 responses from S3 with `` as the root Element as errors. **Note**: This a behavior change and will change the error type returned by the SDK in some cases." -references = ["smithy-rs#2958", "aws-sdk-rust#873"] -meta = { "breaking" = false, "tada" = false, "bug" = true } -author = "rcoh" - -[[aws-sdk-rust]] -message = "Allow `no_credentials` to be used with all S3 operations." -references = ["smithy-rs#2955", "aws-sdk-rust#878"] -meta = { "breaking" = false, "tada" = false, "bug" = true } -author = "jdisanti" - -[[aws-sdk-rust]] -message = "`CustomizableOperation`, created as a result of calling the `.customize` method on a fluent builder, ceased to be `Send` and `Sync` in the previous releases. It is now `Send` and `Sync` again." -references = ["smithy-rs#2944", "smithy-rs#2951"] -meta = { "breaking" = false, "tada" = false, "bug" = true } -author = "ysaito1001" - -[[smithy-rs]] -message = "`CustomizableOperation`, created as a result of calling the `.customize` method on a fluent builder, ceased to be `Send` and `Sync` in the previous releases. It is now `Send` and `Sync` again." -references = ["smithy-rs#2944", "smithy-rs#2951"] -meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "client" } -author = "ysaito1001" - -[[smithy-rs]] -message = "Generate a region setter when a model uses SigV4." -references = ["smithy-rs#2960"] -meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "client" } -author = "jdisanti" - -[[smithy-rs]] -message = "Fix code generation for union members with the `@httpPayload` trait." -references = ["smithy-rs#2969", "smithy-rs#1896"] -meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "all" } -author = "jdisanti" - -[[aws-sdk-rust]] -message = "Make `bucket` required for request construction for S3. When `bucket` is not set, a **different** operation than intended can be triggered." -references = ["smithy-rs#1668", "aws-sdk-rust#873", "smithy-rs#2964"] -meta = { "breaking" = false, "tada" = false, "bug" = true } -author = "rcoh" - -[[smithy-rs]] -message = "Required members with @contextParam are now treated as client-side required." -references = ["smithy-rs#2964"] -meta = { "breaking" = false, "tada" = false, "bug" = false, target = "client" } -author = "rcoh" - -[[smithy-rs]] -message = "`aws_smithy_client::hyper_ext::Adapter` was moved/renamed to `aws_smithy_runtime::client::connectors::hyper_connector::HyperConnector`." -references = ["smithy-rs#2970"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[smithy-rs]] -message = "Test connectors moved into `aws_smithy_runtime::client::connectors::test_util` behind the `test-util` feature." -references = ["smithy-rs#2970"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[smithy-rs]] -message = "DVR's RecordingConnection and ReplayingConnection were renamed to RecordingConnector and ReplayingConnector respectively." -references = ["smithy-rs#2970"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[smithy-rs]] -message = "TestConnection was renamed to EventConnector." -references = ["smithy-rs#2970"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[aws-sdk-rust]] -message = "Remove `once_cell` from public API." -references = ["smithy-rs#2973"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "ysaito1001" - -[[smithy-rs]] -message = "Remove `once_cell` from public API." -references = ["smithy-rs#2973"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "all" } -author = "ysaito1001" - -[[aws-sdk-rust]] -message = "Fix regression with redacting sensitive HTTP response bodies." -references = ["smithy-rs#2926", "smithy-rs#2972"] -meta = { "breaking" = false, "tada" = false, "bug" = true } -author = "ysaito1001" - -[[smithy-rs]] -message = "Fix regression with redacting sensitive HTTP response bodies." -references = ["smithy-rs#2926", "smithy-rs#2972"] -meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "client" } -author = "ysaito1001" - -[[smithy-rs]] -message = "Omit fractional seconds from `http-date` format." -references = ["smithy-rs#2831", "aws-sdk-rust#818"] -meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "all" } -author = "rschmitt" - -[[smithy-rs]] -message = "Source defaults from the default trait instead of implicitly based on type. This has minimal changes in the generated code." -references = ["smithy-rs#2985"] -meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "client" } -author = "rcoh" - -[[smithy-rs]] -message = """ -Structure members with the type `Option>` now produce an accessor with the type `&[T]` instead of `Option<&[T]>`. This is enabled by default for clients and can be disabled by updating your smithy-build.json with the following setting: -```json -{ - "codegen": { - "flattenCollectionAccessors": false, - ... - } -} -``` -""" -references = ["smithy-rs#2995"] -author = "rcoh" -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "all" } - -[[aws-sdk-rust]] -message = "Structure members with the type `Option>` now produce an accessor with the type `&[T]` instead of `Option<&[T]>`. To determine if the field was actually set use `..is_some()`." -references = ["smithy-rs#2995"] -author = "rcoh" -meta = { "breaking" = true, "tada" = false, "bug" = false } - -[[smithy-rs]] -message = "Produce better docs when items are marked @required" -references = ["smithy-rs#2996"] -meta = { "breaking" = false, "tada" = false, "bug" = false, "target" = "client" } -author = "rcoh" - -[[aws-sdk-rust]] -message = "The `futures_core::stream::Stream` trait has been removed from public API. It should not affect usual SDK use cases. If your code uses paginators, you do not need to use the `Stream` trait or its exntension traits, but only the `next`, `try_next`, `collect`, and `try_collect` methods are supported on `PaginationStream`. Other stream operations that were previously available through the trait or its extension traits can be added later in a backward compatible manner. Finally, `fn_stream` has been moved to be a child module of `pagination_stream`." -references = ["smithy-rs#2978"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "ysaito1001" - -[[smithy-rs]] -message = "The `futures_core::stream::Stream` trait has been removed from public API. `FnStream` only supports `next`, `try_next`, `collect`, and `try_collect` methods. [`TryFlatMap::flat_map`](https://docs.rs/aws-smithy-async/latest/aws_smithy_async/future/pagination_stream/struct.TryFlatMap.html#method.flat_map) returns [`PaginationStream`](https://docs.rs/aws-smithy-async/latest/aws_smithy_async/future/pagination_stream/struct.PaginationStream.html), which should be preferred to `FnStream` at an interface level. Other stream operations that were previously available through the trait or its extension traits can be added later in a backward compatible manner. Finally, `fn_stream` has been moved to be a child module of `pagination_stream`." -references = ["smithy-rs#2978"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "ysaito1001" - -[[smithy-rs]] -message = "Python middleware can set URI. This can be used to route a request to a different handler." -references = ["smithy-rs#3005"] -meta = { "breaking" = false, "tada" = true, "bug" = false, "target" = "server" } -author = "drganjoo" - -[[aws-sdk-rust]] -message = "Add support for Sigv4A request signing. Sigv4a signing will be used automatically when appropriate for a given operation. Currently, it's used for S3 and EventBridge." -references = ["smithy-rs#1797"] -meta = { "breaking" = true, "tada" = true, "bug" = false } -author = "Velfi" - -[[aws-sdk-rust]] -message = "The `futures_core::stream::Stream` trait has been removed from [`ByteStream`](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/byte_stream/struct.ByteStream.html). The methods mentioned in the [doc](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/byte_stream/struct.ByteStream.html#getting-data-out-of-a-bytestream) will continue to be supported. Other stream operations that were previously available through the trait or its extension traits can be added later in a backward compatible manner." -references = ["smithy-rs#2983"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "ysaito1001" - -[[smithy-rs]] -message = "The `futures_core::stream::Stream` trait has been removed from [`ByteStream`](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/byte_stream/struct.ByteStream.html). The methods mentioned in the [doc](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/byte_stream/struct.ByteStream.html#getting-data-out-of-a-bytestream) will continue to be supported. Other stream operations that were previously available through the trait or its extension traits can be added later in a backward compatible manner." -references = ["smithy-rs#2983"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "ysaito1001" - -[[smithy-rs]] -message = "`StaticUriEndpointResolver`'s `uri` constructor now takes a `String` instead of a `Uri`." -references = ["smithy-rs#2997"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[aws-sdk-rust]] -message = "The IMDS Client builder's `build()` method is no longer async." -references = ["smithy-rs#2997"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "jdisanti" - -[[aws-sdk-rust]] -message = """The API for [`AssumeRoleProvider`](https://docs.rs/aws-config/latest/aws_config/sts/struct.AssumeRoleProvider.html) has been updated to derive configuration from [`SdkConfig`](https://docs.rs/aws-config/latest/aws_config/struct.SdkConfig.html) instead of `ProviderConfig`. - -For more information, see the [Change Log Discussion](https://github.com/awslabs/aws-sdk-rust/discussions/906)""" -meta = { "breaking" = true, "tada" = false, "bug" = false } -references = ["smithy-rs#3014"] -author = "rcoh" - -[[aws-sdk-rust]] -message = "STS and SSO-based credential providers will now respect both `use_fips` and `use_dual_stack` when those settings are configured in a user's environment or profile." -references = ["aws-sdk-rust#882", "smithy-rs#3007"] -meta = { "breaking" = true, "tada" = true, "bug" = true } -author = "Velfi" - -[[smithy-rs]] -message = "`SdkError` is no longer re-exported in generated server crates." -references = ["smithy-rs#3038"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "server" } -author = "jdisanti" - -[[smithy-rs]] -message = "The `customize()` method is now sync and infallible. Remove any `await`s and error handling from it to make things compile again." -references = ["smithy-rs#3039"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[smithy-rs]] -message = "Our algorithm for converting identifiers to `snake_case` has been updated. This may result in a small change for some identifiers, particularly acronyms ending in `s`, e.g. `ACLs`." -references = ["smithy-rs#3037", "aws-sdk-rust#756"] -meta = { "breaking" = true, "tada" = false, "bug" = true, "target" = "all" } -author = "rcoh" - -[[smithy-rs]] -message = """ -Retry classifiers are now configurable at the service and operation levels. Users may also define their own custom retry classifiers. - -For more information, see the [guide](https://github.com/awslabs/smithy-rs/discussions/3050). -""" -references = ["smithy-rs#2417", "smithy-rs#3018"] -meta = { "breaking" = true, "tada" = true, "bug" = false, "target" = "client" } -author = "Velfi" - -[[aws-sdk-rust]] -message = """ -Retry classifiers are now configurable at the service and operation levels. Users may also define their own custom retry classifiers. - -For more information, see the [guide](https://github.com/awslabs/smithy-rs/discussions/3050). -""" -references = ["smithy-rs#2417", "smithy-rs#3018"] -meta = { "breaking" = true, "tada" = true, "bug" = false } -author = "Velfi" - -[[aws-sdk-rust]] -message = "The future return types on traits `EndpointResolver` and `IdentityResolver` changed to new-types `EndpointFuture` and `IdentityFuture` respectively." -references = ["smithy-rs#3055"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "jdisanti" - -[[smithy-rs]] -message = "The future return types on traits `EndpointResolver` and `IdentityResolver` changed to new-types `EndpointFuture` and `IdentityFuture` respectively." -references = ["smithy-rs#3055"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[smithy-rs]] -message = """ -[`EndpointPrefix::new`](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/endpoint/struct.EndpointPrefix.html#method.new) no longer returns `crate::operation::error::BuildError` for an Err variant, instead returns a more specific [`InvalidEndpointError`](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/endpoint/error/struct.InvalidEndpointError.html). -""" -references = ["smithy-rs#3032"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "ysaito1001" - -[[aws-sdk-rust]] -message = "Lifetimes have been added to `EndpointResolver` and `IdentityResolver` traits." -references = ["smithy-rs#3061"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "jdisanti" - -[[smithy-rs]] -message = "Lifetimes have been added to the `EndpointResolver` trait." -references = ["smithy-rs#3061"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[aws-sdk-rust]] -message = """Several traits have been renamed from noun form to verb form to be more idiomatic: -- `EndpointResolver` -> `ResolveEndpoint` -- `Interceptor` -> `Intercept` -""" -references = ["smithy-rs#3065"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "jdisanti" - -[[smithy-rs]] -message = """Several traits have been renamed from noun form to verb form to be more idiomatic: -- `AuthSchemeOptionResolver` -> `ResolveAuthSchemeOptions` -- `EndpointResolver` -> `ResolveEndpoint` -- `IdentityResolver` -> `ResolveIdentity` -- `Signer` -> `Sign` -- `RequestSerializer` -> `SerializeRequest` -- `ResponseDeserializer` -> `DeserializeResponse` -- `Interceptor` -> `Intercept` -""" -references = ["smithy-rs#3065"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[smithy-rs]] -message = "**This change has [detailed upgrade guidance](https://github.com/awslabs/smithy-rs/discussions/3067)**. A summary is below.

The `HttpRequest` type alias now points to `aws-smithy-runtime-api::client::http::Request`. This is a first-party request type to allow us to gracefully support `http = 1.0` when it arrives. Most customer code using this method should be unaffected. `TryFrom`/`TryInto` conversions are provided for `http = 0.2.*`." -references = ["smithy-rs#3059"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "rcoh" - -[[aws-sdk-rust]] -message = "[`PresignedRequest`](https://docs.rs/aws-sdk-s3/latest/aws_sdk_s3/presigning/struct.PresignedRequest.html) now returns standard-library types instead of types from the `http` crate. `to_http_request` has been renamed `to_http_02x_request`." -references = ["smithy-rs#3059"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "rcoh" - -[[smithy-rs]] -message = "`RuntimeComponents` have been added as an argument to the `IdentityResolver::resolve_identity` trait function." -references = ["smithy-rs#2917"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client"} -author = "jdisanti" - -[[smithy-rs]] -message = "The `idempotency_provider` field has been removed from config as a public field. If you need access to this field, it is still available from the context of an interceptor." -references = ["smithy-rs#3072"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "rcoh" - -[[smithy-rs]] -message = "The `config::Builder::endpoint_resolver` method no longer accepts `&'static str`. Use `config::Builder::endpoint_url` instead." -references = ["smithy-rs#3078"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "rcoh" - -[[smithy-rs]] -message = "**This change has [detailed upgrade guidance](https://github.com/awslabs/smithy-rs/discussions/3079).**

The endpoint interfaces from `aws-smithy-http` have been removed. Service-specific endpoint resolver traits have been added." -references = ["smithy-rs#3043", "smithy-rs#3078"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "rcoh" - -[[aws-sdk-rust]] -message = "A bug was fixed where the credentials-process provider was executing the subprocess in the worker thread, potentially stalling the runtime." -references = ["smithy-rs#3052"] -meta = { "breaking" = false, "tada" = false, "bug" = true } -author = "rcoh" - -[[aws-sdk-rust]] -message = "The `credentials-process` feature was added to `aws-config`. If you currently use `no-default-features` for `aws-config`, you MUST enable this feature to use the [`CredentialProcessProvider`](https://docs.rs/aws-config/latest/aws_config/credential_process/struct.CredentialProcessProvider.html) provider directly or via `~/.aws/config`." -references = ["smithy-rs#3052"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "rcoh" - -[[smithy-rs]] -message = """ -`aws_smithy_http::operation::error::{BuildError, SerializationError}` have been moved to `aws_smithy_types::error::operation::{BuildError, SerializationError}`. Type aliases for them are left in `aws_smithy_http` for backwards compatibility but are deprecated. -""" -references = ["smithy-rs#3054", "smithy-rs#3070"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "all" } -author = "ysaito1001" - -[[smithy-rs]] -message = """ -`aws_smithy_http::body::{BoxBody, Error, SdkBody}` have been moved to `aws_smithy_types::body::{BoxBody, Error, SdkBody}`. Type aliases for them are left in `aws_smithy_http` for backwards compatibility but are deprecated. -""" -references = ["smithy-rs#3076"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "all" } -author = "ysaito1001" - -[[smithy-rs]] -message = """ -`aws_smithy_http::byte_stream::{AggregatedBytes, ByteStream, error::Error, FsBuilder, Length}` have been moved to `aws_smithy_types::byte_stream::{AggregatedBytes, ByteStream, error::Error, FsBuilder, Length}`. Type aliases for them are left in `aws_smithy_http` for backwards compatibility but are deprecated. -""" -references = ["smithy-rs#3076", "smithy-rs#3091"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "all" } -author = "ysaito1001" - -[[aws-sdk-rust]] -message = "**This change has [detailed upgrade guidance](https://github.com/awslabs/aws-sdk-rust/discussions/923).**

The AWS credentials cache has been replaced with a more generic identity cache." -references = ["smithy-rs#3077"] -meta = { "breaking" = true, "tada" = false, "bug" = false } -author = "jdisanti" - -[[smithy-rs]] -message = "**Behavior Break!** Identities for auth are now cached by default. See the `Config` builder's `identity_cache()` method docs for an example of how to disable this caching." -references = ["smithy-rs#3077"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[smithy-rs]] -message = "Clients now have a default async sleep implementation so that one does not need to be specified if you're using Tokio." -references = ["smithy-rs#3071"] -meta = { "breaking" = false, "tada" = true, "bug" = false, "target" = "client" } -author = "jdisanti" - -[[smithy-rs]] -message = "Enable custom auth schemes to work by changing the code generated auth options to be set at the client level at `DEFAULTS` priority." -references = ["smithy-rs#3034", "smithy-rs#3087"] -meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "client" } -author = "rcoh" - -[[smithy-rs]] -message = "Publicly exposed types from `http-body` and `hyper` crates within `aws-smithy-types` are now feature-gated. See the [upgrade guidance](https://github.com/awslabs/smithy-rs/discussions/3089) for details." -references = ["smithy-rs#3033", "smithy-rs#3088", "smithy-rs#3101"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "all" } -author = "ysaito1001" - -[[smithy-rs]] -message = "`ByteStream::poll_next` is now feature-gated. You can turn on a cargo feature `byte-stream-poll-next` in `aws-smithy-types` to use it." -references = ["smithy-rs#3033", "smithy-rs#3088"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "all" } -author = "ysaito1001" - -[[smithy-rs]] -message = """ -The [`connection`](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/connection/index.html) and [`result`](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/result/index.html) modules in `aws-smithy-http` have been moved to `aws-smithy-runtime-api`. Type aliases for all affected pub items, except for a trait, are left in `aws-smithy-http` for backwards compatibility but are deprecated. Due to lack of trait aliases, the moved trait `CreateUnhandledError` needs to be used from `aws-smithy-runtime-api`. -""" -references = ["smithy-rs#3092", "smithy-rs#3093"] -meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" } -author = "ysaito1001" - -[[smithy-rs]] -message = "Service builder initialization now takes in a `${serviceName}Config` object on which plugins and layers should be registered. The `builder_with_plugins` and `builder_without_plugins` methods on the service builder, as well as the `layer` method on the built service have been deprecated, and will be removed in a future release. See the [upgrade guidance](https://github.com/awslabs/smithy-rs/discussions/3096) for more details." -references = ["smithy-rs#3095", "smithy-rs#3096"] -meta = { "breaking" = true, "tada" = false, "bug" = true, "target" = "server" } -author = "david-perez" +# author = "rcoh" \ No newline at end of file diff --git a/aws/SDK_CHANGELOG.next.json b/aws/SDK_CHANGELOG.next.json index 496c4aaa7e..13b0a59f7c 100644 --- a/aws/SDK_CHANGELOG.next.json +++ b/aws/SDK_CHANGELOG.next.json @@ -5,229 +5,6 @@ { "smithy-rs": [], "aws-sdk-rust": [ - { - "message": "Request IDs can now be easily retrieved on successful responses. For example, with S3:\n```rust\n// Import the trait to get the `request_id` method on outputs\nuse aws_sdk_s3::types::RequestId;\nlet output = client.list_buckets().send().await?;\nprintln!(\"Request ID: {:?}\", output.request_id());\n```\n", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#76", - "smithy-rs#2129" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "Retrieving a request ID from errors now requires importing the `RequestId` trait. For example, with S3:\n```rust\nuse aws_sdk_s3::types::RequestId;\nprintln!(\"Request ID: {:?}\", error.request_id());\n```\n", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#76", - "smithy-rs#2129" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "The `message()` and `code()` methods on errors have been moved into `ProvideErrorMetadata` trait. This trait will need to be imported to continue calling these.", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#76", - "smithy-rs#2129" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "The `*Error` and `*ErrorKind` types have been combined to make error matching simpler.\n
\nExample with S3\n**Before:**\n```rust\nlet result = client\n .get_object()\n .bucket(BUCKET_NAME)\n .key(\"some-key\")\n .send()\n .await;\nmatch result {\n Ok(_output) => { /* Do something with the output */ }\n Err(err) => match err.into_service_error() {\n GetObjectError { kind, .. } => match kind {\n GetObjectErrorKind::InvalidObjectState(value) => println!(\"invalid object state: {:?}\", value),\n GetObjectErrorKind::NoSuchKey(_) => println!(\"object didn't exist\"),\n }\n err @ GetObjectError { .. } if err.code() == Some(\"SomeUnmodeledError\") => {}\n err @ _ => return Err(err.into()),\n },\n}\n```\n**After:**\n```rust\n// Needed to access the `.code()` function on the error type:\nuse aws_sdk_s3::types::ProvideErrorMetadata;\nlet result = client\n .get_object()\n .bucket(BUCKET_NAME)\n .key(\"some-key\")\n .send()\n .await;\nmatch result {\n Ok(_output) => { /* Do something with the output */ }\n Err(err) => match err.into_service_error() {\n GetObjectError::InvalidObjectState(value) => {\n println!(\"invalid object state: {:?}\", value);\n }\n GetObjectError::NoSuchKey(_) => {\n println!(\"object didn't exist\");\n }\n err if err.code() == Some(\"SomeUnmodeledError\") => {}\n err @ _ => return Err(err.into()),\n },\n}\n```\n
\n", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#76", - "smithy-rs#2129", - "smithy-rs#2075" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "`aws_smithy_types::Error` has been renamed to `aws_smithy_types::error::ErrorMetadata`.", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#76", - "smithy-rs#2129" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "Fluent builder methods on the client are now marked as deprecated when the related operation is deprecated.", - "meta": { - "bug": true, - "breaking": false, - "tada": true - }, - "author": "Velfi", - "references": [ - "aws-sdk-rust#740" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "`SdkError` variants can now be constructed for easier unit testing.", - "meta": { - "bug": false, - "breaking": false, - "tada": true - }, - "author": "jdisanti", - "references": [ - "smithy-rs#2428", - "smithy-rs#2208" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "Add more client re-exports. Specifically, it re-exports `aws_smithy_http::body::SdkBody`, `aws_smithy_http::byte_stream::error::Error`, and `aws_smithy_http::operation::{Request, Response}`.", - "meta": { - "bug": false, - "breaking": false, - "tada": false - }, - "author": "ysaito1001", - "references": [ - "smithy-rs#2437", - "aws-sdk-rust#600" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "Enable presigning for S3's `HeadObject` operation.", - "meta": { - "bug": false, - "breaking": false, - "tada": true - }, - "author": "Velfi", - "references": [ - "aws-sdk-rust#753", - "smithy-rs#2451" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "The modules in the SDK crates have been reorganized. See the [SDK Crate Reorganization Upgrade Guidance](https://github.com/awslabs/aws-sdk-rust/discussions/752) to see how to fix your code after this change.", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#2433" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "Reconnect on transient errors.\n\nIf a transient error (timeout, 500, 503, 503) is encountered, the connection will be evicted from the pool and will not\nbe reused. This is enabled by default for all AWS services. It can be disabled by setting `RetryConfig::with_reconnect_mode`\n\nAlthough there is no API breakage from this change, it alters the client behavior in a way that may cause breakage for customers.\n", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "rcoh", - "references": [ - "aws-sdk-rust#160", - "smithy-rs#2445" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "Update MSRV to 1.66.1", - "meta": { - "bug": false, - "breaking": true, - "tada": true - }, - "author": "Velfi", - "references": [ - "smithy-rs#2467" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "Default connector provided by `aws-config` now respects `ConnectorSettings`.\n\nPreviously, it used the timeout settings provided by aws-config. A test from @Oliboy50 has been incorporated to verify this behavior.\n\n**Behavior Change**: Prior to this change, the Hyper client would be shared between all service clients. After this change, each service client will use its own Hyper Client.\nTo revert to the previous behavior, set `HttpConnector::Prebuilt` on `SdkConfig::http_connector`.\n", - "meta": { - "bug": true, - "breaking": false, - "tada": false - }, - "author": "rcoh", - "references": [ - "smithy-rs#2471", - "smithy-rs#2333", - "smithy-rs#2151" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "Remove deprecated `ResolveAwsEndpoint` interfaces.\n[For details see the longform changelog entry](https://github.com/awslabs/aws-sdk-rust/discussions/755).\n", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "rcoh", - "references": [ - "smithy-rs#2390", - "smithy-rs#1784" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, - { - "message": "Increase Tokio version to 1.23.1 for all crates. This is to address [RUSTSEC-2023-0001](https://rustsec.org/advisories/RUSTSEC-2023-0001)", - "meta": { - "bug": false, - "breaking": false, - "tada": false - }, - "author": "rcoh", - "references": [ - "smithy-rs#2474" - ], - "since-commit": "562e196bbfb5c57270b2855479a5c365ba3d2dff", - "age": 5 - }, { "message": "Implement std::error::Error#source() properly for the service meta Error enum.", "meta": { @@ -240,7 +17,7 @@ "aws-sdk-rust#784" ], "since-commit": "9201176c9876c9f7bf6599f8a93fe69d25ee0f03", - "age": 4 + "age": 5 }, { "message": "The outputs for event stream operations (for example, S3's SelectObjectContent) now implement the `Sync` auto-trait.", @@ -254,7 +31,7 @@ "smithy-rs#2496" ], "since-commit": "9201176c9876c9f7bf6599f8a93fe69d25ee0f03", - "age": 4 + "age": 5 }, { "message": "The AWS SDK now compiles for the `wasm32-unknown-unknown` and `wasm32-wasi` targets when no default features are enabled. WebAssembly is not officially supported yet, but this is a great first step towards it!", @@ -268,7 +45,7 @@ "smithy-rs#2254" ], "since-commit": "9201176c9876c9f7bf6599f8a93fe69d25ee0f03", - "age": 4 + "age": 5 }, { "message": "S3's `GetObject` will no longer panic when checksum validation is enabled and the target object was uploaded as a multi-part upload.\nHowever, these objects cannot be checksum validated by the SDK due to the way checksums are calculated for multipart uploads.\nFor more information, see [this page](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums).\n", @@ -282,7 +59,7 @@ "aws-sdk-rust#764" ], "since-commit": "9201176c9876c9f7bf6599f8a93fe69d25ee0f03", - "age": 4 + "age": 5 }, { "message": "`AppName` is now configurable from within `ConfigLoader`.", @@ -296,7 +73,7 @@ "smithy-rs#2513" ], "since-commit": "9201176c9876c9f7bf6599f8a93fe69d25ee0f03", - "age": 4 + "age": 5 }, { "message": "Add support for omitting session token in canonical requests for SigV4 signing.", @@ -310,7 +87,7 @@ "smithy-rs#2473" ], "since-commit": "9201176c9876c9f7bf6599f8a93fe69d25ee0f03", - "age": 4 + "age": 5 }, { "message": "Add `into_segments` method to `AggregatedBytes`, for zero-copy conversions.", @@ -324,7 +101,7 @@ "smithy-rs#2525" ], "since-commit": "9201176c9876c9f7bf6599f8a93fe69d25ee0f03", - "age": 4 + "age": 5 }, { "message": "Fix bug where an incorrect endpoint was produced for `WriteGetObjectResponse`", @@ -339,7 +116,7 @@ "aws-sdk-rust#781" ], "since-commit": "9201176c9876c9f7bf6599f8a93fe69d25ee0f03", - "age": 4 + "age": 5 }, { "message": "Update the `std::fmt::Debug` implementation for `aws-sigv4::SigningParams` so that it will no longer print sensitive information.", @@ -353,7 +130,7 @@ "smithy-rs#2562" ], "since-commit": "9201176c9876c9f7bf6599f8a93fe69d25ee0f03", - "age": 4 + "age": 5 }, { "message": "`aws_smithy_types::date_time::Format` has been re-exported in SDK crates.", @@ -367,7 +144,7 @@ "smithy-rs#2534" ], "since-commit": "9201176c9876c9f7bf6599f8a93fe69d25ee0f03", - "age": 4 + "age": 5 }, { "message": "Reduce several instances of credential exposure in the SDK logs:\n- IMDS now suppresses the body of the response from logs\n- `aws-sigv4` marks the `x-amz-session-token` header as sensitive\n- STS & SSO credentials have been manually marked as sensitive which suppresses logging of response bodies for relevant operations\n", @@ -381,7 +158,7 @@ "smithy-rs#2603" ], "since-commit": "9201176c9876c9f7bf6599f8a93fe69d25ee0f03", - "age": 4 + "age": 5 }, { "message": "Update MSRV to Rust 1.67.1", @@ -395,7 +172,7 @@ "smithy-rs#2611" ], "since-commit": "9201176c9876c9f7bf6599f8a93fe69d25ee0f03", - "age": 4 + "age": 5 }, { "message": "Avoid extending IMDS credentials' expiry unconditionally, which may incorrectly extend it beyond what is originally defined; If returned credentials are not stale, use them as they are.", @@ -410,7 +187,7 @@ "smithy-rs#2694" ], "since-commit": "3b5fc51a41700c88270145e38fa708eca72dc414", - "age": 3 + "age": 4 }, { "message": "Automatically exclude X-Ray trace ID headers and authorization headers from SigV4 canonical request calculations.", @@ -424,7 +201,7 @@ "smithy-rs#2815" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "Add accessors to Builders", @@ -438,7 +215,7 @@ "smithy-rs#2791" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "Remove native-tls and add a migration guide.", @@ -452,7 +229,7 @@ "smithy-rs#2675" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "Fix error message when `credentials-sso` feature is not enabled on `aws-config`. NOTE: if you use `no-default-features`, you will need to manually able `credentials-sso` after 0.55.*", @@ -467,7 +244,7 @@ "aws-sdk-rust#703" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "`SsoCredentialsProvider`, `AssumeRoleProvider`, and `WebIdentityTokenCredentialsProvider` now use `NoCredentialsCache` internally when fetching credentials using an STS client. This avoids double-caching when these providers are wrapped by `LazyCredentialsCache` when a service client is created.", @@ -481,7 +258,7 @@ "smithy-rs#2720" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "For event stream operations such as S3 SelectObjectContent or Transcribe StartStreamTranscription, the `EventStreamSender` in the input now requires the passed in `Stream` impl to implement `Sync`.", @@ -495,7 +272,7 @@ "smithy-rs#2673" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "The `SigningInstructions` in the `aws-sigv4` module are now public. This allows them to be named in a function signature.", @@ -509,7 +286,7 @@ "smithy-rs#2730" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "Time is now controlled by the `TimeSource` trait. This facilitates testing as well as use cases like WASM where `SystemTime::now()` is not supported.", @@ -525,7 +302,7 @@ "aws-sdk-rust#2087" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "The SDK has added support for timestreamwrite and timestreamquery. Support for these services is considered experimental at this time. In order to use these services, you MUST call `.with_endpoint_discovery_enabled()` on the `Client` after construction.", @@ -541,7 +318,7 @@ "smithy-rs#2846" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "A newtype wrapper `SharedAsyncSleep` has been introduced and occurrences of `Arc` that appear in public APIs have been replaced with it.", @@ -555,7 +332,7 @@ "smithy-rs#2742" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "Update MSRV to Rust 1.69.0", @@ -569,7 +346,7 @@ "smithy-rs#2893" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "Implement unstable serde support for the `Number`, `Blob`, `Document`, `DateTime` primitives", @@ -586,7 +363,7 @@ "smithy-rs#2616" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "Add a `send_with` function on `-Input` types for sending requests without fluent builders", @@ -600,7 +377,7 @@ "smithy-rs#2652" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "The naming `make_token` for fields and the API of `IdempotencyTokenProvider` in service configs and their builders has now been updated to `idempotency_token_provider`.", @@ -614,7 +391,7 @@ "smithy-rs#2783" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "The implementation `From` for `aws_http::user_agent::UserAgentStageError` has been removed.", @@ -628,7 +405,7 @@ "smithy-rs#2845" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "The AppName property can now be set with `sdk_ua_app_id` in profile files. The old field, `sdk-ua-app-id`, is maintained for backwards compatibility.", @@ -642,7 +419,7 @@ "smithy-rs#2724" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "**Behavior change**: Credential providers now share the HTTP connector used by the SDK. If you want to keep a separate connector for clients, use `::ConfigBuilder::http_connector` when constructing the client.", @@ -657,7 +434,7 @@ "aws-sdk-rust#338" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "The `doc(hidden)` `time_source` in `aws-credential-types` was removed. Use `aws_smithy_async::time` instead.", @@ -671,7 +448,7 @@ "smithy-rs#2877" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "The `doc(hidden)` `with_env` in `ProviderConfig` was removed.", @@ -685,7 +462,7 @@ "smithy-rs#2877" ], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "The underlying architecture of the SDK clients has been overhauled. This shouldn't require any changes for most projects, but will affect projects that customize the SDK middleware. More details are available in the [upgrade guide](https://github.com/awslabs/aws-sdk-rust/discussions/853) if you are effected by these changes.", @@ -697,7 +474,7 @@ "author": "jdisanti", "references": [], "since-commit": "6eaacaa96684f662b7d355eea94a526c0b465e7f", - "age": 2 + "age": 3 }, { "message": "`RuntimeComponents` are now re-exported so that implementing a custom interceptor doens't require directly depending on `aws-smithy-runtime-api`.", @@ -712,7 +489,7 @@ "aws-sdk-rust#862" ], "since-commit": "3d7587def9a26afc8e7b306f92c755a980ac9504", - "age": 1 + "age": 2 }, { "message": "Fix requests to S3 with `no_credentials` set.", @@ -727,7 +504,7 @@ "aws-sdk-rust#864" ], "since-commit": "3d7587def9a26afc8e7b306f92c755a980ac9504", - "age": 1 + "age": 2 }, { "message": "Fixed re-exported `SdkError` type. The previous release had the wrong type for `SdkError`, which caused projects to fail to compile when upgrading.", @@ -742,7 +519,7 @@ "aws-sdk-rust#875" ], "since-commit": "3d7587def9a26afc8e7b306f92c755a980ac9504", - "age": 1 + "age": 2 }, { "message": "Logging via `#[instrument]` in the `aws_smithy_runtime::client::orchestrator` module is now emitted at the `DEBUG` level to reduce the amount of logging when emitted at the `INFO` level.", @@ -757,7 +534,7 @@ "aws-sdk-rust#872" ], "since-commit": "3d7587def9a26afc8e7b306f92c755a980ac9504", - "age": 1 + "age": 2 }, { "message": "Fix `SDK::Endpoint` built-in for `@endpointRuleSet`.", @@ -771,8 +548,425 @@ "smithy-rs#2935" ], "since-commit": "3d7587def9a26afc8e7b306f92c755a980ac9504", + "age": 2 + }, + { + "message": "(Behavior Break!) The SSO credentials provider is no longer enabled by default in `aws-config`, and so SSO profile config will no longer work out of box. The `credentials-sso` feature in `aws-config` was removed from the default features, and renamed to `sso`. If you need credentials from SSO, then enable the `sso` feature in `aws-config`.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "jdisanti", + "references": [ + "smithy-rs#2917" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "The `SsoCredentialsProvider` now supports token refresh and is compatible with the token cache file paths the latest AWS CLI uses.", + "meta": { + "bug": false, + "breaking": false, + "tada": true + }, + "author": "jdisanti", + "references": [ + "smithy-rs#2917", + "aws-sdk-rust#703", + "aws-sdk-rust#699" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "HTTP connector configuration has changed significantly. See the [upgrade guidance](https://github.com/awslabs/smithy-rs/discussions/3022) for details.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "jdisanti", + "references": [ + "smithy-rs#3011" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Several breaking changes were made to the aws-sigv4 API to remove the direct HTTP dependency:\n- The `take_parameters` and `take_headers` APIs were removed from `SigningInstructions`. Use `into_parts()` instead\n- The arguments of `SignableRequest::new` were changed to accept string types instead of types from the HTTP crate\n- `SigningInstructions::apply_to_request` was gated beyond an `http0-compat` feature flag for backwards compatibility. This API MAY be removed in a future release.\n- Several public accessors were removed from `SigningInstructions`.\n", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "rcoh", + "references": [ + "smithy-rs#2921" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "In sigV4-related code, rename 'signing service' to 'signing name'. This aligns with the terminology used by the endpoint resolver.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "Velfi", + "references": [ + "smithy-rs#2911" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Struct members modeled as required are no longer wrapped in `Option`s [when possible](https://smithy.io/2.0/spec/aggregate-types.html#structure-member-optionality). For upgrade guidance and more info, see [here](https://github.com/awslabs/smithy-rs/discussions/2929).", + "meta": { + "bug": false, + "breaking": true, + "tada": true + }, + "author": "Velfi", + "references": [ + "smithy-rs#2916", + "aws-sdk-rust#536" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "All versions of SigningParams have been updated to contain an [`Identity`](https://docs.rs/aws-smithy-runtime-api/latest/aws_smithy_runtime_api/client/identity/struct.Identity.html)\nas opposed to AWS credentials in `&str` form. [Read more](https://github.com/awslabs/aws-sdk-rust/discussions/868).\n", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "Velfi", + "references": [ + "smithy-rs#2913" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Update MSRV to Rust 1.70.0", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "Velfi", + "references": [ + "smithy-rs#2948" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Correctly identify HTTP 200 responses from S3 with `` as the root Element as errors. **Note**: This a behavior change and will change the error type returned by the SDK in some cases.", + "meta": { + "bug": true, + "breaking": false, + "tada": false + }, + "author": "rcoh", + "references": [ + "smithy-rs#2958", + "aws-sdk-rust#873" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Allow `no_credentials` to be used with all S3 operations.", + "meta": { + "bug": true, + "breaking": false, + "tada": false + }, + "author": "jdisanti", + "references": [ + "smithy-rs#2955", + "aws-sdk-rust#878" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "`CustomizableOperation`, created as a result of calling the `.customize` method on a fluent builder, ceased to be `Send` and `Sync` in the previous releases. It is now `Send` and `Sync` again.", + "meta": { + "bug": true, + "breaking": false, + "tada": false + }, + "author": "ysaito1001", + "references": [ + "smithy-rs#2944", + "smithy-rs#2951" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Make `bucket` required for request construction for S3. When `bucket` is not set, a **different** operation than intended can be triggered.", + "meta": { + "bug": true, + "breaking": false, + "tada": false + }, + "author": "rcoh", + "references": [ + "smithy-rs#1668", + "aws-sdk-rust#873", + "smithy-rs#2964" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Remove `once_cell` from public API.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "ysaito1001", + "references": [ + "smithy-rs#2973" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Fix regression with redacting sensitive HTTP response bodies.", + "meta": { + "bug": true, + "breaking": false, + "tada": false + }, + "author": "ysaito1001", + "references": [ + "smithy-rs#2926", + "smithy-rs#2972" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Structure members with the type `Option>` now produce an accessor with the type `&[T]` instead of `Option<&[T]>`. To determine if the field was actually set use `..is_some()`.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "rcoh", + "references": [ + "smithy-rs#2995" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "The `futures_core::stream::Stream` trait has been removed from public API. It should not affect usual SDK use cases. If your code uses paginators, you do not need to use the `Stream` trait or its exntension traits, but only the `next`, `try_next`, `collect`, and `try_collect` methods are supported on `PaginationStream`. Other stream operations that were previously available through the trait or its extension traits can be added later in a backward compatible manner. Finally, `fn_stream` has been moved to be a child module of `pagination_stream`.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "ysaito1001", + "references": [ + "smithy-rs#2978" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Add support for Sigv4A request signing. Sigv4a signing will be used automatically when appropriate for a given operation. Currently, it's used for S3 and EventBridge.", + "meta": { + "bug": false, + "breaking": true, + "tada": true + }, + "author": "Velfi", + "references": [ + "smithy-rs#1797" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "The `futures_core::stream::Stream` trait has been removed from [`ByteStream`](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/byte_stream/struct.ByteStream.html). The methods mentioned in the [doc](https://docs.rs/aws-smithy-http/latest/aws_smithy_http/byte_stream/struct.ByteStream.html#getting-data-out-of-a-bytestream) will continue to be supported. Other stream operations that were previously available through the trait or its extension traits can be added later in a backward compatible manner.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "ysaito1001", + "references": [ + "smithy-rs#2983" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "The IMDS Client builder's `build()` method is no longer async.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "jdisanti", + "references": [ + "smithy-rs#2997" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "The API for [`AssumeRoleProvider`](https://docs.rs/aws-config/latest/aws_config/sts/struct.AssumeRoleProvider.html) has been updated to derive configuration from [`SdkConfig`](https://docs.rs/aws-config/latest/aws_config/struct.SdkConfig.html) instead of `ProviderConfig`.\n\nFor more information, see the [Change Log Discussion](https://github.com/awslabs/aws-sdk-rust/discussions/906)", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "rcoh", + "references": [ + "smithy-rs#3014" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "STS and SSO-based credential providers will now respect both `use_fips` and `use_dual_stack` when those settings are configured in a user's environment or profile.", + "meta": { + "bug": true, + "breaking": true, + "tada": true + }, + "author": "Velfi", + "references": [ + "aws-sdk-rust#882", + "smithy-rs#3007" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Retry classifiers are now configurable at the service and operation levels. Users may also define their own custom retry classifiers.\n\nFor more information, see the [guide](https://github.com/awslabs/smithy-rs/discussions/3050).\n", + "meta": { + "bug": false, + "breaking": true, + "tada": true + }, + "author": "Velfi", + "references": [ + "smithy-rs#2417", + "smithy-rs#3018" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "The future return types on traits `EndpointResolver` and `IdentityResolver` changed to new-types `EndpointFuture` and `IdentityFuture` respectively.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "jdisanti", + "references": [ + "smithy-rs#3055" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Lifetimes have been added to `EndpointResolver` and `IdentityResolver` traits.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "jdisanti", + "references": [ + "smithy-rs#3061" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "Several traits have been renamed from noun form to verb form to be more idiomatic:\n- `EndpointResolver` -> `ResolveEndpoint`\n- `Interceptor` -> `Intercept`\n", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "jdisanti", + "references": [ + "smithy-rs#3065" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "[`PresignedRequest`](https://docs.rs/aws-sdk-s3/latest/aws_sdk_s3/presigning/struct.PresignedRequest.html) now returns standard-library types instead of types from the `http` crate. `to_http_request` has been renamed `to_http_02x_request`.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "rcoh", + "references": [ + "smithy-rs#3059" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "A bug was fixed where the credentials-process provider was executing the subprocess in the worker thread, potentially stalling the runtime.", + "meta": { + "bug": true, + "breaking": false, + "tada": false + }, + "author": "rcoh", + "references": [ + "smithy-rs#3052" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "The `credentials-process` feature was added to `aws-config`. If you currently use `no-default-features` for `aws-config`, you MUST enable this feature to use the [`CredentialProcessProvider`](https://docs.rs/aws-config/latest/aws_config/credential_process/struct.CredentialProcessProvider.html) provider directly or via `~/.aws/config`.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "rcoh", + "references": [ + "smithy-rs#3052" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", + "age": 1 + }, + { + "message": "**This change has [detailed upgrade guidance](https://github.com/awslabs/aws-sdk-rust/discussions/923).**

The AWS credentials cache has been replaced with a more generic identity cache.", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "jdisanti", + "references": [ + "smithy-rs#3077" + ], + "since-commit": "b56d34847591494a15b8fabcce55f730400ebea9", "age": 1 } ], "aws-sdk-model": [] -} +} \ No newline at end of file