smithy-rs/CHANGELOG.next.toml

247 lines
9.2 KiB
TOML

# Example changelog entries
# [[aws-sdk-rust]]
# message = "Fix typos in module documentation for generated crates"
# references = ["smithy-rs#920"]
# meta = { "breaking" = false, "tada" = false, "bug" = false }
# author = "rcoh"
#
# [[smithy-rs]]
# message = "Fix typos in module documentation for generated crates"
# references = ["smithy-rs#920"]
# meta = { "breaking" = false, "tada" = false, "bug" = false }
# author = "rcoh"
[[aws-sdk-rust]]
message = "Several modules defined in the `aws_config` crate that used to be declared within another module's file have been moved to their own files. The moved modules are `sts`, `connector`, and `default_providers`. They still have the exact same import paths."
references = ["smithy-rs#1144"]
meta = { "breaking" = false, "tada" = false, "bug" = false }
author = "Velfi"
[[aws-sdk-rust]]
message = "The `aws_config::http_provider` module has been renamed to `aws_config::http_credential_provider` to better reflect its purpose."
references = ["smithy-rs#1144"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "Velfi"
[[aws-sdk-rust]]
message = """
Some APIs required that timeout configuration be specified with an `aws_smithy_client::timeout::Settings` struct while
others required an `aws_smithy_types::timeout::TimeoutConfig` struct. Both were equivalent. Now `aws_smithy_types::timeout::TimeoutConfig`
is used everywhere and `aws_smithy_client::timeout::Settings` has been removed. Here's how to migrate code your code that
depended on `timeout::Settings`:
The old way:
```rust
let timeout = timeout::Settings::new()
.with_connect_timeout(Duration::from_secs(1))
.with_read_timeout(Duration::from_secs(2));
```
The new way:
```rust
// This example is passing values, so they're wrapped in `Option::Some`. You can disable a timeout by passing `None`.
let timeout = TimeoutConfig::new()
.with_connect_timeout(Some(Duration::from_secs(1)))
.with_read_timeout(Some(Duration::from_secs(2)));
```
"""
references = ["smithy-rs#1144"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "Velfi"
[[smithy-rs]]
message = """
Some APIs required that timeout configuration be specified with an `aws_smithy_client::timeout::Settings` struct while
others required an `aws_smithy_types::timeout::TimeoutConfig` struct. Both were equivalent. Now `aws_smithy_types::timeout::TimeoutConfig`
is used everywhere and `aws_smithy_client::timeout::Settings` has been removed. Here's how to migrate code your code that
depended on `timeout::Settings`:
The old way:
```rust
let timeout = timeout::Settings::new()
.with_connect_timeout(Duration::from_secs(1))
.with_read_timeout(Duration::from_secs(2));
```
The new way:
```rust
// This example is passing values, so they're wrapped in `Option::Some`. You can disable a timeout by passing `None`.
let timeout = TimeoutConfig::new()
.with_connect_timeout(Some(Duration::from_secs(1)))
.with_read_timeout(Some(Duration::from_secs(2)));
```
"""
references = ["smithy-rs#1144"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "Velfi"
[[aws-sdk-rust]]
message = """
`MakeConnectorFn`, `HttpConnector`, and `HttpSettings` have been moved from `aws_config::provider_config` to
`aws_smithy_client::http_connector`. This is in preparation for a later update that will change how connectors are
created and configured.
If you were using these structs/enums, you can migrate your old code by importing them from their new location.
"""
references = ["smithy-rs#1144"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "Velfi"
[[smithy-rs]]
message = """
`MakeConnectorFn`, `HttpConnector`, and `HttpSettings` have been moved from `aws_config::provider_config` to
`aws_smithy_client::http_connector`. This is in preparation for a later update that will change how connectors are
created and configured.
"""
references = ["smithy-rs#1144"]
meta = { "breaking" = false, "tada" = false, "bug" = false }
author = "Velfi"
[[aws-sdk-rust]]
message = """
Along with moving `HttpConnector` to `aws_smithy_client`, the `HttpConnector::make_connector` method has been renamed to
`HttpConnector::connector`.
If you were using this method, you can migrate your old code by calling `connector` instead of `make_connector`.
"""
references = ["smithy-rs#1144"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "Velfi"
[[smithy-rs]]
message = "Refactor `Document` shape parser generation"
references = ["smithy-rs#1123"]
meta = { "breaking" = false, "tada" = false, "bug" = false }
author = "rcoh"
[[aws-sdk-rust]]
message = "Fix some docs links not working because they were escaped when they shouldn't have been"
references = ["smithy-rs#1129"]
meta = { "breaking" = false, "tada" = false, "bug" = true }
author = "Velfi"
[[aws-sdk-rust]]
message = """
Moved the following re-exports into a `types` module for all services:
- `aws_sdk_<service>::AggregatedBytes` -> `aws_sdk_<service>::types::AggregatedBytes`
- `aws_sdk_<service>::Blob` -> `aws_sdk_<service>::types::Blob`
- `aws_sdk_<service>::ByteStream` -> `aws_sdk_<service>::types::ByteStream`
- `aws_sdk_<service>::DateTime` -> `aws_sdk_<service>::types::DateTime`
- `aws_sdk_<service>::SdkError` -> `aws_sdk_<service>::types::SdkError`
"""
references = ["smithy-rs#1085"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "jdisanti"
[[aws-sdk-rust]]
message = """
`AggregatedBytes` and `ByteStream` are now only re-exported if the service has streaming operations,
and `Blob`/`DateTime` are only re-exported if the service uses them.
"""
references = ["smithy-rs#1085"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "jdisanti"
[[aws-sdk-rust]]
message = "The `Client` and `Config` re-exports now have their documentation inlined in the service docs"
references = ["smithy-rs#1085"]
meta = { "breaking" = false, "tada" = false, "bug" = false }
author = "jdisanti"
[[smithy-rs]]
message = """
Moved the following re-exports into a `types` module for all services:
- `<service>::AggregatedBytes` -> `<service>::types::AggregatedBytes`
- `<service>::Blob` -> `<service>::types::Blob`
- `<service>::ByteStream` -> `<service>::types::ByteStream`
- `<service>::DateTime` -> `<service>::types::DateTime`
- `<service>::SdkError` -> `<service>::types::SdkError`
"""
references = ["smithy-rs#1085"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "jdisanti"
[[smithy-rs]]
message = """
`AggregatedBytes` and `ByteStream` are now only re-exported if the service has streaming operations,
and `Blob`/`DateTime` are only re-exported if the service uses them.
"""
references = ["smithy-rs#1085"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "jdisanti"
[[smithy-rs]]
message = "The `Client` and `Config` re-exports now have their documentation inlined in the service docs"
references = ["smithy-rs#1085"]
meta = { "breaking" = false, "tada" = false, "bug" = false }
author = "jdisanti"
[[aws-sdk-rust]]
message = "MSRV increased from `1.54` to `1.56.1` per our 2-behind MSRV policy."
references = ["smithy-rs#1130"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "jdisanti"
[[smithy-rs]]
message = "MSRV increased from `1.54` to `1.56.1` per our 2-behind MSRV policy."
references = ["smithy-rs#1130"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "jdisanti"
[[aws-sdk-rust]]
message = """
Fluent clients for all services no longer have generics, and now use `DynConnector` and `DynMiddleware` to allow
for connector/middleware customization. This should only break references to the client that specified generic types for it.
If you customized the AWS client's connector or middleware with something like the following:
```rust
let client = aws_sdk_s3::Client::with_config(
aws_sdk_s3::client::Builder::new()
.connector(my_custom_connector) // Connector customization
.middleware(my_custom_middleware) // Middleware customization
.default_async_sleep()
.build(),
config
);
```
Then you will need to wrap the custom connector or middleware in
[`DynConnector`](https://docs.rs/aws-smithy-client/0.36.0/aws_smithy_client/erase/struct.DynConnector.html)
and
[`DynMiddleware`](https://docs.rs/aws-smithy-client/0.36.0/aws_smithy_client/erase/struct.DynMiddleware.html)
respectively:
```rust
let client = aws_sdk_s3::Client::with_config(
aws_sdk_s3::client::Builder::new()
.connector(DynConnector::new(my_custom_connector)) // Now with `DynConnector`
.middleware(DynMiddleware::new(my_custom_middleware)) // Now with `DynMiddleware`
.default_async_sleep()
.build(),
config
);
```
If you had functions that took a generic connector, such as the following:
```rust
fn some_function<C, E>(conn: C) -> Result<()>
where
C: aws_smithy_client::bounds::SmithyConnector<Error = E> + Send + 'static,
E: Into<aws_smithy_http::result::ConnectorError>
{
// ...
}
```
Then the generics and trait bounds will no longer be necessary:
```rust
fn some_function(conn: DynConnector) -> Result<()> {
// ...
}
```
Similarly, functions that took a generic middleware can replace the generic with `DynMiddleware` and
remove their trait bounds.
"""
references = ["smithy-rs#1132"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "jdisanti"