The following table describes the important changes to the AWS Lambda Developer Guide since May 2018. For notification about updates to this documentation, subscribe to the RSS feed.
Change | Description | Date |
---|---|---|
Lambda on Graviton2 | Lambda now supports Graviton2 for functions using arm64 architecture. For details, see Lambda instruction set architectures. | September 29, 2021 |
Python 3.9 runtime | Lambda now supports a new runtime for Python 3.9. For details, see Lambda runtimes. | August 16, 2021 |
New runtime versions for Node.js, Python, and Java | New runtime versions are available for Node.js, Python, and Java. For details, see Lambda runtimes. | July 21, 2021 |
Support for RabbitMQ as an event source on Lambda | 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 authentication for self-managed Kafka on Lambda | 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 |
Lambda Extensions API | 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 |
Node.js 14 runtime | 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 container images | 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 |
Code signing for Lambda functions | 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 |
Preview: Lambda Runtime Logs API | 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 |
New event source to for Amazon MQ | 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 |
Preview: Lambda Extensions API | 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 |
Support for Java 8 and custom runtimes on AL2 | 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 |
IAM condition keys for Amazon VPC settings | 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 |
Concurrency settings for Kinesis HTTP/2 stream consumers | 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 AWS Lambda with Amazon Kinesis. | July 7, 2020 |
Batch window for Kinesis HTTP/2 stream consumers | 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 AWS Lambda with Amazon Kinesis. | June 18, 2020 |
Support for Amazon EFS file systems | 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 |
AWS CDK sample applications in the Lambda console | The Lambda console now includes sample applications that use the AWS Cloud Development Kit (CDK) for TypeScript. The AWS CDK is a framework that enables you to define your application resources in TypeScript, Python, Java, or .NET. For a tutorial on creating applications, see Creating an application with continuous delivery in the Lambda console. | June 1, 2020 |
Support for .NET Core 3.1.0 runtime in AWS Lambda | AWS Lambda now supports the .NET Core 3.1.0 runtime. For details, see .NET Core CLI. | March 31, 2020 |
Support for API Gateway HTTP APIs | 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 AWS CloudFormation. For details, see Using Lambda with Amazon API Gateway. | March 23, 2020 |
Ruby 2.7 | 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 |
Concurrency metrics | Lambda now reports the ConcurrentExecutions metric for all functions, aliases, and versions. You can view a graph for this metric on the monitoring page for your function. Previously, ConcurrentExecutions was only reported at the account level and for functions that use reserved concurrency. For details, see AWS Lambda function metrics. |
February 18, 2020 |
Update to function states | 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 on the AWS Compute Blog. For more information about states, see AWS Lambda function states. | January 24, 2020 |
Updates to function configuration API output | 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 AWS Lambda function states. | January 20, 2020 |
Provisioned concurrency | 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 |
Create a database proxy | 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 |
Percentiles support for the duration metric | You can now filter the duration metric based on percentiles. For details, see AWS Lambda metrics. | November 26, 2019 |
Increased concurrency for stream event sources | 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 |
Function states | 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 AWS Lambda function states. | November 25, 2019 |
Error handling options for asynchronous invocation | 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 |
Error handling for stream event sources | 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 |
Destinations for asynchronous invocation | 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 for Node.js, Python, and Java | New runtimes are available for Node.js 12, Python 3.8, and Java 11. For details, see Lambda runtimes. | November 18, 2019 |
FIFO queue support for Amazon SQS event sources | 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 |
Create applications in the Lambda console | Application creation in the Lambda console is now generally available. For instructions, see Creating an application with continuous delivery in the Lambda console. | October 31, 2019 |
Create applications in the Lambda console (beta) | 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 AWS 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 Creating an application with continuous delivery in the Lambda console. | October 3, 2019 |
Performance improvements for VPC-connected functions | 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 |
Stream batch settings | 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. For details, see Monitoring functions in the AWS Lambda console. | June 18, 2019 |
Amazon Linux 2018.03 | The Lambda execution environment is being updated to use Amazon Linux 2018.03. For details, see Execution environment. | May 21, 2019 |
Node.js 10 | 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 |
GetLayerVersionByArn API | 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 |
Ruby | AWS Lambda now supports Ruby 2.5 with a new runtime. For details, see Building Lambda functions with Ruby. | November 29, 2018 |
Layers | 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 |
Custom runtimes | Build a custom runtime to run Lambda functions in your favorite programming language. For details, see Custom Lambda runtimes. | November 29, 2018 |
Application Load Balancer triggers | 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 |
Use Kinesis HTTP/2 stream consumers as a trigger | You can use Kinesis HTTP/2 data stream consumers to send events to AWS 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 |
Python 3.7 | AWS Lambda now supports Python 3.7 with a new runtime. For more information, see Building Lambda functions with Python. | November 19, 2018 |
Payload limit increase for asynchronous function invocation | 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 |
AWS GovCloud (US-East) Region | AWS Lambda is now available in the AWS GovCloud (US-East) Region. | November 12, 2018 |
Moved AWS SAM topics to a separate Developer Guide | A number of topics were focused on building serverless applications using the AWS Serverless Application Model (AWS SAM). These topics have been moved to AWS Serverless Application Model developer guide. | October 25, 2018 |
View Lambda applications in the console | You can view the status of your Lambda applications on the Applications page in the Lambda console. This page shows the status of the AWS 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 |
Function execution timeout limit | 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 |
Support for PowerShell Core language in AWS Lambda | AWS Lambda now supports the PowerShell Core language. For more information, see Programming model for authoring Lambda functions in PowerShell. | September 11, 2018 |
Support for .NET Core 2.1.0 runtime in AWS Lambda | AWS Lambda now supports the .NET Core 2.1.0 runtime. For more information, see .NET Core CLI. | July 9, 2018 |
Updates now available over RSS | You can now subscribe to an RSS feed to follow releases for this guide. | July 5, 2018 |
Support for Amazon SQS as event source | AWS Lambda now supports Amazon Simple Queue Service (Amazon SQS) as an event source. For more information, see Invoking Lambda functions. | June 28, 2018 |
China (Ningxia) Region | AWS Lambda is now available in the China (Ningxia) Region. For more information about Lambda Regions and endpoints, see Regions and endpoints in the AWS General Reference. | June 28, 2018 |
The following table describes the important changes in each release of the AWS Lambda Developer Guide before June 2018.
Change | Description | Date |
---|---|---|
Runtime support for Node.js runtime 8.10 | AWS 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 | AWS 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 | AWS 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 | AWS 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. For more information, see Edit code using the console editor. | November 30,2017 |
Setting Concurrency Limits on Individual Functions | AWS Lambda now supports setting concurrency limits on individual functions. For more information, see Managing Lambda reserved concurrency. | November 30,2017 |
Shifting Traffic with Aliases | AWS Lambda now supports shifting traffic with aliases. For more information, see Rolling deployments for Lambda functions . | November 28, 2017 |
Gradual Code Deployment | AWS 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 | AWS Lambda is now available in the China (Beijing) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the AWS General Reference. | November 9, 2017 |
Introducing SAM Local | AWS Lambda introduces SAM Local (now known as SAM CLI), a AWS 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 | AWS Lambda is now available in the Canada (Central) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the AWS General Reference. | June 22, 2017 |
South America (São Paulo) Region | AWS 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 AWS General Reference. | June 6, 2017 |
AWS Lambda support for AWS 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 Using AWS Lambda with AWS X-Ray. | April 19, 2017 |
Asia Pacific (Mumbai) Region | AWS Lambda is now available in the Asia Pacific (Mumbai) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the AWS General Reference. | March 28, 2017 |
AWS Lambda now supports Node.js runtime v6.10 | AWS 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 | AWS Lambda is now available in the Europe (London) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the AWS General Reference. | February 1, 2017 |
AWS Lambda support for the .NET runtime, Lambda@Edge (Preview), Dead Letter Queues and automated deployment of serverless applications. | AWS Lambda added support for C#. For more information, see Building Lambda functions with C#. Lambda@Edge allows you to run Lambda functions at the AWS Edge locations in response to CloudFront events. For more information, see Using AWS Lambda with CloudFront Lambda@Edge. | December 3, 2016 |
AWS 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. For more information, see Using AWS Lambda with Amazon Lex. | November 30, 2016 |
US West (N. California) Region | AWS 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 AWS General Reference. | November 21, 2016 |
Introduced the AWS SAM for creating and deploying Lambda-based applications and using environment variables for Lambda function configuration settings. | AWS SAM: You can now use the AWS 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 AWS CloudFormation template file (written in either JSON or YAML), package your deployment artifacts, and deploy the template. For more information, see AWS Lambda applications. Environment variables: You can use environment variables to specify configuration settings for your Lambda function outside of your function code. For more information, see Using AWS Lambda environment variables. | November 18, 2016 |
Asia Pacific (Seoul) Region | AWS Lambda is now available in the Asia Pacific (Seoul) Region. For more information about Lambda regions and endpoints, see Regions and endpoints in the AWS 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 AWS General Reference. | June 23, 2016 |
Updates to the Lambda console | The Lambda console has been updated to simplify the role-creation process. For more information, see Create a Lambda function with the console. | June 23, 2016 |
AWS Lambda now supports Node.js runtime v4.3 | AWS 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 AWS General Reference. | March 14, 2016 |
VPC support | You can now configure a Lambda function to access resources in your VPC. For more information, see Configuring a Lambda function to access resources in a 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 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 an example, see Using AWS Lambda with Amazon EventBridge (CloudWatch Events). 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 AWS 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 AWS SDKs (for example, AWS SDK for Java, AWS SDK for Android, or AWS 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 AWS 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 Using AWS Lambda with Amazon API Gateway. For more information about the Amazon API Gateway, see https://aws.amazon.com/api-gateway/. | 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. For more information, see Getting started with Lambda. | 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. The documentation has been updated accordingly. For information, see the following topics: Getting started with Lambda AWS Lambda | April 9, 2015 |
Preview release | Preview release of the AWS Lambda Developer Guide. | November 13, 2014 |