Skip to content

Releases: LayeredCraft/minimal-lambda

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 30 Nov 21:30
ba3d767

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

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 29 Nov 20:00
6ece85a

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

  • fix(ci): add explicit token to checkout and create-pull-request actions (#183) @j-d-ha

📚 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

  • refactor(abstractions): replace Lazy implementation with property for JSON options (#199) @j-d-ha

🔧 Maintenance

  • chore: cleanup repository formatting and documentation (#197) @j-d-ha
  • chore(ci): pinned release-drafter action to 6.0.0 (#182) @j-d-ha

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 26 Nov 21:26
b6e3399

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

📚 Documentation

  • docs: add GitHub issue and discussion templates (#176) @j-d-ha

🔧 Maintenance

  • chore(github): update changelog for v1.0.0 release (#170) @j-d-ha

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Nov 02:18
e0bccd9

Summary

This release represents a major architectural rewrite of the AwsLambda.Host framework. The codebase has been fundamentally redesigned to improve maintainability, extensibility, and developer experience while maintaining the core Lambda hosting functionality.

🎯 Key Highlights

1. Modular Builder Architecture
Replaced the monolithic ILambdaApplication interface with three specialized, focused builder interfaces (ILambdaInvocationBuilder, ILambdaOnInitBuilder, ILambdaOnShutdownBuilder). This provides clearer separation of concerns and a more intuitive API for configuring Lambda applications.

2. Modular Envelope System
Introduced a new, extensible envelope system for strongly-typed event handling. Out of the box, you get built-in support for API Gateway (v1 & v2) and SQS events with automatic payload extraction and response packing. The system is designed for easy extension to support additional event sources. More Envelopes are coming soon!

3. Enhanced Feature Collection System
Implemented a modern feature collection pattern allowing strongly-typed access to event data and response objects through IFeatureCollection. This replaces ad-hoc context properties with a clean, composable approach to managing invocation-scoped data.

4. Restructured Codebase
Reorganized the project hierarchy into logical layers (Builder, Core, Context, Runtime) and improved the namespace organization for better code navigation and maintainability.

5. Comprehensive Test Suite
Added 67+ new unit test classes with extensive coverage of the builder pattern, context management, feature collections, and lifecycle handlers—ensuring reliability across the refactored architecture.

⚠️ Breaking Changes

This is a major version release with significant breaking changes:

  • ILambdaApplication interface removed → migrate to ILambdaInvocationBuilder, ILambdaOnInitBuilder, ILambdaOnShutdownBuilder
  • Extensive namespace reorganization (features now in AwsLambda.Host.Core.Features.*, builders in AwsLambda.Host.Builder.*)
  • Lambda serializer registration moved from LambdaHostOptions to dependency injection
  • Old lifecycle orchestrator classes removed in favor of new builder factory pattern
  • Requires C# 14 or later for consuming applications (due to extension member syntax)
    See the detailed PR descriptions for migration guidance.

📦 New Packages & Features

  • Two new envelope packages: AwsLambda.Host.Envelopes.ApiGateway and AwsLambda.Host.Envelopes.Sqs
  • New benchmarking project to track performance metrics
  • Enhanced documentation with updated READMEs for all packages
  • New example project (AwsLambda.Host.Example.Events) demonstrating event handling with strongly-typed payloads

🔧 Technical Improvements

  • Refactored builder entrypoint with improved configuration handling
  • New ServiceCollectionExtensions for fluent DI registration
  • Enhanced content root resolution with additional test coverage
  • Updated CI/CD workflows (skipped for draft PRs, GitHub Actions upgrades)
  • Improved code organization and reduced duplication throughout the codebase

Changes

🚀 Features

  • feat(host): refactor builder entrypoint and improve configuration (#166) @j-d-ha
  • test(source-generators): add comprehensive tests for HashCode type (#153) @j-d-ha
  • feat(envelopes): add modular envelope system for Lambda event handling (#131) @j-d-ha

🐛 Bug Fixes

  • fix: resolve Sonar findings in tests and runtime code (#147) @j-d-ha

📚 Documentation

  • docs: enhance package README overviews with detailed feature descriptions (#124) @j-d-ha

🔄 Refactoring

  • refactor(core): refactor lambda application and builder (#163) @j-d-ha
  • refactor(host): reorganize folder structure with hierarchical layers (#146) @j-d-ha

✅ Tests

  • test(source-generators): add comprehensive tests for HashCode type (#153) @j-d-ha

🔧 Maintenance

  • chore(deps): Bump the minor-and-patch group with 1 update (#165) @dependabot[bot]
  • chore(github): configure Dependabot to use conventional commits (#164) @j-d-ha
  • chore(deps): bump actions/checkout from 5 to 6 (#158) @dependabot[bot]
  • chore(deps-dev): bump husky from 8.0.3 to 9.1.7 (#149) @dependabot[bot]
  • chore(deps-dev): bump @commitlint/cli from 18.6.1 to 20.1.0 (#150) @dependabot[bot]
  • chore(deps-dev): bump @commitlint/config-conventional from 18.6.3 to 20.0.0 (#151) @dependabot[bot]
  • feat(opentelemetry): add OpenTelemetry unit tests and update dependencies (#148) @j-d-ha
  • chore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 in the npm_and_yarn group across 1 directory (#132) @dependabot[bot]
  • ci: skip workflows for draft pull requests (#127) @j-d-ha
  • ci: skip pr build for draft pull requests (#126) @j-d-ha
  • ci(github): replace softprops action with gh release upload command (#123) @j-d-ha
  • chore(deps): bump amannn/action-semantic-pull-request from 5.4.0 to 6.1.1 (#121) @dependabot[bot]
  • chore(deps): bump peter-evans/create-pull-request from 5 to 7 (#119) @dependabot[bot]
  • chore(deps): bump actions/checkout from 4 to 5 (#118) @dependabot[bot]
  • chore(deps): bump stefanzweifel/git-auto-commit-action from 5 to 7 (#117) @dependabot[bot]
  • chore(deps): bump release-drafter/release-drafter from 6.0.0 to 6.1.0 in the minor-and-patch group (#116) @dependabot[bot]

⚠️ Breaking Changes

  • feat(host): refactor builder entrypoint and improve configuration (#166) @j-d-ha
  • refactor(core): refactor lambda application and builder (#163) @j-d-ha
  • refactor(host): reorganize folder structure with hierarchical layers (#146) @j-d-ha
  • feat(envelopes): add modular envelope system for Lambda event handling (#131) @j-d-ha

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 10 Nov 01:26
bb08302

Summary

Working on getting the package to publish through the pipeline.

Changes

🐛 Bug Fixes

  • fix: prevent example projects from being packed during release (#115) @j-d-ha

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 10 Nov 00:28
2267029

Summary

Small release to fix pipeline publish issues.

Changes

🔧 Maintenance

  • ci(github): get NuGet package version from release tag (#113) @j-d-ha

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 09 Nov 23:45
3650f32

Changes in this Release

🔧 Maintenance

  • chore(ci): replace release notes workflow with changelog updater (#112) @j-d-ha

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 20:18
cd3dc2c

Changes in this Release

Initial release

🐛 Bug Fixes

  • fix: updated release drafter workflow and template as well as commit lint config (#111) @j-d-ha
  • fix: configure autolabeler and improve release-drafter workflow (#110) @j-d-ha
  • fix: configure autolabeler and improve release-drafter workflow (#110) @j-d-ha