LocalStack LogoLocalStack Icon

Announcing the LocalStack for AWS 4.8 Release

LocalStack for AWS 4.8 is now available! This release introduces AWS Toolkit for VS Code integration, a revamped LocalStack Toolkit, a new CloudFormation engine, LocalStack-native Batch provider, and enhancements across multiple AWS services.

Announcing the LocalStack for AWS 4.8 Release

Introduction

LocalStack for AWS 4.8 is here, delivering significant enhancements to your local AWS development experience. This release introduces seamless integration with the AWS Toolkit for VS Code, enabling one-click remote debugging of Lambda functions with automatic instrumentation for Python, Node.js, and Java runtimes. We’ve also completely revamped the LocalStack Toolkit for VS Code with a guided setup wizard and improved logging capabilities.

The release brings a major architectural advancement with our new CloudFormation engine that more accurately models UPDATE operations, plus a new LocalStack-native Batch provider built on the ECS runtime. Additional improvements include Kubernetes support for ElastiCache and MemoryDB, comprehensive EKS addons support, and enhancements across Route 53, CloudFront, and the AWS Replicator.

Get your free LocalStack account to access the latest features and enhancements in LocalStack for AWS 4.8!

How to upgrade?

To upgrade to LocalStack for AWS 4.8 using the LocalStack CLI, run:

Terminal window
localstack update all

If using Docker CLI or Docker Compose, update the Docker image:

Terminal window
docker pull localstack/localstack:4.8.0 # Community Edition
docker pull localstack/localstack-pro:4.8.0 # Pro Edition

Pin version 4.8.0 in your Docker configuration to ensure reproducibility.

What’s new in LocalStack for AWS 4.8?

Integration in the AWS Toolkit for VS Code

LocalStack v4.8 introduces one-click remote debugging of Lambda functions with the AWS Toolkit for VS Code. Developers can set breakpoints, step through code, and inspect variables directly in their IDE. LocalStack now automatically instruments your code for debugging Python, Node.js, and Java runtimes. Developers no longer need to manually include debug dependencies and instrument their code with boilerplate code. Advanced debugging scenarios and other Lambda runtimes remain supported through the Lambda Debug Model (Preview) using a configuration file.

Key updates include:

  • Automatic debugger instrumentation for Python, Node.js, and Java runtimes.
  • Full support for AWS Toolkit for VS Code workflows, including AWS SAM applications and standalone Lambdas functions.
  • Isolated debugging execution environment for easier debugger connection and cold start debugging

Learn more in our blog post.

Revamped LocalStack Toolkit for VS Code

The LocalStack Toolkit for VS Code has been fully revamped to simplify and enhance the installation, configuration, and running of LocalStack directly within your VS Code editor. Key improvements include:

  • A guided setup wizard to install LocalStack, configure authentication, and create a dedicated localstack AWS profile.
  • Status bar integration to conveniently start/stop your LocalStack container and view the runtime status.
  • Improved logging with LocalStack logs available directly in the VS Code Output panel.
  • Automatic pre-fetching of the LocalStack Docker image and better handling of DNS resolution and endpoint configuration.

LocalStack Toolkit for VS Code Setup Wizard

With these updates, developers can seamlessly integrate LocalStack into their VS Code workflow, use it with AWS tools (CLI, SDKs, CDK), and get a more consistent development experience.

Learn more about the LocalStack Toolkit for VS Code in the documentation.

New CloudFormation Engine

We have introduced a new CloudFormation engine that more accurately models UPDATE operations applied to CloudFormation stacks. This is a major change requested by many users and improves parity with AWS. If you encounter issues, you can revert to the legacy engine by setting PROVIDER_OVERRIDE_CLOUDFORMATION=engine-legacy. The legacy engine (used in versions prior to 4.8.0) will remain available, but no new features or fixes will be added. All future development will focus on the new engine. If you encounter any issues with the new engine, please submit a bug report.

The new engine is a completely different implementation; therefore, CloudFormation stacks stored in Cloud Pods or via persistence will not load correctly. You can revert to the legacy engine to ensure backwards compatibility for now, or recreate the stacks. UPDATE support for more resources will be added in future releases, and you can submit feature requests on GitHub.

This release lays the groundwork for a seamless developer experience with CloudFormation, and by extension, CDK, SAM, and other tools that build on top of CloudFormation.

