Skip to content

Releases: aws/aws-lambda-dotnet

Release 2026-07-02 #2

Choose a tag to compare

Release 2026-07-02 #2

Amazon.Lambda.Templates (8.1.0)

  • Add lambda.DurableFunction and serverless.DurableFunction blueprints (vs2026) for Lambda durable execution workflows. lambda.DurableFunction uses the class-library static-wrapper model (DurableFunction.WrapAsync) and deploys via dotnet lambda deploy-function; serverless.DurableFunction uses the annotations model ([LambdaFunction] + [DurableExecution]) and deploys via CloudFormation (serverless.template). Both target the managed dotnet10 runtime and ship a sample ProcessOrder workflow plus a local test project driven by Amazon.Lambda.DurableExecution.Testing. Preview.

Release 2026-07-02

Choose a tag to compare

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

Choose a tag to compare

Release 2026-06-26

Amazon.Lambda.DurableExecution (0.1.2-preview)

  • Add internal IDurableServiceClient abstraction over the durable execution service RPCs so the testing package can inject an in-memory implementation; route DurableFunction.WrapAsync overloads through it.

Release 2026-06-25

Choose a tag to compare

Release 2026-06-25

Amazon.Lambda.Annotations (2.1.0)

  • Add [DurableExecution] attribute and source generator support for durable execution functions. A method annotated with [LambdaFunction] and [DurableExecution] generates a handler wrapper that delegates to Amazon.Lambda.DurableExecution.DurableFunction.WrapAsync, and emits a DurableConfig block plus the lambda:CheckpointDurableExecution / lambda:GetDurableExecutionState IAM permissions in the generated CloudFormation/SAM template. Supports both the executable and class-library programming models on the managed runtime. Validates Zip packaging, the (TInput, IDurableContext) -> Task/Task signature, and the RetentionPeriodInDays / ExecutionTimeout bounds (AWSLambda0141-AWSLambda0144). Preview.

Release 2026-06-22 #3

Choose a tag to compare

Release 2026-06-22 #3

Amazon.Lambda.DurableExecution (0.1.1-preview)

  • Identify durable-execution requests with an user-agent component so the service can track .NET SDK usage at runtime, matching the sibling Python/Java/JS SDKs.

Amazon.Lambda.Core (3.1.1)

  • Fix type load issue due to Lambda Response Streaming. #2430

Amazon.Lambda.RuntimeSupport (2.1.2)

  • Fix type load issue due to Lambda Response Streaming. #2430

Release 2026-06-22

Choose a tag to compare

Release 2026-06-22

Amazon.Lambda.DurableExecution (0.1.0-preview)

  • Implement NestingType.Flat for ParallelAsync and MapAsync (previously threw NotSupportedException). Under Flat, each branch/item runs in a virtual context that emits no per-branch CONTEXT checkpoint; per-branch results and errors are recorded inline on the parent operation's payload, reducing checkpoint volume. Operations inside a flat branch (steps, waits) still checkpoint, re-parented to the parallel/map operation. NestingType.Nested remains the default.
  • Handle large results (over the 256 KB per-operation checkpoint limit) for , , and . When a Flat concurrent operation's summary or a child context's result exceeds the limit, the inline result is stripped from the checkpoint and the operation is flagged with ; on a later replay the unit/child bodies are re-executed to recover the stripped values without re-checkpointing the already-terminal parent. Plain and results are unaffected, matching the Python/Java/JS SDKs.
  • Enforce the request byte limit: the batcher pre-flushes before an operation update would push a batch over the byte (or count) cap, and sends an oversized update on its own.

Release 2026-06-17

Choose a tag to compare

Release 2026-06-17

Amazon.Lambda.DurableExecution (0.0.3-preview)

  • Rename the durable execution logging scope key from to so the AWS Lambda console correctly surfaces an execution's logs.
  • Add to for processing a collection in parallel with one child context per item and automatic checkpointing.
  • Breaking: renamed the concurrent-operation parent checkpoint payload field from (shipped format) to . The deserializer only binds , so durable executions checkpointed by earlier SDK versions will deserialize with an empty unit list and lose their per-unit names/statuses (including drift detection) on replay. In-flight workflows started on an earlier version should be drained before upgrading.

Release 2026-06-15

Choose a tag to compare

Release 2026-06-15

Amazon.Lambda.DurableExecution (0.0.2-preview)

  • Add to for running multiple workflow branches concurrently with automatic checkpointing.

Release 2026-06-11

Choose a tag to compare

Release 2026-06-11

Amazon.Lambda.DurableExecution (0.0.1-preview)

  • Thread CancellationToken into every user Func accepted by IDurableContext (StepAsync, RunInChildContextAsync, WaitForCallbackAsync, WaitForConditionAsync). The token links the caller-supplied cancellation token with an SDK-owned workflow-shutdown signal so user step bodies unwind cleanly when the workflow is being torn down. Cancellation via the linked token is not checkpointed; user-thrown OperationCanceledException unrelated to the linked token continues to be treated as a normal step failure.
  • Initial preview release of the Durable Execution SDK for .NET. Build long-running Lambda workflows with automatic checkpointing via , , , , and on .
  • Add WaitForConditionAsync polling primitive: IDurableContext.WaitForConditionAsync, IConditionCheckContext, WaitForConditionConfig, IWaitStrategy, WaitDecision, WaitStrategy factory (Exponential/Linear/Fixed/FromDelegate), and WaitForConditionException with AttemptsExhausted and LastState

Release 2026-05-28

Choose a tag to compare

Release 2026-05-28

Amazon.Lambda.RuntimeSupport (2.1.1)

  • Fix thread pool starvation under multi-concurrency