Releases: disneystreaming/smithy4s
v0.18.43
What's Changed
- Add support for generating dynamic hint bindings in #1816
- codegen: Allow
alloy.openapi.*namespaces by default #1822 - Properly encode special characters when converting HttpUri to Java URI #1832
Other changes
- Library updates 2025.08 by @kubukoz in #1803
- Update weaver to 0.10.0 by @majk-p in #1823
- Scala 2 Kind Projector underscore-placeholders flag support by @pomadchin in #1831
- add in scripted test for refinement usage by @yisraelU in #1836
New Contributors
- @pomadchin made their first contribution in #1831
Full Changelog: v0.18.42...v0.18.43
v0.18.42
v0.18.41
What's Changed
- http4s: Revert the default behavior of URL path encoding (broken in 0.18.40) in #1793
- codegen: Avoid collision with
Schema.*methods in certain cases of ADT unions in #1789
Other changes
Full Changelog: v0.18.40...v0.18.41
v0.18.40 - avoid using
⚠️ WARNING ⚠️ - behavior change
This release includes a change to the default behavior of HTTP clients - we improved our compliance with Smithy's standard on path-encoding, but we accidentally changed the default behavior instead of making it opt-in, in #1668.
See #1792 for more detail.
What's Changed
- codegen: Add support for bincompat-friendly code generation mode in #1737 + #1780.
- core: fix #1663 by reworking how path segments are encoded to conform with the Smithy spec in #1668
- aws-http4s: fix AWS request signing for URIs with encoded path segments in #1668
- json: support open lenient unions, fix #1713 in #1782
Other changes
Full Changelog: v0.18.39...v0.18.40
v0.18.39
What's Changed
- http4s: Partially fix #1619 by checking request query parameters against the static query parameters in #1743
- http4s: fix #1567, fix #1753 by sorting the endpoints according to Smithy's URI pattern specificity rules in #1766
- http4s: always set JSON maxArity to Int.MaxValue on the client side, as this mechanism was intended to protect server-side and is very detrimental to clients - in #1770, #1773
- codegen: Add HTTP method and pattern to Scaladoc (fixes #728) in #1764
- all: Move publishing to Sonatype Central in #1769, #1775
- all: Switch back to the com.disneystreaming org for Alloy/smithy-translate in #1771
- docs: Add warning about mill plugin for 0.12 in #1757
Other changes
- add upgrade warning regarding Alloy org change by @yisraelU in #1768
- Update website dependencies by @kubukoz in #1758
- treewide: format Smithy files by @kubukoz in #1761
New Contributors
- @Odomontois made their first contribution in #1743
- @tpetillot made their first contribution in #1766
Full Changelog: v0.18.38...v0.18.39
v0.18.38 - avoid using
WARNING ⚠️
This release includes a version of Alloy which is published under io.github.disneystreaming. As a result, new and old versions of Alloy don't get deconflicted by dependency resolution, and can cause conflicts/errors in Smithy's model loading. We've reverted this change already, and it's going to be rolled out in smithy4s 0.18.39.
What's Changed
- Update CLI instructions by @kubukoz in #1746
- [http4s] add onError method by @yisraelU in #1755
- Fix Hints methods to distinguish member and target hints by @Jay-Lokhande in #1756
- Add fromStringOrUnknown and fromIntOrUnknown to Open Enums by @Jay-Lokhande in #1759
- bump alloy and smithy translate by @yisraelU in #1765
New Contributors
- @Jay-Lokhande made their first contribution in #1756
Full Changelog: v0.18.37...v0.18.38
v0.18.37
What's Changed
- json: Allow decoding nulls for optional fields in defaults (fixes #1581) in #1744
- codegen: Fix generating empty defaults on blob shapes in #1744
- http: Add mapping between HttpUri and java.net.URI in #1719
- codegen: Add an STDERR log message when a codegen-time model transformation is requested but not found in #1726
- codegen: Don't generate code for mixins that aren't structs in #1445
- mill-plugin: Add support for 0.12 in #1728
- http: fix uri encoding issue for conversion to java.net.URI in #1733
Other changes
- Cleanup some warnings by @kubukoz in #1727
- Use TopDownIndex to gather service operations from resources by @kubukoz in #1722
- Add missing changelog entries by @kubukoz in #1732
- Render string literals using renderStringLiteral by @kubukoz in #1738
- Update weaver-cats, weaver-scalacheck to 0.9.0 by @kubukoz in #1741
- Update alloy-openapi, alloy-protobuf, ... to 0.3.20 by @kubukoz in #1742
- Update sbt-scalafix to 0.14.3 by @kubukoz in #1740
- Update sbt-bloop to 2.0.10 by @kubukoz in #1739
Full Changelog: v0.18.36...v0.18.37
v0.18.36
This release fixes a long-standing bug in class loading performed as part of the codegen process (#336).
What's Changed
- codegen: Pass the correct ClassLoader to prevent validators/transformers from breaking on externally-defined trait classes in #1709
Internal changes
- Increase CodeHeap for non-profiled methods in .sbtopts.example by @ghostbuster91 in #1710
- Fix a test that passes for the wrong reason by @kubukoz in #1715
- Remove unused fs2 module by @kubukoz in #1714
Full Changelog: v0.18.35...v0.18.36
v0.18.35
What's Changed
- json, documents: Add support for
@jsonUnknownin unions (Open Unions) in #1677
This change enables the use of open unions - check out the documentation to learn more!
- codegen: Prevent
StackOverflowErrorin dealing with recursive collection traits in #1708
Additionally, this change has been reported to increase codegen performance - on some codebases, reaching up to 55% of a reduction in generation times.
Full Changelog: v0.18.34...v0.18.35
v0.18.34
What's Changed
- codegen-cli: Ensure the command returns a failing exit code if command line arguments aren't valid in #1694.
- codegen: Mixins - fix several bugs and a performance regression in #1701.
Other changes
- Publish Documentation in JAR by @lewisjkl in #1695, #1697
- Update Coursier (allows using local Alloy snapshots) by @kubukoz in #1698
Full Changelog: v0.18.33...v0.18.34