Skip to content

Releases: smithy-lang/smithy

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)

Smithy CLI v1.35.0

27 Jul 21:46
Compare
Choose a tag to compare

1.35.0 (2023-07-27)

Features

  • Enabled support for SNAPSHOT dependencies (#1853, #1857, #1884)
  • Enabled default mode for smithy diff rather than failing when not set (#1856)
  • Added warning to mis-cased standard HTTP verbs (#1862)
  • Relaxed type constraints for pageSize property of the @paginated trait (#1866)
  • Improved message for invalid .errors entries (#1867)
  • Added docId property to aws.api#service trait (#1863, #1872, #1881, #1882)
  • Improved validation for http binding protocols (#1873)
  • Expanded valid targets of @httpPayload (#1876)

Documentation

  • Updated documentation around timestamp and added more specificity to the definition (#1858)

Bug Fixes

  • Removed unrecognized models from sources (#1851, #1860)
  • Updated the content type of list & map shapes with the @httpPayload trait to document content type (#1840)
  • Fixed IDL serializer which would write emtpy apply statements to mixed in members of enums (#1865)
  • Fixed indentation when formatting text blocks (#1875)
  • Added resource files to source jars (#1877, #1880)
  • Fixed a potential resource leak by using a try with resources (#1878)

Other

  • Migrated to using Gradle 8.2.1 to build Smithy. This should have no impactful downstream effects (#1849)
  • Moved repository into smithy-lang organization and updated resources accordingly (#1852, #1854)

Smithy CLI v1.34.0

10 Jul 23:56
1ce05b2
Compare
Choose a tag to compare

1.34.0 (2023-07-10)

Features

  • Added a default template for the smithy init command, making specifying templates optional (#1843)
  • Updated the model loader to skip unrecognized non-Smithy JSON files (#1846)

Bug Fixes

  • Fixed basic HTTP authentication when resolving dependencies in the Smithy CLI (#1838)
  • Fixed a bug when deduping ChangedNullability events (#1839)

Documentation

  • Replaced implementation docs with the awesome-smithy repository (#1845)
  • Removed support for fractional seconds from the http-date timestamp format (#1847)
  • Rephrased optional fractional precision and no UTC offset support for the date-time timestamp format (#1835)