Skip to content

Releases: smithy-lang/smithy

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)

Smithy CLI v1.44.0

05 Feb 18:20
Compare
Choose a tag to compare

1.44.0 (2024-01-25)

Features

  • Add AWS smoke test model package. (#2113)
  • Add more traits to protocol test services (#2117)
  • Enable custom inline suffixes in IDL serializer (#2121)
  • Keep trailing doc comment spaces in IDL serializer (#2116)
  • Expand protocol tests for default values. (#2049)
  • Add protocol tests for 0/false in query params. (#2070)
  • Change line break formatting in brackets. (#2072)
  • Add backticks to diff messages for trait changes. (#2075)
  • Support internal trait when building synthetic enum trait. (#2106)
  • Add "critical" validation phase to validation. (#2098)
  • Deprecated IAM Action traits that are now formally superseded by @iamAction. (#2095)
  • Added ability to override AWS endpoints partitions when needed. (#2092)

Bug Fixes

  • Fail when duplicate members are found in enum/intEnum shapes. (#2112)
  • Check references via idRef when looking for unreferenced shapes. (#2105)
  • Remove service renames after flattening namespaces. (#2109)
  • Fixed issue where endpoint modifier traits without a valid shape definition were being indexed. (#2096)

Documentation

  • Upgrade sphinx for docs. (#2100)
  • Updated several of the guide sections and tidied up the layout. (#2097)

Smithy CLI v1.43.0

31 Jan 22:31
Compare
Choose a tag to compare

1.43.0 (2024-01-05)

Features

  • Updated RemovedShape diff event severity from ERROR to WARNING for scalar shapes. (#2037)
  • Made parameterizedTestSource public, allowing users to use a customized suite as a source for JUnit parameterized tests. (#2087)
  • Refactored ReplaceShapes transform to improve efficiency. (#2082)
  • Added validation for endpoint patterns used by standardRegionalEndpoints and standardPartitionalEndpoints. (#2069)
  • Added support for CLI dependency resolution via proxy. (#2076)
  • Improved efficiency of ReplaceShapes transform by only building container shapes once when multiple members are changed. (#2081)
  • Moved allowOptionalNull to NodeValidationVisitor.Feature. (#2080)
  • Added rules engine built-in for AccountIdEndpointMode. (#2065)
  • Added JReleaser config. (#2059)
  • Added ability to find all operations for which a shape is used as an input, output, or error. (#2064)
  • Split InputOutput shapes into separate request and response shapes for restXml protocol tests. (#2063)

Bug Fixes

  • Fixed an issue where @iamAction wasn't reflected in CFN resource schema creation. (#2091)
  • Fixed tree node start and end locations. (#2084)
  • Fixed several minor build warnings. (2089)
  • Fixed protocol test service signing name for awsJson1_1 protocol. (#2089)
  • Updated member removal for ReplaceShapes transform to ensure enum and intEnum members are correctly removed. (#2082)
  • Corrected erroneous outer tags in restXml protocol tests (#2071)

Documentation

  • Added documentation for configuring CLI dependency resolution via proxy. (#2083)

Smithy CLI v1.42.0

07 Dec 23:09
Compare
Choose a tag to compare

1.42.0 (2023-12-07)

Features

  • Added the @aws.auth#sigv4a auth trait. (#2032)
  • Added the timestampFormat and httpChecksumRequired traits to protocols. (#2054, #2061)

Bug Fixes

  • Fixed conversion of root intEnum shape to IDL 1.0 when the shape doesn't have a default value of 0. (#2053)
  • Fixed equality of @examples traits by overriding the equals method in ExampleTrait.ErrorExample. (#2052)

Documentation

  • Updated documentation for auth traits. (#2051)
  • Added documentation for smoke tests. (#2057)