Skip to content

Releases: disneystreaming/smithy4s

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

v0.18.17

09 May 19:19
5480e8e
Compare
Choose a tag to compare

What's Changed

  • Constraints applied to list or map members are now correctly rendered in the generated code (#1498) by @miguel-vila
  • Fixes an issue with duplicated entries in generated smithy-build.json file (#1491) by @daddykotex
  • Add support for passing custom OpenAPI config via a smithy-build.json file by @astridej
  • Fix a bug when using adt with mixins, see #1457 / #1510 by @daddykotex

Additional changes

New Contributors

Full Changelog: v0.18.16...v0.18.17

v0.18.16

17 Apr 17:33
4295aa0
Compare
Choose a tag to compare

What's changed

  • Adds a smithy4s-protobuf module, containing derivation logic for protobuf codecs. See #1455 and documentation
  • Fixes bug leading to refined case-class fields being rendered with default values of the wrong type: #1487
  • Add support for converting smithy4s services and schemas to smithy models (see documentation) in #1470
  • Add smithy4s.meta#only annotation allowing to filter operations in services, intended to reduce the amount of code generated from AWS specs. See documentation (by @keynmol)
  • Speed up Dynamic module loading in #1458 by @ghostbuster91

Other changes

New Contributors

Full Changelog: v0.18.15...v0.18.16