Releases: aws/aws-lambda-rust-runtime
1.1.0-rc1 - Concurrent Execution + Multi-tenancy support
Release Changelog
[1.1.0-rc1] - 2026-01-06: Lambda Managed Instance + Multi-tenancy support.
AWS Lambda Rust Runtime 1.1.0-rc1 adds multi-tenancy support via tenant_id in Context and experimental concurrent execution through Lambda Managed Instances via worker pools. Updates minimum Rust to 1.84.0.
Concurrent execution is currently experimental and should not be used for production workloads at this time.
Added
- Multi-tenancy Support: Added tenant_id field to Context struct for multi-tenancy scenarios
- Lambda Managed Instances (LMI): Experimental concurrent execution support with run_concurrent() functions
- Worker Pool Model: N-worker architecture based on AWS_LAMBDA_MAX_CONCURRENCY environment variable
- API Client Pooling: Enhanced API client with connection pooling for concurrent requests
- Concurrent Streaming: BoxCloneService support for concurrent HTTP streaming responses
- New Examples:
• basic-tenant-id demonstrating multi-tenancy features
• basic-lambda-concurrent showcasing concurrent execution - Experimental Feature Flag: experimental-concurrency to gate new concurrent APIs
Changed
• MSRV: Updated minimum supported Rust version from 1.82.0 to 1.84.0
• X-Ray Tracing: X-Ray trace ID now sourced from Context instead of environment variables
• Cargo Resolver: Updated to resolver version 3 with MSRV awareness
Fixed
• Authentication: Resolved auth issue in integration tests
• Worker Isolation: Enhanced worker supervision and error handling for concurrent execution
Infrastructure
• Automated Releases: Added release-plz configuration for automated version management
• Enhanced Testing: Improved RIE (Runtime Interface Emulator) testing with LMI support
• CI Updates: Updated GitHub Actions workflows for new features
Dependencies
• Updated reqwest from 0.12.5 to 0.13.1
• Various npm package updates in examples
Version Updates
Experimental Releases (RC1)
• lambda-runtime: 1.0.2 → 1.1.0-rc1
• lambda-http: 1.0.2 → 1.1.0-rc1
Stable Releases
• lambda-events: 1.0.2 → 1.0.3
• lambda-extension: 1.0.1 → 1.0.2
• lambda-runtime-api-client: 1.0.1 → 1.0.2
Breaking Changes
None. All new features are additive or behind feature flags.
Migration Guide
• Tenant ID: Access via context.tenant_id (optional field, no migration required)
• Concurrent Execution: Enable experimental-concurrency feature and use run_concurrent() instead of run()
• MSRV: Ensure Rust 1.84.0 or later for compilation
Commits
- fix: resolve auth issue by @bnusunny in #1075
- chore(deps): bump js-toml and cargo-lambda-cdk in /examples/advanced-appconfig-feature-flags/cdk by @dependabot[bot] in #1050
- chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /examples/advanced-appconfig-feature-flags/cdk by @dependabot[bot] in #1059
- chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /examples/http-axum/cdk by @dependabot[bot] in #1071
- chore(deps): bump brace-expansion in /examples/advanced-appconfig-feature-flags/cdk by @dependabot[bot] in #1032
- refactor: update MSRV to 1.84, enable MSRV-aware resolver by @jlizen in #1078
- feat: support Lambda Managed Instances by @alessandrobologna in #1067
- chore(deps): update reqwest requirement from 0.12.5 to 0.13.1 by @dependabot[bot] in #1081
- Add tenant-id support by @FullyTyped in #1082
- Enable automated releases by @FullyTyped in #1083
- Bump versions by @FullyTyped in #1084
Full Changelog: v1.0.2...v1.1.0-rc1
lambda_http@1.0.2, aws_lambda_events@1.0.2, lambda_runtime@1.0.2
This is a minor bug fix release.
What's Changed
- chore(docs): Fix grammar in uv install instructions by @jlizen in #1056
- fix(lambda-runtime): ensure if a client disconnects while streaming, the handler does not panic by @zakhenry in #1068
- feat(lambda-events): Improve ergonomics of
SqsBatchResponseandKinesisEventResponseby @lmammino in #1063 - Assorted CI fixes by @jlizen in #1072
- chore: bump version for release 1.0.2 by @bnusunny in #1074
New Contributors
Full Changelog: v1.0.1...v1.0.2
Release 1.0
What's new
Today, AWS Lambda is promoting Rust support from Experimental to Generally Available. This means you can now use Rust to build business-critical serverless applications, backed by AWS Support and the Lambda availability SLA.
Full Changelog: v0.8.0...v1.0
Lambda-http@0.8.4
lambda_http@0.17.0, aws_lambda_events@0.18.0, lambda_runtime_api_client@0.12.4, lambda_runtime@0.14.4
What's Changed
- fix(lambda-events): derive Default on various Events by @pmd3d in #1022
- fix(semver): bump lamda-http to
0.16.0due to breaking change in dependency,aws_lambda_eventsby @jlizen in #1025 - chore(ci): unpin cargo lambda in integration test ci by @jlizen in #1026
- Fix CI checks by @s0l0ist in #1030
- Expose streaming API by @s0l0ist in #1013
- fix: serialize
AlbTargetGroupRequest::query_string_parametersvalue to string by @DiscreteTom in #955 - chore: prepare lambda_http@0.17.0, lambda_events@0.18.0, lambda_runtime_api_client@0.12.4, lambda_runtime@0.14.4 by @jlizen in #1034
Notable changes
lambda-http: AddedStreamAdapterAPI. This allows adding layers to lambda runtime (ie, prior to it converting a request fromLambdaEvent<LambdaRequest>to a httpRequest, or the http request back to a lambda response). Previously the streaming API only supported layers on the http server. This is useful for eg adding otel layers that wrap the lambda conversion.examples: new examples for simple lambda-http streaming, and streaming with open-telemetry
New Contributors
Full Changelog: lambda-runtime-0.14.3...lambda
lambda_runtime 0.14.3 and lambda_runtime_api_client 0.12.2 and lambda-extension 0.12.1 and aws_lambda_events 0.17.0 and lambda_http 0.5.1
What's Changed
- fix(ci): cut run-integration-test.yml over to "mlugg/setup-zig@v2", clippy fixes by @jlizen in #1005
- chore(lambda-runtime): slightly optimize graceful shutdown helper by using new tokio::try_join biased; api by @jlizen in #1007
- fix(lambda-events): derive Default on KinesisEvent by @sdstolworthy in #1008
- Update all dependencies and fix examples by @s0l0ist in #959
- Capture
StringPanic Messages by @George-lewis in #962 - fix(lambda-events): impl Default for all Kinesis Event structs by @sdstolworthy in #1011
- Add alternative to pip3 install of cargo lambda by @Bryson14 in #981
- Add support for Direct Lambda Resolver event format by @46ki75 in #1015
- add catchall feature to resolve #1017 by @cdisselkoen in #1018
- chore(lambda-extension, lambda-http, lambda-runtime-api-client): bump patch versions for new release by @jlizen in #1020
- chore: (lambda-http, lambda-extension): add missing docsrs feature annotations by @jlizen in #1021
New Contributors
- @sdstolworthy made their first contribution in #1008
- @s0l0ist made their first contribution in #959
- @George-lewis made their first contribution in #962
- @46ki75 made their first contribution in #1015
- @cdisselkoen made their first contribution in #1018
Full Changelog: lambda-runtime-0.14.2...lambda-runtime-0.14.3
lambda-runtime-0.14.2
What's Changed
- feat: derive Deserialize, Clone, PartialEq, Eq for MetadataPrelude by @DiscreteTom in #956
- fix: Add type annotation to LambdaRequest's Deserialize impl to avoid compiler recursive loop by @raulescobar-g in #960
- fix(docs): enable all features in docs.rs build by @jlizen in #1000
- Bump all packages versions to release doc updates by @bnusunny in #1002
- feat(ci): add cargo-semver-checks workflows by @jlizen in #1003
New Contributors
- @DiscreteTom made their first contribution in #956
- @raulescobar-g made their first contribution in #960
Full Changelog: lambda-runtime-0.14.1...lambda-runtime-0.14.2
lambda-runtime-0.14.1 and lambda-runtime-api-client 0.12.1
What's Changed
- feat(ci): build and check rustdocs for warnings; fix(docs): add missing cfg flag to allow displaying features on doc.rs, fix various warnings by @jlizen in #998
- Release runtime 0.14.1 and runtime-api-client 0.12.1 by @bnusunny in #999
Full Changelog: lambda-runtime-0.14.0...lambda-runtime-0.14.1
lambda-runtime-0.14.0
Release runtime 0.14.0 with graceful shutdown hook
lambda-runtime-api-client 0.12.0
lambda-runtime 0.14.0
lambda-http 0.15.0
lambda-extesnion 0.12.0
What's Changed
- feat: add dependabot by @maxday in #941
- Update opentelemetry-semantic-conventions requirement from 0.14 to 0.27 by @dependabot in #942
- fix: clippy error + bump MSRV by @maxday in #948
- Feature/otel span kind support by @alessandrobologna in #946
- Update MSRV in README by @bnusunny in #949
- Bump aws-cdk-lib from 2.126.0 to 2.186.0 in /examples/http-axum/cdk by @dependabot in #976
- Bump aws-cdk-lib from 2.186.0 to 2.193.0 in /examples/http-axum/cdk by @dependabot in #979
- Bump aws-cdk-lib from 2.159.1 to 2.193.0 in /examples/advanced-appconfig-feature-flags/cdk by @dependabot in #978
- Fix typos by @FalkWoldmann in #952
- docs: replaced the link to the shield by @braveocheretovych in #968
- Update opentelemetry-semantic-conventions requirement from 0.27 to 0.29 by @dependabot in #970
- feat(tracing, lambda-runtime): add support for custom writer with default tracing subscriber, add turnkey graceful shutdown helper behind 'graceful-shutdown' feature flag by @jlizen in #982
- chore: add msrv in Cargo manifests by @jlizen in #987
- fix(docs): examples/extension-internal-flush: don't refer to a standalone layer arn for internal extension by @jlizen in #980
- fix(integ tests): enable graceful-shutdown feature flag; chore(ci/cd): build integration test crate as part of PR validation by @jlizen in #988
- fix(ci/cd): pin cargo-lambda back to 1.8.1 temporarily by @jlizen in #989
- fix(lambda-runtime,lambda-integration-tests): make spawn_graceful_shutdown_handler() async, await the extension being registered before spawning background extension handler task by @jlizen in #992
- Release runtime 0.14.0 with graceful shutdown hook by @bnusunny in #991
- CI/CD fixes by @jlizen in #994
New Contributors
- @alessandrobologna made their first contribution in #946
- @braveocheretovych made their first contribution in #968
- @jlizen made their first contribution in #982
Full Changelog: lambda-events-0.16.0...lambda-runtime-0.14.0
lambda-events-0.16.0 & lambda-http-0.14.0
What's Changed
- feat(otel): allow to configure the faas.trigger attribute of the span by @Oliboy50 in #903
- doc: Add an example for using the anyhow crate by @taiki45 in #904
- Improved error messages about payload deserialization by @rimutaka in #905
- added RDS IAM Auth example by @Kevinwochan in #908
- Expand on the CloudTrail event by @martinjlowm in #909
- Error handling improvements by @calavera in #907
- Fixed clippy warnings in lambda-events by @rimutaka in #910
- Release version 0.13 by @calavera in #912
- fix: remove unused struct by @maxday in #914
- fix: bedrock tests by @maxday in #915
- add support for integration test via GitHub Actions by @maxday in #913
- Fix trivial typo in docs of Tracing by @mksiq in #918
- feat: ergonomic improvements to HTTP payload deserialization by @mlaota in #921
- Use event filter by @bassmanitram in #925
- fix: expose CloudWatchMetricAlarm and CloudWatchCompositeAlarm by @junlarsen in #926
- Add AppConfig feature flags example by @calavera in #928
- Update to tower 0.5 by @GeorgeHahn in #929
- Only add URL query if it's not empty by @RaeesBhatti in #933
- Release events 0.16.0 and http 0.14.0 by @bnusunny in #938
New Contributors
- @Oliboy50 made their first contribution in #903
- @taiki45 made their first contribution in #904
- @Kevinwochan made their first contribution in #908
- @martinjlowm made their first contribution in #909
- @mksiq made their first contribution in #918
- @mlaota made their first contribution in #921
- @junlarsen made their first contribution in #926
- @GeorgeHahn made their first contribution in #929
- @RaeesBhatti made their first contribution in #933
Full Changelog: lambda-extension-0.11.0...lambda-events-0.16.0