Skip to content

Releases: smithy-lang/smithy

Smithy CLI v1.58.0

20 May 18:15
e23bb52
Compare
Choose a tag to compare

1.58.0 (2025-05-13)

Bug Fixes

  • Fixed Node serialization and deserialization of rules engine endpoint values. (#2616)

  • Fixed null pointer exceptions when serializing endpoints traits to nodes. (#2629)

  • Made smithy.rules#endpointTests have an explicit dependency on smithy.rules#endpointRuleSet. (#2637)

Features

  • Added hierarchical IDs for ChangedOperation diff events. (#2607)

  • Removed @unstable from the following traits: @standardRegionalEndpoints, @standardPartitonalEndpoints, and @dualStackOnlyEndpoints. (#2608)

  • Made Dynamic Parts of the rules engine public. (#2614)

  • Made validation of IAM resource names case-insensitive. (#2615)

  • Added several static utility methods to the rules engine. (#2617, #2618)

  • Made arnNamespace optional in IAM traits that support specifying condition keys. (#2619)

  • Added validation to ensure that the value for any condition key may only be supplied by one member in operation input. (#2620)

  • Added additional validation for the endpointsTests trait. (#2622)

  • Added UnknownMember to the event ID for node validation. (#2630)

Documentation

  • Added more links to OpenAPI APIGateway config. (#2605)

  • Fixed bad links in javadocs. (#2612)

  • Documented SUPPRESSED as a valid value for --severity in validate command. (#2638)

Other

  • Improved performance of CleanOperationStructures. (#2609)

  • Improved performance of several rules engine functions. (#2633, #2634, #2635, #2636)

Smithy CLI v1.57.1

24 Apr 21:23
f1a726c
Compare
Choose a tag to compare

1.57.1 (2025-04-21)

Bug Fixes

  • Fixed an issue where FileManifest::writeJson would return a relative path instead of an absolute one (#2602)

Smithy CLI v1.57.0

23 Apr 16:55
ff09e3d
Compare
Choose a tag to compare

1.57.0 (2025-04-21)

Features

  • Added aws_recommended as a partitional endpoint pattern type (#2575)
  • Increased validation event severity for input name-value validation for the endpoint tests trait (#2593)
  • Added nascent document type support for RPC v2 CBOR (#2595)
  • Enabled AWS query compatibility for RPC v2 CBOR (#2579)

Bug Fixes

  • Updated restXml protocol tests to align with other XML tests (#2583)

Documentation

  • Fixed waiter examples that included wrong members (2594)

Smithy CLI v1.56.0

28 Mar 17:39
221d158
Compare
Choose a tag to compare

1.56.0 (2025-03-27)

Features

  • Added FlattenAndRemoveMixins transform to list of provided build transforms (#2552)
  • Added Since suffix to timestamp linter for better timestamp validation (#2554)
  • Improved performance by preferring ShapeId for hasTrait lookups instead of class-based lookups (#2562)
  • Improved CleanClientDiscoveryTraitTransformer implementation by adding short ciruit if ClientDiscovery traits are not applied (#2559)
  • Make IDL serialization clearer by skipping to serialize default boolean values (#2553)
  • Optimized ModelTransformPlugin and ResourceIdentifierBindingValidator to use fewer intermediate objects and streams.(#2561)
  • Added breakingChanges property to the removal of sigv4 and sigv4a traits (#2567)
  • Relaxed constraints on httpPrefixHeaders trait to have NOTE severity during validation when the prefix is set to empty string ([#2565])(#2565))

Bug Fixes

  • Relaxed on TaggableResource instance validation by lowering the severity from ERROR to DANGER when a resource does not have instance operations for manipulating tags and service level tagging operations are not present (#2566)
  • Fixed OpenAPI conversion by using ShapeId instead of name, reducing unnecessary object creation (#2560)

Documentation

  • Added TypeScript quickstart pages to provide tutorial for users to generate clients and SDKs with Smithy TypeScript (#2536)
  • Added documentation for OpenAPI enumStrategy setting to clarify configuration options (#2551)
  • Added new Smithy landing page for improved user experience (#2543)

Smithy CLI v1.55.0

27 Feb 20:20
ee2bbcc
Compare
Choose a tag to compare

1.55.0 (2025-02-27)

Features

  • Added support for oneOf enumStrategy in smithy-jsonschema (#2504)
  • Updated TaggableApiConfig builder methods visibility to public (#2506)
  • Added flattenAndRemoveMixins build transform (#2516)
  • Added ability to model more complex ARN templates in the @arn trait (#2527)
  • Expanded the list of allowed member names in tag shapes (#2528)
  • Added primaryIdentifier field to the cfnResource trait to indicate an unconventional primary identifier (#2539)

Bug Fixes

  • Fixed malformed CBOR body in rpcv2Cbor test (#2502)
  • Fixed serialization order of resource properties in the IDL (#2513)
  • Fixed restXml protocol test to be consistent with other tests and be less confusing (#2520)
  • Fixed validation of shape ids for resource identifier bindings (#2526)
  • Fixed bug where null was being returned instead of empty collection in trait-codegen (#2530)
  • Fixed conversion of oneOf errors so that they are treated as untagged unions (#2532)
  • Fixed bug where documentation was being applied twice with dynamic documentation trait in the idl-serializer (#2544)

Documentation

  • Added links to SigV4a spec (#2503)
  • Fixed cfnDefaultValue trait selector documentation to match what is defined in code (#2509)
  • Added a Smithy Java quickstart guide (#2517, #2521, #2525)
  • Fixed incorrect examples and typos in mixin specification (#2518)
  • Added a Smithy Java client user-guide (#2522, #2531, #2533)
  • Added documentation placeholders for other languages (#2534)

Smithy CLI v1.54.0

13 Jan 23:17
Compare
Choose a tag to compare

1.54.0 (2025-01-08)

Features

  • Added multiselect and filter to supported operationContextParams paths (#2442)
  • Integrated Spotless formatter into build logic to automatically format Java and Kotlin code (#2485
  • Added help text to ResourceOperationInputOutput event (#2489)
  • Added smithy-docgen package that enables the generation of a service documentation site from a smithy model (#2488)
  • Updated ShouldHaveUsedTimestampValidator to reduce false positives (#2480)
  • Added service ID to tagging validator error messages to aid debugging (#2483)

Bug Fixes

  • Corrected variable expansion logic in CLI to support multiple variables (#2495)
  • Added missing getters to CloudFormation ResourceSchema (#2486)
  • Converted blob default values to Base64 for protocol tests (#2474)
  • Fixed smoke test validator to correctly enforce unique test case ids (#2482)

Documentation

  • Updated Smithy logo in documentation (#2478, #2479)

Other

  • Updated build logic to now require JDK17+ for development (#2487)
  • Migrated Gradle build logic to use conventions plugins (#2484)

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)