Skip to content

Releases: smithy-lang/smithy

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)

Smithy CLI v1.41.1

17 Nov 00:18
Compare
Choose a tag to compare

1.41.1 (2023-11-16)

Features

  • Added support for service ids names with single character (#2043)

Bug Fixes

  • Fixed toShapeId call in EndpointModifierIndex (#2044)
  • Fixed removal of applied non-prelude meta traits (#2042)
  • Fixed recommended trait provider to avoid discarding reason (#2041)

Documentation

  • Updated the javadoc of ValidatedResult.unwrap to note that DANGER events also throw a validation event (#2040)

Smithy CLI v1.41.0

09 Nov 22:08
0ba148d
Compare
Choose a tag to compare

1.41.0 (2023-11-08)

Features

  • Added new member to @aws.iam#iamResource for disabling condition key inheritance. (#2036)
  • Added new trait for defining IAM actions, which consolidates and deprecates several older IAM traits. (#2034)
  • Added convenience method, expectIntEnumShape, to GenerateIntEnumDirective to get an IntEnumShape (#2033)
  • Added plugin to NodeValidationVisitor to ensure collections with @uniqueItems trait have unique-ness enforced. (#2031)
  • Added new member to @aws.iam#iamResource and @aws.iam#defineConditionKeys traits for defining a relative URL path of documentation. (#2027)
  • Migrated IAM traits JSON file to IDL file in smithy-aws-iam-traits. (#2026)
  • Added protocol test for verifying behavior when handling unknown union members in the restJson1 protocol. (#2022)
  • Enabled aws.iam#disableConditionKeyInference trait to be applicable to service shapes. (#2019)
  • Updated partitions.json with two new entries, aws-iso-e and aws-iso-f to be consistent with SDKs. (#2018)
  • Added event-id subparts to ClientEndpointDiscoveryValidator to clarify validation events. (#2017)
  • Added configuration for plugin integrations in smithy-build.json. (#2014)
  • Added protocol tests for verifying behavior of default values in the awsJson1_1 protocol. (#2002)
  • Added several new traits for modelling declarative endpoints. (#1987)

Documentation

  • Added basic website analytics so that engagement can be measured. (#2025)
  • Added documentation for new traits added for declarative endpoints. (#2013)

Bug Fixes

  • Fixed handling and deconflicting of duplicate apply statements targetting mixed-in members (#2030)
  • Fixed an NPE in the PluginContext.toBuilder method in PluginContext. (#2028)
  • Fixed a trait parse error for shape IDs. #2023)
  • Fixed several major issues with how neighbors and model graph traversal was implemented. (#2020)
  • Added expect-check to mitigate NSE exception in PrivateAccessValidator. (#2015)
  • Fixed equality of @examples traits by overriding the equals method in ExampleTrait. (#2009)

Smithy CLI v1.40.0

17 Oct 21:35
37919ad
Compare
Choose a tag to compare

1.40.0 (2023-10-16)

Features

  • Added new protocol tests for the restXml protocol, which assert request/response behaviors for string payloads. (#2007)
  • Added new package, smithy-smoke-test-traits, which defines the traits for smoke tests. This package contains the smithy model definitions of said traits, their java implementations, and unit tests. (#2005)
  • Added auth-scheme validator that runs for SigV4 sub-schemes as part of the AWS rule-set in smithy-rules-engine. (#2000)
  • Added AccountId and CredentialScope parameters for AWS-specific endpoint rules in smithy-rules-engine. (#1993)

Documentation

  • Added traits anchors for a few traits that were previously missing. (#2008)
  • Added Smithy Examples embedding to the smithy.io sidebar under Project. (#2006)
  • Added important notice for the @contextParam trait to clarify expected behavior of clients when @required is used on the same member.(#1999)

Bug Fixes

  • Fixed missing source-locations in emitted events by smithy-diff. Previously, N/A would be displayed instead of the real location. (#2001)
  • Added missing method override in smithy-rules-engine. (#1998)
  • Fixed bug where properties of resource shapes were not being serialized in the IDL serializer. (#1996)
  • Fixed an issue with OpenAPI conversion not allowing multiple errors for a single status code with an opt-in that uses oneOf to de-conflict the errors. (#1995)

Smithy CLI v1.39.1

28 Sep 21:19
Compare
Choose a tag to compare

1.39.1 (2023-09-26)

Bug Fixes

  • Fix several issues with validating authSchemes configurations for endpoints in the
    smithy-rules-engine package for both AWS and non-AWS issues. (#1990)

Smithy CLI v1.39.0

25 Sep 15:31
Compare
Choose a tag to compare

1.39.0 (2023-09-20)

Features

  • Refactored smithy-rules-engine significantly in an effort to improve validation, separate
    AWS and non-AWS concerns, add a specification, and more. General notes are provided in
    individual commit messages. The format of the rules documents have not changed, meaning a
    successful migration to the refactored codebase will involve no changes to code generated
    for an SDK client (#1855)
  • Added Sha1 checksum to ResolvedArtifacts (#1979)
  • Relaxed Content-Length in unset union payloads protocol tests (#1984)

Documentation

  • Updated example by keeping operation list from previous examples (#1981)

Smithy CLI v1.38.0

14 Sep 22:11
Compare
Choose a tag to compare

1.38.0 (2023-09-14)

Features

  • Updated auto-formatting to use line breaks for some properties (#1939)
  • Updated JSON-based AWS protocols to ignore the __type field when deserializing unions (#1945)
  • Added metadata key to RemovedMetadata diff events (#1940)
  • Improved equality comparison for NumberNode instances (#1955, #1965)
  • Added --aut as a shortcut for --allow-unknown-traits in the Smithy CLI (#1950)
  • Added a --show option to the Smithy CLI to include extra information like type, source location, and captured
    variables. This deprecates the --show-vars option (#1953)
  • Added validation to emit warnings when a member has an HTTP trait applied in a context where it is ignored (#1962,
    #1969)
  • Added validation to check the consistency of IAM resource names and ARN resource names (#1954)
  • Added a RemoveInvalidDefaults transform to remove @default traits when their values conflict with applied @range
    traits (#1964)
  • Added an allowConstraintErrors property to the @examples trait for relaxing content validation requirements (#1949,
    #1968)
  • Added several protocol tests for @restXml (#1909, #1908,
    #1574)
  • Added several protocol tests for @restJson1 (#1908)

Documentation

  • Clarified how trait values are provided in the IDL (#1944)
  • Added the @length trait to the specification's trait index (#1952)
  • Improved the ability to link to certain sections of the specification (#1958)
  • Clarified behavior of @sigv4 and @optionalAuth (#1963, #1971)

Bug Fixes

  • Fixed diff event messages for ChangedNullability events (#1972)
  • Fixed an NPE when auto-formatting certain types of trait values (#1942)
  • Fixed an issue where exceptions thrown when creating traits were not emitted as validation events (#1947)
  • Fixed an issue validating timestamp members in nodes where a @timestampFormat trait was involved (#1948)
  • Fixed an issue where the FlattenAndRemoveMixins transform would not remove unused mixins (#1951)
  • Fixed a malformed request test for the @restJson1 protocol (#1959)
  • Fixed an issue where NonInclusiveTerms validation events would be identical for different text paths. (#1975)

Smithy CLI v1.37.0

22 Aug 18:15
d7267ca
Compare
Choose a tag to compare

1.37.0 (2023-08-22)

Features

  • Formatted operation errors onto multiple lines (#1933)
  • Added support for creating specific TreeType to smithy-syntax (#1925)
  • Added validator for services with noAuth trait (#1929)
  • Added ServiceIndex method for noAuth scheme (#1924)
  • Added warning on addition of required trait (#1923)
  • Added versioning for API Gateway defaults (#1916)
  • Added support for enum map keys with OpenApi 3.1.0 (#1905)
  • Added support for suppressions to smithy-diff (#1861)
  • Added specificationExtension trait for OpenAPI extensions (#1609)
  • Added conditionKeyValue and conditionKeysResolvedByService traits (#1677)

Documentation

  • Updated getAuthSchemes javadoc (#1930)
  • Clarified default and clientOptional traits (#1920)
  • Fixed version numbers in smithy-build.json examples (#1918)
  • Clarified ordering of auth schemes in ServiceIndex (#1915)
  • Included prelude in spec (#1913)

Bug Fixes

  • Fixed assembler addTraits for some resource models (#1927)

Smithy CLI v1.36.0

08 Aug 14:52
2f98e69
Compare
Choose a tag to compare

1.36.0 (2023-08-03)

Features

  • Allowed disabling format on integers when converting to OpenAPI (#1904)
  • Added intEnum support when converting to OpenAPI (#1898)
  • Added support for overriding validation severity (#1890)
  • Added disableDefaultValues option when converting to OpenAPI (#1887)
  • Updated brew workflow to use new smithy tap (#1897)
  • Added progress tracker and message for CLI while cloning a template (#1888)
  • Updated init command to honor quiet setting (#1889)
  • Updated appearance of smithy init list output (#1901)
  • Added exceptions for invalid paths in template definition (#1907)
  • Added Cache template directory in init command (#1896)
  • Check for existing directory when creating template with init (#1885)

Documentation

  • Clarified constraint trait enforcement (#1902)
  • Better document trait merging (#1895)
  • Updated docs to use new smithy-lang tap (#1893)
  • Added naming recommendations (#1892)

Bug Fixes

  • Fixed NPE when docId is null when ServiceTrait.equals is called (#1903)
  • Fixed off-by-one issues in TokenTree and TreeCursor (#1891)
  • Fixed snapshot dependency resolution (#1884)

Other

  • Use standard output for regular messages (#1894)