Skip to content

Releases: disneystreaming/smithy4s

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

v0.18.15 : AWS credentials file bugfix / AWS middlewares

22 Mar 10:33
b67abe6
Compare
Choose a tag to compare
  • Fixes a parsing bug of AWS credential files : #1453
  • Add a mechanism to plug endpoint-specific middlewares to AWS clients : #1452

What's Changed

Full Changelog: v0.18.14...v0.18.15

v0.18.14 : bug fixes

18 Mar 08:21
141bf99
Compare
Choose a tag to compare
  • Sets maxArity of JSON decoders to Int.MaxValue in AWS clients. See #1445
  • Support "untagged union" decoding for Documents

What's Changed

Full Changelog: v0.18.13...v0.18.14

v0.18.13 : respect enum ordering / protobuf setup

14 Mar 11:02
21a6fb0
Compare
Choose a tag to compare
  • Generated enumeration members now follow the same order as the smithy specification
  • Protobuf files are now generated in the managed resources of a project when some smithy shapes are annotated with "alloy.proto#protoEnabled"

What's Changed

Full Changelog: v0.18.12...v0.18.13

v0.18.12: Fix for schema rendering in large structs

06 Mar 21:26
3233108
Compare
Choose a tag to compare

Fixes an issue with field ordering in the schemas of large structures (over 22 fields). See #1433 for more info.

What's Changed

Full Changelog: v0.18.11...v0.18.12

v0.18.11 : original field ordering in schemas / alloy.proto

06 Mar 13:33
816ac1e
Compare
Choose a tag to compare

This release contains the following noteworthy items :

  • Structure schemas are now abiding by the original field order from the spec. This detail finds its importance in some protocols.
  • Shapes defined in the alloy.proto namespace are now code-generated and packaged with smithy4s-core.
  • A new schema combinator,transformTransitivelyK, is now present, facilitating some schema transformations.

What's Changed

Full Changelog: v0.18.10...v0.18.11

v0.18.10 : update alloy to 0.3.1

28 Feb 14:23
8cb01fd
Compare
Choose a tag to compare

Updated alloy to 0.3.1. This warrants a release because of this change, which smithy4s leverages to let @nullable hints through when compiling interpreters, which impacts serialisation.

Without this upgrade, the SimpleRestJsonBuilder doesn't know that nullable should be taken into consideration, and filters the corresponding hints out before compiling the schema into json codecs.

What's Changed

Full Changelog: v0.18.9...v0.18.10

v0.18.9 : support for alloy#nullable

27 Feb 14:13
9f2dbcb
Compare
Choose a tag to compare

Features

Support for alloy#nullable

This release adds support for alloy#nullable. This trait can be used to signal the fact that the absence of value in a serialised payload and the presence of an explicit null value in a similar payload have different meanings. In particular, this is useful in the case of json-merge-patch, where null denotes that a value ought to be removed, and the absence of value denotes that a value ought to stay the same.

See https://github.com/disneystreaming/smithy4s/pulls?q=is%3Apr+is%3Aclosed

Allow for customising whether XML attributes should be escaped during serialisation

AWS protocols escape xml attributes to be escaped. However, the fact that XML attributes are quoted implies that the escaping is not always necessary. In some usecases (notably ivy.xml), the escaping results in invalid payloads. Therefore, an option is added to customise the behaviour, and the default is now set to non-escaped XML attributes.

See #1410

Other

New Contributors

Full Changelog: v0.18.8...v0.18.9

v0.18.8

06 Feb 20:34
cddd682
Compare
Choose a tag to compare

What's Changed

Allows constructing refinement schemas manually in more flexible ways than before.

  • [codegen] add scala 3 keywords to collision avoidance by @jpassaro in #1392

Fixes the collision avoidance algorithm to cover Scala 3 keywords.

Other changes

New Contributors

Full Changelog: v0.18.7...v0.18.8