PackageTrack
Sign in Get early access

aws-smithy-json

Token streaming JSON parser for smithy-rs.

0.63.0 135M downloads/mo #672 most downloaded on crates.io smithy-lang/smithy-rs

What this package is like to depend on

Last release 1 months ago

07 Jul 2026

Ships fairly regularly

a new release about every 5 weeks

Rarely documented

notes for 15 of 64 stable releases

6 versions withdrawn

withdrawn after publishing

5 years old

74 releases · first in 2021

13 releases in the last 12 months

see the full history below

Release timeline

74 releases · Oct 2021 to Jul 2026
2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 74
  1. 0.63.0 07 Jul 2026

    Nothing published for this version

  2. 0.62.7 01 Jun 2026

    Nothing published for this version

  3. 0.62.6 19 May 2026

    Nothing published for this version

  4. 0.62.5 02 Mar 2026

    Nothing published for this version

  5. 0.62.4 10 Feb 2026

    Nothing published for this version

  6. 0.62.3 01 Feb 2026

    Nothing published for this version

  7. 0.62.2 31 Jan 2026

    Nothing published for this version

  8. 0.62.1 29 Jan 2026

    Nothing published for this version

  9. 0.62.0 28 Jan 2026

    Nothing published for this version

  10. 0.61.9 16 Dec 2025

    Nothing published for this version

  11. 0.61.8 08 Dec 2025

    Nothing published for this version

  12. 0.61.7 30 Oct 2025

    Nothing published for this version

  13. 0.61.6 06 Oct 2025

    Nothing published for this version

  14. 0.61.5 28 Aug 2025

    Nothing published for this version

  15. 0.61.4 11 Jun 2025

    Nothing published for this version

  16. 0.61.3 10 Mar 2025

    Nothing published for this version

  17. 0.61.2 14 Jan 2025

    Nothing published for this version

  18. 0.61.1 03 Dec 2024

    Nothing published for this version

  19. 0.61.0 08 Dec 2023 withdrawn

    Nothing published for this version

  20. 0.60.7 12 Mar 2024

    Nothing published for this version

  21. 0.60.6 22 Feb 2024

    Nothing published for this version

  22. 0.60.5 08 Feb 2024

    Nothing published for this version

  23. 0.60.4 24 Jan 2024

    Nothing published for this version

  24. 0.60.3 18 Jan 2024

    Nothing published for this version

  25. 0.60.2 10 Jan 2024

    Nothing published for this version

  26. 0.60.1 13 Dec 2023

    Nothing published for this version

  27. 0.60.0 18 Nov 2023

    Nothing published for this version

  28. 0.59.0 16 Nov 2023

    Nothing published for this version

  29. 0.58.0 15 Nov 2023

    Nothing published for this version

  30. 0.57.2 14 Nov 2023

    Nothing published for this version

  31. 0.57.1 01 Nov 2023

    Nothing published for this version

  32. 0.57.0 31 Oct 2023

    Nothing published for this version

  33. 0.56.1 22 Aug 2023

    Nothing published for this version

  34. 0.56.0 01 Aug 2023

    Nothing published for this version

  35. 0.55.3 23 May 2023

    Nothing published for this version

  36. 0.55.2 26 Apr 2023

    Nothing published for this version

  37. 0.55.1 11 Apr 2023

    Nothing published for this version

  38. 0.55.0 23 Mar 2023

    Nothing published for this version

  39. 0.54.4 24 Feb 2023

    Nothing published for this version

  40. 0.54.3 14 Feb 2023

    Nothing published for this version

  41. 0.54.2 07 Feb 2023 withdrawn

    Nothing published for this version

  42. 0.54.1 25 Jan 2023

    Nothing published for this version

  43. 0.54.0 24 Jan 2023

    Nothing published for this version

  44. 0.53.1 12 Jan 2023

    Nothing published for this version

  45. 0.53.0 11 Jan 2023

    Nothing published for this version

  46. 0.52.0 12 Dec 2022

    Nothing published for this version

  47. 0.51.0 24 Oct 2022

    Nothing published for this version

  48. 0.50.0 13 Oct 2022 withdrawn

    Nothing published for this version

  49. 0.49.0 20 Sep 2022

    Nothing published for this version

  50. 0.48.0 31 Aug 2022

    Nothing published for this version

  51. 0.47.0 04 Aug 2022

    Nothing published for this version

  52. 0.46.0 20 Jul 2022

    Nothing published for this version

  53. 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 →
  54. 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 →
  55. 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 →
  56. 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 →
  57. 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 →
  58. 0.40.2 14 Apr 2022
    Release notes

    Breaking Changes:

    New this release:

    Contributors Thank you for your contributions! ❤

    Open source →
  59. 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 →
  60. 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 →

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