Releases: disneystreaming/smithy4s
v0.18.27: Fix handling of 'NaN' in MetadataDecoder
Fixes an issue where NaN
was allowed as a value for Float
and Double
metadata fields, but then caused an exception when handling smithy.api#range
constraints.
What's Changed
Full Changelog: v0.18.26...v0.18.27
v0.18.26
What's Changed
- Optimises the conversion of empty smithy4s.Blob to fs2.Stream, to avoid performance degradation in Ember (see #1609)
- Adds utility types for working with endpoint handlers (see #1612)
- Add a more informative error message for repeated namespaces (see #1608).
- Adds
com.disneystreaming.smithy4s:smithy4s-protocol
dependency to the generation ofsmithy-build.json
in thesmithy4sUpdateLSPConfig
tasks of the codegen plugins (see #1610). - Fix for the lenient union decoding bug (see#1620).
Internal changes
- Update sbt to 1.10 by @kubukoz in #1580
- Fix hello world, use inlined files instead of strings by @keynmol in #1614
Full Changelog: v0.18.25...v0.18.26
v0.18.25 : lenient numeric decoding and timestamps truncating
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`
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 traditionaltoString
implementation of case classes. See here
Other
- Update 15-validated-newtypes.md by @kubukoz in #1563
- fix: Add missing nano part when encoding timestamp to document by @ghostbuster91 in #1576
Full Changelog: v0.18.23...v0.18.24
v0.18.23
What's Changed
- Support default values for httpPayload by @ghostbuster91 in #1511
Adds support for the @default
trait in HTTP bodies.
- Validated newtypes by @denisrosca in #1454
Adds opt-in support for validations of newtypes, see documentation.
Internal changes
- Use protoc from nix when available by @ghostbuster91 in #1558
Full Changelog: v0.18.22...v0.18.23
v0.18.22
What's Changed
- Timestamp defaults by @msosnicki in #1557
- Log the args diff when re-running the smithy4s codegen by @majk-p in #1559
Full Changelog: v0.18.21...v0.18.22
v0.18.21 : second-less date-time timestamps, `@scalaImports`
Changes
- Support parsing timestamps without seconds by @dhpiggott in #1553
- Adds a trait to force scala imports in generated code by @lenguyenthanh in #1550
Other changes
- Update sbt-bloop to 1.5.18 by @scala-steward in #1540
- Update sbt-scalafix to 0.12.1 by @scala-steward in #1541
- Update jsoniter-scala-macros to 2.28.5 by @scala-steward in #1543
- Update smithytranslate-proto to 0.5.3 by @scala-steward in #1542
- Update protobuf-java, protobuf-java-util to 3.24.4 by @scala-steward in #1546
- Update sbt-protoc to 1.0.7 by @scala-steward in #1548
- Allow customize sbt opts by @lenguyenthanh in #1551
- Add backticks on AWS page by @kubukoz in #1556
- Implement
scalaImports
trait by @lenguyenthanh in #1550 - Update os-lib to 0.10.1 by @scala-steward in #1547
- Bump clsx from 2.0.0 to 2.1.1 in /modules/website by @dependabot in #1554
- Bump docusaurus-lunr-search from 3.3.2 to 3.4.0 in /modules/website by @dependabot in #1555
Full Changelog: v0.18.20...v0.18.21
v0.18.20 : blob equality
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
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