Skip to content

Releases: disneystreaming/smithy4s

v0.18.27: Fix handling of 'NaN' in MetadataDecoder

05 Dec 16:46
2522c02
Compare
Choose a tag to compare

Fixes an issue where NaN was allowed as a value for Float and Double metadata fields, but then caused an exception when handling smithy.api#range constraints.

What's Changed

Full Changelog: v0.18.26...v0.18.27

v0.18.26

02 Dec 19:17
e369dd4
Compare
Choose a tag to compare

What's Changed

  • Optimises the conversion of empty smithy4s.Blob to fs2.Stream, to avoid performance degradation in Ember (see #1609)
  • Adds utility types for working with endpoint handlers (see #1612)
  • Add a more informative error message for repeated namespaces (see #1608).
  • Adds com.disneystreaming.smithy4s:smithy4s-protocol dependency to the generation of smithy-build.json in the smithy4sUpdateLSPConfig tasks of the codegen plugins (see #1610).
  • Fix for the lenient union decoding bug (see#1620).

Internal changes

Full Changelog: v0.18.25...v0.18.26

v0.18.25 : lenient numeric decoding and timestamps truncating

09 Oct 08:47
ae5b9de
Compare
Choose a tag to compare

Highlights

  • Adds a option to relax the JSON decoders when encountering numerics represented by JSON strings instead of JSON numbers : #1606
  • Adds methods on smithy4s.Timestamp to truncate precision to milliseconds or seconds (smithy4s.Timestamp capturing nanosecond-level precision by default) : #1607

Misc fixes

  • Generate transform as a final def for cats-tagless friendliness by @kubukoz in #1588
  • Don't render parens for case objects in union member nodes by @kubukoz in #1600
  • Include field modifiers in collision avoidance by @kubukoz in #1593
  • Bump docusaurus-lunr-search from 3.4.0 to 3.5.0 in /modules/website by @dependabot in #1604
  • Closes #1539 kebab caseificiation by @dwalend in #1603
  • Fix refined newtypes by @kubukoz in #1595
  • Avoid collisions in typed node namespaces, add missing uppercase in alt nodes by @kubukoz in #1602
  • Introduce the Scala version into the codegen cache namespace by @bpholt in #1590

New Contributors

Full Changelog: v0.18.24...v0.18.25

v0.18.24 : support for `alloy#jsonUnknown`

11 Sep 09:14
b828a13
Compare
Choose a tag to compare

New features

  • Adds support for alloy#jsonUnknown, allowing to capture unknown JSON fields during deserialisation. See documentation here. See here and here
  • Generated throwables are unconditionally enriched with a getMessage method mirroring the traditional toString implementation of case classes. See here

Other

Full Changelog: v0.18.23...v0.18.24

v0.18.23

25 Jun 18:15
5cee547
Compare
Choose a tag to compare

What's Changed

Adds support for the @default trait in HTTP bodies.

Adds opt-in support for validations of newtypes, see documentation.

Internal changes

Full Changelog: v0.18.22...v0.18.23

v0.18.22

12 Jun 12:38
72a9503
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.18.21...v0.18.22

v0.18.21 : second-less date-time timestamps, `@scalaImports`

03 Jun 16:12
9a15160
Compare
Choose a tag to compare

Changes

Other changes

Full Changelog: v0.18.20...v0.18.21

v0.18.20 : blob equality

21 May 11:15
89e88c9
Compare
Choose a tag to compare

This release changes the semantics of smithy4s.Blob's equals method to avoid taking the underlying data structure into consideration. In other words, Blobs are now equal if the bytes they hold are the same.

What's Changed

  • Change Blob equals semantics + fix tests by @msosnicki in #1526
  • Change the smithy4sOutputDir SBT setting default value by @Baccata in #1534

Full Changelog: v0.18.19...v0.18.20

v0.18.19 - binary-breaking changes in core

18 May 22:04
d7afe21
Compare
Choose a tag to compare

0.18.19 - ⚠️ binary-breaking changes in core

⚠️ WARNING: This release includes binary-breaking changes in the core module. This is indirectly caused by an upstream change in smithy-lang/smithy.

In the vast majority of applications using Smithy4s, it will not cause runtime issues. However, in the unlikely event that you have custom interpreters that query the .breakingChanges field of a Trait hint, or have that field populated by a non-stdlib trait/hint, you'll have to ensure that all the libraries pulled by your application are compiled against smithy4s 0.18.19 or above.

In sbt, you can check what versions of smithy4s are used by your dependencies using the whatDependsOn task.

We apologize for the inconvenience.

Changes

  • smithy4sUpdateLSPConfig: Replace imports with sources to be more in line with idiomatic smithy-build config in #1518 (see #1459)
  • Update smithy: 1.45.0 to 1.49.0 (binary breaking) in #1485
  • Rendered type aliases are now sorted alphabetically in #1523
  • Add handlers construct to facilitate the decoupling of operation implementations in #1522
  • Improve cache in code generation (sbt) by @majk-p in #1499
  • Sort generated type aliases during rendering by @Baccata in #1523

Other changes

New Contributors

Full Changelog: v0.18.18...v0.18.19

v0.18.18 - validator flakiness fix

10 May 12:51
7cc1aa9
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.18.17...v0.18.18