Learn more about LocalStack’s CloudFormation provider in the documentation.

New LocalStack-native Batch provider

We’ve introduced a new Batch provider in LocalStack and made it the default. This provider replaces the previous custom Batch implementation with one built on top of the LocalStack ECS runtime, aligning behavior more closely with AWS.

Key updates include:

  • Execution of ECS-based Batch jobs using the LocalStack ECS runtime.
  • Support for sequential array jobs.
  • Support for job dependencies and parameter substitution in job definitions.
  • Partial support for Batch environment variables, including: AWS_BATCH_CE_NAME, AWS_BATCH_JOB_ARRAY_INDEX, AWS_BATCH_JOB_ARRAY_SIZE, AWS_BATCH_JOB_ATTEMPT, AWS_BATCH_JOB_ID, AWS_BATCH_JQ_NAME.
  • Configurable ECS_DOCKER_FLAGS to pass additional Docker flags to the container runtime.
  • Kubernetes support by setting ECS_TASK_EXECUTOR=kubernetes, allowing Batch jobs to run on Kubernetes clusters.

The new Batch provider also supports state persistence, allowing you to save and restore job states between runs using LocalStack’s state management features.

To revert to the legacy Batch provider, set the environment variable: PROVIDER_OVERRIDE_BATCH=legacy.

Learn more about Batch in the LocalStack documentation.

Kubernetes executor for ElastiCache & MemoryDB (Redis)

LocalStack now includes Kubernetes support for running Redis in ElastiCache & MemoryDB, enabling you to run them as pods in your Kubernetes cluster. This enhancement allows developers to run Redis in ElastiCache & MemoryDB within Kubernetes clusters, eliminating the need for separate Docker-based job execution and providing consistent behavior across both local and cluster environments.

The new Kubernetes executor integrates seamlessly with LocalStack’s existing ElastiCache & MemoryDB infrastructure. To activate the Kubernetes executor, set the REDIS_CONTAINER_MODE environment variable to 1 and CONTAINER_RUNTIME environment variable to kubernetes.

Learn more about our Kubernetes executor in the documentation.

CRUD support for EKS addons

LocalStack now offers CRUD support for EKS Addons. The following API calls are now supported:

Route 53 support for S3 static websites

LocalStack now supports routing Route 53 domains to S3 static website endpoints. This allows developers to associate custom Route 53 domains with S3-hosted websites and access them directly through the configured domain name.

This enhancement improves parity with AWS by enabling end-to-end workflows where Route 53 DNS records resolve correctly to S3 website endpoints, a common setup for hosting static websites.

To use this feature, ensure that your system is configured to resolve DNS queries through LocalStack by either:

  • Adding entries in /etc/hosts for simple local testing, or
  • Running the LocalStack DNS server and configuring your system to use it for DNS resolution.

Learn more about DNS resolution and Route 53 integration in the documentation.

New enhancements in the LocalStack AWS Replicator (Preview)

