Releases: LayeredCraft/minimal-lambda
Release list
v2.7.0
Summary
This release adds durable execution support to MinimalLambda, enabling resumable, stateful Lambda workflows. It also refreshes formatter/layout conventions and modernizes CI and release automation through shared LayeredCraft workflows.
Changes
🚀 Features
🐛 Bug Fixes
🔄 Refactoring
🔧 Maintenance
- ci(github): add manual release drafter trigger (#390) @j-d-ha
- chore: Bump pymdown-extensions from 10.21.3 to 11.0.1 in the uv group across 1 directory (#389) @dependabot[bot], @ncipollina
- chore(deps): Bump the minor-and-patch group across 1 directory with 4 updates (#387) @dependabot[bot], @ncipollina
- chore(deps-dev): Bump js-yaml from 4.3.0 to 4.3.1 (#386) @dependabot[bot], @ncipollina
- chore: Bump the minor-and-patch group with 3 updates (#388) @dependabot[bot]
- chore(deps-dev): Bump fast-uri from 3.1.3 to 3.1.5 (#384) @dependabot[bot], @j-d-ha
- ci(github): use shared PR build workflow (#385) @j-d-ha
- chore: Bump the minor-and-patch group with 11 updates (#382) @dependabot[bot]
- chore(deps): Bump the minor-and-patch group across 1 directory with 5 updates (#378) @dependabot[bot]
- ci(github): align required build check name (#381) @j-d-ha
- ci(github): align NuGet publish workflows (#377) @j-d-ha
- ci(github): migrate to LayeredCraft workflows (#376) @j-d-ha
- chore: Bump the minor-and-patch group with 8 updates (#374) @dependabot[bot]
- chore: Bump the minor-and-patch group with 3 updates (#372) @dependabot[bot]
- chore(deps-dev): Bump @commitlint/cli from 21.2.0 to 21.2.1 in the minor-and-patch group (#371) @dependabot[bot]
- chore: Bump the minor-and-patch group with 4 updates (#370) @dependabot[bot]
- chore(deps-dev): Bump the minor-and-patch group with 2 updates (#369) @dependabot[bot]
- chore: Bump the minor-and-patch group with 4 updates (#368) @dependabot[bot]
- chore: Bump the minor-and-patch group with 8 updates (#365) @dependabot[bot]
- chore: Bump the minor-and-patch group with 11 updates (#363) @dependabot[bot]
v2.6.0
Summary
This release introduces MinimalLambda.Templates, a new dotnet new template package for bootstrapping MinimalLambda AWS Lambda projects. It includes standard and Native AOT templates with app/test project scaffolding, Lambda deployment defaults, MinimalLambda.Testing integration, documentation for common setup flows, and supporting release/dependency maintenance.
Changes
🚀 Features
🐛 Bug Fixes
🔧 Maintenance
- chore(deps-dev): Bump @commitlint/cli from 20.5.0 to 21.0.2 (#356) @dependabot
- chore(deps): Bump the uv group across 1 directory with 2 updates (#353) @dependabot
- chore(deps-dev): Bump @commitlint/config-conventional from 20.5.0 to 21.0.2 (#357) @dependabot
- chore: Bump the minor-and-patch group with 2 updates (#359) @dependabot
- chore: Bump the minor-and-patch group with 13 updates (#358) @dependabot
- chore: Bump the minor-and-patch group with 7 updates (#352) @dependabot
v2.5.0
Summary
This release migrates MinimalLambda documentation to Zensical, adds a MinimalLambda agent skill for coding-agent workflows, and refreshes build/dependency maintenance. It also removes SonarQube integration from CI.
Changes
🚀 Features
📚 Documentation
🔧 Maintenance
- chore(deps-dev): Bump fast-uri from 3.1.0 to 3.1.2 (#347) @dependabot
- chore: Bump jetbrains.resharper.globaltools from 2026.1.0.1 to 2026.1.1 (#346) @dependabot
- chore(deps): update dependencies and formatter config (#345) @j-d-ha
- ci: remove SonarQube integration (#338) @j-d-ha
v2.4.0
Summary
Adds .NET 11 target support alongside the existing targets, keeping the library current with the latest .NET release. Also includes routine dependency and tooling updates.
Changes
🚀 Features
- feat(build): add .NET 11 target support (#334) @ncipollina
🐛 Bug Fixes
🔧 Maintenance
- chore(deps): Bump dependabot/fetch-metadata from 2 to 3 (#331) @dependabot
- chore: Bump jetbrains.resharper.globaltools from 2025.3.4 to 2026.1.0.1 (#333) @dependabot
- chore(deps): Bump actions/upload-pages-artifact from 4 to 5 (#336) @dependabot
- chore(ci): clean up PR validation and release automation (#335) @j-d-ha
- chore: Bump the minor-and-patch group with 1 update (#328) @dependabot
- chore(deps): Bump codecov/codecov-action from 5 to 6 (#321) @dependabot
- chore(deps): Bump actions/deploy-pages from 4 to 5 (#320) @dependabot
- chore(deps): Bump actions/configure-pages from 5 to 6 (#319) @dependabot
- chore(deps): Bump requests from 2.32.5 to 2.33.0 in the uv group across 1 directory (#318) @dependabot
- chore: Bump jetbrains.resharper.globaltools and Microsoft.CodeAnalysis.CSharp (#327) @dependabot
- chore: update pinned dependencies and add git workflow skill (#326) @j-d-ha
- chore: update changelog for v2.3.1 (#317) @changelog-auto-update
v2.3.1
Summary
This patch release pins Microsoft.CodeAnalysis* packages back to 5.0.0 to work around a Roslyn regression (dotnet/roslyn#82780) introduced in 5.3.0 where source-generator interceptors are silently not applied by the compiler — causing Lambda handler wiring to not execute at runtime. This is a temporary pin until the upstream fix ships.
Changes
🐛 Bug Fixes
- fix(deps): downgrade Microsoft.CodeAnalysis packages to 5.0.0 (#316) @j-d-ha
- fix(ci): use GitHub App token in changelog update workflow (#312) @j-d-ha
🔧 Maintenance
- chore(deps): Bump go-task/setup-task from 1 to 2 (#313) @dependabot
- chore(deps): Bump actions/create-github-app-token from 2 to 3 (#314) @dependabot
v2.3.0
Changes
🚀 Features
🐛 Bug Fixes
🔄 Refactoring
✅ Tests
🔧 Maintenance
- chore: Bump the minor-and-patch group with 20 updates (#307) @dependabot
- chore: Bump jetbrains.resharper.globaltools from 2025.3.1 to 2025.3.3 (#310) @dependabot
- chore(deps-dev): bump the minor-and-patch group with 2 updates (#299) @dependabot
- chore(deps): bump dotnet-sdk from 10.0.101 to 10.0.201 (#306) @dependabot
- chore(deps-dev): bump the minor-and-patch group with 2 updates (#296) @dependabot
- chore: bump urllib3 from 2.5.0 to 2.6.3 in the uv group across 1 directory (#286) @dependabot
- chore: Bump the minor-and-patch group with 16 updates (#287) @dependabot
- chore(deps): bump dotnet-sdk from 10.0.101 to 10.0.102 (#285) @dependabot
v2.2.0
Summary
This release focuses on improving the testing infrastructure and source generator architecture. Key highlights include multi-target test support, snapshot testing enhancements, and a major refactoring of the source generator codebase for better maintainability. CI workflows have been enhanced with auto-approval for automated PRs.
Changes
🚀 Features
- feat(ci): add auto-approval to automated PR workflows (#283) @j-d-ha
- feat(tests): add multi-targeting and source generator improvements (#274) @j-d-ha
- feat(tests): add scrubbers for dynamic snapshot values (#273) @j-d-ha
🔄 Refactoring
- refactor(source-generators): modularize code generation and improve generated file organization (#280) @j-d-ha
- refactor(source-generators): simplify and restructure code generation logic (#279) @j-d-ha
🔧 Maintenance
- chore: bump the minor-and-patch group with 6 updates (#281) @dependabot
- chore(deps-dev): Bump the minor-and-patch group with 2 updates (#277) @dependabot
- chore: Bump the minor-and-patch group with 4 updates (#275) @dependabot
v2.1.1
Summary
This release brings significant enhancements to MinimalLambda's middleware capabilities and compiler compatibility. The highlight features include comprehensive AOT (Ahead-of-Time) compilation support, enabling better performance and reduced cold starts on AWS Lambda, along with expanded middleware creation patterns, including factory-based and class-based approaches.
Changes
🚀 Features
- feat(build): add comprehensive AOT compatibility support (#267) @j-d-ha
- feat(host): add factory-based middleware creation support (#266) @j-d-ha
- feat(source-generators): add class-based middleware support with UseMiddleware() (#257) @j-d-ha
🐛 Bug Fixes
- fix: prevent validation project from being packaged (#270) @j-d-ha
- fix(ci): add Task installation step to main-build pipeline (#268) @j-d-ha
🔧 Maintenance
- fix(ci): add Task installation step to main-build pipeline (#268) @j-d-ha
- chore: migrate InternalsVisibleTo declarations to project files (#265) @j-d-ha
- chore(deps): migrate to LayeredCraft.SourceGeneratorTools.Generator v0.1.0-beta.10 (#264) @j-d-ha
- chore: update changelog for v2.0.0 (#256) @github-actions
v2.0.0
Summary
This major release represents a complete rebranding from AwsLambda.Host to MinimalLambda, along with significant API improvements and the introduction of a new testing package. The release includes three breaking changes that require migration steps, new lifecycle handler capabilities, enhanced testing support, and improved envelope handling for multiple response types.
Key highlights:
- Framework rebranding: All packages renamed from
AwsLambda.*toMinimalLambda.* - New testing package:
MinimalLambda.Testingfor simplified Lambda function testing - Lifecycle handlers: New
ILambdaLifecycleContextfor managing Lambda lifecycle events - Enhanced envelopes: Support for multiple response types with shared extension methods
- API refinements: More intuitive naming conventions for core interfaces and attributes
Migration Steps
1. Framework Renamed: AwsLambda.Host → MinimalLambda
-
Update package references in your
.csprojfiles:<!-- OLD --> <PackageReference Include="AwsLambda.Host" Version="x.x.x" /> <PackageReference Include="AwsLambda.Abstractions" Version="x.x.x" /> <PackageReference Include="AwsLambda.OpenTelemetry" Version="x.x.x" /> <!-- NEW --> <PackageReference Include="MinimalLambda" Version="x.x.x" /> <PackageReference Include="MinimalLambda.Abstractions" Version="x.x.x" /> <PackageReference Include="MinimalLambda.OpenTelemetry" Version="x.x.x" />
-
Update namespace imports throughout your codebase:
// OLD using AwsLambda.Host; using AwsLambda.Abstractions; using AwsLambda.OpenTelemetry; // NEW using MinimalLambda; using MinimalLambda.Abstractions; using MinimalLambda.OpenTelemetry;
-
Perform a global find-and-replace:
- Search:
AwsLambda.Host→ Replace:MinimalLambda - Search:
AwsLambda.Abstractions→ Replace:MinimalLambda.Abstractions - Search:
AwsLambda.OpenTelemetry→ Replace:MinimalLambda.OpenTelemetry
- Search:
2. ILambdaHostContext → ILambdaInvocationContext
- Update interface references in handler methods:
// OLD lambda.MapHandler((ILambdaHostContext context) => { var requestId = context.AwsRequestId; return Results.Ok(requestId); }); // NEW lambda.MapHandler((ILambdaInvocationContext context) => { var requestId = context.AwsRequestId; return Results.Ok(requestId); });
3. [Event] Attribute → [FromEvent] Attribute
- Update attribute usage in handler method parameters:
// OLD lambda.MapHandler(([Event] MyEvent evt) => { return Results.Ok(evt.Message); }); // NEW lambda.MapHandler(([FromEvent] MyEvent evt) => { return Results.Ok(evt.Message); });
Changes
🚀 Features
- feat(host): add ILambdaLifecycleContext for lifecycle handlers (#252) @j-d-ha
- feat(testing): add customizable JSON serializer options to LambdaTestServer (#251) @j-d-ha
- feat(envelopes): support multiple response types with shared extension methods (#213) @j-d-ha
- feat(testing): add MinimalLambda.Testing package (#233) @j-d-ha
- feat(docs): refine messaging to emphasize Lambda-first design (#228) @j-d-ha
🐛 Bug Fixes
- fix(testing): prevent DI container disposal during test execution (#234) @j-d-ha
- fix(build): add build targets for packaging (#231) @j-d-ha
- fix(core): adjust default timeout values and update documentation (#226) @j-d-ha
📚 Documentation
🔄 Refactoring
- refactor(source-generators): improve type casting and output generation (#254) @j-d-ha
- refactor(abstractions): rename ILambdaHostContext to ILambdaInvocationContext (#253) @j-d-ha
- refactor(core): replace [Event] attribute with [FromEvent] (#250) @j-d-ha
- refactor: rename framework from AwsLambda.Host to MinimalLambda (#227) @j-d-ha
🔧 Maintenance
- chore(deps): bump dotnet-sdk from 10.0.100 to 10.0.101 (#239) @dependabot
- chore(deps): bump actions/checkout from 4 to 6 (#241) @dependabot
- chore(deps): bump the minor-and-patch group with 2 updates (#242) @dependabot
- chore(deps): bump actions/setup-python from 5 to 6 (#245) @dependabot
- chore(deps): bump actions/upload-pages-artifact from 3 to 4 (#246) @dependabot
- chore(github): add pip ecosystem and ignore release-drafter (#248) @j-d-ha
- chore(deps): Bump the minor-and-patch group with 12 updates (#247) @dependabot
- chore(deps): update Microsoft.Extensions.Hosting from RC to stable (#232) @j-d-ha
- chore: remove obsolete code and deprecated features (#229) @j-d-ha
⚠️ Breaking Changes
v1.3.1
Summary
This release fixes missing TenantId and TraceId properties in DefaultLambdaHostContext, ensuring complete context information is available for Lambda function execution. Additionally, resolves a CI issue by removing the sign-commits configuration from the changelog workflow.