Skip to content

Releases: smithy-lang/smithy

Smithy CLI v1.53.0

20 Nov 17:16
52c4298
Compare
Choose a tag to compare

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 the service to be the service's arnNamespace (#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 and reusable properties to the arn 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

  • Fixed a typo in event stream content-type documentation (#2458)
  • Fixed a broken README link (#2457)

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 to WARNING (#2432)

Smithy CLI v1.52.1

23 Oct 20:58
Compare
Choose a tag to compare
Bump version to 1.52.1

Smithy CLI v1.52.0

16 Oct 22:15
05cd11c
Compare
Choose a tag to compare

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 the httpChecksum 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

04 Sep 16:44
Compare
Choose a tag to compare

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

20 Jun 23:00
e8e104e
Compare
Choose a tag to compare

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 to RulesetParameterValidator. (#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

09 May 21:03
d1dba17
Compare
Choose a tag to compare

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

  • Corrected a typo in RPCv2 CBOR specificaiton. (#2278)
  • Updated casing of aggregate shape names in shape type table. (#2271)

Smithy CLI v1.48.0

26 Apr 16:23
Compare
Choose a tag to compare

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

28 Mar 18:38
eb72ead
Compare
Choose a tag to compare

1.47.0 (2024-03-28)

Features

  • Added the smithy-trait-codegen package. This package provides a new trait-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 new smithy-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

22 Mar 18:13
7c9e134
Compare
Choose a tag to compare

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

15 Feb 23:51
6158b63
Compare
Choose a tag to compare

1.45.0 (2024-02-14)

Features

  • Added new option to CLI to configure the format (text or csv) 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)