-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove 3rd-party types from public APIs #2413
Labels
Comments
ysaito1001
added
breaking-change
This will require a breaking change
client
sdk-ga
labels
Feb 23, 2023
26 tasks
3 tasks
github-merge-queue bot
pushed a commit
that referenced
this issue
Jul 14, 2023
## Motivation and Context Addresses item 1, 3, and 9 in #2413 ## Description This PR removes the third party types as follows: - removes `InvalidHeaderValue` from public API in `aws-http` - removes `SendError` from public API in `aws-smithy-async` - removes `xmlparser` from public API in `aws-smithy-xml` Those types were exposed to public APIs primarily due to the implementation of traits, e.g. `From` and `Iterator`. Those implementations are used internally (such as XML deserialization and converting an error type) so we should be able to hide them within crates. ## Testing - [x] Passed tests in CI ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [x] I have updated `CHANGELOG.next.toml` if I made changes to the smithy-rs codegen or runtime crates - [x] I have updated `CHANGELOG.next.toml` if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._ --------- Co-authored-by: ysaito1001 <[email protected]>
2 tasks
github-merge-queue bot
pushed a commit
that referenced
this issue
Jul 17, 2023
## Motivation and Context Addresses item 8 in #2413 ## Description This PR removes the third party types as follows: - removes `SegmentedBuf` from public API in `aws-smithy-http` (used when the feature `event-stream` was enabled) ## Testing - [x] Passed tests in CI ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [x] I have updated `CHANGELOG.next.toml` if I made changes to the smithy-rs codegen or runtime crates ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._ --------- Co-authored-by: ysaito1001 <[email protected]>
2 tasks
github-merge-queue bot
pushed a commit
that referenced
this issue
Sep 6, 2023
## Motivation and Context Addresses 7 in #2413 ## Description This small PR removes uses of `once_cell` from public API. The `http_versions` module in the `aws_smithy_http` crate was dead-code. ## Testing Relies on existing tests in CI. ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [x] I have updated `CHANGELOG.next.toml` if I made changes to the smithy-rs codegen or runtime crates - [x] I have updated `CHANGELOG.next.toml` if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._ --------- Co-authored-by: ysaito1001 <[email protected]>
This was referenced Sep 11, 2023
github-merge-queue bot
pushed a commit
that referenced
this issue
Sep 27, 2023
## Motivation and Context Removes `futures_core::stream::Stream` from the `aws-smithy-async` crate. ## Description This PR is part of our ongoing effort, #2413. We remove the `futures_core::stream::Stream` trait from the public API in the `aws-smithy-async` crate. While doing so, we compensate - `FnStream` by providing the explicit `.next` and `.collect` methods to let the previously working code continue working. - `TryFlatMap` by making it return a new-type wrapper `PaginationStream` to hide `FnStream` from those who use paginators. With this change, the latest canary no longer uses `tokio_stream::StreamExt`, since the paginator does not work in terms of the `Stream` trait. Furthermore, `aws-sdk-rust` has been more than [3 releases since release-2023-01-26](https://github.com/awslabs/aws-sdk-rust/releases), so the module `release-2023-01-26` has been removed from `canary-lambda`. ## Testing No new tests added, but made sure the existing tests keep working with the change. ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [x] I have updated `CHANGELOG.next.toml` if I made changes to the smithy-rs codegen or runtime crates - [x] I have updated `CHANGELOG.next.toml` if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
github-merge-queue bot
pushed a commit
that referenced
this issue
Sep 28, 2023
…eam::ByteStream` (#2983) ## Motivation and Context Removes `futures_core::stream::Stream` from `aws_smithy_http::byte_stream::ByteStream` ## Description This PR is part of our ongoing effort, #2413. We remove the `futures_core::stream::Stream` trait from `aws_smithy_http::byte_stream::ByteStream`. To continue support existing places that relied upon `ByteStream` implementing the `Stream` trait, we provide explicit `.next`, `.try_next`, and `.size_hints` methods on that type. As part of it, a doc-hidden type `FuturesStreamCompatByteStream`, which implements `Stream`, has been added to `aws_smithy_http` to cater to those who need a type implementing `Stream` (see [discussion](#2910 (comment)) why doc-hidden). Another place we need to update is codegen responsible for rendering stream payload serializer, and this affects the server. The regular server and the python server have slightly different rendering requirements, since the former uses `aws_smithy_http::byte_stream::ByteStream` (that does _not_ implement the `Stream` trait) and latter uses its own [ByteStream](https://github.com/awslabs/smithy-rs/blob/cb79a68e3c38d1e62d3980d5e7baedc1144bacc7/rust-runtime/aws-smithy-http-server-python/src/types.rs#L343) (that does implement `Stream`). We use `ServerHttpBoundProtocolCustomization` to handle the difference: `StreamPayloadSerializerCustomization` and `PythonServerStreamPayloadSerializerCustomization`. ## Testing No new behavior has been added, relied on the existing tests in CI. ## Checklist - [x] I have updated `CHANGELOG.next.toml` if I made changes to the smithy-rs codegen or runtime crates - [x] I have updated `CHANGELOG.next.toml` if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This PR contains a sub list from #1193. Types in this list will probably not go away as a result of future code reorganization/refactoring, hence working on this task won't be a wasted effort.
The text was updated successfully, but these errors were encountered: