Changelog

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

  1. Amazon Bedrock Provider

    LocalStack 4.0 adds emulation for Amazon Bedrock so you can build and test AI-driven applications locally without consuming cloud credits.

    • Emulates foundation models using publicly available Ollama models, with Mistral as the default.
    • Supports the Invoke API, the Converse API, and batch processing.
    • Change the model with the DEFAULT_BEDROCK_MODEL variable; set BEDROCK_PREWARM to pre-warm the engine and download the model before the first invocation.

    LocalStack Event Studio

    Event Studio is a preview tool for inspecting and debugging event-driven systems across AWS services.

    • Collects events and lets you inspect payloads and metadata as data moves between services.
    • Replays events at intermediate steps to debug consuming services.
    • Surfaces IAM policy gaps and service misconfigurations. Supports Lambda, EventBridge, SQS, SNS, DynamoDB, and S3.
    • Available via the Web Application or CLI at eventstudio.localhost.localstack.cloud:4566.

    LocalStack SDK for Python

    A preview Python SDK provides an object-oriented interface to the internal /_localstack and /_aws developer endpoints that previously required cURL or REST clients.

    • Save, list, load, and delete Cloud Pods, and manage fault configurations for the Chaos API.
    • Reset service state automatically and list SQS queue messages without side effects.
    • Retrieve and delete sent SES messages and manage SNS platform messages, SMS, and subscription tokens.

    New Default Providers for EventBridge and API Gateway

    The native EventBridge and API Gateway providers, introduced in earlier 3.x releases, are now the defaults in 4.0.

    • EventBridge ships a native Python event rule engine; set EVENT_RULE_ENGINE=java to use the AWS EventRuler library for higher parity.
    • API Gateway adds request and response data mappings, VTL mapping template rendering, AWS_PROXY Lambda integration, and REQUEST Lambda authorizers.
    • Fall back to the old implementations with PROVIDER_OVERRIDE_EVENTS=v1 or PROVIDER_OVERRIDE_APIGATEWAY=legacy. Both are scheduled for removal in the next major release.

    Kubernetes Runtime and Ephemeral Instances CLI

    LocalStack can now run more services on Kubernetes, and Ephemeral Instances are managed from the CLI.

    • Run DocumentDB, MWAA, and RDS (MySQL and MSSQL) on Kubernetes by setting CONTAINER_RUNTIME=kubernetes.
    • Create, list, fetch logs for, and delete cloud Ephemeral Instances with localstack ephemeral create and related commands.
    • Lambda Debug Mode now hot-reloads its config file at the path set by LAMBDA_DEBUG_MODE_CONFIG_PATH.

    Service Parity Improvements

    • DynamoDB emulation upgraded to DynamoDB Local 2.0, adding table deletion protection, the ReturnValuesOnConditionCheckFailure parameter, configurable maximum throughput for on-demand tables, and BatchExecuteStatement and ExecuteTransactionRequest support.
    • Python 3.13 Lambda runtime is now supported, and Lambda Event Source Mappings support tagging.
    • CloudFormation custom resources now support UPDATE and DELETE operations.
    • KMS supports deriving shared secrets using the key agreement algorithm.
    Read Full Release Notes
  2. New API Gateway Provider

    LocalStack adds a new provider covering both API Gateway v1 (REST API) and v2 (HTTP API), activated with PROVIDER_OVERRIDE_APIGATEWAY=next_gen.

    • REST APIs implement request and response data mappings, Mapping Template overrides, and improved VTL rendering across AWS, HTTP, and MOCK integrations.
    • HTTP APIs fully implement the AWS_PROXY Lambda integration and REQUEST Lambda Authorizer, with automatic OPTIONS CORS responses and automatic deployments of stages.
    • Both API types support stages and deployments; an API now requires a deployment to be reachable. WebSockets APIs still use the default implementation.

    New Default Lambda Event Source Mapping Implementation

    LocalStack switches the default Lambda Event Source Mapping (ESM) to a new implementation; set LAMBDA_EVENT_SOURCE_MAPPING=v1 to revert to the old one, which will be removed in the next major release.

    • Internal retries and separation of concern so a single exception or timeout does not affect other event source mappings.
    • Concurrent event source mappings instead of a single thread handling everything.
    • Better parity for filtering, SQS polling, and partial batch failure handling, plus improved Kafka support for Amazon MSK and Self-Managed Kafka.

    Developer Endpoints via Swagger UI

    • LocalStack publishes an OpenAPI specification covering the internal developer endpoints served by the LocalStack container.
    • Browse and call them at http://localhost.localstack.cloud:4566/_localstack/swagger.

    New Elemental MediaConvert Provider (Preview)

    LocalStack adds a preview Elemental MediaConvert provider that mocks encoding job submission to the default or a custom queue.

    • Job status progresses after a short wait and EventBridge events are emitted on state changes; actual transcoding is not performed.
    • Set MEDIACONVERT_DISABLE_JOB_DURATION=1 to make processing jobs complete almost instantly.

    Step Functions and MWAA Updates

    • Step Functions adds the ResultWriter field in distributed Map states, parameters as inputs in parallel states, and access to the Context Object outside payload templates.
    • MWAA can access LocalStack resources from within Airflow environments and supports Airflow version 2.9.2.

    Service Coverage Additions

    • Resource Access Manager (RAM) invitation CRUD via GetResourceShareInvitations, AcceptResourceShareInvitation, and RejectResourceShareInvitation, plus EC2 Subnet sharing across account IDs.
    • Pinpoint SMS Channel CRUD via UpdateSmsChannel, DeleteSmsChannel, and GetSmsChannel.
    • Cognito RevokeToken support, CRUD for the Lambda Recursive Loop Detection API, an API Gateway target for the EventBridge v2 implementation, and Invoke and tag views in the Lambda Resource Browser.
    Read Full Release Notes
  3. Lambda Debug Mode (Preview)

    A new execution mode for debugging Lambda functions, activated by setting LAMBDA_DEBUG_MODE=1.

    • Assign a dedicated debug port per Lambda function version for remote debugging, configured in a file referenced by LAMBDA_DEBUG_MODE_CONFIG_PATH.
    • Automatic management of execution timeouts and integration with API Gateway.
    • Debug multiple Lambda functions at once within the same runtime environment.

    New Lambda Event Source Mapping implementation (Preview)

    A rewritten Event Source Mapping (ESM) implementation enabled with LAMBDA_EVENT_SOURCE_MAPPING=v2.

    • Internal retries isolate single exceptions or timeouts so one ESM failure does not affect others.
    • Concurrent event source mappings replace the single-thread model of ESM v1.
    • Compatible with the Java-based event pattern rule engine (EVENT_RULE_ENGINE=java).
    • Does not yet support MSK event sources, persistence, FIFO SQS/SNS failure destinations, or partial batch responses.

    Cloud Pods state merging and dry run (Teams & Enterprise)

    Loading a Cloud Pod now supports merge strategies and a preview mode.

    • Choose a merge strategy with --strategy: overwrite, account-region-merge (default), or service-merge.
    • Preview the resources a load would add or modify without changing state using localstack pod load --dry-run.
    • S3 remote storage for Cloud Pods now supports folders within a destination bucket.

    DMS Serverless and Chaos API dashboard (Enterprise)

    • AWS Database Migration Service (DMS) Serverless is now supported, with DMS_SERVERLESS_STATUS_CHANGE_WAITING_TIME and DMS_SERVERLESS_DEPROVISIONING_DELAY to control state-change timing.
    • The Chaos Engineering dashboard now uses the Chaos API for DynamoDB and Kinesis ProvisionedThroughputExceededException injection, 500 and 503 responses, region outages, and added latency.

    S3 and service parity improvements

    • S3 now validates SSE-C parameters on PutObject, GetObject, HeadObject, GetObjectAttributes, CopyObject, CreateMultipartUpload, and UploadPart.
    • S3 conditional writes let PutObject and CompleteMultipartUpload check for an existing object before creating it.
    • EventBridge Pipes adds TagResource, UntagResource, and ListTagsForResource; RAM adds AssociateResourceShare, DisassociateResourceShare, TagResource, and UntagResource.
    • Step Functions supports idempotent StartExecution against running STANDARD state machines with identical input.
    • SES improves handling for DescribeActiveReceiptRuleSet, DeleteReceiptRuleSet, and SetActiveReceiptRuleSet.

    CloudFormation and infrastructure tooling

    • CloudFormation adds MFA config for AWS::Cognito::UserPool, ArchivePolicy on AWS::SNS::Topic, default tags on AWS::EC2::SecurityGroup, key-pair import via AWS::EC2::KeyPair, and *_IN_PROGRESS events for CDK.
    • Managed DevContainer Templates ship in Docker-in-Docker and Docker-outside-of-Docker variants, both adding the LocalStack DevContainer Feature.
    • New EKS_K8S_PROVIDER variable selects k3s (default) or local; a new EC2 Kubernetes executor runs instances as Pods via EC2_VM_MANAGER=kubernetes (preview).
    • EC2 Libvirt VM manager adds EC2_HYPERVISOR_URI and UserData shell scripts on RunInstances.
    Read Full Release Notes