PackageTrack
Sign in Get early access

aws-smithy-client

This crate is no longer used by smithy-rs and is deprecated.

0.60.3 18M downloads/mo #2223 most downloaded on crates.io smithy-lang/smithy-rs

What this package is like to depend on

Last release 3 years ago

no release in 18 months

Ships fairly regularly

a new release about every 3 weeks

Some releases are documented

notes for 15 of 42 stable releases

5 versions withdrawn

withdrawn after publishing

5 years old

51 releases · first in 2021

0 releases in the last 12 months

see the full history below

Release timeline

51 releases · Oct 2021 to Jan 2024
2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 51
  1. 0.61.0 08 Dec 2023 withdrawn

    Nothing published for this version

  2. 0.60.3 18 Jan 2024

    Nothing published for this version

  3. 0.60.2 10 Jan 2024

    Nothing published for this version

  4. 0.60.1 13 Dec 2023

    Nothing published for this version

  5. 0.60.0 18 Nov 2023

    Nothing published for this version

  6. 0.59.0 16 Nov 2023

    Nothing published for this version

  7. 0.58.0 15 Nov 2023

    Nothing published for this version

  8. 0.57.2 14 Nov 2023

    Nothing published for this version

  9. 0.57.1 01 Nov 2023

    Nothing published for this version

  10. 0.57.0 31 Oct 2023

    Nothing published for this version

  11. 0.56.1 22 Aug 2023

    Nothing published for this version

  12. 0.56.0 01 Aug 2023

    Nothing published for this version

  13. 0.55.3 23 May 2023

    Nothing published for this version

  14. 0.55.2 26 Apr 2023

    Nothing published for this version

  15. 0.55.1 11 Apr 2023

    Nothing published for this version

  16. 0.55.0 23 Mar 2023

    Nothing published for this version

  17. 0.54.4 24 Feb 2023

    Nothing published for this version

  18. 0.54.3 14 Feb 2023

    Nothing published for this version

  19. 0.54.2 07 Feb 2023 withdrawn

    Nothing published for this version

  20. 0.54.1 25 Jan 2023

    Nothing published for this version

  21. 0.54.0 24 Jan 2023

    Nothing published for this version

  22. 0.53.1 12 Jan 2023

    Nothing published for this version

  23. 0.53.0 11 Jan 2023

    Nothing published for this version

  24. 0.52.0 12 Dec 2022

    Nothing published for this version

  25. 0.51.0 24 Oct 2022

    Nothing published for this version

  26. 0.50.0 13 Oct 2022 withdrawn

    Nothing published for this version

  27. 0.49.0 20 Sep 2022

    Nothing published for this version

  28. 0.48.0 31 Aug 2022

    Nothing published for this version

  29. 0.47.0 04 Aug 2022

    Nothing published for this version

  30. 0.46.0 20 Jul 2022

    Nothing published for this version

  31. 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 →
  32. 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 →
  33. 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 →
  34. 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 →
  35. 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 →
  36. 0.40.2 14 Apr 2022
    Release notes

    Breaking Changes:

    New this release:

    Contributors Thank you for your contributions! ❤

    Open source →
  37. 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 →
  38. 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 →
  39. 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 →
  40. 0.36.0 26 Jan 2022
    Release notes

    New this release:

    Contributors Thank you for your contributions! ❤

    Open source →
  41. 0.35.2 21 Jan 2022
    Release notes

    Changes only impact generated AWS SDK

    Open source →
  42. 0.35.1 20 Jan 2022 withdrawn
    Release notes

    Changes only impact generated AWS SDK

    Open source →
  43. 0.34.1 10 Jan 2022
    Release notes

    New this release:

    • 🐛 (smithy-rs#1054, aws-sdk-rust#391) Fix critical paginator bug where an empty outputToken lead to a never ending stream.
    Open source →
  44. 0.34.0 07 Jan 2022
    Release notes

    Breaking Changes:

    • ⚠ (smithy-rs#990) Codegen will no longer produce builders and clients with methods that take impl Into<T> except for strings and boxed types.
    • ⚠ (smithy-rs#1003) The signature of aws_smithy_protocol_test::validate_headers was made more flexible but may require adjusting invocations slightly.

    New this release:

    • 🎉 (aws-sdk-rust#47, smithy-rs#1006) Add support for paginators! Paginated APIs now include .into_paginator() and (when supported) .into_paginator().items() to enable paginating responses automatically. The paginator API should be considered in preview and is subject to change pending customer feedback.
    • 🐛 (aws-sdk-rust#357) Generated docs will convert <a> tags with no href attribute to <pre> tags
    • (aws-sdk-rust#254, @jacco) Made fluent operation structs cloneable

    Contributors Thank you for your contributions! ❤

    • @jacco (aws-sdk-rust#254)
    Open source →
  45. 0.33.1 15 Dec 2021
    Release notes

    New this release:

    • 🐛 (smithy-rs#979) Make aws-smithy-client a required dependency in generated services.
    Open source →
  46. 0.32.0 02 Dec 2021
    Release notes
    • This release was a version bump to fix a version number conflict in crates.io
    Open source →
  47. 0.30.0-alpha 24 Nov 2021 pre-release
    Release notes

    New this week

    • Improve docs on aws-smithy-client (smithy-rs#855)
    • Fix http-body dependency version (smithy-rs#883, aws-sdk-rust#305)
    • SdkError now includes a variant TimeoutError for when a request times out (smithy-rs#885)
    • Timeouts for requests are now configurable. You can set separate timeouts for each individual request attempt and all attempts made for a request. (smithy-rs#831)

    Breaking Changes

    • (aws-smithy-client): Extraneous pub use SdkSuccess removed from aws_smithy_client::hyper_ext. (smithy-rs#855)
    Open source →
  48. 0.28.0-alpha 11 Nov 2021 pre-release
    Release notes

    No changes since last release except for version bumping since older versions of the AWS SDK were failing to compile with the 0.27.0-alpha.2 version chosen for the previous release.

    Open source →
  49. 0.27.0-alpha.2 09 Nov 2021 pre-release withdrawn
    Release notes

    Breaking Changes

    • Members named builder on model structs were renamed to builder_value so that their accessors don't conflict with the existing builder() methods (smithy-rs#842)

    New this week

    • Fix epoch seconds date-time parsing bug in aws-smithy-types (smithy-rs#834)
    • Omit trailing zeros from fraction when formatting HTTP dates in aws-smithy-types (smithy-rs#834)
    • Generated structs now have accessor methods for their members (smithy-rs#842)
    Open source →
  50. 0.27.0-alpha.1 04 Nov 2021 pre-release
    Release notes

    Breaking Changes

    • <operation>.make_operation(&config) is now an async function for all operations. Code should be updated to call .await. This will only impact users using the low-level API. (smithy-rs#797)

    New this week

    • SDK code generation now includes a version in addition to path parameters when the version parameter is included in smithy-build.json
    • moduleDescription in smithy-build.json settings is now optional
    • Upgrade to Smithy 1.12
    • hyper::Error(IncompleteMessage) will now be retried (smithy-rs#815)
    • Unions will optionally generate an Unknown variant to support parsing variants that don't exist on the client. These variants will fail to serialize if they are ever included in requests.
    • Fix generated docs on unions. (smithy-rs#826)
    Open source →
  51. 0.27.0-alpha 21 Oct 2021 pre-release

    Nothing published for this version

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