Skip to content

Releases: aws/aws-lambda-web-adapter

v1.0.0

27 Mar 18:18
09da213

Choose a tag to compare

Major Updates

This is the first GA release of AWS Lambda Web Adapter. It includes multi-tenancy support, Lambda Managed Instances, improved error handling, zero-copy body conversion, comprehensive documentation, and a migration path from 0.x.

Breaking Changes

  • Removed AWS_LWA_READINESS_CHECK_MIN_UNHEALTHY_STATUS and the readiness_check_min_unhealthy_status field. Use AWS_LWA_READINESS_CHECK_HEALTHY_STATUS / readiness_check_healthy_status instead.
  • Non-prefixed environment variables (HOST, READINESS_CHECK_PORT, etc.) are deprecated and will be removed in 2.0. Use AWS_LWA_ prefixed versions.

Features

  • Multi-tenancy support: Propagate tenant_id from Lambda context as x-amz-tenant-id header (#631)
  • Lambda Managed Instances: Support concurrent request handling in a single execution environment (#625)
  • Healthy status ranges: New AWS_LWA_READINESS_CHECK_HEALTHY_STATUS supporting comma-separated codes and ranges (e.g., 200-399,404) (#638)

Performance

  • Zero-copy body conversion — avoid unnecessary allocations when forwarding request bodies (#627)
  • Add panic=abort and opt-level=s to release profile for smaller binary size (#646)

Bug Fixes

  • Don't append trailing ? when query string is empty (#657)
  • Fix path_through_path renamed to pass_through_path (#619)

Documentation

  • Comprehensive rustdoc documentation for all public types and methods
  • Added SECURITY.md
  • Added user guide with GitHub Pages deployment (#639)

CI/CD

  • Split pipeline into separate PR, Merge, and Release workflows (#642)
  • Add conventional commits changelog generation and commit linting (#641)
  • Add workflow to verify examples without deployment (#643)
  • Daily security audit via rustsec/audit-check (#391)
  • Benchmark tracking with PR comments

Release v1.0.0-rc1

16 Feb 23:59
4ed684e

Choose a tag to compare

Release Notes - v1.0.0 Release Candidate

This release candidate for v1.0.0 introduces Lambda Managed Instances, multi-tenancy support, and includes stability improvements in preparation for general availability.

Lambda Managed Instances

Lambda Managed Instances provide enhanced control over Lambda execution environments:

  • Automated provisioning and scaling of Lambda execution environments
  • Reduced cold start latency through optimized instance warm-up and reuse
  • Optimized instance allocation to reduce execution costs

This feature enables developers to build more performant serverless applications while maintaining Lambda's scalability model.

Multi-Tenancy Support

This release includes multi-tenancy capabilities for secure isolation and resource management:

  • Data, compute, and configuration isolation across tenants
  • Centralized monitoring and management dashboard
  • Enhanced access controls and audit logging

These capabilities support building SaaS applications with strong isolation guarantees.

Release Candidate Status

This v1.0.0 release candidate includes:

  • All planned features for v1.0.0 implemented and tested
  • Comprehensive unit, integration, and performance testing
  • Complete documentation including user guides and API references
  • Focus on bug fixes and stability improvements

Additional Updates

  • Performance optimizations across core components
  • Improved error handling and diagnostic messaging
  • Updated dependencies and security patches
  • Enhanced tooling integration

Feedback

Report issues or provide feedback through standard channels during the release candidate period.

Next Steps

The v1.0.0 GA release is planned following the RC period and incorporation of community feedback.

What's Changed

  • docs: update to use v0.9.1 by @Marukome0743 in #593
  • chore: update actions/checkout GitHub Actions by @Marukome0743 in #594
  • add datadog exampes by @alexgallotta in #602
  • Add links to Datadog examples in README by @lym953 in #605
  • Add Datadog example for streaming mode by @lym953 in #608
  • Fix typo in README for Amazon Bedrock with FastAPI example by @tomokikun in #615
  • chore: update arm64 supported regions by @bnusunny in #621
  • fix: rename path_through_path to pass_through_path by @onk in #619
  • chore: update dependencies to latest versions by @bnusunny in #624
  • Zero-Copy Body Conversion and Performance Benchmarks by @bnusunny in #627
  • Improve error handling, comprehensive documentation, and API improvements by @bnusunny in #628
  • Update pipeline environment configurations by @bnusunny in #629
  • feat: support Lambda Managed Instance by @bnusunny in #625
  • feat: add multi-tenancy support via tenant ID propagation by @bnusunny in #631
  • fix: use native SAM CLI installer for e2e-test-oci job by @bnusunny in #632
  • chore: bump version to 1.0.0-rc1 by @bnusunny in #633

New Contributors

Full Changelog: v0.9.1...v1.0.0-rc1

v0.9.1

23 Apr 00:31
7d775b5

Choose a tag to compare

This release addes support for Datadog's new Lambda extension plus a new Bun server with graphql example.

What's Changed

New Contributors

Full Changelog: v0.9.0...v0.9.1

v0.9.0

10 Jan 09:06
ab8abdd

Choose a tag to compare

This release adds two new improvements and several examples.

  1. Force Lambda failure based on specific http response codes (see AWS_LWA_ERROR_STATUS_CODES in the project README)
  2. Log warning messages if the web application is not ready after 2 seconds

What's Changed

New Contributors

Full Changelog: v0.8.4...v0.9.0

v0.8.4

27 Jul 12:24
9c268fa

Choose a tag to compare

This is a minor release. The main change is:

  • Added: AWS_LWA_AUTHORIZATION_SOURCE to turn a header into Authorization header. This is useful when you use Lambda function URL with IAM auth type, which reserves Authorization header for IAM authentication, but you want to still use Authorization header for your backend apps.

What's Changed

  • Update doc and examples to 0.8.3 by @bnusunny in #448
  • [#453] Update the Fast API run script examples to include LAMBDA_RUNTIME_DIR in search path. by @renjiexu-amzn in #454
  • Bump jinja2 from 3.1.3 to 3.1.4 in /examples/flask/app by @dependabot in #459
  • Bump jinja2 from 3.1.3 to 3.1.4 in /examples/flask-zip/app by @dependabot in #458
  • Bump werkzeug from 3.0.1 to 3.0.3 in /examples/flask/app by @dependabot in #457
  • Bump werkzeug from 3.0.1 to 3.0.3 in /examples/flask-zip/app by @dependabot in #456
  • Bump next from 14.0.0 to 14.1.1 in /examples/nextjs-zip/app by @dependabot in #461
  • Bump next from 14.0.0 to 14.1.1 in /examples/nextjs/app by @dependabot in #460
  • Bump requests from 2.31.0 to 2.32.0 in /examples/fastapi-background-tasks/app by @dependabot in #463
  • add authorization_source feature by @tmokmss in #478
  • warn when configured header not found by @mxfactorial in #479
  • Bump zipp from 3.15.0 to 3.19.1 in /examples/flask-zip/app by @dependabot in #475
  • Bump zipp from 3.15.0 to 3.19.1 in /examples/flask/app by @dependabot in #480
  • Bump certifi from 2024.2.2 to 2024.7.4 in /examples/fastapi-background-tasks/app by @dependabot in #472
  • Bump ws from 7.5.9 to 7.5.10 in /examples/sls/nestjs by @dependabot in #470
  • Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs/app by @dependabot in #468
  • Bump urllib3 from 2.0.7 to 2.2.2 in /examples/bedrock-agent-fastapi/app by @dependabot in #467
  • Bump braces from 3.0.2 to 3.0.3 in /examples/sls/nestjs by @dependabot in #481
  • Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-zip/app by @dependabot in #483
  • Bump urllib3 from 2.2.1 to 2.2.2 in /examples/fastapi-background-tasks/app by @dependabot in #482
  • Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-response-streaming by @dependabot in #484
  • Bump urllib3 from 1.26.18 to 1.26.19 in /examples/fastapi-response-streaming/app by @dependabot in #485
  • Bump the version to v0.8.4 by @bnusunny in #486
  • Update pipeline by @bnusunny in #487

New Contributors

Full Changelog: v0.8.3...v0.8.4

v0.8.3

21 Apr 02:26
87f8870

Choose a tag to compare

This is a minor release. Quick summary of changes.

  • Remove "transfer-encoding" header from responses to support 'sam local start-api'
  • Update deploy process Bedrock Agent (zip and container) using CloudFormation
  • Javalin 6 example using Arm64 image
  • Example Fix: python dependencies from layers

What's Changed

  • Update README for 0.8.2 by @bnusunny in #428
  • Bump tar from 6.2.0 to 6.2.1 in /examples/sls/nestjs by @dependabot in #427
  • Bump h2 from 0.3.24 to 0.3.26 in /examples/rust-actix-web-zip/rust_app by @dependabot in #423
  • Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 in /examples/gin-zip/app by @dependabot in #414
  • Bump express from 4.18.2 to 4.19.2 in /examples/sqs-expressjs/app/src by @dependabot in #419
  • Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 in /examples/gin/app by @dependabot in #413
  • Bump express from 4.18.2 to 4.19.2 in /examples/expressjs/app/src by @dependabot in #418
  • Bump idna from 3.4 to 3.7 in /examples/fastapi-response-streaming/app by @dependabot in #430
  • Bump idna from 3.6 to 3.7 in /examples/bedrock-agent-fastapi-zip/app by @dependabot in #431
  • Bump idna from 3.6 to 3.7 in /examples/bedrock-agent-fastapi/app by @dependabot in #432
  • Bump idna from 3.6 to 3.7 in /examples/fastapi/app by @dependabot in #433
  • Bump idna from 3.6 to 3.7 in /examples/fastapi-response-streaming-zip/app by @dependabot in #434
  • Bump idna from 3.6 to 3.7 in /examples/fastapi-zip/app by @dependabot in #435
  • Bump idna from 3.6 to 3.7 in /examples/fastapi-background-tasks/app by @dependabot in #436
  • Update deploy process Bedrock Agent (zip and container) using CloudFormation by @moritalous in #437
  • Javalin 6 example using Arm64 image by @jschwartz73 in #425
  • Bump gunicorn from 20.1.0 to 22.0.0 in /examples/flask-zip/app by @dependabot in #440
  • Bump gunicorn from 20.1.0 to 22.0.0 in /examples/flask/app by @dependabot in #439
  • Remove "transfer-encoding" header from responses by @bnusunny in #442
  • Bump rustls from 0.22.2 to 0.22.4 by @dependabot in #445
  • Bump golang.org/x/net from 0.17.0 to 0.23.0 in /examples/gin/app by @dependabot in #443
  • Bump golang.org/x/net from 0.17.0 to 0.23.0 in /examples/gin-zip/app by @dependabot in #444
  • Example Fix: python dependencies from layers by @sansmoraxz in #447
  • Bump version to 0.8.3 by @bnusunny in #446

New Contributors

Full Changelog: v0.8.2...v0.8.3

v0.8.2

11 Apr 03:29
51cae52

Choose a tag to compare

This is a minor release. Here is a quick summary of the changes.

  1. Added support for UTF-8 string in HTTP header values.
  2. Implemented daily security audits and upgraded audit-check action.
  3. Added examples for using the AWS Lambda Web Adapter with different frameworks and programming languages, including Bedrock Agent (FastAPI), Sinatra (Ruby), Go HTTP, and NestJS.
  4. Added an example for FastAPI Background Tasks.
  5. Refactored the FastAPI response streaming example to use Claude v3 model.

What's Changed

New Contributors

Full Changelog: v0.8.1...v0.8.2

v0.8.1

24 Jan 00:32
79ffab9

Choose a tag to compare

This minor release fixed a bug related to passing through Bedrock Agent events.

What's Changed

Full Changelog: v0.8.0...v0.8.1

v0.8.0

22 Jan 02:20
e24979c

Choose a tag to compare

Major Updates

New Features

  • Support all non-HTTP event triggers, such as SQS, SNS, S3, DynamoDB, Kinesis, Kafka, EventBridge, and Bedrock Agents.
  • New Layer Notification via SNS Topic.

New Example

Chore

  • Improve GitHub Actions Workflow

What's Changed

Full Changelog: v0.7.2...v0.8.0

Release v0.7.2

11 Jan 02:02
8ab63f5

Choose a tag to compare

What's Changed

  • fix: run load-china-prod-matrix2 only when release event is triggered by @mbfreder in #273
  • Bump rustls-webpki from 0.100.1 to 0.100.2 by @dependabot in #275
  • Update Readme with latest layerVersions following 0.7.1 release by @mbfreder in #276
  • Bump word-wrap from 1.2.3 to 1.2.4 in /examples/nextjs/app by @dependabot in #258
  • Bump word-wrap from 1.2.3 to 1.2.4 in /examples/nextjs-zip/app by @dependabot in #259
  • Bump word-wrap from 1.2.3 to 1.2.4 in /examples/nextjs-response-streaming by @dependabot in #260
  • Update README and example to v0.7.1 by @bnusunny in #279
  • Bump crate version to 0.7.1 by @bnusunny in #280
  • Update express-zip example to show Lambda Context usage by @mbfreder in #281
  • Add ASP.NET examples by @jeastham1993 in #284
  • fix: override user-set x-amzn-{lambda,request}-context headers by @fluxth in #286
  • Bump webpki from 0.22.0 to 0.22.2 in /examples/rust-axum-https-zip/rust_app by @dependabot in #287
  • Remove https support by @bnusunny in #288
  • Bump postcss and next in /examples/nextjs-zip/app by @dependabot in #291
  • Remove https related e2e tests by @bnusunny in #292
  • Bump postcss and next in /examples/nextjs/app by @dependabot in #290
  • Bump postcss from 8.4.20 to 8.4.31 in /examples/nextjs-response-streaming by @dependabot in #289
  • Add docker version of fastapi-response-streaming example by @bnusunny in #293
  • Update Next.js examples to Next.js v14.0.0 by @bnusunny in #304
  • Upgraded lambda-http crate to v0.8.3 to fix Content-Type processing issue by @bnusunny in #307
  • Bump werkzeug from 2.3.3 to 3.0.1 in /examples/flask-zip/app by @dependabot in #303
  • Bump werkzeug from 2.3.3 to 3.0.1 in /examples/flask/app by @dependabot in #302
  • Bump urllib3 from 1.26.17 to 1.26.18 in /examples/fastapi-response-streaming/app by @dependabot in #298
  • Bump golang.org/x/net from 0.10.0 to 0.17.0 in /examples/gin-zip/app by @dependabot in #297
  • Bump golang.org/x/net from 0.10.0 to 0.17.0 in /examples/gin/app by @dependabot in #296
  • Add CHANGELOG.md by @bnusunny in #308
  • Bump sharp from 0.32.0 to 0.32.6 in /examples/nextjs-response-streaming by @dependabot in #310
  • Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /examples/gin/app by @dependabot in #321
  • Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /examples/gin-zip/app by @dependabot in #320
  • add provided.al2023 to CompatibleRuntimes by @mxfactorial in #323
  • Remove 'CompatibleRuntimes' property on the Layers by @bnusunny in #326
  • set AdapterOptions with env values in Default impl by @mxfactorial in #324
  • switch builder dockerfile to 2023 base image by @mxfactorial in #325
  • Specify correct platform when building docker images by @bnusunny in #330
  • bump version to v0.7.2 by @bnusunny in #329

New Contributors

Full Changelog: v0.7.1...v0.7.2