LocalStack AWS Replicator bridges the gap between your AWS cloud environment and your local development by copying AWS resources directly into a running LocalStack instance. The following enhancements are now available:

  • Cross-account KMS key alias support: The Replicator can now describe KMS keys using their alias ARN. When an alias ARN is provided, the key_id is returned as alias/<alias_name>, improving compatibility in cross-account replication scenarios.
  • Batch replication: Introduced initial support for replicating groups of resources. For example, you can now replicate all SSM parameters under a given path (e.g., /dev/front-end/*) with a single command:
    Terminal window
    localstack replicator start \
    --replication-type BATCH \
    --resource-type AWS::SSM::Parameter \
    --resource-identifier /dev/front-end/
    Batch replication is currently limited to a max concurrency of 10 to prevent issues with large sets of resources.

Learn more about the LocalStack AWS Replicator in the documentation.

New enhancements in the CloudFront provider

LocalStack’s CloudFront provider now includes the following enhancements:

  • Improved parity for header propagation in Lambda@Edge.
  • Improved parity by propagating status code changes for request event types (viewer-request, origin-request) in Lambda@Edge.
  • Proper handling of 3XX redirects for request events, ensuring responses like 302 are correctly propagated in Lambda@Edge.
  • CustomOriginConfig.HTTPPort and CustomOriginConfig.HTTPSPort are now properly set, ensuring requests correctly use configured custom ports instead of defaulting to port 80/443, with fallbacks to LocalStack’s edge port (4566) when necessary.

New enhancements in the RDS Data provider

LocalStack’s RDS Data provider now includes the following enhancements:

  • Added support for oid type in Postgres via the RDS Data API.
  • Added support for array types in Postgres via the RDS Data API, with fixes for array handling in Redshift Data.
  • Added support for returning numberOfRecordsUpdated in Postgres databases, improving parity with AWS responses.

Miscellaneous

  • Enhanced Lambda hot-reload to return file:// URIs for code locations instead of arbitrary strings, making them easier to parse and understand.
  • Support for custom SSM Documents with SendCommand is now available, including parameter substitution. Only the aws:runShellScript plugin is supported.
  • Implemented FIS action aws:ecs:stop-task, enabling fault injection experiments to stop running ECS tasks.
  • Enabled API Gateway VPC endpoint routing, allowing API invocation via .vpce.execute-api URLs using the x-apigw-api-id header.
  • SNS now supports passing MessageGroupId to non-FIFO topics, aligning with SQS Fair Queues behavior and ensuring the attribute is propagated correctly to SQS messages.
  • Implemented SES SetIdentityHeadersInNotificationsEnabled API, enabling configuration of header inclusion in bounce, complaint, and delivery notifications.
  • Added support for Lambda Function URLs with ResponseStream invoke mode, enabling streaming responses via the InvokeMode parameter.
  • Added Java 24 support in the Trino installer, enabling upgrades from Trino 389 to 476 and improving module installation command generation.
  • Increased SQS message and batch size limit to 1 MiB, matching the recent AWS update.
  • Added support for EFS DeleteFileSystemPolicy operation.
  • Added support in CodePipeline for the CODEBUILD_RESOLVED_SOURCE_VERSION environment variable, ensuring CodeBuild actions receive the correct commit ID or S3 version ID for the source.
  • Added support for Iceberg table metadata format v2 and s3a:// filesystem support in Hive, improving compatibility with Iceberg tables created using the iceberg-go SDK.
  • Added Kubernetes owner references to Glue pods, enabling proper cleanup of child containers when the LocalStack pod is terminated.
  • Added support in CodeBuild for resolving environment variables from Secrets Manager and SSM Parameter Store using ARNs, in addition to names.
  • Added tagging support for the CodeConnections service, enabling resource tag operations.
  • Enabled automatic state restoration when EAGER_SERVICE_LOADING is set, ensuring persisted state is loaded at startup instead of only on request.
  • Improved EKS CloudFormation support for AWS::EKS::FargateProfile with idempotency handling, improved parameter validation, and proper support for profiles created without subnets.
  • Updated DNS handling to allow checkip.amazonaws.com to resolve upstream by default by adding it to DEFAULT_SKIP_PATTERNS.
  • Improved Cloud Pod persistence handling by streaming pod data and state instead of loading entire files into memory, and by writing large pod files (>64 MiB) to the host file system. These changes prevent memory exhaustion and container storage issues when importing or loading large pods.
  • The Traefik ingress controller and k3d load balancer are no longer started automatically when creating an EKS cluster. Set EKS_START_K3D_LB_INGRESS=1 to restore the previous behavior.

Deprecations

  • The new CloudFormation engine will soon fail deployments containing unsupported resource types by default. The legacy engine is unaffected. Users can set CFN_IGNORE_UNSUPPORTED_RESOURCE_TYPES to maintain the current behavior where unsupported resources are ignored.
  • Starting with LocalStack 4.9, the base image will upgrade from Debian Bookworm / Python 3.11 to Debian Trixie / Python 3.13. This may impact custom extensions or init scripts that rely on specific OS packages or Python 3.11.

Conclusion

LocalStack for AWS 4.8 represents a significant leap forward in local cloud development, delivering seamless VS Code integration, a new CloudFormation engine, and expanded service capabilities. The release eliminates traditional barriers between local development and production environments, reinforcing LocalStack’s position as the leading platform for local AWS development.

Upgrade to LocalStack for AWS 4.8 today to experience enhanced developer workflows and accelerate your cloud application development with greater confidence and efficiency.


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.