Skip to content

Releases: disneystreaming/smithy4s

v0.12.5: load smithy files from libraryDependencies

14 Mar 10:31
0407bcb
Compare
Choose a tag to compare
  • Users can now use SBT's libraryDependencies settings in combination with a smithy4s scope configuration to reference libraries that contain smithy files. The smithy-files in question should be indexed in a META-INF/smithy/manifest metadata file in the same jar. The smithy files (whether loaded from jars or from the file system) are loaded into a single smithy model instance, and validated as a whole before being rendered.
  • swagger-ui related http routes have been polished

What's Changed

New Contributors

Full Changelog: v0.12.4...v0.12.5

v0.12.4: Fixes for enum fields and large product type arity

07 Mar 18:03
e11e2f6
Compare
Choose a tag to compare

tl;dr

  • Includes fixes for rendering enums with complex names and product types with arity > 22 fields

What's Changed

Full Changelog: v0.12.3...v0.12.4

v0.12.3: Packed operation inputs, dynamic module

22 Feb 22:58
bb9a66b
Compare
Choose a tag to compare

tl;dr

  • Adds ability to have packed operation inputs
  • Adds module for dynamically loading services from smithy models

What's Changed

New Contributors

Full Changelog: v0.12.2...v0.12.3

v0.12.2 : prevent duplicated rendering of package imports

09 Feb 08:11
5499399
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.12.1...v0.12.2

v0.12.1: Patch updates, import fix for sub-packages

07 Feb 23:08
b175146
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.12.0...v0.12.1

v0.12.0: HintsMasks for protocols, ShapeTags rendered on all shapes

31 Jan 18:31
31b0262
Compare
Choose a tag to compare

tl;dr

  • HintMasks are now generated for smithy protocol definitions. This shows which hints are applicable to a given protocol. (#70)
  • ShapeTags are now rendered for all shape types
  • Uri encoding is now deferred to interpreters (fixes issue with double URI encoding #74)
  • Doc/microsite updates

What's Changed

New Contributors

Full Changelog: v0.11.3...v0.12.0

v0.11.3 : use fqn for `Product` and `Serializable` in rendering

21 Jan 15:58
Compare
Choose a tag to compare

What's Changed

  • Minor fix on 03-cli.md by @arinal in #61
  • Use FQNs in rendered Product and Serializable inheritance by @Baccata in #63
  • Fix workflow_dispatch trigger for publishing by @kubukoz in #64

New Contributors

Full Changelog: v0.11.2...v0.11.3

v0.11.2 : remove whitespaces in service names

20 Jan 13:58
5a9f9ba
Compare
Choose a tag to compare

Fixes service names sourced from AWS specs being rendered with whitespaces in them.

Also, this marks the appearance of a microsite for the project

What's Changed

Full Changelog: v0.11.1...v0.11.2

v0.11.1 : Fix discriminated union being whitespace sensitive

16 Jan 10:36
e3d718e
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.11.0...v0.11.1

v0.11.0: discriminated unions, shape ids accessible from schemas

14 Jan 12:01
56843ea
Compare
Choose a tag to compare
  • the SBT plugin does not automatically add a dependency to smithy4s-core anymore. This was creating problems with regards to scala-js. The dependency has to be manually added now, if you want to compile the generated code without any further integration.
  • Adds a @discriminated trait, to communicate that unions should be encoded using discriminator fields. This facilitates porting some API specs from openapi
  • ShapeIds are now rendered and made part of the Schema's hints for all shapes. This can be used for the implementation of protocols, or to communicate better errors during decoding failures.
  • Adds support for transformations in code generation. Smithy4s will load [ProjectionTransformers] from the classpath during the code generation process, and will apply all transformations, the names of which are listed in the smithy4sModelTransformers SBT setting. This can be useful to pre-process models automatically before code-generating.
  • Http-specific rendering logic has now been removed, in favour of a Schematic implementation that derives the same information from traits. This effectively makes smithy4s's rendered code 100% protocol agnostic, and opens the door for interesting features.

What's Changed

Full Changelog: v0.10.0...v0.11.0