Skip to content

Commit

Permalink
Update changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
aws-sdk-rust-ci committed Jan 24, 2023
1 parent 48ce90d commit 701d294
Show file tree
Hide file tree
Showing 3 changed files with 120 additions and 478 deletions.
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,24 @@
<!-- Do not manually edit this file. Use the `changelogger` tool. -->
January 24th, 2023
==================
**Breaking Changes:**
- ⚠ (server, [smithy-rs#2161](https://github.com/awslabs/smithy-rs/issues/2161)) Remove deprecated service builder, this includes:

- Remove `aws_smithy_http_server::routing::Router` and `aws_smithy_http_server::request::RequestParts`.
- Move the `aws_smithy_http_server::routers::Router` trait and `aws_smithy_http_server::routing::RoutingService` into `aws_smithy_http_server::routing`.
- Remove the following from the generated SDK:
- `operation_registry.rs`
- `operation_handler.rs`
- `server_operation_handler_trait.rs`

If migration to the new service builder API has not already been completed a brief summary of required changes can be seen in [previous release notes](https://github.com/awslabs/smithy-rs/releases/tag/release-2022-12-12) and in API documentation of the root crate.

**New this release:**
- 🐛 (server, [smithy-rs#2213](https://github.com/awslabs/smithy-rs/issues/2213)) `@sparse` list shapes and map shapes with constraint traits and with constrained members are now supported
- (all, [smithy-rs#2223](https://github.com/awslabs/smithy-rs/issues/2223)) `aws_smithy_types::date_time::DateTime`, `aws_smithy_types::Blob` now implement the `Eq` and `Hash` traits
- (server, [smithy-rs#2223](https://github.com/awslabs/smithy-rs/issues/2223)) Code-generated types for server SDKs now implement the `Eq` and `Hash` traits when possible


January 12th, 2023
==================
**New this release:**
Expand Down
248 changes: 1 addition & 247 deletions CHANGELOG.next.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,250 +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"

[[smithy-rs]]
message = "`@sparse` list shapes and map shapes with constraint traits and with constrained members are now supported"
references = ["smithy-rs#2213"]
meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "server"}
author = "david-perez"

[[aws-sdk-rust]]
message = """
Improve SDK credentials caching through type safety. `LazyCachingCredentialsProvider` has been renamed to `LazyCredentialsCache` and is no longer treated as a credentials provider. Furthermore, you do not create a `LazyCredentialsCache` directly, and instead you interact with `CredentialsCache`. This introduces the following breaking changes.
If you previously used `LazyCachingCredentialsProvider`, you can replace it with `CredentialsCache`.
<details>
<summary>Example</summary>
Before:
```rust
use aws_config::meta::credentials::lazy_caching::LazyCachingCredentialsProvider;
use aws_types::provider::ProvideCredentials;
fn make_provider() -> impl ProvideCredentials {
// --snip--
}
let credentials_provider =
LazyCachingCredentialsProvider::builder()
.load(make_provider())
.build();
let sdk_config = aws_config::from_env()
.credentials_provider(credentials_provider)
.load()
.await;
let client = aws_sdk_s3::Client::new(&sdk_config);
```
After:
```rust
use aws_credential_types::cache::CredentialsCache;
use aws_types::provider::ProvideCredentials;
fn make_provider() -> impl ProvideCredentials {
// --snip--
}
// Wrapping a result of `make_provider` in `LazyCredentialsCache` is done automatically.
let sdk_config = aws_config::from_env()
.credentials_cache(CredentialsCache::lazy()) // This line can be omitted because it is on by default.
.credentials_provider(make_provider())
.load()
.await;
let client = aws_sdk_s3::Client::new(&sdk_config);
```
If you previously configured a `LazyCachingCredentialsProvider`, you can use the builder for `LazyCredentialsCache` instead.
Before:
```rust
use aws_config::meta::credentials::lazy_caching::LazyCachingCredentialsProvider;
use aws_types::provider::ProvideCredentials;
use std::time::Duration;
fn make_provider() -> impl ProvideCredentials {
// --snip--
}
let credentials_provider =
LazyCachingCredentialsProvider::builder()
.load(make_provider())
.load_timeout(Duration::from_secs(60)) // Configures timeout.
.build();
let sdk_config = aws_config::from_env()
.credentials_provider(credentials_provider)
.load()
.await;
let client = aws_sdk_s3::Client::new(&sdk_config);
```
After:
```rust
use aws_credential_types::cache::CredentialsCache;
use aws_types::provider::ProvideCredentials;
use std::time::Duration;
fn make_provider() -> impl ProvideCredentials {
// --snip--
}
let sdk_config = aws_config::from_env()
.credentials_cache(
CredentialsCache::lazy_builder()
.load_timeout(Duration::from_secs(60)) // Configures timeout.
.into_credentials_cache(),
)
.credentials_provider(make_provider())
.load()
.await;
let client = aws_sdk_s3::Client::new(&sdk_config);
```
The examples above only demonstrate how to use `credentials_cache` and `credentials_provider` methods on `aws_config::ConfigLoader` but the same code update can be applied when you interact with `aws_types::sdk_config::Builder` or the builder for a service-specific config, e.g. `aws_sdk_s3::config::Builder`.
</details>
If you previously configured a `DefaultCredentialsChain` by calling `load_timeout`, `buffer_time`, or `default_credential_expiration` on its builder, you need to call the same set of methods on the builder for `LazyCredentialsCache` instead.
<details>
<summary>Example</summary>
Before:
```rust
use aws_config::default_provider::credentials::DefaultCredentialsChain;
use std::time::Duration;
let credentials_provider = DefaultCredentialsChain::builder()
.buffer_time(Duration::from_secs(30))
.default_credential_expiration(Duration::from_secs(20 * 60))
.build()
.await;
let sdk_config = aws_config::from_env()
.credentials_provider(credentials_provider)
.load()
.await;
let client = aws_sdk_s3::Client::new(&sdk_config);
```
After:
```rust
use aws_config::default_provider::credentials::default_provider;
use aws_credential_types::cache::CredentialsCache;
use std::time::Duration;
// Previously used methods no longer exist on the builder for `DefaultCredentialsChain`.
let credentials_provider = default_provider().await;
let sdk_config = aws_config::from_env()
.credentials_cache(
CredentialsCache::lazy_builder()
.buffer_time(Duration::from_secs(30))
.default_credential_expiration(Duration::from_secs(20 * 60))
.into_credentials_cache(),
)
.credentials_provider(credentials_provider)
.load()
.await;
let client = aws_sdk_s3::Client::new(&sdk_config);
```
</details>
"""
references = ["smithy-rs#2122", "smithy-rs#2227"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "ysaito1001"

[[aws-sdk-rust]]
message = """
The introduction of `CredentialsCache` comes with an accompanying type `SharedCredentialsCache`, which we will store in the property bag instead of a `SharedCredentialsProvider`. As a result, `aws_http::auth:set_provider` has been updated to `aws_http::auth::set_credentials_cache`.
Before:
```rust
use aws_credential_types::Credentials;
use aws_credential_types::provider::SharedCredentialsProvider;
use aws_http::auth::set_provider;
use aws_smithy_http::body::SdkBody;
use aws_smithy_http::operation;
let mut req = operation::Request::new(http::Request::new(SdkBody::from("some body")));
let credentials = Credentials::new("example", "example", None, None, "my_provider_name");
set_provider(
&mut req.properties_mut(),
SharedCredentialsProvider::new(credentials),
);
```
After:
```rust
use aws_credential_types::Credentials;
use aws_credential_types::cache::{CredentialsCache, SharedCredentialsCache};
use aws_credential_types::provider::SharedCredentialsProvider;
use aws_http::auth::set_credentials_cache;
use aws_smithy_http::body::SdkBody;
use aws_smithy_http::operation;
let mut req = operation::Request::new(http::Request::new(SdkBody::from("some body")));
let credentials = Credentials::new("example", "example", None, None, "my_provider_name");
let credentials_cache = CredentialsCache::lazy_builder()
.into_credentials_cache()
.create_cache(SharedCredentialsProvider::new(credentials));
set_credentials_cache(
&mut req.properties_mut(),
SharedCredentialsCache::new(credentials_cache),
);
```
"""
references = ["smithy-rs#2122", "smithy-rs#2227"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "ysaito1001"

[[smithy-rs]]
message = "`aws_smithy_types::date_time::DateTime`, `aws_smithy_types::Blob` now implement the `Eq` and `Hash` traits"
references = ["smithy-rs#2223"]
meta = { "breaking" = false, "tada" = false, "bug" = false, "target" = "all"}
author = "david-perez"

[[smithy-rs]]
message = "Code-generated types for server SDKs now implement the `Eq` and `Hash` traits when possible"
references = ["smithy-rs#2223"]
meta = { "breaking" = false, "tada" = false, "bug" = false, "target" = "server"}
author = "david-perez"

[[aws-sdk-rust]]
message = "Fix endpoint for s3.write_get_object_response(). This bug was introduced in 0.53."
references = ["smithy-rs#2204"]
meta = { "breaking" = false, "tada" = false, "bug" = true }
author = "rcoh"

[[aws-sdk-rust]]
message = "Add `with_test_defaults()` and `set_test_defaults()` to `<service>::Config`. These methods fill in defaults for configuration that is mandatory to successfully send a request."
references = ["smithy-rs#2204"]
meta = { "breaking" = false, "tada" = false, "bug" = false }
author = "rcoh"

[[smithy-rs]]
message = """
Remove deprecated service builder, this includes:
- Remove `aws_smithy_http_server::routing::Router` and `aws_smithy_http_server::request::RequestParts`.
- Move the `aws_smithy_http_server::routers::Router` trait and `aws_smithy_http_server::routing::RoutingService` into `aws_smithy_http_server::routing`.
- Remove the following from the generated SDK:
- `operation_registry.rs`
- `operation_handler.rs`
- `server_operation_handler_trait.rs`
If migration to the new service builder API has not already been completed a brief summary of required changes can be seen in [previous release notes](https://github.com/awslabs/smithy-rs/releases/tag/release-2022-12-12) and in API documentation of the root crate.
"""
references = ["smithy-rs#2161"]
meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "server"}
author = "hlbarber"
# author = "rcoh"
Loading

0 comments on commit 701d294

Please sign in to comment.