Releases: j-d-ha/minimal-lambda
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.
Changes
π Bug Fixes
v1.3.0
Summary
This release introduces enhanced flexibility for Lambda handler mapping with support for multiple MapHandler invocations using custom feature providers, improving extensibility for complex routing scenarios. The BootstrapHttpClient has been refactored to use dependency injection for better testability and lifecycle management. Documentation has been significantly improved with a comprehensive getting started guide and restructured content, along with updates to align with modern .NET environment variable conventions. The release also includes third-party license attribution updates and CI optimizations for draft pull requests.
Changes
π Features
- feat(source-generators): support multiple MapHandler invocations with custom feature providers (#214) @j-d-ha
- docs: update MkDocs palette toggle configuration (#211) @j-d-ha
π Bug Fixes
π Documentation
π Refactoring
- refactor(host): migrate BootstrapHttpClient from options to dependency injection (#219) @j-d-ha
- refactor(docs): replace ASPNETCORE_ENVIRONMENT with DOTNET_ENVIRONMENT (#216) @j-d-ha
π§ Maintenance
v1.2.1
Summary
Small release to add transitive builds (#202) and fix interceptor namespace (#205).
Changes
π Bug Fixes
- fix: update build versioning (#206) @j-d-ha
- feat(ci): fixed interceptor namespace (#205) @ncipollina
- feat(ci): add transitive builds (#202) @ncipollina
π Documentation
π§ Maintenance
v1.2.0
Summary
This release significantly expands the envelope support in AWS Lambda Host, adding strongly-typed message handling for multiple AWS services. The new envelope implementations enable seamless integration with Kinesis, Kinesis Firehose, Kafka, CloudWatch Logs, Application Load Balancer, and SNS-to-SQS subscription patterns. Additionally, envelope options have been enhanced to support multiple serialization formats, providing greater flexibility for different use cases. Documentation has been standardized across all packages, and internal improvements include refactored JSON options handling for better performance.
Changes
π Features
- feat(envelopes): add SqsSnsEnvelope for SNS-to-SQS subscription pattern (#196) @j-d-ha
- feat(envelopes): add CloudWatch Logs envelope support (#195) @j-d-ha
- feat(envelopes): add Kafka envelope support (#194) @j-d-ha
- feat(envelopes): add Kinesis Firehose envelope support (#193) @j-d-ha
- feat(envelopes): add Kinesis envelope for strongly-typed message handling (#192) @j-d-ha
- feat(envelopes): add Application Load Balancer envelope support (#187) @j-d-ha
- feat(envelopes): expand envelope options for multiple serialization formats (#184) @j-d-ha
π Bug Fixes
π Documentation
- docs: standardize README documentation across all packages (#200) @j-d-ha
- feat(envelopes): add SNS envelope for strongly-typed message handling (#190) @j-d-ha
π Refactoring
π§ Maintenance
v1.1.0
Summary
This release introduces new feature abstractions for stream handling, enhances context accessibility in the Lambda host, and adds source code attribution. Key improvements include CI/CD workflow fixes for release management and new GitHub templates for issue reporting and discussions.
Changes
π Features
- feat(host): add stream feature abstraction layer (#181) @j-d-ha
- feat(core): add ILambdaHostContextAccessor and context factory integration (#178) @j-d-ha
- feat(source-generators): add GeneratedCodeAttribute to all generated code classes (#174) @j-d-ha
π Bug Fixes
- fix(ci): update changelog workflow to create pull request instead of direct commit (#172) @j-d-ha
- fix(ci): add write permissions for release asset uploads (#171) @j-d-ha