Releases: disneystreaming/smithy4s
Releases · disneystreaming/smithy4s
v0.18.30 - bugfixes and flexible field filtering
What's Changed
- Add utilities for Service.Builder in #1644
- Use correct cross path for protobuf-runtime-scala in #1648
- Force rendering package object when a validated newtype is present in #1656
- Improve performance of ADT trait validators on larger Smithy models in #1573
- Move memoization of default values from Field to Schema in #1651
- Add support for more flexible encoding of defaults in #1652. This brings
FieldFilter
abstraction that replacesexplicitDefaultsEncoding
.
Other changes
- Update namespace in quickstart example so things compile. by @philkdisney in #1639
- typo in 01-design.md by @combinatorist in #1643
- update comment for DynamicSchemaIndex by @combinatorist in #1645
- Write documentation on using the smithy4s json module directly by @a-morales in #1653
- Unhardcode smithy4sGenerated key in main code by @kubukoz in #1650
New Contributors
- @philkdisney made their first contribution in #1639
- @a-morales made their first contribution in #1653
Full Changelog: v0.18.29...v0.18.30
v0.18.29: Fixes for certain field decoding edge cases
Fixes issues with certain use cases around required nullable fields with, see #1637 for full information.
What's Changed
- typo in default handling docs by @combinatorist in #1636
- Fix nullable decoding by @lewisjkl in #1637
New Contributors
- @combinatorist made their first contribution in #1636
Full Changelog: v0.18.28...v0.18.29
v0.18.28
What's Changed
- Document timestamp encoder precision fix by @msosnicki in #1623
- Add a special case for how S3 requests should be signed by @Baccata in #1605
- Update the copyrights to 2025 by @Baccata in #1635
Other changes
- Update sbt-bloop to 2.x by @kubukoz in #1625
- Fix missing sbt command in CI build by @plokhotnyuk in #1629
Full Changelog: v0.18.27...v0.18.28
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