Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions .autover/changes/durable-execution-analyzers.json

This file was deleted.

11 changes: 0 additions & 11 deletions .autover/changes/durable-execution-required-timeout.json

This file was deleted.

This file was deleted.

11 changes: 0 additions & 11 deletions .autover/changes/durable-execution-testing-runner-fixes.json

This file was deleted.

10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
## Release 2026-07-02

### Amazon.Lambda.DurableExecution (0.2.0-preview)
* Add Roslyn analyzers (DE001-DE004) that catch common durable-execution authoring mistakes at build time, bundled in the package so they activate automatically for consumers. DE001 (Warning) flags non-deterministic APIs (DateTime.Now, Guid.NewGuid(), Random, Stopwatch, Environment.TickCount, crypto RNG) used in workflow code outside a step. DE002 (Warning) flags a durable operation invoked inside a step body via the captured outer IDurableContext. DE003 (Warning) flags mutation of a captured outer-scope variable inside a durable-operation delegate. DE004 (Info) suggests ParallelAsync/MapAsync over Task.WhenAll/Task.WhenAny for durable tasks. DE001 and DE004 include code fixes. Preview.
### Amazon.Lambda.Annotations (2.2.0)
* Breaking Change: Make ExecutionTimeout a required constructor argument on [DurableExecution]. The Lambda service rejects a durable function whose DurableConfig has no ExecutionTimeout, so the source generator now always emits it and never produces an empty DurableConfig block that would fail deployment. RetentionPeriodInDays remains an optional named property.
### Amazon.Lambda.DurableExecution.Testing (0.1.0-preview)
* Add Amazon.Lambda.DurableExecution.Testing package
* Fix local test runner spinning on real timers/retry backoffs when SkipTime is disabled by delaying until the next scheduled resume time, and throw an actionable error when WaitForResultAsync is called without a prior StartAsync

## Release 2026-06-26

### Amazon.Lambda.DurableExecution (0.1.2-preview)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<IncludeBuildOutput>false</IncludeBuildOutput>

<Version>2.1.0</Version>
<Version>2.2.0</Version>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<AssemblyOriginatorKeyFile>..\..\..\buildtools\public.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>

<Version>2.1.0</Version>
<Version>2.2.0</Version>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<Nullable>enable</Nullable>
<ImplicitUsings>disable</ImplicitUsings>

<Version>0.1.2-preview</Version>
<Version>0.2.0-preview</Version>
<Description>Roslyn analyzers and code fixes for Amazon.Lambda.DurableExecution — catches durable-execution determinism and authoring mistakes (DE001-DE004) at build time.</Description>
<AssemblyTitle>Amazon.Lambda.DurableExecution.Analyzers</AssemblyTitle>
<AssemblyName>Amazon.Lambda.DurableExecution.Analyzers</AssemblyName>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<TargetFrameworks>$(DefaultPackageTargets)</TargetFrameworks>
<Description>Testing utilities for Amazon Lambda Durable Execution - test durable workflows locally without deploying to AWS.</Description>
<AssemblyTitle>Amazon.Lambda.DurableExecution.Testing</AssemblyTitle>
<Version>0.0.1-preview</Version>
<Version>0.1.0-preview</Version>
<AssemblyName>Amazon.Lambda.DurableExecution.Testing</AssemblyName>
<PackageId>Amazon.Lambda.DurableExecution.Testing</PackageId>
<PackageTags>AWS;Amazon;Lambda;Durable;Workflow;Testing</PackageTags>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<TargetFrameworks>$(DefaultPackageTargets)</TargetFrameworks>
<Description>Amazon Lambda .NET SDK for Durable Execution - write multi-step workflows that persist state automatically.</Description>
<AssemblyTitle>Amazon.Lambda.DurableExecution</AssemblyTitle>
<Version>0.1.2-preview</Version>
<Version>0.2.0-preview</Version>
<AssemblyName>Amazon.Lambda.DurableExecution</AssemblyName>
<PackageId>Amazon.Lambda.DurableExecution</PackageId>
<PackageTags>AWS;Amazon;Lambda;Durable;Workflow</PackageTags>
Expand Down Expand Up @@ -46,13 +46,8 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="$(DurableAnalyzersDir)Amazon.Lambda.DurableExecution.Analyzers.csproj"
ReferenceOutputAssembly="false"
PrivateAssets="all" />
<None Include="$(DurableAnalyzersDir)bin\$(Configuration)\netstandard2.0\Amazon.Lambda.DurableExecution.Analyzers.dll"
Pack="true"
PackagePath="analyzers/dotnet/cs"
Visible="false" />
<ProjectReference Include="$(DurableAnalyzersDir)Amazon.Lambda.DurableExecution.Analyzers.csproj" ReferenceOutputAssembly="false" PrivateAssets="all" />
<None Include="$(DurableAnalyzersDir)bin\$(Configuration)\netstandard2.0\Amazon.Lambda.DurableExecution.Analyzers.dll" Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Description": "This template is partially managed by Amazon.Lambda.Annotations (v2.1.0.0).",
"Description": "This template is partially managed by Amazon.Lambda.Annotations (v2.2.0.0).",
"Resources": {
"AnnotationsHttpApi": {
"Type": "AWS::Serverless::HttpApi",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Description": "An AWS Serverless Application with a durable execution function, deployed via CloudFormation for integration testing. This template is partially managed by Amazon.Lambda.Annotations (v2.1.0.0).",
"Description": "An AWS Serverless Application with a durable execution function, deployed via CloudFormation for integration testing. This template is partially managed by Amazon.Lambda.Annotations (v2.2.0.0).",
"Resources": {
"TestDurableServerlessAppFunctionWorkflowGenerated": {
"Type": "AWS::Serverless::Function",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Description": "An AWS Serverless Application. This template is partially managed by Amazon.Lambda.Annotations (v2.1.0.0).",
"Description": "An AWS Serverless Application. This template is partially managed by Amazon.Lambda.Annotations (v2.2.0.0).",
"Parameters": {
"ArchitectureTypeParameter": {
"Type": "String",
Expand Down
2 changes: 1 addition & 1 deletion Libraries/test/TestServerlessApp.ALB/serverless.template
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Description": "ALB Integration Test Stack - VPC and ALB infrastructure for testing Lambda ALB annotations This template is partially managed by Amazon.Lambda.Annotations (v2.1.0.0).",
"Description": "ALB Integration Test Stack - VPC and ALB infrastructure for testing Lambda ALB annotations This template is partially managed by Amazon.Lambda.Annotations (v2.2.0.0).",
"Resources": {
"ALBTestVPC": {
"Type": "AWS::EC2::VPC",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Description": "This template is partially managed by Amazon.Lambda.Annotations (v2.1.0.0).",
"Description": "This template is partially managed by Amazon.Lambda.Annotations (v2.2.0.0).",
"Resources": {
"TestServerlessAppNET8FunctionsToUpperGenerated": {
"Type": "AWS::Serverless::Function",
Expand Down
2 changes: 1 addition & 1 deletion Libraries/test/TestServerlessApp/serverless.template
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Description": "This template is partially managed by Amazon.Lambda.Annotations (v2.1.0.0).",
"Description": "This template is partially managed by Amazon.Lambda.Annotations (v2.2.0.0).",
"Parameters": {
"ArchitectureTypeParameter": {
"Type": "String",
Expand Down
Loading