From fce136c0d2c1db56bc6cb7170f775bcab9a4ffc4 Mon Sep 17 00:00:00 2001 From: Frank Chen <65260095+zhongkechen@users.noreply.github.com> Date: Thu, 8 Oct 2026 16:36:20 -0700 Subject: [PATCH 1/3] chore: prepare Python minor releases --- .../src/aws_durable_execution_sdk_python_testing/__about__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/aws-durable-execution-sdk-python-testing/src/aws_durable_execution_sdk_python_testing/__about__.py b/packages/aws-durable-execution-sdk-python-testing/src/aws_durable_execution_sdk_python_testing/__about__.py index 698e248af..379805d23 100644 --- a/packages/aws-durable-execution-sdk-python-testing/src/aws_durable_execution_sdk_python_testing/__about__.py +++ b/packages/aws-durable-execution-sdk-python-testing/src/aws_durable_execution_sdk_python_testing/__about__.py @@ -1,4 +1,4 @@ # SPDX-FileCopyrightText: 2025-present Amazon.com, Inc. or its affiliates. # # SPDX-License-Identifier: Apache-2.0 -__version__ = "1.2.1" +__version__ = "1.3.0" From 9ba654464ab05a4f2044adb5890704c0585f71a7 Mon Sep 17 00:00:00 2001 From: Frank Chen <65260095+zhongkechen@users.noreply.github.com> Date: Tue, 20 Oct 2026 23:30:20 +0000 Subject: [PATCH 2/3] fix(ci): use JSON logs for plugin conformance --- .../template_plugin.yaml | 2 ++ .../tests/test_inject_execution_role.py | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/packages/aws-durable-execution-sdk-python-conformance-tests/template_plugin.yaml b/packages/aws-durable-execution-sdk-python-conformance-tests/template_plugin.yaml index 9f388d607..a533cd9da 100644 --- a/packages/aws-durable-execution-sdk-python-conformance-tests/template_plugin.yaml +++ b/packages/aws-durable-execution-sdk-python-conformance-tests/template_plugin.yaml @@ -5,6 +5,8 @@ Globals: Runtime: python3.13 Timeout: 60 MemorySize: 128 + LoggingConfig: + LogFormat: JSON Resources: DurableFunctionRole: Type: AWS::IAM::Role diff --git a/packages/aws-durable-execution-sdk-python-conformance-tests/tests/test_inject_execution_role.py b/packages/aws-durable-execution-sdk-python-conformance-tests/tests/test_inject_execution_role.py index 117644dd7..1a131b51a 100644 --- a/packages/aws-durable-execution-sdk-python-conformance-tests/tests/test_inject_execution_role.py +++ b/packages/aws-durable-execution-sdk-python-conformance-tests/tests/test_inject_execution_role.py @@ -110,3 +110,33 @@ def test_inject_raises_when_no_functions(tmp_path: Path) -> None: with pytest.raises(SystemExit): inject_execution_role.inject(template, ROLE_ARN) + + +def test_plugin_logging_survives_execution_role_injection(tmp_path: Path) -> None: + source = Path(__file__).resolve().parents[1] / "template_plugin.yaml" + original = yaml.safe_load(source.read_text()) + expected_functions = { + name: resource + for name, resource in original["Resources"].items() + if resource.get("Type") == "AWS::Serverless::Function" + and "DurableConfig" in resource.get("Properties", {}) + } + assert expected_functions + template = _write(tmp_path, original) + + assert inject_execution_role.inject(template, ROLE_ARN) == len(expected_functions) + actual = yaml.safe_load(Path(template).read_text()) + global_logging = actual["Globals"]["Function"].get("LoggingConfig", {}) + for name, original_resource in expected_functions.items(): + resource = actual["Resources"][name] + properties = resource["Properties"] + effective_logging = {**global_logging, **properties.get("LoggingConfig", {})} + assert effective_logging.get("LogFormat", "Text") == "JSON", ( + f"{name}: Lambda durable functions require JSON logs" + ) + assert properties["Role"] == ROLE_ARN + assert ( + properties["DurableConfig"] + == original_resource["Properties"]["DurableConfig"] + ) + assert resource["TestingMetadata"] == original_resource["TestingMetadata"] From 8af550654dc2e16d7eb0fb621440cc9761a02124 Mon Sep 17 00:00:00 2001 From: Frank Chen <65260095+zhongkechen@users.noreply.github.com> Date: Wed, 21 Oct 2026 20:14:45 +0000 Subject: [PATCH 3/3] fix(testing): require SDK 2.1.0 for pause and resume --- .../aws-durable-execution-sdk-python-testing/pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/aws-durable-execution-sdk-python-testing/pyproject.toml b/packages/aws-durable-execution-sdk-python-testing/pyproject.toml index e1f91a659..b3417262e 100644 --- a/packages/aws-durable-execution-sdk-python-testing/pyproject.toml +++ b/packages/aws-durable-execution-sdk-python-testing/pyproject.toml @@ -23,7 +23,7 @@ classifiers = [ ] dependencies = [ "boto3>=1.42.1", - "aws-durable-execution-sdk-python>=1.0.0", + "aws-durable-execution-sdk-python>=2.1.0", ] [project.urls] @@ -66,7 +66,7 @@ dependencies = [ "pytest", "pytest-cov", "ruff", - "aws-durable-execution-sdk-python>=1.0.0", + "aws-durable-execution-sdk-python>=2.1.0", ] [tool.hatch.envs.test.scripts]