Document history
The following table describes the important changes to the Amazon Lambda Developer Guide since May 2018. For notification about updates to this documentation, subscribe to the RSS feed.
Change | Description | Date |
---|---|---|
Lambda now supports Node.js 22 as a managed runtime and container base image ( | November 22, 2024 | |
Lambda SnapStart is now available for Python and .NET managed runtimes, beginning with | November 18, 2024 | |
Lambda now supports Python 3.13 as a managed runtime and container base image. | November 13, 2024 | |
Lambda now supports Amazon KMS customer managed key encryption for .zip deployment packages. | November 8, 2024 | |
Lambda SnapStart is now available in the following Regions: Europe (Spain), Europe (Zurich), Asia Pacific (Melbourne), Asia Pacific (Hyderabad), and Middle East (UAE). | January 12, 2024 | |
Service Quotas updated an existing Amazon managed policy ( | January 5, 2024 | |
Lambda now supports Python 3.12 as a managed runtime and container base image. For more information, see Python 3.12 runtime now available in Amazon Lambda | December 14, 2023 | |
Lambda now supports Java 21 as a managed runtime and container base image ( | November 16, 2023 | |
Lambda now supports Node.js 20 as a managed runtime and container base image ( | November 14, 2023 | |
Lambda now supports Amazon Linux 2023 as a managed runtime and container base image. For more information, see Introducing the Amazon Linux 2023 runtime for Amazon Lambda | November 9, 2023 | |
Lambda now supports outbound IPv6 traffic to dual-stack subnets. For more information, see IPv6 support. | October 12, 2023 | |
Learn about techniques to debug and automate testing serverless functions in the cloud. There is now a testing chapter and resources included in the Python and Typescript language sections. For details, see Testing serverless functions and applications. | June 16, 2023 | |
Lambda now supports a new runtime for Ruby 3.2. For more information, see Building Lambda functions with Ruby. | June 7, 2023 | |
Lambda now supports streaming responses from functions. For more information, see Configuring a Lambda function to stream responses. | April 6, 2023 | |
Lambda releases asynchronous invocation metrics. For more information, see Asynchronous invocation metrics. | February 9, 2023 | |
Lambda releases new runtime versions that include security updates, bug fixes, and new features. You can now control when your functions get updated to the new runtime versions. For more information, see Lambda runtime updates. | January 23, 2023 | |
Use Lambda SnapStart to reduce startup time for Java functions without provisioning additional resources or implementing complex performance optimizations. For more information, see Improving startup performance with with Lambda SnapStart. | November 28, 2022 | |
Lambda now supports a new runtime for Node.js 18. Node.js 18 uses Amazon Linux 2. For details, see Building Lambda functions with Node.js. | November 18, 2022 | |
For an Amazon resource, the | July 1, 2022 | |
Lambda now supports a new runtime for Node.js 16. Node.js 16 uses Amazon Linux 2. For details, see Building Lambda functions with Node.js. | May 11, 2022 | |
Lambda now supports function URLs, which are dedicated HTTP(S) endpoints for Lambda functions. For details, see Lambda function URLs. | April 6, 2022 | |
Lambda now supports sharing test events with other users in the same Amazon Web Services account. For details, see Testing Lambda functions in the console. | March 16, 2022 | |
Lambda now supports granting permissions to an organization in Amazon Organizations. For details, see Using resource-based policies for Amazon Lambda. | March 11, 2022 | |
Lambda now supports a new runtime for .NET 6. For details, see Lambda runtimes. | February 23, 2022 | |
Event filtering for Kinesis, DynamoDB, and Amazon SQS event sources | Lambda now supports event filtering for Kinesis, DynamoDB, and Amazon SQS event sources. For details, see Lambda event filtering. | November 24, 2021 |
mTLS authentication for Amazon MSK and self-managed Apache Kafka event sources | Lambda now supports mTLS authentication for Amazon MSK and self-managed Apache Kafka event sources. For details, see Using Lambda with Amazon MSK. | November 19, 2021 |
Lambda now supports Graviton2 for functions using arm64 architecture. For details, see Lambda instruction set architectures. | September 29, 2021 | |
Lambda now supports a new runtime for Python 3.9. For details, see Lambda runtimes. | August 16, 2021 | |
New runtime versions are available for Node.js, Python, and Java. For details, see Lambda runtimes. | July 21, 2021 | |
Lambda now supports Amazon MQ for RabbitMQ as an event source. Amazon MQ is a managed message broker service for Apache ActiveMQ and RabbitMQ that makes it easy to set up and operate message brokers in the cloud. For details, see Using Lambda with Amazon MQ. | July 7, 2021 | |
SASL/PLAIN is now a supported authentication mechanism for self-managed Kafka event sources on Lambda Customers already using SASL/PLAIN on their self-managed Kafka cluster can now easily use Lambda to build consumer applications without having to modify the way they authenticate. For details, see Using Lambda with self-managed Apache Kafka. | June 29, 2021 | |
General availability for Lambda extensions. Use extensions to augment your Lambda functions. You can use extensions provided by Lambda Partners, or you can create your own Lambda extensions. For details, see Lambda Extensions API. | May 24, 2021 | |
New Lambda console experience | The Lambda console has been redesigned to improve performance and consistency. | March 2, 2021 |
Lambda now supports a new runtime for Node.js 14. Node.js 14 uses Amazon Linux 2. For details, see Building Lambda functions with Node.js. | January 27, 2021 | |
Lambda now supports functions defined as container images. You can combine the flexibility of container tooling with the agility and operational simplicity of Lambda to build applications. For details, see Using container images with Lambda. | December 1, 2020 | |
Lambda now supports code signing. Administrators can configure Lambda functions to accept only signed code on deployment. Lambda checks the signatures to ensure that the code is not altered or tampered. Additionally, Lambda ensures that the code is signed by trusted developers before accepting the deployment. For details, see Configuring code signing for Lambda. | November 23, 2020 | |
Lambda now supports the Runtime Logs API. Lambda extensions can use the Logs API to subscribe to log streams in the execution environment. For details, see Lambda Runtime Logs API. | November 12, 2020 | |
Lambda now supports Amazon MQ as an event source. Use a Lambda function to process records from your Amazon MQ message broker. For details, see Using Lambda with Amazon MQ. | November 5, 2020 | |
Use Lambda extensions to augment your Lambda functions. You can use extensions provided by Lambda Partners, or you can create your own Lambda extensions. For details, see Lambda Extensions API. | October 8, 2020 | |
Lambda now supports Java 8 and custom runtimes on Amazon Linux 2. For details, see Lambda runtimes. | August 12, 2020 | |
New event source for Amazon Managed Streaming for Apache Kafka | Lambda now supports Amazon MSK as an event source. Use a Lambda function with Amazon MSK to process records in a Kafka topic. For details, see Using Lambda with Amazon MSK. | August 11, 2020 |
You can now use Lambda-specific condition keys for VPC settings. For example, you can require that all functions in your organization are connected to a VPC. You can also specify the subnets and security groups that the function's users can and can't use. For details, see Configuring VPC for IAM functions. | August 10, 2020 | |
You can now use the following concurrency settings for Kinesis consumers with enhanced fan-out (HTTP/2 streams): ParallelizationFactor, MaximumRetryAttempts, MaximumRecordAgeInSeconds, DestinationConfig, and BisectBatchOnFunctionError. For details, see Using Amazon Lambda with Amazon Kinesis. | July 7, 2020 | |
You can now configure a batch window (MaximumBatchingWindowInSeconds) for HTTP/2 streams. Lambda reads records from the stream until it has gathered a full batch, or until the batch window expires. For details, see Using Amazon Lambda with Amazon Kinesis. | June 18, 2020 | |
You can now connect an Amazon EFS file system to your Lambda functions for shared network file access. For details, see Configuring file system access for Lambda functions. | June 16, 2020 | |
The Lambda console now includes sample applications that use the Amazon Cloud Development Kit (Amazon CDK) for TypeScript. The Amazon CDK is a framework that enables you to define your application resources in TypeScript, Python, Java, or .NET. | June 1, 2020 | |
Amazon Lambda now supports the .NET Core 3.1.0 runtime. For details, see .NET Core CLI. | March 31, 2020 | |
Updated and expanded documentation for using Lambda with API Gateway, including support for HTTP APIs. Added a sample application that creates an API and function with Amazon CloudFormation. For details, see Using Lambda with Amazon API Gateway. | March 23, 2020 | |
A new runtime is available for Ruby 2.7, ruby2.7, which is the first Ruby runtime to use Amazon Linux 2. For details, see Building Lambda functions with Ruby. | February 19, 2020 | |
Lambda now reports the | February 18, 2020 | |
Function states are now enforced for all functions by default. When you connect a function to a VPC, Lambda creates shared elastic network interfaces. This enables your function to scale up without creating additional network interfaces. During this time, you can't perform additional operations on the function, including updating its configuration and publishing versions. In some cases, invocation is also impacted. Details about a function's current state are available from the Lambda API. This update is being released in phases. For details, see Updated Lambda states lifecycle for VPC networking | January 24, 2020 | |
Added reason codes to StateReasonCode (InvalidSubnet, InvalidSecurityGroup) and LastUpdateStatusReasonCode (SubnetOutOfIPAddresses, InvalidSubnet, InvalidSecurityGroup) for functions that connect to a VPC. For more information about states, see Amazon Lambda function states. | January 20, 2020 | |
You can now allocate provisioned concurrency for a function version or alias. Provisioned concurrency enables a function to scale without fluctuations in latency. For details, see Managing concurrency for a Lambda function. | December 3, 2019 | |
You can now use the Lambda console to create a database proxy for a Lambda function. A database proxy enables a function to reach high concurrency levels without exhausting database connections. For details, see Configuring database access for a Lambda function. | December 3, 2019 | |
You can now filter the duration metric based on percentiles. For details, see Amazon Lambda metrics. | November 26, 2019 | |
A new option for DynamoDB stream and Kinesis stream event source mappings enables you to process more than one batch at a time from each shard. When you increase the number of concurrent batches per shard, your function's concurrency can be up to 10 times the number of shards in your stream. For details, see Lambda event source mapping. | November 25, 2019 | |
When you create or update a function, it enters a pending state while Lambda provisions resources to support it. If you connect your function to a VPC, Lambda can create a shared elastic network interface right away, instead of creating network interfaces when your function is invoked. This results in better performance for VPC-connected functions, but might require an update to your automation. For details, see Amazon Lambda function states. | November 25, 2019 | |
New configuration options are available for asynchronous invocation. You can configure Lambda to limit retries and set a maximum event age. For details, see Configuring error handling for asynchronous invocation. | November 25, 2019 | |
New configuration options are available for event source mappings that read from streams. You can configure DynamoDB stream and Kinesis stream event source mappings to limit retries and set a maximum record age. When errors occur, you can configure the event source mapping to split batches before retrying, and to send invocation records for failed batches to a queue or topic. For details, see Lambda event source mapping. | November 25, 2019 | |
You can now configure Lambda to send records of asynchronous invocations to another service. Invocation records contain details about the event, context, and function response. You can send invocation records to an SQS queue, SNS topic, Lambda function, or EventBridge event bus. For details, see Configuring destinations for asynchronous invocation. | November 25, 2019 | |
New runtimes are available for Node.js 12, Python 3.8, and Java 11. For details, see Lambda runtimes. | November 18, 2019 | |
You can now create an event source mapping that reads from a first-in, first-out (FIFO) queue. Previously, only standard queues were supported. For details, see Using Lambda with Amazon SQS. | November 18, 2019 | |
Application creation in the Lambda console is now generally available. For instructions, see Managing applications in the Lambda console. | October 31, 2019 | |
You can now create a Lambda application with an integrated continuous delivery pipeline in the Lambda console. The console provides sample applications that you can use as a starting point for your own project. Choose between Amazon CodeCommit and GitHub for source control. Each time you push changes to your repository, the included pipeline builds and deploys them automatically. For instructions, see Managing applications in the Lambda console. | October 3, 2019 | |
Lambda now uses a new type of elastic network interface that is shared by all functions in a virtual private cloud (VPC) subnet. When you connect a function to a VPC, Lambda creates a network interface for each combination of security group and subnet that you choose. When the shared network interfaces are available, the function no longer needs to create additional network interfaces as it scales up. This dramatically improves startup times. For details, see Configuring a Lambda function to access resources in a VPC. | September 3, 2019 | |
You can now configure a batch window for Amazon DynamoDB and Amazon Kinesis event source mappings. Configure a batch window of up to five minutes to buffer incoming records until a full batch is available. This reduces the number of times that your function is invoked when the stream is less active. | August 29, 2019 | |
CloudWatch Logs Insights integration | The monitoring page in the Lambda console now includes reports from Amazon CloudWatch Logs Insights. | June 18, 2019 |
The Lambda execution environment is being updated to use Amazon Linux 2018.03. For details, see Execution environment. | May 21, 2019 | |
A new runtime is available for Node.js 10, nodejs10.x. This runtime uses Node.js 10.15 and will be updated with the latest point release of Node.js 10 periodically. Node.js 10 is also the first runtime to use Amazon Linux 2. For details, see Building Lambda functions with Node.js. | May 13, 2019 | |
Use the GetLayerVersionByArn API to download layer version information with the version ARN as input. Compared to GetLayerVersion, GetLayerVersionByArn lets you use the ARN directly instead of parsing it to get the layer name and version number. | April 25, 2019 | |
Amazon Lambda now supports Ruby 2.5 with a new runtime. For details, see Building Lambda functions with Ruby. | November 29, 2018 | |
With Lambda layers, you can package and deploy libraries, custom runtimes, and other dependencies separately from your function code. Share your layers with your other accounts or the whole world. For details, see Lambda layers. | November 29, 2018 | |
Build a custom runtime to run Lambda functions in your favorite programming language. For details, see Custom Lambda runtimes. | November 29, 2018 | |
Elastic Load Balancing now supports Lambda functions as a target for Application Load Balancers. For details, see Using Lambda with application load balancers. | November 29, 2018 | |
You can use Kinesis HTTP/2 data stream consumers to send events to Amazon Lambda. Stream consumers have dedicated read throughput from each shard in your data stream and use HTTP/2 to minimize latency. For details, see Using Lambda with Kinesis. | November 19, 2018 | |
Amazon Lambda now supports Python 3.7 with a new runtime. For more information, see Building Lambda functions with Python. | November 19, 2018 | |
The maximum payload size for asynchronous invocations increased from 128 KB to 256 KB, which matches the maximum message size from an Amazon SNS trigger. For details, see Lambda quotas. | November 16, 2018 | |
Amazon Lambda is now available in the Amazon GovCloud (US-East) Region. | November 12, 2018 | |
A number of topics were focused on building serverless applications using the Amazon Serverless Application Model (Amazon SAM). These topics have been moved to Amazon Serverless Application Model developer guide. | October 25, 2018 | |
You can view the status of your Lambda applications on the Applications page in the Lambda console. This page shows the status of the Amazon CloudFormation stack. It includes links to pages where you can view more information about the resources in the stack. You can also view aggregate metrics for the application and create custom monitoring dashboards. | October 11, 2018 | |
To allow for long-running functions, the maximum configurable execution timeout increased from 5 minutes to 15 minutes. For details, see Lambda limits. | October 10, 2018 | |
Amazon Lambda now supports the PowerShell Core language. For more information, see Programming model for authoring Lambda functions in PowerShell. | September 11, 2018 | |
Amazon Lambda now supports the .NET Core 2.1.0 runtime. For more information, see .NET Core CLI. | July 9, 2018 | |
You can now subscribe to an RSS feed to follow releases for this guide. | July 5, 2018 | |
Amazon Lambda now supports Amazon Simple Queue Service (Amazon SQS) as an event source. For more information, see Invoking Lambda functions. | June 28, 2018 | |
Amazon Lambda is now available in the China (Ningxia) Region. For more information about Lambda Regions and endpoints, see Regions and endpoints in the Amazon Web Services General Reference. | June 28, 2018 |
Earlier updates
The following table describes the important changes in each release of the Amazon Lambda Developer Guide before June 2018.
Change | Description | Date |
---|---|---|
Runtime support for Node.js runtime 8.10 |
Amazon Lambda now supports Node.js runtime version 8.10. For more information, see Building Lambda functions with Node.js. |
April 2, 2018 |
Function and alias revision IDs |
Amazon Lambda now supports revision IDs on your function versions and aliases. You can use these IDs to track and apply conditional updates when you are updating your function version or alias resources. |
January 25, 2018 |
Runtime support for Go and .NET 2.0 |
Amazon Lambda has added runtime support for Go and .NET 2.0. For more information, see Building Lambda functions with Go and Building Lambda functions with C#. |
January 15, 2018 |
Console Redesign |
Amazon Lambda has introduced a new Lambda console to simplify your experience and added a Cloud9 Code Editor to enhance your ability debug and revise your function code. |
November 30,2017 |
Setting Concurrency Limits on Individual Functions |
Amazon Lambda now supports setting concurrency limits on individual functions. For more information, see Configuring reserved concurrency for a function. |
November 30,2017 |
Shifting Traffic with Aliases |
Amazon Lambda now supports shifting traffic with aliases. For more information, see Create a rolling deployment with weighted aliases. |
November 28, 2017 |
Gradual Code Deployment |
Amazon Lambda now supports safely deploying new versions of your Lambda function by leveraging Code Deploy. For more information, see Gradual code deployment. |
November 28, 2017 |
China (Beijing) Region |
Amazon Lambda is now available in the China (Beijing) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the Amazon Web Services General Reference. |
November 9, 2017 |
Introducing SAM Local |
Amazon Lambda introduces SAM Local (now known as SAM CLI), a Amazon CLI tool that provides an environment for you to develop, test, and analyze your serverless applications locally before uploading them to the Lambda runtime. For more information, see Testing and debugging serverless applications. |
August 11, 2017 |
Canada (Central) Region |
Amazon Lambda is now available in the Canada (Central) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the Amazon Web Services General Reference. |
June 22, 2017 |
South America (São Paulo) Region |
Amazon Lambda is now available in the South America (São Paulo) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the Amazon Web Services General Reference. |
June 6, 2017 |
Amazon Lambda support for Amazon X-Ray. | Lambda introduces support for X-Ray, which allows you to detect, analyze, and optimize performance issues with your Lambda applications. For more information, see Visualize Lambda function invocations using Amazon X-Ray. | April 19, 2017 |
Asia Pacific (Mumbai) Region |
Amazon Lambda is now available in the Asia Pacific (Mumbai) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the Amazon Web Services General Reference. |
March 28, 2017 |
Amazon Lambda now supports Node.js runtime v6.10 |
Amazon Lambda added support for Node.js runtime v6.10. For more information, see Building Lambda functions with Node.js. |
March 22, 2017 |
Europe (London) Region |
Amazon Lambda is now available in the Europe (London) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the Amazon Web Services General Reference. |
February 1, 2017 |
Amazon Lambda support for the .NET runtime, Lambda@Edge (Preview), Dead Letter Queues and automated deployment of serverless applications. |
Amazon Lambda added support for C#. For more information, see Building Lambda functions with C#. Lambda@Edge allows you to run Lambda functions at the Amazon Edge locations in response to CloudFront events. For more information, see Customize at the edge with Lambda@Edge. |
December 3, 2016 |
Amazon Lambda adds Amazon Lex as a supported event source. |
Using Lambda and Amazon Lex, you can quickly build chat bots for various services like Slack and Facebook. |
November 30, 2016 |
US West (N. California) Region |
Amazon Lambda is now available in the US West (N. California) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the Amazon Web Services General Reference. |
November 21, 2016 |
Introduced the Amazon SAM for creating and deploying Lambda-based applications and using environment variables for Lambda function configuration settings. |
Amazon SAM: You can now use the Amazon SAM to define the syntax for expressing resources within a serverless application. In order to deploy your application, simply specify the resources you need as part of your application, along with their associated permissions policies in a Amazon CloudFormation template file (written in either JSON or YAML), package your deployment artifacts, and deploy the template. Environment variables: You can use environment variables to specify configuration settings for your Lambda function outside of your function code. For more information, see Create Lambda environment variables. |
November 18, 2016 |
Asia Pacific (Seoul) Region |
Amazon Lambda is now available in the Asia Pacific (Seoul) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the Amazon Web Services General Reference. |
August 29, 2016 |
Asia Pacific (Sydney) Region |
Lambda is now available in the Asia Pacific (Sydney) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the Amazon Web Services General Reference. |
June 23, 2016 |
Updates to the Lambda console |
The Lambda console has been updated to simplify the role-creation process. |
June 23, 2016 |
Amazon Lambda now supports Node.js runtime v4.3 |
Amazon Lambda added support for Node.js runtime v4.3. For more information, see Building Lambda functions with Node.js. |
April 07, 2016 |
Europe (Frankfurt) region |
Lambda is now available in the Europe (Frankfurt) region. For more information about Lambda regions and endpoints, see Regions and endpoints in the Amazon Web Services General Reference. |
March 14, 2016 |
VPC support |
You can now configure a Lambda function to access resources in your VPC. For more information, see Giving Lambda functions access to resources in an Amazon VPC. |
February 11, 2016 |
Lambda runtime has been updated. |
The execution environment has been updated. |
November 4, 2015 |
Versioning support, Python for developing code for Lambdafunctions, scheduled events, and increase in execution time |
You can now develop your Lambda function code using Python. For more information, see Building Lambda functions with Python. Versioning: You can maintain one or more versions of your Lambda function. Versioning allows you to control which Lambda function version is executed in different environments (for example, development, testing, or production). For more information, see Manage Lambda function versions. Scheduled events: You can also set up Lambda to invoke your code on a regular, scheduled basis using the Lambda console. You can specify a fixed rate (number of hours, days, or weeks) or you can specify a cron expression. For more information, see Invoke a Lambda function on a schedule. Increase in execution time: You can now set up your Lambda functions to run for up to five minutes allowing longer running functions such as large volume data ingestion and processing jobs. |
October 08, 2015 |
Support for DynamoDB Streams |
DynamoDB Streams is now generally available and you can use it in all the regions where DynamoDB is available. You can enable DynamoDB Streams for your table and use a Lambda function as a trigger for the table. Triggers are custom actions you take in response to updates made to the DynamoDB table. For an example walkthrough, see Tutorial: Using Amazon Lambda with Amazon DynamoDB streams. |
July 14, 2015 |
Lambda now supports invoking Lambda functions with REST-compatible clients. |
Until now, to invoke your Lambda function from your web, mobile, or IoT application you needed the Amazon SDKs (for example, Amazon SDK for Java, Amazon SDK for Android, or Amazon SDK for iOS). Now, Lambda supports invoking a Lambda function with REST-compatible clients through a customized API that you can create using Amazon API Gateway. You can send requests to your Lambda function endpoint URL. You can configure security on the endpoint to allow open access, leverage Amazon Identity and Access Management (IAM) to authorize access, or use API keys to meter access to your Lambda functions by others. For an example Getting Started exercise, see Invoking a Lambda function using an Amazon API Gateway endpoint. |
July 09, 2015 |
The Lambda console now provides blueprints to easily create Lambda functions and test them. |
Lambda console provides a set of blueprints. Each blueprint provides a sample event source configuration and sample code for your Lambda function that you can use to easily create Lambda-based applications. All of the Lambda Getting Started exercises now use the blueprints. |
July 09, 2015 |
Lambda now supports Java to author your Lambda functions. |
You can now author Lambda code in Java. For more information, see Building Lambda functions with Java. |
June 15, 2015 |
Lambda now supports specifying an Amazon S3 object as the function .zip when creating or updating a Lambda function. |
You can upload a Lambda function deployment package (.zip file) to an Amazon S3 bucket in the same region where you want to create a Lambda function. Then, you can specify the bucket name and object key name when you create or update a Lambda function. |
May 28, 2015 |
Lambda now generally available with added support for mobile backends |
Lambda is now generally available for production use. The release also introduces new features that make it easier to build mobile, tablet, and Internet of Things (IoT) backends using Lambda that scale automatically without provisioning or managing infrastructure. Lambda now supports both real-time (synchronous) and asynchronous events. Additional features include easier event source configuration and management. The permission model and the programming model have been simplified by the introduction of resource policies for your Lambda functions. |
April 9, 2015 |
Preview release |
Preview release of the Amazon Lambda Developer Guide. |
November 13, 2014 |