Releases: smithy-lang/smithy
Releases · smithy-lang/smithy
Smithy CLI v1.41.1
1.41.1 (2023-11-16)
Features
- Added support for service ids names with single character (#2043)
Bug Fixes
- Fixed
toShapeId
call inEndpointModifierIndex
(#2044) - Fixed removal of applied non-prelude meta traits (#2042)
- Fixed
recommended
trait provider to avoid discardingreason
(#2041)
Documentation
- Updated the javadoc of
ValidatedResult.unwrap
to note thatDANGER
events also throw a validation event (#2040)
Smithy CLI v1.41.0
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
, toGenerateIntEnumDirective
to get anIntEnumShape
(#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
andaws-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 inPluginContext
. (#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 theequals
method inExampleTrait
. (#2009)
Smithy CLI v1.40.0
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
andCredentialScope
parameters for AWS-specific endpoint rules insmithy-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 underProject
. (#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
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
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 toResolvedArtifacts
(#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
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 deserializingunion
s (#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
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
andconditionKeysResolvedByService
traits (#1677)
Documentation
- Updated
getAuthSchemes
javadoc (#1930) - Clarified
default
andclientOptional
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
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
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 toaws.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 ofenums
(#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
Smithy CLI v1.34.0
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)