Skip to content

Releases: smithy-lang/smithy

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)

Smithy CLI v1.33.0

23 Jun 19:26
7affd02
Compare
Choose a tag to compare

1.33.0 (2023-06-21)

Features

  • Extended event ids for AddedOperationError, RemovedOperationError, AddedEntityBinding and RemovedEntityBinding diff events (#1797, #1803)
  • Added enum values to ids for ChangedEnumTrait diff events (#1807)
  • Added init command to Smithy CLI (#1802, #1825, #1832)
  • Added smithy-syntax package and smithy format command to Smithy CLI (#1830)

Bug Fixes

  • Fixed duplicated events for ChangedNullability alongside the AddedInputTrait / RemovedInputTrait (#1806)
  • Updated request compression trait protocol tests with regard to HTTP bindings and respective specification (#1831)

Documentation

  • Added smithy-dafny to code generators table (#1813)
  • Updated stale docs around MissingPaginatedTrait (#1814)
  • Fixed grammar rendering (#1815)
  • Updated recommendation for HTTP status code (#1818)
  • Fixed selector example (#1824)
  • Added note about how constraint traits affect backward compatibility (#1826)
  • Added guide on disabling authentication (#1791)

Smithy CLI v1.32.0

08 Jun 18:51
24abf76
Compare
Choose a tag to compare

1.32.0 (2023-06-06)

Features

  • Refactor parsing and validation of list and map shapes. This improved validation output when unexpected members were present in these shapes (#1782)
  • Updated smithy-build to output projection failures only after all plugins finish running (failed or otherwise) (#1762)
  • Added new pluggable validation-event decorator capability. This allows for customizing of validation events through a service provider interface (#1774)
  • Added new diff-evaluator to emit events for when the @required trait is added to existing structures without a default (##1781)
  • Improved validation output for @default collisions (#1780)
  • Updated @httpQuery trait validation to prevent query-literal and query-param conflicts (#1786)
  • Updated default pagination flags to improve missing-pagination validation (#1764)
  • Updated SdkServiceIdValidator to emit DANGER events instead of ERROR events (#1772)
  • Updated ChangedEnumTrait evaluator to include specific ids, in order to differentiate specific events (#1787)
  • Added protocol tests to validate http-label escaping in the restXml protocol (#1759)
  • Added support for @externalDocs trait when converting operations in the OpenAPI converter (#1767)
  • Updated a handful of specifications in the smithy-grammar to improve parsability (#1788, #1790, #1792, #1793, #1800)

Bug Fixes

  • Fixed migrate CLI command to properly upgrade 1/1.0 models to 2/2.0 (#1579, #1769)
  • Fixed application of enum-mixins on empty enums (#1794)
  • Fixed handling of dangling doc-comments in structures (#1776)
  • Fixed several smithy-grammar typos and consistency issues (#1783)

Documentation

  • Added a warning about the limitations of request-validation in API-Gateway (#1765)
  • Updated CLI installation guide for Windows to be more idiomatic (#1757)
  • Updated protocol documentation pages to indicate support for the @requestCompression trait (#1763)

Smithy CLI v1.31.0

01 May 14:57
2b647ab
Compare
Choose a tag to compare

1.31.0 (2023-04-25)

Features

  • Added @requestCompression trait which indicates whether an operation supports compressed requests (#1748)
  • Improved IDL parser and added basic error recovery (#1733)
  • Added restJson1 protocol test for a list of structures missing a required key (#1735)
  • Added ability to order the output of the IDL serializer (#1727)

Bug Fixes

  • Updated conversion from string shape with @enum trait to enum shape to convert internal tag to @internal trait (#1739)

Documentation

  • Added documentation for changeStringEnumsToEnumShapes transformation (#1740)

Smithy CLI v1.30.0

13 Apr 18:18
c24a2ce
Compare
Choose a tag to compare

1.30.0 (2023-04-10)

Features

  • Updated smithy-diff and smithy-build to use pretty validation output and color theming options (#1712)
  • Added --mode flag to smithy diff command with support for aribtrary, project, and git modes
    (#1724, #1721, #1718)
  • Added --flatten flag to AST command which flattens and removes mixins from the model (#1723)
  • Expose functions to make ruleEvaluator more flexible to support coverage checking (#1681)

Bug Fixes

  • Updated mixins to allow multiple mixins to override the same member if they all target the same shape (#1715)
  • Fixed an issue where source file names impacted the ordering of metadata (#1716)
  • Fixed error messages for invalid operation input/output bindings (#1728)
  • Fixed bugs in smithy-rules-engine boolEquals and stringEquals which could cause unexpected results when visitors are
    invoked (#1681)
  • Remove unnecessary member from aws.iam#actionName (#1726)

Documentation

  • Added guide on how to install the Smithy CLI (#1697)
  • Added examples of how smithy validators can be used to prevent common bugs and enforce common style (#1702)
  • Added clarification on meaning and use of @httpApiKeyAuth scheme property (#1714)
  • Reduced IDL ambiguity by replacing *SP with [SP] (#1711)