1.64.0 (2025-11-04)
Features
-
Updated
LoaderShapeMapto useDependencyGraphto sort shapes instead of
TopologicalShapeSort. This results in some error messages changing:- There is no longer a special message for missing transitive mixins.
- The message for genrically missing mixins is now applied by ApplyMixin,
which has a slightly different wording and which will trigger for each
mising mixin. - The error message for detected cycles will now include the entire cycle that
a shape is part of, rather than just the edges that it is directly connected
to. (#2774)
-
Added a space for plugins to write data that is intended to be consumable by
other plugins. This appears under a directory calledsharedin the the
projection's output directory.
(#2764) -
Expanded
titletrait to apply to members.
(#2791) -
Added a generic dependency graph to smithy-utils to be used for sorting
various dependent objects, such as integrations and plugins.
(#2774) -
Added support for (de)serializing byte arrays to/from base64-encoded string
nodes toNodeMapper.
(#2803) -
Added builder method support for
ServiceResolvedConditionKeysTrait.
(#2779) -
Added support for mapping the
titletrait in JSON Schema'soneOfenum
strategy. (#2791) -
Added a new
eventStreamProtocolTeststrait to enable writing shared test
suites for event streams just as has been done for standard HTTP protocol
requests and responses.
(#2803) -
Deprecated
TopologicalShapeSortin favor ofDependencyGraph.
(#2774) -
Added a builder to
Differencesin smithy-diff that allows constructing an
instance that only contains a set of hand-curated changes. This enables making
comparisons that weren't or wouldn't be auto-detected, such as comparing two
shapes of the same type to see if they are compatible with each other.
(#2796) -
Updated
TopDownIndexto return results in modeled order.
(#2746) -
Updated
ReplaceShapesto useDependencyGraphto sort shapes.
(#2774) -
Updated
Walkerto walk relationships in their defined order, rather than the
reverse of their defined order.
(#2746) -
Loosened the
ChangedMemberTargetdiff evaluator to not reportERRORlevel
events so often. Now it will always report anERRORif the change is
expected to result in codegen type errors, but otherwise it will default to
WARNINGunless differing traits between the targets would result in a higher
severity event had those trait changes been applied to the original target.
(#2796) -
Updated
DiffEvaluatorinterface to include an optional method that
additionally accepts aClassLoader. This ensures that the loader the
evaluation is configured with can be used in any evaluators that may need it.
(#2796) -
Added protocol tests for event streaming in restJson1.
(#2803) -
Added missing suffixes to allow identification of all cases for when the
nullability of a member changedRemovedClientOptionalTraitfor when the@clientOptionaltrait is
removed.RemovedNullDefaultfor when a@default(null)is changed to a default
with non-null value.AddedNullDefaultfor when a@default(<non-null-value>)is changed to a
default with null value.
(#2805)
-
Added the ability for smithy build plugins to declare that they must be run
before or after other plugins. These dependencies are soft, so missing
dependencies will be logged and ignored.
(#2774)
Bug Fixes
- Fix message in RemovedServiceError diff event
(#2823)
Other
- Added
restJson1protocol tests forhttpQueryParamswhen no params exist.
(#2792)