Releases: smithy-lang/smithy
Releases · smithy-lang/smithy
Smithy CLI v1.44.0
1.44.0 (2024-01-25)
Features
- Add AWS smoke test model package. (#2113)
- Add more traits to protocol test services (#2117)
- Enable custom inline suffixes in IDL serializer (#2121)
- Keep trailing doc comment spaces in IDL serializer (#2116)
- Expand protocol tests for default values. (#2049)
- Add protocol tests for 0/false in query params. (#2070)
- Change line break formatting in brackets. (#2072)
- Add backticks to diff messages for trait changes. (#2075)
- Support internal trait when building synthetic enum trait. (#2106)
- Add "critical" validation phase to validation. (#2098)
- Deprecated IAM Action traits that are now formally superseded by
@iamAction
. (#2095) - Added ability to override AWS endpoints partitions when needed. (#2092)
Bug Fixes
- Fail when duplicate members are found in enum/intEnum shapes. (#2112)
- Check references via idRef when looking for unreferenced shapes. (#2105)
- Remove service renames after flattening namespaces. (#2109)
- Fixed issue where endpoint modifier traits without a valid shape definition were being indexed. (#2096)
Documentation
Smithy CLI v1.43.0
1.43.0 (2024-01-05)
Features
- Updated
RemovedShape
diff event severity fromERROR
toWARNING
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
andstandardPartitionalEndpoints
. (#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
toNodeValidationVisitor.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
1.42.0 (2023-12-07)
Features
- Added the
@aws.auth#sigv4a
auth trait. (#2032) - Added the
timestampFormat
andhttpChecksumRequired
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 theequals
method inExampleTrait.ErrorExample
. (#2052)
Documentation
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)