PackageTrack
Sign in Get early access

aws-smithy-eventstream

Event stream logic for smithy-rs.

0.61.2 86M downloads/mo #887 most downloaded on crates.io smithy-lang/smithy-rs

What this package is like to depend on

Last release 11 days ago

12 Aug 2026

Ships fairly regularly

a new release about every 5 weeks

Rarely documented

notes for 15 of 62 stable releases

6 versions withdrawn

withdrawn after publishing

5 years old

72 releases · first in 2021

12 releases in the last 12 months

see the full history below

Release timeline

72 releases · Oct 2021 to Aug 2026
2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 72
  1. 0.61.2 12 Aug 2026

    Nothing published for this version

  2. 0.61.1 07 Jul 2026

    Nothing published for this version

  3. 0.61.0 08 Dec 2023 withdrawn

    Nothing published for this version

  4. 0.60.21 11 Jun 2026

    Nothing published for this version

  5. 0.60.20 02 Mar 2026

    Nothing published for this version

  6. 0.60.19 10 Feb 2026

    Nothing published for this version

  7. 0.60.18 01 Feb 2026

    Nothing published for this version

  8. 0.60.17 31 Jan 2026

    Nothing published for this version

  9. 0.60.16 29 Jan 2026

    Nothing published for this version

  10. 0.60.15 28 Jan 2026

    Nothing published for this version

  11. 0.60.14 08 Dec 2025

    Nothing published for this version

  12. 0.60.13 30 Oct 2025

    Nothing published for this version

  13. 0.60.12 06 Oct 2025

    Nothing published for this version

  14. 0.60.11 18 Aug 2025

    Nothing published for this version

  15. 0.60.10 17 Jul 2025

    Nothing published for this version

  16. 0.60.9 11 Jun 2025

    Nothing published for this version

  17. 0.60.8 10 Mar 2025

    Nothing published for this version

  18. 0.60.7 04 Mar 2025

    Nothing published for this version

  19. 0.60.6 14 Jan 2025

    Nothing published for this version

  20. 0.60.5 09 Sep 2024

    Nothing published for this version

  21. 0.60.4 24 Jan 2024

    Nothing published for this version

  22. 0.60.3 18 Jan 2024

    Nothing published for this version

  23. 0.60.2 10 Jan 2024

    Nothing published for this version

  24. 0.60.1 13 Dec 2023

    Nothing published for this version

  25. 0.60.0 18 Nov 2023

    Nothing published for this version

  26. 0.59.0 16 Nov 2023

    Nothing published for this version

  27. 0.58.0 15 Nov 2023

    Nothing published for this version

  28. 0.57.2 14 Nov 2023

    Nothing published for this version

  29. 0.57.1 01 Nov 2023

    Nothing published for this version

  30. 0.57.0 31 Oct 2023

    Nothing published for this version

  31. 0.56.1 22 Aug 2023

    Nothing published for this version

  32. 0.56.0 01 Aug 2023

    Nothing published for this version

  33. 0.55.3 23 May 2023

    Nothing published for this version

  34. 0.55.2 26 Apr 2023

    Nothing published for this version

  35. 0.55.1 11 Apr 2023

    Nothing published for this version

  36. 0.55.0 23 Mar 2023

    Nothing published for this version

  37. 0.54.4 24 Feb 2023

    Nothing published for this version

  38. 0.54.3 14 Feb 2023

    Nothing published for this version

  39. 0.54.2 07 Feb 2023 withdrawn

    Nothing published for this version

  40. 0.54.1 25 Jan 2023

    Nothing published for this version

  41. 0.54.0 24 Jan 2023

    Nothing published for this version

  42. 0.53.1 12 Jan 2023

    Nothing published for this version

  43. 0.53.0 11 Jan 2023

    Nothing published for this version

  44. 0.52.0 12 Dec 2022

    Nothing published for this version

  45. 0.51.0 24 Oct 2022

    Nothing published for this version

  46. 0.50.0 13 Oct 2022 withdrawn

    Nothing published for this version

  47. 0.49.0 20 Sep 2022

    Nothing published for this version

  48. 0.48.0 31 Aug 2022

    Nothing published for this version

  49. 0.47.0 04 Aug 2022

    Nothing published for this version

  50. 0.46.0 20 Jul 2022

    Nothing published for this version

  51. 0.45.0 29 Jun 2022
    Release notes

    Breaking Changes:

    • ⚠ (smithy-rs#932) Replaced use of pin-project with equivalent pin-project-lite. For pinned enum tuple variants and tuple structs, this change requires that we switch to using enum struct variants and regular structs. Most of the structs and enums that were updated had only private fields/variants and so have the same public API. However, this change does affect the public API of aws_smithy_http_tower::map_request::MapRequestFuture<F, E>. The Inner and Ready variants contained a single value. Each have been converted to struct variants and the inner value is now accessible by the inner field instead of the 0 field.

    New this release:

    • 🎉 (smithy-rs#1411, smithy-rs#1167) Upgrade to Gradle 7. This change is not a breaking change, however, users of smithy-rs will need to switch to JDK 17
    • 🐛 (smithy-rs#1505, @kiiadi) Fix issue with codegen on Windows where module names were incorrectly determined from filenames

    Contributors Thank you for your contributions! ❤

    • @kiiadi (smithy-rs#1505) <!-- Do not manually edit this file, use update-changelogs -->
    Open source →
  52. 0.44.0 22 Jun 2022
    Release notes

    New this release:

    • (smithy-rs#1460) Fix a potential bug with ByteStream's implementation of futures_core::stream::Stream and add helpful error messages for users on 32-bit systems that try to stream HTTP bodies larger than 4.29Gb.
    • 🐛 (smithy-rs#1427, smithy-rs#1465, smithy-rs#1459) Fix RustWriter bugs for rustTemplate and docs utility methods
    • 🐛 (aws-sdk-rust#554) Requests to Route53 that return ResourceIds often come with a prefix. When passing those IDs directly into another request, the request would fail unless they manually stripped the prefix. Now, when making a request with a prefixed ID, the prefix will be stripped automatically.
    Open source →
  53. 0.43.0 09 Jun 2022
    Release notes

    New this release:

    • 🎉 (smithy-rs#1381, @alonlud) Add ability to sign a request with all headers, or to change which headers are excluded from signing
    • 🎉 (smithy-rs#1390) Add method ByteStream::into_async_read. This makes it easy to convert ByteStreams into a struct implementing tokio:io::AsyncRead. Available on crate feature rt-tokio only.
    • (smithy-rs#1404, @petrosagg) Add ability to specify a different rust crate name than the one derived from the package name
    • (smithy-rs#1404, @petrosagg) Switch to RustCrypto's implementation of MD5.

    Contributors Thank you for your contributions! ❤

    Open source →
  54. 0.42.0 13 May 2022
    Release notes

    Breaking Changes:

    • ⚠🎉 (aws-sdk-rust#494, aws-sdk-rust#519) The aws_smithy_http::byte_stream::bytestream_util::FsBuilder has been updated to allow for easier creation of multi-part requests.

      • FsBuilder::offset is a new method allowing users to specify an offset to start reading a file from.
      • FsBuilder::file_size has been reworked into FsBuilder::length and is now used to specify the amount of data to read.

      With these two methods, it's now simple to create a ByteStream that will read a single "chunk" of a file. The example below demonstrates how you could divide a single File into consecutive chunks to create multiple ByteStreams.

      let example_file_path = Path::new("/example.txt");
      let example_file_size = tokio::fs::metadata(&example_file_path).await.unwrap().len();
      let chunks = 6;
      let chunk_size = file_size / chunks;
      let mut byte_streams = Vec::new();
      
      for i in 0..chunks {
          let length = if i == chunks - 1 {
              // If we're on the last chunk, the length to read might be less than a whole chunk.
              // We substract the size of all previous chunks from the total file size to get the
              // size of the final chunk.
              file_size - (i * chunk_size)
          } else {
              chunk_size
          };
      
          let byte_stream = ByteStream::read_from()
              .path(&file_path)
              .offset(i * chunk_size)
              .length(length)
              .build()
              .await?;
      
          byte_streams.push(byte_stream);
      }
      
      for chunk in byte_streams {
          // Make requests to a service
      }
      

    New this release:

    Contributors Thank you for your contributions! ❤

    Open source →
  55. 0.41.0 29 Apr 2022
    Release notes

    Breaking Changes:

    • ⚠ (smithy-rs#1318) Bump MSRV from 1.56.1 to 1.58.1 per our "two versions behind" policy.

    New this release:

    • (smithy-rs#1307) Add new trait for HTTP body callbacks. This is the first step to enabling us to implement optional checksum verification of requests and responses.
    • (smithy-rs#1330) Upgrade to Smithy 1.21.0
    Open source →
  56. 0.40.2 14 Apr 2022
    Release notes

    Breaking Changes:

    New this release:

    Contributors Thank you for your contributions! ❤

    Open source →
  57. 0.39.0 17 Mar 2022
    Release notes

    Breaking Changes:

    • ⚠ (aws-sdk-rust#406) aws_types::config::Config has been renamed to aws_types:sdk_config::SdkConfig. This is to better differentiate it from service-specific configs like aws_s3_sdk::Config. If you were creating shared configs with aws_config::load_from_env(), then you don't have to do anything. If you were directly referring to a shared config, update your use statements and struct names.

      Before:

      use aws_types::config::Config;
      
      fn main() {
          let config = Config::builder()
          // config builder methods...
          .build()
          .await;
      }
      

      After:

      use aws_types::SdkConfig;
      
      fn main() {
          let config = SdkConfig::builder()
          // config builder methods...
          .build()
          .await;
      }
      
    • ⚠ (smithy-rs#724) Timeout configuration has been refactored a bit. If you were setting timeouts through environment variables or an AWS profile, then you shouldn't need to change anything. Take note, however, that we don't currently support HTTP connect, read, write, or TLS negotiation timeouts. If you try to set any of those timeouts in your profile or environment, we'll log a warning explaining that those timeouts don't currently do anything.

      If you were using timeouts programmatically, you'll need to update your code. In previous versions, timeout configuration was stored in a single TimeoutConfig struct. In this new version, timeouts have been broken up into several different config structs that are then collected in a timeout::Config struct. As an example, to get the API per-attempt timeout in previous versions you would access it with <your TimeoutConfig>.api_call_attempt_timeout() and in this new version you would access it with <your timeout::Config>.api.call_attempt_timeout(). We also made some unimplemented timeouts inaccessible in order to avoid giving users the impression that setting them had an effect. We plan to re-introduce them once they're made functional in a future update.

    New this release:

    • (smithy-rs#1225) DynMiddleware is now cloneable
    • (smithy-rs#1257) HTTP request property bag now contains list of desired HTTP versions to use when making requests. This list is not currently used but will be in an upcoming update.
    Open source →
  58. 0.38.0 24 Feb 2022
    Release notes

    Breaking Changes:

    • ⚠ (smithy-rs#1197) aws_smithy_types::retry::RetryKind had its NotRetryable variant split into UnretryableFailure and Unnecessary. If you implement the ClassifyResponse, then successful responses need to return Unnecessary, and failures that shouldn't be retried need to return UnretryableFailure.
    • ⚠ (smithy-rs#1209) aws_smithy_types::primitive::Encoder is now a struct rather than an enum, but its usage remains the same.
    • ⚠ (smithy-rs#1217) ClientBuilder helpers rustls() and native_tls() now return DynConnector and use dynamic dispatch rather than returning their concrete connector type that would allow static dispatch. If static dispatch is desired, then manually construct a connector to give to the builder. For example, for rustls: builder.connector(Adapter::builder().build(aws_smithy_client::conns::https())) (where Adapter is in aws_smithy_client::hyper_ext).

    New this release:

    • 🐛 (smithy-rs#1197) Fixed a bug that caused clients to eventually stop retrying. The cross-request retry allowance wasn't being reimbursed upon receiving a successful response, so once this allowance reached zero, no further retries would ever be attempted.
    Open source →
  59. 0.37.0 21 Feb 2022
    Release notes

    Breaking Changes:

    • ⚠ (smithy-rs#1144) 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:

      let timeout = timeout::Settings::new()
          .with_connect_timeout(Duration::from_secs(1))
          .with_read_timeout(Duration::from_secs(2));
      

      The new way:

      // 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)));
      
    • ⚠ (smithy-rs#1085) 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
    • ⚠ (smithy-rs#1085) 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.

    • ⚠ (smithy-rs#1130) MSRV increased from 1.54 to 1.56.1 per our 2-behind MSRV policy.

    New this release:

    • (smithy-rs#1144) 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.
    • (smithy-rs#1123) Refactor Document shape parser generation
    • (smithy-rs#1085) The Client and Config re-exports now have their documentation inlined in the service docs
    Open source →
  60. 0.36.0 26 Jan 2022
    Release notes

    New this release:

    Contributors Thank you for your contributions! ❤

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive