You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Optimized model loading by ~50% by fixing a path traversal bug, reducing JSON
allocations, reducing ShapeID string allocations, improving ShapeId and Model
blackboard caches, optimizing selectors based on relevance, and skipping
construction of suppressed unr
Added a new metadata trait that allows model authors to declare types for
metadata keys that will be automatically validated when building models.
(#3078)
Added an optional message property to waiter acceptors that allows
extracting a human-readable message from the operation output via a JMESPath
expression. The expression must resolve to a string or array of strings and is
only valid on failure state acceptors.
(#3151)
Added a shapeClosures metadata key that allows users to define closures of
shapes that are not necessarily rooted in a service shape. This is primarily
motivated by the desire to code-generate types without service or client
framing, but is left open enough to be used for other purposes.
(#3148)
Added a generateDataShapesOnly mode to CodegenDirector that generates only
data shapes (skipping service, resource, and operation shapes).
(#3156)
Added validation to ensure every operation binds all required rules engine
parameters, emitting a RuleSetParameter.Operation.RequiredMissing error.
(#3153)
Updated tags member names validation in input/output structures to allow "map"
suffix variants. (#3129)
Added SmithyBuildConfig#toModelAssembler and SmithyBuild#toProjectedModel
APIs to load and project a model directly from a build config.
(#3135)
The smithy format CLI command now falls back to the sources defined in smithy-build.json when no positional arguments are provided, allowing it to
be run with no arguments inside a configured Smithy project.
(#3143)
Added test cases for errors in AWS JSON protocols using different namespaces
(#3157)
Added a --check option to the smithy format command that fails when any
file would be modified.
(#3141)
Added the ability to drive directed code generation from a metadata-defined
shape closure instead of a service.
(#3156)
Improved model loading performance by replacing NodeMapper with direct Node
API calls in rules-engine traits and eliminating unnecessary trait map copies
during shape construction.
(#3185)
Added support for services to declare non-default operation names (e.g.,
AddTagsToResource) for tagging operations at the service level in the tagEnabled trait. Tag API discovery and validation honor the override before
falling back to default-named operations.
(#3130)
Bug Fixes
Fixed an exponential search space growth in
MemberShouldReferenceResourceValidator
(#3149)
Fixed several formatter bugs that mishandled docs and comments around member
value assignments and shape boundaries.
(#3132)
Adds a warning when using the private trait on a mixin member, clarifying that
it does not prevent the member from being inherited or modified by inheritors.
(#3139)
Fixes a formatter bug where some trait/node values weren't spread across
multiple lines (#3140)
Adds a validation event for when a private resource shape is referenced
outside of its namespace using the resource target elision syntax.
(#3139)
Added a new getter for generated union trait values with a covariant return
type to address the issue of the old getters erasing value types. The old
getters are still around by default, but are deprecated. They may be omitted
entirely via a plugin setting.
(#3196)
Fixed a bug where comments trailing unused imports were being improperly
removed during formatting.
(#3152)
Fixed the AddedRequiredMember diff evaluator so that it no longer flags new
members marked with the @clientOptional trait, which is the sanctioned way
to add a @required member without breaking generated client code.
(#3166)
Documentation
Updated resource docs to recommend against using the literal id as a
resource name, since it can cause confusion in child resources.
(#3198)
Other
Formatted all smithy source files and added a formatting task to ensure they
stay up to date. (#3142)
Upgraded maven-resolver to 2.x. This is a transparent change to smithy-cli
users, including those who supply their own dependency resolver
implementation. (#3194)