Releases: disneystreaming/smithy4s
v0.18.19 - binary-breaking changes in core
0.18.19 - ⚠️ binary-breaking changes in core
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
: Replaceimports
withsources
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
- Add a small note in refinement docs for scala 3 users by @lenguyenthanh in #1524
- Update webjars-locator to 0.52 by @scala-steward in #1450
- Bump docusaurus-lunr-search from 3.2.0 to 3.3.2 in /modules/website by @dependabot in #1385
- Bump peaceiris/actions-gh-pages from 3 to 4 by @dependabot in #1507
- Organize imports 0.6.0 by @Baccata in #1528
- Make examples in design section compile by @lenguyenthanh in #1531
New Contributors
Full Changelog: v0.18.18...v0.18.19
v0.18.18 - validator flakiness fix
What's Changed
- Fix shape equality in ADT validator by @kubukoz in #1514
- Fix duplicated words by @lenguyenthanh in #1515
Full Changelog: v0.18.17...v0.18.18
v0.18.17
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
- Update 01-serialisation.md by @kubukoz in #1493
- Fix a broken link to Weaver test example by @meldmy in #1509
New Contributors
Full Changelog: v0.18.16...v0.18.17
v0.18.16
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
- Update sbt-bloop to 1.5.16 by @scala-steward in #1460
- Update fs2-core, fs2-io to 3.10.2 by @scala-steward in #1461
- Update alloy-core, alloy-openapi, ... to 0.3.5 by @scala-steward in #1462
- Update sbt-buildinfo to 0.12.0 by @scala-steward in #1463
- Update alloy-core, alloy-openapi, ... to 0.3.6 by @scala-steward in #1475
- Update sbt-bloop to 1.5.17 by @scala-steward in #1474
- Fix typo assocaited => associated by @lenguyenthanh in #1473
- Switch out uPickle for Circe in codegen by @astridej in #1486
New Contributors
- @lenguyenthanh made their first contribution in #1473
Full Changelog: v0.18.15...v0.18.16
v0.18.15 : AWS credentials file bugfix / AWS middlewares
- Fixes a parsing bug of AWS credential files : #1453
- Add a mechanism to plug endpoint-specific middlewares to AWS clients : #1452
What's Changed
- Update scala3-library, ... to 3.3.3 by @scala-steward in #1448
- Update cats-effect to 3.5.4 by @scala-steward in #1449
- Add a mechanism to plug endpoint-specific middlewares to AWS clients by @Baccata in #1452
- Update fs2-core, fs2-io to 3.10.0 by @scala-steward in #1447
Full Changelog: v0.18.14...v0.18.15
v0.18.14 : bug fixes
- Sets maxArity of JSON decoders to Int.MaxValue in AWS clients. See #1445
- Support "untagged union" decoding for Documents
What's Changed
- Update alloy-core, alloy-openapi, ... to 0.3.4 by @scala-steward in #1440
- Update smithytranslate-proto to 0.5.2 by @scala-steward in #1441
- Update http4s-circe, http4s-client, ... to 0.23.26 by @scala-steward in #1443
- Update jsoniter-scala-macros to 2.28.4 by @scala-steward in #1442
- aws json client max arity to Int.MaxValue by @lewisjkl in #1445
- support for untagged in DocumentDecoderSchemaVisitor by @lewisjkl in #1446
Full Changelog: v0.18.13...v0.18.14
v0.18.13 : respect enum ordering / protobuf setup
- 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
- Respect enum values ordering by @Baccata in #1437
- Bump alloy to 0.3.3 by @Baccata in #1439
- Wire protobuf generation in codegen plugin by @Baccata in #1435
- Update upickle to 3.2.0 by @scala-steward in #1415
Full Changelog: v0.18.12...v0.18.13
v0.18.12: Fix for schema rendering in large structs
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
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
- Update alloy-core, alloy-openapi, ... to 0.3.2 by @scala-steward in #1429
- Update jsoniter-scala-macros to 2.28.3 by @scala-steward in #1431
- Add transformTransitivelyK by @kubukoz in #1426
- Update sbt-projectmatrix to 0.10.0 by @scala-steward in #1430
- Update sbt-scalafix to 0.12.0 by @scala-steward in #1428
- Retain original field ordering in schemas by @Baccata in #1427
- Enable code generation of alloy.proto in core by @Baccata in #1432
Full Changelog: v0.18.10...v0.18.11
v0.18.10 : update alloy to 0.3.1
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
- Update scala-library, scala-reflect to 2.12.19 by @scala-steward in #1420
- Update alloy to 0.3.1 by @Baccata in #1423
Full Changelog: v0.18.9...v0.18.10