Releases: smithy-lang/smithy
Releases · smithy-lang/smithy
Smithy CLI v1.53.0
1.53.0 (2024-11-18)
Features
- Added a transform to mark required idempotency tokens client optional (#2466)
- Updated the IDL serializer to write metadata to a separate file (#2464)
- Expanded the
title
trait to be applicable to any non-member shape (#2461) - Added a pagination flattening transform (#2454)
- Added transforms to remove deprecated shapes (#2452)
- Relaxed the pattern on the
@defineConditionKeys
trait's keys to enable inferring theservice
to be the service'sarnNamespace
(#2450) - Added the
useInlineMaps
JSONSchema setting to allow users to configure JSON Schema conversion to inline converted map shapes instead of creating references (#2449) - Updated the CFN resource schema generation to fill in the permissions field of the tagging configuration for resources (#2446)
- Added
resourceDelimiter
andreusable
properties to thearn
trait (#2440) - Added a validator for the xmlFlattened trait that checks if the member's target is a list that has a member with xmlName, and that xmlName doesn't match the name of the xmlFlattened member (#2439)
Bug Fixes
- Updated CloudFormation resource schema conversion to be round-trippable (#2445)
- Fixed for tagsProperty in CFN schema creation (#2444)
- Deferred the
scrubTraitDefinitions
call inside JSON Schema deconflicting to happen only when the model is in a state that would have an avoidable conflict (#2435) - Updated the
ChangedMemberTarget
diff evaluator to properly check changes to map keys and values the same way it checks changes to list members (#2434)
Documentation
Other
- Updated blob defaults for protocol tests (#2467)
- Downgraded a noisy log statement (#2451)
- Fixed the CBOR type for blobs in RPCv2 CBOR protocol tests (#2447)
- Updated protocol tests to use lower-cased headers (#2437)
- Updated server protocol tests to assert serialization of empty headers (#2433)
- Lowered the severity of
UnboundTestOperation
toWARNING
(#2432)
Smithy CLI v1.52.1
Bump version to 1.52.1
Smithy CLI v1.52.0
1.52.0 (2024-10-16)
Features
- Added validator for identifiers missing references (#2418)
- Added checksum algorithm to model enum (#2419)
- Updated the
httpChecksum
trait spec (#2413) - Added
breakingChanges
to thehttpChecksum
trait (#2398) - Use the most common suffix for IDL inline IO (#2397)
Bug Fixes
- Fixed the name of XML root nodes in the protocol tests (#2423)
- Fixed trait codegen to properly support lists of enums (#2420)
- Update RPC v2 CBOR spec to require an Accept header for requests (#2417)
- Changed prefix header tests to allow for empty headers (#2415)
- Fixed OpenAPI plugin to properly support effective documentation precedence (#2402)
- Fixed a bug in the
SigV4
diff logic that assumed that the a service exists in the old operation (#2405) - Added
NodeValidationVisitor
checks for invalid nulls (#2393)
Documentation
- Updated the
httpChecksum
trait spec to clarify the expected behavior and added the supported algorithms (#2413) - Fixed the
httpChecksum
algorithm list in spec (#2394) - Fixed a broken link to smithy-rs design document in Code Gen documentation. (#2416)
- Fixed resource type typo in AST docs (#2410)
- Fixed small typos in full stack tutorial (#2389)
Smithy CLI v1.51.0
Features
- Added the :recursive selector function to enable recursively traversing relationships. (#2353)
- Added validation of intEnum shapes to the NodeValidationVisitor. (#2357)
- Added various protocol tests. (#2333, #2342)
- Added elliptic curve cryptography module to the Smithy CLI for communicating with certain package managers. (#2379)
- Added a warning when the @idempotencyToken trait is applied where it would be ignored. (#2358)
- Added validation for the @httpChecksum trait's responseAlgorithms property. (#2371)
- Updated list of supported @httpCheckum algorithms. (#2386)
- Improved the performance of the BottomUpIndex. (#2367)
Bug Fixes
- Fixed formatting of resource shape identifiers and properties fields. (#2377)
- Fixed issue with parsing different types of documentation comments. (#2390)
- Fixed issue that would cause shape conflicts when loading the same model twice that uses apply on a member from a mixin. (#2378)
- Fixed issue with generating CFN resource schema handler permissions for @noreplace resources. (#2383)
- Fixed several classes of bugs in the AwsTagIndex. (#2384)
- Fixed various issues with protocol tests. (#2336, #2340 #2341)
Documentation
- Added full-stack application tutorial. (#2362)
- Added documentation to several places in the smithy-aws-endpoints trait definitions. (#2374)
- Added note on smithy-build.json supporting // based comments. (#2375)
- Clarified documentation for resolving auth schemes from endpoint rule sets. (#2382)
- Fixed various documentation issues. (#2346, #2363)
Smithy CLI v1.50.0
1.50.0 (2024-06-18)
Features
- Added a
required
property to IAM trait condition key definitions. (#2288) - Added
syncCorsPreflightIntegration
configuration option to APIGateway conversion, which updates CORS preflight templates with all possible content types. (#2290) - Added validator for duplicate names in the
iamResource
trait. (#2293) - Added
operationContextParams
support toRulesetParameterValidator
. (#2295) - Enabled the application of example traits to service-level errors. (#2307)
- Added IDL serializer option to coerce inline IO. (#2316)
- Added a function to writer delegators to check out writers with a symbol. (#2328)
- Added defaults tests for restJson1. (#2280)
- Added float16 upcast tests for RPCv2 CBOR. (#2291)
- Added protocol tests for content-type parameters. (#2296)
- Added protocol tests asserting servers reject empty unions. (#2300)
- Added protocol tests for malformed media types. (#2309)
- Added protocol tests for missing content types. (#2310)
- Added several content-type and HTTP payload protocol tests. (#2314, #2315, #2322, #2331)
Bug Fixes
- Fixed formatter to correctly convert invalid doc comments. (#2277)
- Added missing node mapper for document types. (#2313)
- Fixed issues with S3 dot segment tests. (#2304)
- Fixed several issues in RPCv2 CBOR protocol tests. (#2319, #2320)
- Updated protocol tests to use floating point values representable exactly in IEEE representation. (#2321)
- Fixed EC2 request ID casing. (#2329)
Documentation
- Fixed typos in RPCv2 CBOR spec. (#2278)
- Fixed typo in AddDefaultConfigSettings. (#2285)
- Fixed errors in IAM trait docs. (#2287)
- Clarified RPCv2 response event stream behavior. (#2297)
- Replaced references to outdated RFCs with references to their replacements. (#2298)
- Clarified
httpResponseCode
value range. (#2308)
Smithy CLI v1.49.0
1.49.0 (2024-05-08)
Features
- Added list and map shapes to directed codegen. (#2273)
- Added support for defaults on trait member values in trait-codegen. (#2267)
- Added support for string-arrays for as parameters in rules-engine. (#2266)
- Added new trait (
@operationContextParams
) for binding array parameters to nested operation inputs in the rules-engine. (#2264)
Bug Fixes
- Fixed bug in the formatter where comments in operation errors were not being handled correctly. (#2283)
- Fixed bug in the formatter where certain documentation comments were being converted to line-comments. (#2277)
- Fixed incorrect status code in restXml response protocol test. (#2272)
- Fixed ec2query protocol test for empty list serialization. (#2269)
- Fixed Javadoc integration for documentation in members and enum variants in trait-codegen. (#2265)
- Fixed timing issue in the delay calculation for waiter retries. (#2259)
Documentation
Smithy CLI v1.48.0
1.48.0 (2024-04-24)
Features
- Updated HTTP binding validation to allow for specificity routing.
(#2220) - Added support for the
deprecated
trait in OpenAPI conversion.
(#2221,
#2222) - Added protocol tests for nested XML maps with XML names.
(#2236) - Added diff validation for services that migrate from sigv4 to sigv4a.
(#2245) - Emit a
NOTE
validation event on ignored duplicate shapes.
(#2247) - Added strongly typed properties for
TypedPropertiesBag
.
(#2248) - Updated trait code generation to use strongly typed property bags.
(#2254) - Added a Smithy Diff test runner.
(#2250) - Added captializing formatter for use in trait code generation and normalized
symbol references to reduce false positive duplicates.
(#2255)
Bug Fixes
- Removed incorrect
Content-Type
from no-body XML payload protocol test.
(#2218) - Fixed header expectations in RPCv2 protocol tests.
(#2246) - Fixed
ModifiedTrait
validation for traits with breaking change rules.
(#2249)
Documentation
- Fixed Gradle plugin version in documentation.
(#2226) - Updated the Gradle migration guide caption.
(#2227) - Updated installation instructions for the Smithy CLI.
(#2229) - Added missing commas in JSON AST docs.
(#2230) - Fixed incorrect reference to the
traitValidators
trait in the protocol
definition trait. (#2241)
Smithy CLI v1.47.0
1.47.0 (2024-03-28)
Features
- Added the
smithy-trait-codegen
package. This package provides a newtrait-codegen
plugin that
can be used to generate Java implementations of Smithy traits, removing the need to hand-write
most trait implementations. (#2074) - Added the
@smithy.protocols#rpcv2Cbor
protocol trait. Smithy RPC v2 CBOR is an RPC-based protocol over HTTP that
sends requests and responses with CBOR payloads. This trait is
available in the newsmithy-protocol-traits
package, with protocol tests available in the new
smithy-protocol-tests
package. (#2212) - Updated several protocol tests around the
@sparse
trait to ease implementation. (#2206) - Remove content-type from no XML body protocol test. (#2218)
Bug Fixes
- Fixed a bug where all shapes would fail to load in a file if a mixin was missing. (#2214)
Documentation
- Clarified HTTP protocol compliance test
params
field docs. (#2202)
Smithy CLI v1.46.0
1.46.0 (2024-03-19)
Features
- Added protocol tests for
null
values in unions. (#2180) - Updated
ec2QueryName
tests to reflect usage. (#2186) - Updated model validation and protocol tests to use the new Gradle plugins. (#2176)
- Added data-shape-only visitor class. (#2168)
- Added protocol tests for S3 when dots are part of a key segment. (#2166)
- Added the
@traitValidators
trait that can constrain shape closures. (#2156) - Added logic to infer default inline I/O suffixes in the IDL serializer. (#2122)
- Added annotation processor base class for executing Smithy-Build plugins. (#2073)
Bug Fixes
- Fixed a bug when creating
@standardRegionalEndpoints
nodes. (#2179) - Fixed Windows CI errors by removing no-cone on git add command. (#2168)
- Fixed the
RestJsonZeroAndFalseQueryValues
protocol test. (#2167) - Properly fix multi-mixin members in shape build. (#2157)
- Fixed text block incidental whitespace handling. (#2147
- Fixed issues with
AbstractCodeWriter
state stacks. (#2142)
Documentation
- Remove incorrect
jsonName
protocol info. (#2187) - Fixed minor formattting. (#2175)
- Added CLI and Groovy examples to guides. (#2165)
- Updated quickstart example to use terse input/output syntax. (#2163)
- Updated OpenApi guide to use new gradle plugin and cli. (#2161)
- Updated Gradle quickstart example to include empty
smithy-build.json
. (#2149) - Multiple updates of the Gradle plugin after the 0.8.0 release. (#2140, #2146, #2139, #2148)
Smithy CLI v1.45.0
1.45.0 (2024-02-14)
Features
- Added new option to CLI to configure the format (
text
orcsv
) of validation output. (#2133) - Added options to CLI to hide or show validation events for specified validators. (#2127)
- Added protocol tests for verifying serialization/deserialization behavior for maps with document values. (#2125)
- Changed
UnreferencedShape
to be an opt-in linter instead of on-by-default to reduce friction when defining common shapes that are not connected to a service shape. Added a validator that allows you to configure what shape to check connectedness (defaults to service shape). (#2119)
Bug Fixes
- Fixed headers when printing validation event output in csv format. (#2136)
- Fixed
RestJsonZeroAndFalseQueryValues
protocol test to correctly include a params value for servers. (#2132) - Fixed regression in model validation that incorrectly allowed suppression of ERROR events. (#2130)
Documentation
- Fixed typo in 'pattern' validation example. (#2126)