Skip to content

Releases: smithy-lang/smithy-rs

v0.19 (August 3rd, 2021)

03 Aug 17:52
dba6ec4
Compare
Choose a tag to compare
Pre-release

IoT Data Plane is now available! If you discover it isn't functioning as expected, please let us know!

This week also sees the addition of a robust async caching credentials provider. Take a look at the STS example to see how to use it.

New This Week

  • 🎉 Add IoT Data Plane (#624)
  • 🎉 Add LazyCachingCredentialsProvider to aws-auth for use with expiring credentials, such as STS AssumeRole. Update STS example to use this new provider (#578, #595)
  • 🐛 Correctly encode HTTP Checksums using base64 instead of hex. Fixes aws-sdk-rust#164. (#615)
  • Update SDK gradle build logic to use gradle properties (#620)
  • Overhaul serialization/deserialization of numeric/boolean types. This resolves issues around serialization of NaN/Infinity and should also reduce the number of allocations required during serialization. (#618)
  • Update SQS example to clarify usage of FIFO vs. standard queues (#622, @trevorrobertsjr)
  • Implement Event Stream frame encoding/decoding (#609, #619)

Contributions

Thank you for your contributions! ❤️

Bugfix: Remove Timestream Service

28 Jul 00:19
6201a38
Compare
Choose a tag to compare
Pre-release

Bugfix release to remove Timestream from the generated SDK. Timestream isn't supported because it requires Endpoint Discovery (#109)

July 27th 2021: (Almost) All Services

27 Jul 23:55
08961db
Compare
Choose a tag to compare
Pre-release

This week's release includes clients for all AWS services except Glacier, IOT Data & Transcribe Streaming. Try them out, and please let us know if you run into any issues!

Breaking changes

  • test-util has been made an optional dependency and has moved from
    aws-hyper to smithy-http. If you were relying on aws_hyper::TestConnection, add smithy-client as a dependency
    and enable the optional test-util feature. This prunes some unnecessary dependencies on roxmltree and serde_json
    for most users. (#608)

New This Week

  • 🎉 Release all but three remaining AWS services! Glacier, IoT Data Plane and Transcribe streaming will be available in a future release. If you discover that a service isn't functioning as expected please let us know! (#607)
  • 🐛 Bugfix: Fix parsing bug where parsing XML incorrectly stripped whitespace (#590, aws-sdk-rust#153)
  • Establish common abstraction for environment variables (#594)
  • Add windows to the test matrix (#594)
  • 🐛 Bugfix: Constrain RFC-3339 timestamp formatting to microsecond precision (#596)
  • Lots of examples improvements and cleanups (#610)

July 15th, 2021: Auto Scaling, S3 Bugfixes

15 Jul 21:16
346cdfe
Compare
Choose a tag to compare

This week we've added Autoscaling and fixed an S3 bug.

New this Week

  • 🎉 Add support for Autoscaling (#576, #582)
  • AsyncProvideCredentials now introduces an additional lifetime parameter, simplifying bridging it with #[async_trait] interfaces
  • Fix S3 bug when content type was set explicitly (aws-sdk-rust#131, #566, @eagletmt)

Contributions
Thank you for your contributions! ❤️

July 6th, 2021: AWS Config, EBS, Cognito & Snowball

06 Jul 17:34
82cb50e
Compare
Choose a tag to compare

This week, we've added AWS Config, EBS, Cognito, and Snowball. Projects that are implementing the ProvideCredentials trait will need to update their imports and should consider using the new async_provide_credentials_fn for async credential use-cases.

New this Week

  • ⚠️ Breaking Change: ProvideCredentials and CredentialError were both moved into aws_auth::provider when they were previously in aws_auth (#572)
  • 🎉 Add support for AWS Config (#570)
  • 🎉 Add support for EBS (#567)
  • 🎉 Add support for Cognito (#573)
  • 🎉 Add support for Snowball (#579, @landonxjames)
  • Make it possible to asynchronously provide credentials with async_provide_credentials_fn (#572, #577)
  • Improve RDS, QLDB, Polly, and KMS examples (#561, #560, #558, #556, #550)
  • Update AWS SDK models (#575)
  • 🐛 Bugfix: Fill in message from error response even when it doesn't match the modeled case format (#565)

Internal Changes

  • Add support for @unsignedPayload Smithy trait (#567)
  • Strip service/api/client suffix from sdkId (#546)
  • Remove idempotency token trait (#571)

Contributions

Thank you for your contributions! ❤️

  • landonxjames (#579)

June 29th 2021: ECR, EKS & Cloudwatch

29 Jun 23:05
7d140b1
Compare
Choose a tag to compare
Pre-release

This week, we've added EKS, ECR and Cloudwatch. The JSON deserialization implementation has been replaced, please be
on the lookout for potential issues.

New this Week

  • 🎉 Add support for ECR (#557)
  • 🎉 Add support for Cloudwatch (#554)
  • 🎉 Add support for EKS (#553)
  • ⚠️ Breaking Change: httpLabel no longer causes fields to be non-optional. (#537)
  • ⚠️ Breaking Change: Exception is not renamed to Error. Code may need to be updated to replace exception with error
  • ⚠️ Breaking Change: Models are now in strict pascal case including acronyms (eg. dynamodb::model::{SSESpecification => SseSpecification})
  • Add more SES examples, and improve examples for Batch.
  • Improved error handling ergonomics: Errors now provide is_<variantname>() methods to simplify error handling
  • 🐛 Bugfix: fix bug where invalid query strings could be generated (#531, @eagletmt)

Internal Changes

  • Pin CI version to 1.52.1 (#532)
  • New JSON deserializer implementation (#530)
  • Fix numerous namespace collision bugs (#539)
  • Gracefully handle empty response bodies during JSON parsing (#553)

Contributors

Thank you for your contributions! ❤️

June 22th, 2021: CloudWatch Logs and Bug Fixes

22 Jun 20:58
206ef91
Compare
Choose a tag to compare

This week, we've added CloudWatch Logs support and fixed several bugs in the generated S3 clients.
There are a few breaking changes this week.

New this Week

  • 🎉 Add support for CloudWatch Logs (#526)
  • ⚠️ Breaking Change: The set_* functions on generated Builders now always take an Option (#506)
  • ⚠️ Breaking Change: Unions with Documents will see the inner document type change from Option<Document> to Document (#520)
  • ⚠️ Breaking Change: The as_* functions on unions now return Result rather than Option to clearly indicate what the actual value is (#527)
  • Add more S3 examples, and improve SNS, SQS, and SageMaker examples. Improve example doc comments (#490, #508, #509, #510, #511, #512, #513, #524)
  • 🐛 Bugfix: Show response body in trace logs for calls that don't return a stream (#514)
  • 🐛 Bugfix: Correctly parse S3's GetBucketLocation response (#516)
  • 🐛 Bugfix: Correctly URL-encode tilde characters before SigV4 signing (#519)
  • 🐛 Bugfix: Fix S3 PutBucketLifecycle operation by adding support for the @httpChecksumRequired Smithy trait (#523)
  • 🐛 Bugfix: Correctly parse non-list headers with commas in them (#525, @eagletmt)

Internal Changes

  • Reduce name collisions in generated code (#502)
  • Combine individual example packages into per-service example packages with multiple binaries (#481, #490)
  • Re-export HyperAdapter in smithy-client (#515, @zekisherif)
  • Add serialization/deserialization benchmark for DynamoDB to exercise restJson1 generated code (#507)

Contributions

Thank you for your contributions! ❤️

June 15th, 2021: CloudFormation, SageMaker, EC2, and SES

15 Jun 18:32
bf0389b
Compare
Choose a tag to compare

Smithy-rs now has codegen support for all AWS services! This week, we've added CloudFormation, SageMaker, EC2, and SES. More details below.

New this Week

  • 🎉 Add support for CloudFormation (#500, @alistaim)
  • 🎉 Add support for SageMaker (#473, @alistaim)
  • 🎉 Add support for EC2 (#495)
  • 🎉 Add support for SES (#499)
  • Add support for the EC2 Query protocol (#475)
  • Generate fluent builders for all smithy-rs clients (#496, @jonhoo)
  • 🐛 Bugfix: RFC-3339 timestamps (date-time format in Smithy) are now formatted correctly (#479, #489)
  • 🐛 Bugfix: Union and enum variants named Self no longer cause compile errors in generated code (#492)

Internal Changes

  • Combine individual example packages into per-service example packages with multiple binaries (#477, #480, #482, #484, #485, #486, #487, #491)
  • Work towards JSON deserialization overhaul (#474)
  • Make deserializer function naming consistent between XML and JSON deserializers (#497)

Contributors:

Thanks!!

June 8th, 2021: 9 new services added

08 Jun 14:42
07e22f6
Compare
Choose a tag to compare
Pre-release

Starting this week, smithy-rs now has codegen support for all AWS services except EC2. This week we’ve added MediaLive, MediaPackage, SNS, Batch, STS, RDS, RDSData, Route53, and IAM. More details below.

New this Week

  • 🎉 Add support for MediaLive and MediaPackage (#449, @Alastaim)
  • 🎉 Add support for SNS (#450)
  • 🎉 Add support for Batch (#452, @alistaim)
  • 🎉 Add support for STS. Note: This does not include support for an STS-based credential provider although an example is provided. (#453)
  • 🎉 Add support for RDS (#455) and RDS-Data (#470). (@LMJW)
  • 🎉 Add support for Route53 (#457, @alistaim)
  • Support AWS Endpoints & Regions. With this update, regions like iam-fips and cn-north-1 will now resolve to the correct endpoint. Please report any issues with endpoint resolution. (#468)
  • 🐛 Bugfix: Primitive numerics and booleans are now filtered from serialization when they are 0 and not marked as required. This resolves issues where maxResults needed to be set even though it is optional. (#451)
  • 🐛 Bugfix: S3 Head Object returned the wrong error when the object did not exist (#460, fixes #456)

Internal Changes

  • Remove unused key “build” from smithy-build.json and Rust settings (#447)
  • Split SDK CI jobs for faster builds & reporting (#446)
  • Fix broken doc link in JSON serializer (@LMJW)
  • Work towards JSON deserialization overhaul (#454, #462)

Contributors:

Thanks!!

June 1st, 2021: SQS & ECS support

01 Jun 18:04
da614bf
Compare
Choose a tag to compare
Pre-release

New this week:

  • 🎉 Add support for SQS. SQS is our first service to use the awsQuery protocol. Please report any issues you may encounter.
  • 🎉 Add support for ECS.
  • Breaking Change: Refactored smithy_types::Error to be more flexible. Internal fields of Error are now private and can now be accessed accessor functions. (#426)
  • ByteStream::from_path now accepts implications AsRef<Path> (@LMJW)
  • Add support for S3 extended request id (#429)
  • Add support for the awsQuery protocol. smithy-rs can now add support for all services except EC2.
  • Bugfix: Timestamps that fell precisely on minute boundaries were not properly formatted (#435)
  • Improve documentation for ByteStream & add pub use (#443)
  • Add support for EndpointPrefix used by s3::WriteGetObjectResponse (#420)

Smithy Internals

  • Rewrite JSON serializer (#411, #423, #416, #427)
  • Remove dead “rootProject” setting in smithy-build.json
  • Bugfix: Idempotency tokens were not properly generated when operations were used by resources

Contributors:

Thanks!