Changelog

Your source for the latest features, improvements, and fixes across LocalStack products, all in one place.

  1. New native providers for S3, Step Functions, and ElastiCache

    Three core AWS services move to native implementations in LocalStack 3.0.

    • The native S3 implementation from 2.3.0 is now the default, adding bucket versioning, pagination in List operations, precondition headers, S3 Object Lock and Legal Hold, and default bucket encryption.
    • S3 throughput rises about 10% for PutObject/GetObject on small files (30% on 10 MB files), 2.5x for ListObjectsV2, 16x for ListObjectVersions, and 33% for multipart uploads.
    • The new Step Functions provider adds state machine versioning, Map states, timeout and heartbeat handling, EventBridge integration, and the latest Intrinsic Functions.
    • The new ElastiCache provider runs a dedicated Redis control plane for cluster and non-cluster mode; the old provider stays available via PROVIDER_OVERRIDE_ELASTICACHE=legacy until v4.

    Chaos Engineering dashboard

    A new Chaos Engineering dashboard in the Web Application runs fault injection experiments against your stack.

    • Return 500 errors for a percentage of incoming requests, or for requests against a specific region.
    • Simulate a full region outage or add latency to all API calls.
    • New guides cover the Outage Extension, Route53 failover with FIS, and error probabilities for Kinesis and DynamoDB.

    IAM Policy Stream in the Web Application

    The IAM Policy Stream, previously CLI-only, is now available in the Web Application.

    • Shows a real-time list of API calls and the IAM policy each one generates.
    • Combines individual policies into a single summary policy.
    • Toggle the stream on or off at runtime and reset it to start a fresh policy set.

    Ephemeral Instances and CI Analytics (Preview)

    Two preview features extend LocalStack into the cloud and CI pipelines.

    • Ephemeral Instances run a LocalStack sandbox in the cloud for up to 90 minutes, with Resource Browser, Cloud Pods, and Extensions support, and can generate preview environments from GitHub PR builds.
    • CI Analytics provides per-project CI run views, log output, request/response traces, Cloud Pod state, and Stack Insights across builds.

    LocalStack Desktop Application

    • Cross-platform desktop client with a local Resource Browser for 30+ AWS services and container and log management.
    • Replaces LocalStack Cockpit.

    Performance, accounts, and configuration

    • DynamoDB writes are 60% faster for PutItem, with BatchWriteItem 6.2x faster for 10 items and 9.9x faster for 25 items; set DYNAMODB_IN_MEMORY=1 for best results.
    • Multi-account and multi-region awareness improved across Step Functions, CloudWatch, EventBridge, and Glue, with SQS now multi-account compatible via a new default URL endpoint strategy.
    • Networking config standardized; EDGE_PORT, EDGE_PORT_HTTP, EDGE_BIND_HOST, LOCALSTACK_HOSTNAME, and HOSTNAME_EXTERNAL removed in favor of GATEWAY_LISTEN and LOCALSTACK_HOST.
    • Auth Tokens replace API keys for license management, and Strict Service Loading starts only services listed in SERVICES.
    Read Full Release Notes
  2. Rewritten Lambda and S3 Providers

    LocalStack 2.0 ships fully rewritten Lambda and S3 providers focused on AWS parity and faster execution.

    • Lambda invocation time for a simple Echo function drops from 800-1000ms on the old docker executor to around 10ms.
    • Functions now run in official AWS images pulled to match the production environment, instead of executing inside the LocalStack container.
    • Lambda functions can be created asynchronously and have stricter input validation.
    • S3 notifications are now asynchronous, with behavior closer to AWS.

    Separation of Community and Pro Images

    Pro and Team customers must migrate to the new localstack/localstack-pro image, while Community users stay on localstack/localstack.

    • Resolves a circular dependency between the open-source version and the proprietary Pro extensions.
    • Community image size drops from 775 MB to ~320 MB; Pro image drops from 750 MB to ~570 MB.
    • Using an API key with the Community image to activate Pro extensions now returns an error.

    New Snapshot Persistence Mechanism

    Persistence now loads data on LocalStack startup rather than lazy-loading per service on first use.

    • Set SNAPSHOT_LOAD_STRATEGY to on_request or on_startup to control when snapshots load.
    • Set SNAPSHOT_SAVE_STRATEGY to on_request, on_shutdown, or scheduled to control when snapshots save.
    • Default save strategy is scheduled: snapshots of changed services are taken every 15 seconds and on shutdown.

    Cloud Pods for Community Edition

    Cloud Pods are persistent state snapshots that can be restored, merged, and injected into an instance.

    • Community edition can now create persistent snapshots and store them locally or in a Git repository.
    • The Cloud Pods launchpad shares and injects pods from a repository or URL via a badge from app.localstack.cloud/launchpad.
    • Cloud Pods created with v1.x.x may be incompatible with 2.0 due to a changed pod layout.

    Mono Container for Big Data Services

    Mono container mode for Glue, EMR, and Athena is now the default, replacing the separate localstack_bigdata sidecar container.

    • The previous localstack_bigdata sidecar implementation is deprecated and will be removed in a future release.
    • Dependencies are downloaded and installed at runtime on first load and cached in the var_libs directory.
    • A localstack/localstack-pro:2.0.0-bigdata image ships with the default dependencies pre-installed.

    Simplified Host and Network Configuration

    • HOSTNAME_EXTERNAL and LOCALSTACK_HOSTNAME are unified into LOCALSTACK_HOST for hostnames returned by services such as OpenSearch clusters, SQS queues, and RDS databases.
    • EDGE_BIND_HOST, EDGE_PORT, and EDGE_PORT_HTTP are unified into GATEWAY_LISTEN for the addresses and ports LocalStack listens on.
    • Cross-service IAM enforcement (ENFORCE_IAM=1) now evaluates internal requests between services and resource-based permissions.
    • Resource Browser adds support for Glue, SES v2, RDS Clusters, and Lambda Layers, reaching 28 supported services.
    Read Full Release Notes