Skip to content

Releases: smithy-lang/smithy

Smithy CLI v1.60.1

25 Jun 17:16
3471f42

Choose a tag to compare

1.60.1 (2025-06-25)

Bug Fixes

  • Fixed body of awsQueryCompatible test. (#2677)

Smithy CLI v1.60.0

24 Jun 20:32
e4ebb85

Choose a tag to compare

1.60.0 (2025-06-23)

Bug Fixes

  • Added ASM to the relocated dependencies. (#2676)

Features

  • Added protocol tests for @awsQueryCompatible. (#2672)
  • Added validation to ensure query errors are unique. (#2674)

Smithy CLI v1.59.0

16 Jun 19:57
48ccceb

Choose a tag to compare

1.59.0 (2025-06-16)

Bug Fixes

  • Fixed generation of nested lists/maps in trait code generation. (#2647)
  • Fixed generation of boolean collections in trait code generation. (#2652)
  • Fixed enum generation in docgen. (#2653)

Features

  • Added a warning when mixin members are removed. (#2644)
  • Added a tag to identify service-specific protocol tests. (#2655)

Documentation

  • Made several improvements to the landing pages. (#2656)
  • Added guidance about generating unknown members for unions. (#2657)
  • Updated references to awslabs to smithy-lang where relevant. (#2662)

Other

  • Added additional protocol tests for restJson1. (#2641)

Smithy CLI v1.58.0

20 May 18:15
e23bb52

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

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

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

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

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

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

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)