You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this release we are excited to announce support for AWS Lambda Managed Instanced across all Powertools utilities, along with .Net 10 support, and a new typed batch decorator.
Thank you @fuguiKz for your first documentation contribution ⭐
What's New
🚀 Lambda Managed Instances Support
This release introduces full thread safety across all Powertools utilities, enabling seamless support for AWS Lambda Managed Instances.
What are Lambda Managed Instances?
Lambda Managed Instances runs your functions on fully-managed EC2 instances in your account, supporting multi-concurrent invocations where a single execution environment processes multiple requests simultaneously. This improves resource utilization for IO-heavy workloads but requires thread-safe code.
🔒 Thread Safety Improvements
To fully support Lambda Managed Instances, we've implemented thread safety across all utilities:
Logging - Per-thread scope storage using ConcurrentDictionary ensures log context isolation between concurrent requests (#1078, #1099)
Tracing - Async context preservation with thread-safe segment management (#1082)
Metrics - Concurrent collections and isolation prevent metric bleed between requests (#1080)
Idempotency - AsyncLocal context and thread-safe configuration for reliable idempotency checks (#1084)
Parameters - Immutable cache objects, atomic cache updates with AddOrUpdate, and Interlocked operations for thread-safe parameter retrieval (#1098)
✨ New Features
Batch Typed Decorator - New type safe decorator for batch processing, providing new interfaces that accept and serialize automatically your custom types. (#1034)
publicclassProduct{publicintId{get;set;}publicstring?Name{get;set;}publicdecimalPrice{get;set;}}publicclassTypedSqsRecordHandler:ITypedRecordHandler<Product>// (1)!{publicasyncTask<RecordHandlerResult>HandleAsync(Productproduct,CancellationTokencancellationToken){/* * Your business logic with automatic deserialization. * If an exception is thrown, the item will be marked as a partial batch item failure. */Logger.LogInformation($"Processing product {product.Id} - {product.Name} (${product.Price})");if(product.Id==4)// (2)!{thrownewArgumentException("Error on id 4");}returnawaitTask.FromResult(RecordHandlerResult.None);// (3)!}}[BatchProcessor(TypedRecordHandler=typeof(TypedSqsRecordHandler))]publicBatchItemFailuresResponseHandlerUsingTypedAttribute(SQSEvent_){returnTypedSqsBatchProcessor.Result.BatchItemFailuresResponse;// (4)!}
🎯 .NET 10 Support
Added .NET 10.0 as a supported target framework (#1105)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
In this release we are excited to announce support for AWS Lambda Managed Instanced across all Powertools utilities, along with .Net 10 support, and a new typed batch decorator.
Thank you @fuguiKz for your first documentation contribution ⭐
What's New
🚀 Lambda Managed Instances Support
This release introduces full thread safety across all Powertools utilities, enabling seamless support for AWS Lambda Managed Instances.
What are Lambda Managed Instances?
Lambda Managed Instances runs your functions on fully-managed EC2 instances in your account, supporting multi-concurrent invocations where a single execution environment processes multiple requests simultaneously. This improves resource utilization for IO-heavy workloads but requires thread-safe code.
🔒 Thread Safety Improvements
To fully support Lambda Managed Instances, we've implemented thread safety across all utilities:
✨ New Features
🎯 .NET 10 Support
Changes
🌟New features and non-breaking changes
📜 Documentation updates
980e11fto3bba0a9in /docs (chore(deps): bump squidfunk/mkdocs-material from980e11fto3bba0a9in /docs #1107) by @dependabot[bot]f5c556ato980e11fin /docs (chore(deps): bump squidfunk/mkdocs-material fromf5c556ato980e11fin /docs #1057) by @dependabot[bot]🔧 Maintenance
980e11fto3bba0a9in /docs (chore(deps): bump squidfunk/mkdocs-material from980e11fto3bba0a9in /docs #1107) by @dependabot[bot]f5c556ato980e11fin /docs (chore(deps): bump squidfunk/mkdocs-material fromf5c556ato980e11fin /docs #1057) by @dependabot[bot]This release was made possible by the following contributors:
@dependabot[bot], @dreamorosi, @fuguiKz, @hjgraca and dependabot[bot]
This discussion was created from the release 3.1.0.
Beta Was this translation helpful? Give feedback.
All reactions