Skip to content

Releases: j-d-ha/minimal-lambda

v2.5.0

09 May 13:55
1b182f1

Choose a tag to compare

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

  • docs: migrate documentation to Zensical (#339) @j-d-ha

🔧 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

17 Apr 19:01
533d755

Choose a tag to compare

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

🐛 Bug Fixes

  • fix(build): suppress NU5104 for preview TFM dependencies (#337) @j-d-ha

🔧 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

23 Mar 15:52
00a8049

Choose a tag to compare

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

21 Mar 00:16
e58fa54

Choose a tag to compare

Changes

🚀 Features

  • feat(testing): migrate test infrastructure to Microsoft Testing Platform (#288) @j-d-ha

🐛 Bug Fixes

  • fix(deps): switch xunit to mtp-v2 and fix Scriban build error (#309) @j-d-ha

🔄 Refactoring

  • refactor: consolidate code style and improve readability (#291) @j-d-ha

✅ Tests

  • github: rewrite PR guide for clarity and detail (#294) @j-d-ha

🔧 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

12 Jan 17:02
6ec375c

Choose a tag to compare

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

22 Dec 00:45
a4dbd43

Choose a tag to compare

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

18 Dec 13:42
ad77c7f

Choose a tag to compare

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.* to MinimalLambda.*
  • New testing package: MinimalLambda.Testing for simplified Lambda function testing
  • Lifecycle handlers: New ILambdaLifecycleContext for 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

  1. Update package references in your .csproj files:

    <!-- 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" />
  2. 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;
  3. Perform a global find-and-replace:

    • Search: AwsLambda.Host → Replace: MinimalLambda
    • Search: AwsLambda.Abstractions → Replace: MinimalLambda.Abstractions
    • Search: AwsLambda.OpenTelemetry → Replace: MinimalLambda.OpenTelemetry

2. ILambdaHostContext → ILambdaInvocationContext

  1. 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

  1. 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

  • docs: document MinimalLambda.Testing package and enhance testing guide (#235) @j-d-ha

🔄 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

  • refactor(abstractions): rename ILambdaHostContext to ILambdaInvocationContext (#253) @j-d-ha
  • feat(host): add ILambdaLifecycleContext for lifecycle handlers (#252) @j-d-ha
  • refactor: rename framework from AwsLambda.Host to MinimalLambda (#227) @j-d-ha

v1.3.1

10 Dec 21:19
b71126c

Choose a tag to compare

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

  • fix(core): add missing TenantId and TraceId properties to DefaultLambdaHostContext (#224) @j-d-ha
  • fix(ci): remove sign-commits from changelog workflow (#223) @j-d-ha

v1.3.0

10 Dec 13:31
35db78d

Choose a tag to compare

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

  • fix: update third-party license attributions (#217) @j-d-ha

📚 Documentation

  • docs: add comprehensive getting started guide and restructure documentation (#209) @j-d-ha

🔄 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

  • ci(github): optimize workflow triggers for draft PRs (#215) @j-d-ha

v1.2.1

30 Nov 21:30
ba3d767

Choose a tag to compare

Summary

Small release to add transitive builds (#202) and fix interceptor namespace (#205).

Changes

🐛 Bug Fixes

📚 Documentation

  • docs: add GitHub Pages landing page with MkDocs (#203) @j-d-ha

🔧 Maintenance

  • ci: skip build workflows for docs-only changes (#204) @j-d-ha
  • chore(github): enhance changelog update workflow (#201) @j-d-ha