LocalStack LogoLocalStack Icon

Announcing the LocalStack 3.8 release!

LocalStack 3.8 is now available! This release brings a new API Gateway provider, enhanced Lambda Event Source Mapping, and several new features across services, focusing on improved AWS parity, developer experience, and local cloud tooling.

Announcing the LocalStack 3.8 release!

LocalStack 3.8 is here! This release introduces a brand-new API Gateway provider for REST and HTTP APIs, enhanced Lambda Event Source Mapping, and the ability to access LocalStack developer endpoints via Swagger UI. In addition, you can now use the preview Elemental MediaConvert provider, manage SMS Channel operations in Pinpoint, and explore new features in the Step Functions and MWAA providers. Other notable updates include support for Resource Access Manager invitations and new functionality in the Lambda Resource Browser.

How to upgrade?

To upgrade to LocalStack 3.8 using the LocalStack CLI, run the following command to update both the LocalStack Docker image and CLI to the latest version:

$ localstack update all

If using LocalStack with Docker CLI or Docker Compose, update the Docker image by running:

$ docker pull localstack/localstack:3.8.0 # Community Edition
$ docker pull localstack/localstack-pro:3.8.0 # Pro Edition

Pin the LocalStack version in your docker run command or Docker Compose file to 3.8.0.

What’s new in LocalStack 3.8?

New API Gateway provider

LocalStack now supports a new API Gateway provider for both API Gateway v1 (REST API) and v2 (HTTP API). This implementation enhances parity with AWS across various functionalities:

REST APIs:

HTTP APIs:

General Improvements for REST and HTTP APIs:

  • Supports stages and deployments, enabling different stages (e.g., dev, production) to point to distinct deployments with specific settings and stage variables.
  • Enhances logging for various steps in LocalStack logs.

Note: WebSockets APIs are still using the default implementation.

To activate the new API Gateway provider, set PROVIDER_OVERRIDE_APIGATEWAY=next_gen. To match the AWS standards, for both REST and HTTP APIs in LocalStack, it’s now required to create a deployment for your API to be reachable. This allows you to set up different stages, such as dev and production, each pointing to distinct deployments with their own settings and stage variables, all reflected within LocalStack.

Learn more in our documentation.

New Elemental MediaConvert provider (Starter, Teams & Enterprise)

LocalStack now supports Elemental MediaConvert, an AWS service that converts media files into various formats for delivery to different devices and platforms. Currently, the service mocks the submission of encoding jobs to either the default queue or a custom-created queue. While actual transcoding is not performed, job completion is emulated.

Job status progresses after a brief wait, and EventBridge events are emitted when the job state changes, allowing users to determine if a job has finished. This delay can be disabled by setting MEDIACONVERT_DISABLE_JOB_DURATION=1, which causes processing jobs to complete almost instantly.

The Elemental MediaConvert provider is in preview. Learn more in our documentation.

New default Lambda Event Source Mapping implementation

LocalStack switched the default implementation for Lambda Event Source Mapping (ESM) offering improved reliability, performance, and AWS parity.

The improvements of the new default implementation over ESM v1 include:

  • Improved reliability through internal retries and separation of concern such that single exceptions or timeouts don’t affect other event source mappings.
  • Improved performance by enabling concurrent event source mappings rather than having a single thread handling everything.
  • Improved AWS parity, such as filtering, SQS polling, and (partial) batch failure handling.
  • Improved Kafka support for Amazon MSK and Self-Managed Kafka.

Create a GitHub issue or reach out to LocalStack support if you experience any challenges. You can temporarily switch back to the old implementation using the configuration LAMBDA_EVENT_SOURCE_MAPPING=v1. The old implementation won’t be available in the next major release.

Learn more in our documentation.

Access LocalStack Developer endpoints via Swagger UI

LocalStack now provides an OpenAPI specification for various LocalStack packages, detailing all internal developer endpoints served by the LocalStack container. To explore these endpoints, navigate to http://localhost.localstack.cloud:4566/_localstack/swagger in your browser. This will allow you to access the Swagger UI, where you can visualize and interact with all the APIs implemented in LocalStack.

LocalStack Swagger UI

New features in the Step Functions provider

LocalStack has introduced new features in the Step Functions provider:

  • Added support for the ResultWriter field in distributed Map states.
  • Enabled support for parameters as inputs in parallel states.
  • Support was introduced for accessing the Context Object outside payload templates.

Support for Resource Access Manager (RAM) invitation mechanism (Starter, Teams & Enterprise)

LocalStack now offers CRUD support for the Resource Access Manager invitation mechanism. The following operations have been implemented:

LocalStack also now emulates AWS RAM, enabling the sharing of EC2 Subnets with other account IDs to provide basic resource-sharing functionality.

Support for SMS Channel operations in Pinpoint (Starter, Teams & Enterprise)

LocalStack now provides CRUD support for SMS Channels operations within the Pinpoint provider. The implemented operations include:

New features in the MWAA provider (Starter, Teams & Enterprise)

LocalStack has introduced new features in the MWAA provider:

  • Integration to allows access to LocalStack resources directly from within Airflow environments.
  • Support for Airflow version 2.9.2 in the MWAA environment.

New features in the Lambda Resource Browser

The LocalStack Web Application features a Resource Browser for managing Lambda resources. To access it, open the LocalStack Web Application, go to the Resources section, and select Lambda under the Compute category. The Lambda Resource Browser now includes new features:

  • Invoke Lambda Function: Navigate to the Invoke tab, add a payload, and invoke the function to view the status code and Lambda log result.
  • View Lambda Tags: Click on an individual Lambda function to display its associated tags. These tags are for functions deployed locally.

Miscellaneous

  • Support for the RevokeToken operation in the Cognito provider is now available.
  • CRUD support for the AWS Lambda Recursive Loop Detection API is now available in LocalStack.
  • Support for the API Gateway target for the new LocalStack-native EventBridge v2 implementation.

Conclusion

This release underscores our continued commitment to delivering a powerful and feature-rich local cloud environment that closely mirrors AWS functionality. With enhanced API support, new developer tools, and several new features across key services like Lambda, API Gateway, and Step Functions, LocalStack 3.8 is packed with updates to streamline your development workflows. Additionally, this is the last release before our major 4.0 version, which promises even more groundbreaking features and improvements. Upgrade to LocalStack 3.8 today to take full advantage of these updates and prepare for what’s to come!


Harsh Mishra
Harsh Mishra
Engineer at LocalStack
Harsh Mishra is an Engineer at LocalStack and AWS Community Builder. Harsh has previously worked at HackerRank, Red Hat, and Quansight, and specialized in DevOps, Platform Engineering, and CI/CD pipelines.