diff --git a/codegen/aws/core/src/main/java/software/amazon/smithy/python/aws/codegen/AwsPythonDependency.java b/codegen/aws/core/src/main/java/software/amazon/smithy/python/aws/codegen/AwsPythonDependency.java index 814e5284e..e1a5a6b0d 100644 --- a/codegen/aws/core/src/main/java/software/amazon/smithy/python/aws/codegen/AwsPythonDependency.java +++ b/codegen/aws/core/src/main/java/software/amazon/smithy/python/aws/codegen/AwsPythonDependency.java @@ -22,7 +22,7 @@ private AwsPythonDependency() {} */ public static final PythonDependency SMITHY_AWS_CORE = new PythonDependency( "smithy_aws_core", - "<0.1.0", + "~=0.1.0", PythonDependency.Type.DEPENDENCY, false); } diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/SmithyPythonDependency.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/SmithyPythonDependency.java index 581ec83d8..347c475cc 100644 --- a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/SmithyPythonDependency.java +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/SmithyPythonDependency.java @@ -22,7 +22,7 @@ public final class SmithyPythonDependency { */ public static final PythonDependency SMITHY_CORE = new PythonDependency( "smithy_core", - "<0.1.0", + "~=0.1.0", Type.DEPENDENCY, false); @@ -33,7 +33,7 @@ public final class SmithyPythonDependency { */ public static final PythonDependency SMITHY_HTTP = new PythonDependency( "smithy_http", - "<0.1.0", + "~=0.1.0", Type.DEPENDENCY, false); @@ -60,7 +60,7 @@ public final class SmithyPythonDependency { */ public static final PythonDependency SMITHY_JSON = new PythonDependency( "smithy_json", - "<0.1.0", + "~=0.1.0", Type.DEPENDENCY, false); @@ -69,7 +69,7 @@ public final class SmithyPythonDependency { */ public static final PythonDependency SMITHY_AWS_EVENT_STREAM = new PythonDependency( "smithy_aws_event_stream", - "<0.1.0", + "~=0.1.0", Type.DEPENDENCY, false); @@ -78,7 +78,7 @@ public final class SmithyPythonDependency { */ public static final PythonDependency SMITHY_AWS_CORE = new PythonDependency( "smithy_aws_core", - "<0.1.0", + "~=0.1.0", Type.DEPENDENCY, false); diff --git a/packages/aws-sdk-signers/.changes/0.1.0.json b/packages/aws-sdk-signers/.changes/0.1.0.json new file mode 100644 index 000000000..60bf90468 --- /dev/null +++ b/packages/aws-sdk-signers/.changes/0.1.0.json @@ -0,0 +1,16 @@ +{ + "changes": [ + { + "type": "breaking", + "description": "Changed the `signing_properties` and `http_request` args to `properties` and `request` for the `sign` methods in `SigV4Signer` and `AsyncSigV4Signer`." + }, + { + "type": "enhancement", + "description": "Update the async signer to use the special payload hash for event stream operations." + }, + { + "type": "enhancement", + "description": "Check seekable in aws signers" + } + ] +} \ No newline at end of file diff --git a/packages/aws-sdk-signers/CHANGELOG.md b/packages/aws-sdk-signers/CHANGELOG.md index e9da8fcbe..bd1153fb7 100644 --- a/packages/aws-sdk-signers/CHANGELOG.md +++ b/packages/aws-sdk-signers/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## v0.1.0 + +### Breaking Changes +* Changed the `signing_properties` and `http_request` args to `properties` and `request` for the `sign` methods in `SigV4Signer` and `AsyncSigV4Signer`. + +### Enhancements +* Update the async signer to use the special payload hash for event stream operations. +* Check seekable in aws signers + ## v0.0.3 ### Features diff --git a/packages/aws-sdk-signers/src/aws_sdk_signers/__init__.py b/packages/aws-sdk-signers/src/aws_sdk_signers/__init__.py index 56e12928a..965442da7 100644 --- a/packages/aws-sdk-signers/src/aws_sdk_signers/__init__.py +++ b/packages/aws-sdk-signers/src/aws_sdk_signers/__init__.py @@ -16,7 +16,7 @@ ) __license__ = "Apache-2.0" -__version__ = "0.0.3" +__version__ = "0.1.0" __all__ = ( "URI", diff --git a/packages/smithy-aws-core/.changes/0.1.0.json b/packages/smithy-aws-core/.changes/0.1.0.json new file mode 100644 index 000000000..7bcfdfbbd --- /dev/null +++ b/packages/smithy-aws-core/.changes/0.1.0.json @@ -0,0 +1,12 @@ +{ + "changes": [ + { + "type": "breaking", + "description": "Updated sigv4 auth resolution and identity providers to the new transport-agnostic interfaces." + }, + { + "type": "feature", + "description": "Added a hand-written implementation for the `restJson1` protocol." + } + ] +} \ No newline at end of file diff --git a/packages/smithy-aws-core/.changes/next-release/smithy-aws-core-breaking-20250904125854.json b/packages/smithy-aws-core/.changes/next-release/smithy-aws-core-breaking-20250904125854.json deleted file mode 100644 index ddf53a698..000000000 --- a/packages/smithy-aws-core/.changes/next-release/smithy-aws-core-breaking-20250904125854.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "breaking", - "description": "Updated sigv4 auth resolution and identity providers to the new transport-agnostic interfaces." -} \ No newline at end of file diff --git a/packages/smithy-aws-core/.changes/next-release/smithy-aws-core-feature-20250904125834.json b/packages/smithy-aws-core/.changes/next-release/smithy-aws-core-feature-20250904125834.json deleted file mode 100644 index 01e81cfab..000000000 --- a/packages/smithy-aws-core/.changes/next-release/smithy-aws-core-feature-20250904125834.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "feature", - "description": "Added a hand-written implementation for the `restJson1` protocol." -} \ No newline at end of file diff --git a/packages/smithy-aws-core/CHANGELOG.md b/packages/smithy-aws-core/CHANGELOG.md index db7b5c0ab..9f8f9d9fc 100644 --- a/packages/smithy-aws-core/CHANGELOG.md +++ b/packages/smithy-aws-core/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## v0.1.0 + +### Breaking Changes +* Updated sigv4 auth resolution and identity providers to the new transport-agnostic interfaces. + +### Features +* Added a hand-written implementation for the `restJson1` protocol. + ## v0.0.3 ### Bug fixes diff --git a/packages/smithy-aws-core/pyproject.toml b/packages/smithy-aws-core/pyproject.toml index 37a55c2df..8a803ee61 100644 --- a/packages/smithy-aws-core/pyproject.toml +++ b/packages/smithy-aws-core/pyproject.toml @@ -26,9 +26,9 @@ classifiers = [ "Topic :: Software Development :: Libraries" ] dependencies = [ - "smithy-core", - "smithy-http", - "aws-sdk-signers" + "smithy-core~=0.1.0", + "smithy-http~=0.1.0", + "aws-sdk-signers~=0.1.0" ] [project.urls] @@ -45,10 +45,10 @@ path = "src/smithy_aws_core/__init__.py" [project.optional-dependencies] eventstream = [ - "smithy-aws-event-stream" + "smithy-aws-event-stream~=0.1.0" ] json = [ - "smithy-json" + "smithy-json~=0.1.0" ] [tool.hatch.build] diff --git a/packages/smithy-aws-core/src/smithy_aws_core/__init__.py b/packages/smithy-aws-core/src/smithy_aws_core/__init__.py index 83dd7d619..ce8f9b1b1 100644 --- a/packages/smithy-aws-core/src/smithy_aws_core/__init__.py +++ b/packages/smithy-aws-core/src/smithy_aws_core/__init__.py @@ -1,4 +1,4 @@ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 -__version__ = "0.0.3" +__version__ = "0.1.0" diff --git a/packages/smithy-aws-event-stream/.changes/0.1.0.json b/packages/smithy-aws-event-stream/.changes/0.1.0.json new file mode 100644 index 000000000..a031fdd56 --- /dev/null +++ b/packages/smithy-aws-event-stream/.changes/0.1.0.json @@ -0,0 +1,8 @@ +{ + "changes": [ + { + "type": "breaking", + "description": "Update `AWSEventPublisher` to use `SigningConfig` instead of `EventSigner` so identity can be fetched at signing time." + } + ] +} \ No newline at end of file diff --git a/packages/smithy-aws-event-stream/CHANGELOG.md b/packages/smithy-aws-event-stream/CHANGELOG.md index 53321441a..04acd0477 100644 --- a/packages/smithy-aws-event-stream/CHANGELOG.md +++ b/packages/smithy-aws-event-stream/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## v0.1.0 + +### Breaking Changes +* Update `AWSEventPublisher` to use `SigningConfig` instead of `EventSigner` so identity can be fetched at signing time. + ## v0.0.1 ### Features diff --git a/packages/smithy-aws-event-stream/pyproject.toml b/packages/smithy-aws-event-stream/pyproject.toml index 25a219268..85b231e3e 100644 --- a/packages/smithy-aws-event-stream/pyproject.toml +++ b/packages/smithy-aws-event-stream/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ "Topic :: Software Development :: Libraries" ] dependencies = [ - "smithy-core", + "smithy-core~=0.1.0", ] [project.urls] diff --git a/packages/smithy-aws-event-stream/src/smithy_aws_event_stream/__init__.py b/packages/smithy-aws-event-stream/src/smithy_aws_event_stream/__init__.py index 375cf945b..36dc386c5 100644 --- a/packages/smithy-aws-event-stream/src/smithy_aws_event_stream/__init__.py +++ b/packages/smithy-aws-event-stream/src/smithy_aws_event_stream/__init__.py @@ -1,4 +1,4 @@ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 -__version__ = "0.0.1" +__version__ = "0.1.0" diff --git a/packages/smithy-core/.changes/0.1.0.json b/packages/smithy-core/.changes/0.1.0.json new file mode 100644 index 000000000..f15632bd4 --- /dev/null +++ b/packages/smithy-core/.changes/0.1.0.json @@ -0,0 +1,40 @@ +{ + "changes": [ + { + "type": "breaking", + "description": "Introduced transport-agnostic interfaces for identity and auth, replacing the existing interfaces that were coupled to HTTP requests and responses." + }, + { + "type": "breaking", + "description": "Updated retry interfaces to pull information from exceptions instead of requiring a separate classification step." + }, + { + "type": "breaking", + "description": "Replaced `Exception` suffix with `Error` to follow PEP8 conventions." + }, + { + "type": "feature", + "description": "Updated schema members to preserve their ordering from the model using dict ordering, which significantly cuts back the amount of code that must be generated." + }, + { + "type": "feature", + "description": "Introduced the `ClientProtocol` interface to allow for hand-written protocol implementations and protocol swapping at runtime." + }, + { + "type": "feature", + "description": "Introduced a hand-written request pipeline to replace the one that was code-generated in Java." + }, + { + "type": "feature", + "description": "Updated exceptions to embed retryablity information." + }, + { + "type": "enhancement", + "description": "Added usages of `TypeForm` from PEP747 via `typing_extensions` to better support typing for event streams and typed properties." + }, + { + "type": "bugfix", + "description": "Fix broken initializer for `HTTPAPIKeyAuthTrait`. ([#533](https://github.com/smithy-lang/smithy-python/pull/553))" + } + ] +} \ No newline at end of file diff --git a/packages/smithy-core/.changes/next-release/smithy-core-breaking-20250904131215.json b/packages/smithy-core/.changes/next-release/smithy-core-breaking-20250904131215.json deleted file mode 100644 index a716f9a35..000000000 --- a/packages/smithy-core/.changes/next-release/smithy-core-breaking-20250904131215.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "breaking", - "description": "Updated retry interfaces to pull information from exceptions instead of requiring a separate classification step." -} \ No newline at end of file diff --git a/packages/smithy-core/.changes/next-release/smithy-core-breaking-20250904131233.json b/packages/smithy-core/.changes/next-release/smithy-core-breaking-20250904131233.json deleted file mode 100644 index 406e733a1..000000000 --- a/packages/smithy-core/.changes/next-release/smithy-core-breaking-20250904131233.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "breaking", - "description": "Introduced transport-agnostic interfaces for identity and auth, replacing the existing interfaces that were coupled to HTTP requests and responses." -} \ No newline at end of file diff --git a/packages/smithy-core/.changes/next-release/smithy-core-breaking-20250904131302.json b/packages/smithy-core/.changes/next-release/smithy-core-breaking-20250904131302.json deleted file mode 100644 index ceaa96164..000000000 --- a/packages/smithy-core/.changes/next-release/smithy-core-breaking-20250904131302.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "breaking", - "description": "Replaced `Exception` suffix with `Error` to follow PEP8 conventions." -} \ No newline at end of file diff --git a/packages/smithy-core/.changes/next-release/smithy-core-enhancement-20250904131027.json b/packages/smithy-core/.changes/next-release/smithy-core-enhancement-20250904131027.json deleted file mode 100644 index e4fa2b941..000000000 --- a/packages/smithy-core/.changes/next-release/smithy-core-enhancement-20250904131027.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "enhancement", - "description": "Added usages of `TypeForm` from PEP747 via `typing_extensions` to better support typing for event streams and typed properties." -} \ No newline at end of file diff --git a/packages/smithy-core/.changes/next-release/smithy-core-feature-20250904131114.json b/packages/smithy-core/.changes/next-release/smithy-core-feature-20250904131114.json deleted file mode 100644 index fae46e5cc..000000000 --- a/packages/smithy-core/.changes/next-release/smithy-core-feature-20250904131114.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "feature", - "description": "Introduced the `ClientProtocol` interface to allow for hand-written protocol implementations and protocol swapping at runtime." -} \ No newline at end of file diff --git a/packages/smithy-core/.changes/next-release/smithy-core-feature-20250904131129.json b/packages/smithy-core/.changes/next-release/smithy-core-feature-20250904131129.json deleted file mode 100644 index 9928ed89b..000000000 --- a/packages/smithy-core/.changes/next-release/smithy-core-feature-20250904131129.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "feature", - "description": "Updated exceptions to embed retryablity information." -} \ No newline at end of file diff --git a/packages/smithy-core/.changes/next-release/smithy-core-feature-20250904131140.json b/packages/smithy-core/.changes/next-release/smithy-core-feature-20250904131140.json deleted file mode 100644 index baed98bdb..000000000 --- a/packages/smithy-core/.changes/next-release/smithy-core-feature-20250904131140.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "feature", - "description": "Updated schema members to preserve their ordering from the model using dict ordering, which significantly cuts back the amount of code that must be generated." -} \ No newline at end of file diff --git a/packages/smithy-core/.changes/next-release/smithy-core-feature-20250904131155.json b/packages/smithy-core/.changes/next-release/smithy-core-feature-20250904131155.json deleted file mode 100644 index 02bb8f645..000000000 --- a/packages/smithy-core/.changes/next-release/smithy-core-feature-20250904131155.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "feature", - "description": "Introduced a hand-written request pipeline to replace the one that was code-generated in Java." -} \ No newline at end of file diff --git a/packages/smithy-core/CHANGELOG.md b/packages/smithy-core/CHANGELOG.md index 8049bd7e1..0d6e4e72c 100644 --- a/packages/smithy-core/CHANGELOG.md +++ b/packages/smithy-core/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## v0.1.0 + +### Breaking Changes +* Introduced transport-agnostic interfaces for identity and auth, replacing the existing interfaces that were coupled to HTTP requests and responses. +* Updated retry interfaces to pull information from exceptions instead of requiring a separate classification step. +* Replaced `Exception` suffix with `Error` to follow PEP8 conventions. + +### Features +* Updated schema members to preserve their ordering from the model using dict ordering, which significantly cuts back the amount of code that must be generated. +* Introduced the `ClientProtocol` interface to allow for hand-written protocol implementations and protocol swapping at runtime. +* Introduced a hand-written request pipeline to replace the one that was code-generated in Java. +* Updated exceptions to embed retryablity information. + +### Enhancements +* Added usages of `TypeForm` from PEP747 via `typing_extensions` to better support typing for event streams and typed properties. + +### Bug fixes +* Fix broken initializer for `HTTPAPIKeyAuthTrait`. ([#533](https://github.com/smithy-lang/smithy-python/pull/553)) + ## v0.0.2 ### Bug fixes diff --git a/packages/smithy-core/src/smithy_core/__init__.py b/packages/smithy-core/src/smithy_core/__init__.py index 01b03eea9..a9e14aff3 100644 --- a/packages/smithy-core/src/smithy_core/__init__.py +++ b/packages/smithy-core/src/smithy_core/__init__.py @@ -8,7 +8,7 @@ from . import interfaces, rfc3986 from .exceptions import SmithyError -__version__ = "0.0.2" +__version__ = "0.1.0" class HostType(Enum): diff --git a/packages/smithy-http/.changes/0.1.0.json b/packages/smithy-http/.changes/0.1.0.json new file mode 100644 index 000000000..20e79c740 --- /dev/null +++ b/packages/smithy-http/.changes/0.1.0.json @@ -0,0 +1,12 @@ +{ + "changes": [ + { + "type": "breaking", + "description": "Removed identity and auth interfaces in favor of the transport-agnostic interfaces introduced in `smithy-core`." + }, + { + "type": "feature", + "description": "Introduced schema-based serializers and deserializers for HTTP binding protocols." + } + ] +} \ No newline at end of file diff --git a/packages/smithy-http/.changes/next-release/smithy-http-breaking-20250904132003.json b/packages/smithy-http/.changes/next-release/smithy-http-breaking-20250904132003.json deleted file mode 100644 index 2d7c4154f..000000000 --- a/packages/smithy-http/.changes/next-release/smithy-http-breaking-20250904132003.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "breaking", - "description": "Removed identity and auth interfaces in favor of the transport-agnostic interfaces introduced in `smithy-core`." -} \ No newline at end of file diff --git a/packages/smithy-http/.changes/next-release/smithy-http-feature-20250904131946.json b/packages/smithy-http/.changes/next-release/smithy-http-feature-20250904131946.json deleted file mode 100644 index 5345cdca9..000000000 --- a/packages/smithy-http/.changes/next-release/smithy-http-feature-20250904131946.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "feature", - "description": "Introduced schema-based serializers and deserializers for HTTP binding protocols." -} \ No newline at end of file diff --git a/packages/smithy-http/CHANGELOG.md b/packages/smithy-http/CHANGELOG.md index 6357640c3..c69f6ddc2 100644 --- a/packages/smithy-http/CHANGELOG.md +++ b/packages/smithy-http/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## v0.1.0 + +### Breaking Changes +* Removed identity and auth interfaces in favor of the transport-agnostic interfaces introduced in `smithy-core`. + +### Features +* Introduced schema-based serializers and deserializers for HTTP binding protocols. + ## v0.0.1 ### Features diff --git a/packages/smithy-http/pyproject.toml b/packages/smithy-http/pyproject.toml index c1da51e18..a9af97238 100644 --- a/packages/smithy-http/pyproject.toml +++ b/packages/smithy-http/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ "Topic :: Software Development :: Libraries" ] dependencies = [ - "smithy-core", + "smithy-core~=0.1.0", ] [project.urls] diff --git a/packages/smithy-http/src/smithy_http/__init__.py b/packages/smithy-http/src/smithy_http/__init__.py index fba8157b7..7072d701c 100644 --- a/packages/smithy-http/src/smithy_http/__init__.py +++ b/packages/smithy-http/src/smithy_http/__init__.py @@ -6,7 +6,7 @@ from . import interfaces from .interfaces import FieldPosition -__version__ = "0.0.1" +__version__ = "0.1.0" class Field(interfaces.Field): diff --git a/packages/smithy-json/.changes/0.1.0.json b/packages/smithy-json/.changes/0.1.0.json new file mode 100644 index 000000000..318f2ed25 --- /dev/null +++ b/packages/smithy-json/.changes/0.1.0.json @@ -0,0 +1,16 @@ +{ + "changes": [ + { + "type": "enhancement", + "description": "Use shared settings for JSON codec" + }, + { + "type": "enhancement", + "description": "Pass JSON document class through settings" + }, + { + "type": "enhancement", + "description": "Use natural dict ordering for member index" + } + ] +} \ No newline at end of file diff --git a/packages/smithy-json/CHANGELOG.md b/packages/smithy-json/CHANGELOG.md index adbed8574..7f6e786b5 100644 --- a/packages/smithy-json/CHANGELOG.md +++ b/packages/smithy-json/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## v0.1.0 + +### Enhancements +* Use shared settings for JSON codec +* Pass JSON document class through settings +* Use natural dict ordering for member index + ## v0.0.1 ### Features diff --git a/packages/smithy-json/pyproject.toml b/packages/smithy-json/pyproject.toml index b4c113e87..f62f7cd00 100644 --- a/packages/smithy-json/pyproject.toml +++ b/packages/smithy-json/pyproject.toml @@ -27,7 +27,7 @@ classifiers = [ ] dependencies = [ "ijson>=3.3.0", - "smithy-core", + "smithy-core~=0.1.0", ] [project.urls] diff --git a/packages/smithy-json/src/smithy_json/__init__.py b/packages/smithy-json/src/smithy_json/__init__.py index 80be613ad..d5a412b5f 100644 --- a/packages/smithy-json/src/smithy_json/__init__.py +++ b/packages/smithy-json/src/smithy_json/__init__.py @@ -13,7 +13,7 @@ from ._private.serializers import JSONShapeSerializer as _JSONShapeSerializer from .settings import JSONSettings -__version__ = "0.0.1" +__version__ = "0.1.0" __all__ = ("JSONCodec", "JSONDocument", "JSONSettings")