Releases: disneystreaming/smithy4s
Releases · disneystreaming/smithy4s
v0.12.5: load smithy files from libraryDependencies
- Users can now use SBT's
libraryDependencies
settings in combination with asmithy4s
scope configuration to reference libraries that contain smithy files. The smithy-files in question should be indexed in aMETA-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
- Exclude sbt-test files from compile configuration by @daddykotex in #133
- Update smithy-aws-traits, smithy-build, ... to 1.18.0 by @scala-steward in #131
- Update smithy-aws-traits, smithy-build, ... to 1.18.1 by @scala-steward in #137
- Add a smithy4s config to import codegen dependencies by @daddykotex in #136
- handle docs path by @yisraelU in #135
New Contributors
Full Changelog: v0.12.4...v0.12.5
v0.12.4: Fixes for enum fields and large product type arity
tl;dr
- Includes fixes for rendering enums with complex names and product types with arity > 22 fields
What's Changed
- Update weaver-scalacheck to 0.7.11 by @scala-steward in #123
- Update jsoniter-scala-core to 2.13.6 by @scala-steward in #125
- Update weaver-cats, weaver-scalacheck to 0.6.11 by @scala-steward in #126
- Rendering fixes by @Baccata in #130
Full Changelog: v0.12.3...v0.12.4
v0.12.3: Packed operation inputs, dynamic module
tl;dr
- Adds ability to have packed operation inputs
- Adds module for dynamically loading services from smithy models
What's Changed
- Update sbt-sonatype to 3.9.11 by @scala-steward in #103
- Update jsoniter-scala-core to 2.13.1 by @scala-steward in #106
- Update .mergify.yml by @lewisjkl in #104
- auto fill http4s docs version by @lewisjkl in #105
- Update jsoniter-scala-core to 2.13.2 by @scala-steward in #107
- [POC] Adds a "dynamic" module to dynamically load services from smithy models by @Baccata in #17
- Update jsoniter-scala-core to 2.13.3 by @scala-steward in #108
- Update jsoniter-scala-core to 2.13.4 by @scala-steward in #111
- Fix typo in documentation by @daddykotex in #110
- Update sbt-scalajs, scalajs-compiler, ... to 1.9.0 by @scala-steward in #109
- Update weaver-cats, weaver-scalacheck to 0.6.10 by @scala-steward in #112
- Update weaver-cats, weaver-scalacheck to 0.7.10 by @scala-steward in #113
- Update jsoniter-scala-core to 2.13.5 by @scala-steward in #116
- Update sbt-buildinfo to 0.11.0 by @scala-steward in #117
- Adds a way to get packed inputs in operations by @Baccata in #122
New Contributors
- @daddykotex made their first contribution in #110
Full Changelog: v0.12.2...v0.12.3
v0.12.2 : prevent duplicated rendering of package imports
What's Changed
- remove generation of redundant package imports by @lewisjkl in #102
- Update jsoniter-scala-core to 2.13.0 by @scala-steward in #99
- Update smithy-aws-traits, smithy-build, ... to 1.17.0 by @scala-steward in #96
Full Changelog: v0.12.1...v0.12.2
v0.12.1: Patch updates, import fix for sub-packages
What's Changed
- Update sbt, sbt-dependency-tree to 1.6.2 by @scala-steward in #91
- Update os-lib to 0.8.1 by @scala-steward in #90
- Update scala3-library, ... to 3.1.1 by @scala-steward in #92
- Update http4s-circe, http4s-client, ... to 0.22.11 by @scala-steward in #93
- Update http4s-circe, http4s-client, ... to 0.23.10 by @scala-steward in #94
- Update jsoniter-scala-core to 2.12.4 by @scala-steward in #95
- Update sbt-header to 5.6.5 by @scala-steward in #97
- fix for imports from sub-packages by @lewisjkl in #98
Full Changelog: v0.12.0...v0.12.1
v0.12.0: HintsMasks for protocols, ShapeTags rendered on all shapes
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
- Fix microsite build by @kubukoz in #65
- fix versioning for microsite snapshots by @lewisjkl in #66
- add quickstart guide to docs by @lewisjkl in #62
- Add nix shell by @kubukoz in #67
- allow site publish for snapshots by @lewisjkl in #69
- Update spelling in docs by @msinton in #73
- Update edit docs path by @lewisjkl in #76
- Update http4s-circe, http4s-client, ... to 0.22.9 by @scala-steward in #75
- Leave URI encoding to interpreters by @kubukoz in #74
- Unify schematic struct methods by @Baccata in #77
- Fix conflicting changes by @Baccata in #78
- Update jsoniter-scala-core to 2.12.2 by @scala-steward in #79
- Add yourkit to readme by @lewisjkl in #81
- add hint mask construct by @lewisjkl in #70
- Update jsoniter-scala-core to 2.12.3 by @scala-steward in #82
- smithy4s.Hints.Key => smithy4s.ShapeTag by @Baccata in #85
- Update http4s-circe, http4s-client, ... to 0.22.10 by @scala-steward in #87
- add support for discriminated union conversion to openapi by @lewisjkl in #86
- Render ShapeTags for everything by @Baccata in #89
New Contributors
Full Changelog: v0.11.3...v0.12.0
v0.11.3 : use fqn for `Product` and `Serializable` in rendering
v0.11.2 : remove whitespaces in service names
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
- Remove whitespace in sdkId for rendering by @kubukoz in #58
- create documentation microsite by @lewisjkl in #56
Full Changelog: v0.11.1...v0.11.2
v0.11.1 : Fix discriminated union being whitespace sensitive
What's Changed
- Update smithy-aws-traits, smithy-build, ... to 1.16.3 by @scala-steward in #50
- Update jsoniter-scala-core to 2.12.1 by @scala-steward in #51
- Allow decoding of discriminated unions with whitespace by @kubukoz in #49
Full Changelog: v0.11.0...v0.11.1
v0.11.0: discriminated unions, shape ids accessible from schemas
- 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
- add header validator by @lewisjkl in #29
- Update smithy-aws-traits, smithy-model, ... to 1.16.1 by @scala-steward in #32
- Update smithy-aws-traits, smithy-model, ... to 1.16.2 by @scala-steward in #37
- add discriminated union trait by @lewisjkl in #30
- remove core dependency auto-add from sbt plugin by @lewisjkl in #38
- Update sbt-scalafix to 0.9.34 by @scala-steward in #39
- add id hints onto more generated types by @lewisjkl in #36
- Update scala-library, scala-reflect to 2.13.8 by @scala-steward in #46
- add flag to CI to trigger snapshot build by @lewisjkl in #45
- add support for transforms in codegen by @lewisjkl in #44
- Derive http endpoints from hints by @Baccata in #41
Full Changelog: v0.10.0...v0.11.0