Skip to content

Releases: smithy-lang/smithy-rs

v0.30.0-alpha (November 23rd, 2021)

23 Nov 19:49
a1dbbe2
Compare
Choose a tag to compare
Pre-release

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)

v0.29.0-alpha (November 18th, 2021) Pre-release

19 Nov 17:00
f2b05cf
Compare
Choose a tag to compare

Breaking Changes

Several breaking changes around aws_smithy_types::Instant were introduced by smithy-rs#849:

  • aws_smithy_types::Instant from was renamed to DateTime to avoid confusion with the standard library's monotonically nondecreasing Instant type.
  • DateParseError in aws_smithy_types has been renamed to DateTimeParseError to match the type that's being parsed.
  • The chrono-conversions feature and associated functions have been moved to the aws-smithy-types-convert crate.
    • Calls to Instant::from_chrono should be changed to:
      use aws_smithy_types::DateTime;
      use aws_smithy_types_convert::date_time::DateTimeExt;
      
      // For chrono::DateTime<Utc>
      let date_time = DateTime::from_chrono_utc(chrono_date_time);
      // For chrono::DateTime<FixedOffset>
      let date_time = DateTime::from_chrono_offset(chrono_date_time);
    • Calls to instant.to_chrono() should be changed to:
      use aws_smithy_types_convert::date_time::DateTimeExt;
      
      date_time.to_chrono_utc();
  • Instant::from_system_time and Instant::to_system_time have been changed to From trait implementations.
    • Calls to from_system_time should be changed to:
      DateTime::from(system_time);
      // or
      let date_time: DateTime = system_time.into();
    • Calls to to_system_time should be changed to:
      SystemTime::from(date_time);
      // or
      let system_time: SystemTime = date_time.into();
  • Several functions in Instant/DateTime were renamed:
    • Instant::from_f64 -> DateTime::from_secs_f64
    • Instant::from_fractional_seconds -> DateTime::from_fractional_secs
    • Instant::from_epoch_seconds -> DateTime::from_secs
    • Instant::from_epoch_millis -> DateTime::from_millis
    • Instant::epoch_fractional_seconds -> DateTime::as_secs_f64
    • Instant::has_nanos -> DateTime::has_subsec_nanos
    • Instant::epoch_seconds -> DateTime::secs
    • Instant::epoch_subsecond_nanos -> DateTime::subsec_nanos
    • Instant::to_epoch_millis -> DateTime::to_millis
  • The DateTime::fmt method is now fallible and fails when a DateTime's value is outside what can be represented by the desired date format.
  • In aws-sigv4, the SigningParams builder's date_time setter was renamed to time and changed to take a std::time::SystemTime instead of a chrono's DateTime<Utc>.

New this week

  • ⚠️ MSRV increased from 1.53.0 to 1.54.0 per our 3-behind MSRV policy.
  • Conversions from aws_smithy_types::DateTime to OffsetDateTime from the time crate are now available from the aws-smithy-types-convert crate. (smithy-rs#849)
  • Fixed links to Usage Examples (smithy-rs#862, @floric)

New Contributors

v0.28.0-alpha (November 11th, 2021)

11 Nov 18:17
0ad2d55
Compare
Choose a tag to compare
Pre-release

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.

v0.27.0-alpha.2 (November 9th, 2021)

09 Nov 18:36
50d812b
Compare
Choose a tag to compare
Pre-release

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)

v0.27.0-alpha.1 (November 3rd, 2021)

03 Nov 17:49
643f2ee
Compare
Choose a tag to compare
Pre-release

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.13
  • hyper::Error(IncompleteMessage) will now be retried (smithy-rs#815)
  • Fix generated docs on unions. (smithy-rs#826)

v0.27 (October 20th, 2021)

20 Oct 19:35
84b6098
Compare
Choose a tag to compare
Pre-release

Breaking Changes

  • ⚠️ All Smithy runtime crates have been renamed to have an aws- prefix. This may require code changes:
    • Cargo.toml changes:
      • smithy-async -> aws-smithy-async
      • smithy-client -> aws-smithy-client
      • smithy-eventstream -> aws-smithy-eventstream
      • smithy-http -> aws-smithy-http
      • smithy-http-tower -> aws-smithy-http-tower
      • smithy-json -> aws-smithy-json
      • smithy-protocol-test -> aws-smithy-protocol-test
      • smithy-query -> aws-smithy-query
      • smithy-types -> aws-smithy-types
      • smithy-xml -> aws-smithy-xml
    • Rust use statement changes:
      • smithy_async -> aws_smithy_async
      • smithy_client -> aws_smithy_client
      • smithy_eventstream -> aws_smithy_eventstream
      • smithy_http -> aws_smithy_http
      • smithy_http_tower -> aws_smithy_http_tower
      • smithy_json -> aws_smithy_json
      • smithy_protocol_test -> aws_smithy_protocol_test
      • smithy_query -> aws_smithy_query
      • smithy_types -> aws_smithy_types
      • smithy_xml -> aws_smithy_xml

New this week

  • Filled in missing docs for services in the rustdoc documentation (smithy-rs#779)

v0.26.1-alpha

18 Oct 13:38
8b5eb68
Compare
Choose a tag to compare
v0.26.1-alpha Pre-release
Pre-release

October 18th, 2021

Minor release to fix generated AWS readme descriptions

What's Changed

Full Changelog: v0.26.0-alpha...v0.26.10-alpha

v0.26.0-alpha (October 15th, 2021)

15 Oct 17:21
1cbcd04
Compare
Choose a tag to compare
Pre-release

Breaking Changes

  • ⚠️ The rust-codegen plugin now requires a moduleDescription in the smithy-build.json file. This
    property goes into the generated Cargo.toml file as the package description. (smithy-rs#766)

New this week

v0.25.1 (October 11, 2021)

11 Oct 16:10
fc4a9c5
Compare
Choose a tag to compare
Pre-release

New this week

  • 🐛 Re-add missing deserialization operations that were missing because of a typo in HttpBoundProtocolGenerator.kt

v0.25 (October 7, 2021)

08 Oct 15:43
6cc1c51
Compare
Choose a tag to compare
Pre-release

Breaking changes

  • ⚠️ MSRV increased from 1.52.1 to 1.53.0 per our 3-behind MSRV policy.
  • ⚠️ Several classes in the codegen module were renamed and/or refactored (smithy-rs#735):
    • ProtocolConfig became CodegenContext and moved to software.amazon.smithy.rust.codegen.smithy
    • HttpProtocolGenerator became ProtocolGenerator and was refactored
      to rely on composition instead of inheritance
    • HttpProtocolTestGenerator became ProtocolTestGenerator
    • Protocol moved into software.amazon.smithy.rust.codegen.smithy.protocols

New this week

  • 🐛 Fix an issue where smithy-xml may have generated invalid XML (smithy-rs#719)
  • 🐛 Fix error when receiving empty event stream messages (smithy-rs#736)
  • 🐛 Fix bug in event stream receiver that could cause the last events in the response stream to be lost (smithy-rs#736)

New Contributors