Releases: localstack/localstack
v4.0.3
What's Changed
- Update CODEOWNERS by @localstack-bot in #11919
- Lambda: Fix behaviour for alias update and delete operations by @anisaoshafi in #11878
- fix(providers): Removed cloudcontrol provider by @Pive01 in #11920
- Events create connection test fix by @zaingz in #11904
- Add nodejs22.x AWS Lambda runtime by @dfangl in #11929
- Remove custom spec for AWS StepFunctions by @dominikschubert in #11925
- Apply IAM patches when loading STS to avoid wrong access key formats by @dfangl in #11931
- ci/prevent init file to break packaging by @cloutierMat in #11914
- add variable to configure SNS sender by @bentsku in #11930
- Apigw fix openapi identity sources by @cloutierMat in #11939
- [SFN] Activity Name and Arn Validation Logic by @MEPalma in #11924
- fixed java lib path for macos by @macnev2013 in #11892
- implement S3 conditional write
IfMatch
by @bentsku in #11941 - fix flaky SES test by @bentsku in #11944
- Extend patch decorator to add methods to class types by @giograno in #11932
- Add analytics for event rule engine by @joe4dev in #11928
- Re-introduce error analytics for EventBridge rule error by @joe4dev in #11935
- Add lambda ESM analytics by @joe4dev in #11883
- analytics for non-prefixed env var forwarding in CLI by @alexrashed in #11946
- StepFunctions: Support Comments in Comparison Composite Statement Lists by @MEPalma in #11956
- fix ESM analytics by @bentsku in #11961
- Cloudformation implement ssm param read by @cloutierMat in #11962
- Handle null value in SES OpenAPI spec by @giograno in #11954
- StepFunctions: Fix ErrorName Value for Lambda Task Errors by @MEPalma in #11957
- Added test and fix for wrong time format and serialization in events v2 by @zaingz in #11959
- StepFunctions: Support for ContextObject Paths Bindings for ErrorPath and CausePath by @MEPalma in #11958
- [SFN] Add usage analytics for Variable Workflow and JSONata features by @gregfurman in #11963
- [ESM] Fix polling of SQS queue when batch size exceeds 10 by @gregfurman in #11945
- implement new native EventBridge EventRuleEngine by @bentsku in #11960
- Add deprecation for Java-based event ruler by @joe4dev in #11964
- fix: follow-up for null value in SES response by @giograno in #11966
- APIGW: fix parsing invalid JSON template in MOCK integration by @cloutierMat in #11967
New Contributors
- @anisaoshafi made their first contribution in #11878
Full Changelog: v4.0.2...v4.0.3
v4.0.2
What's Changed
- Fix localstack namespace package by @dominikschubert in #11912
- Fix linting issue after namespace package fix by @dominikschubert in #11913
Full Changelog: v4.0.1...v4.0.2
v4.0.1
What's Changed
- Add Step Functions support for Variables and JSONata features by @MEPalma and @gregfurman in #11906
- Enable EventBridge API destinations and connections by @dfangl in #11896
- Re-introduce EventBridge invoke analytics by @joe4dev in #11893
- add error replacement for DynamoDBStreams v2 by @bentsku in #11887
- Refactor EventBridge ArchiveServices to allow restoration without side effects by @dfangl in #11891
- Fix put_targets validation regressions by @joe4dev in #11903
- Fix formatting for new sfn features by @dominikschubert in #11907
- Disable selected StepFunctions unit tests due to broken imports by @dominikschubert in #11908
- Fix provider signature for StepFunctions TestState operation by @dominikschubert in #11909
- Fix JVM startup for StepFunctions by @MEPalma in #11910
Full Changelog: v4.0.0...v4.0.1
v4.0.0
Summary
This is our fourth major release for LocalStack, bringing a host of new features, enhancements, and breaking changes designed to improve local cloud development & test experience! With LocalStack 4.0, we’re introducing support for foundation models through the new Bedrock provider, enhanced EventBridge & API Gateway support via a native implementation, and opening up the AWS “black box” with Event Studio to give developers the tools to understand, debug, and quickly iterate over their cloud applications.
Additionally, LocalStack's Web Application now includes new features like an improved IAM Policy Stream to generate security policies on the fly, a Stack Overview for quick insights into local cloud resources, and expanded Cloud Pods capabilities for better state management.
Breaking changes include the deprecation of legacy service providers and deprecated FIS actions alongside various Ubuntu AMI, Airflow & PostgreSQL versions. Deprecations are also aimed at improving security and compatibility, such as replacing legacy API keys with Auth Tokens and streamlining environment variable management.
This release reinforces our commitment to creating a comprehensive, reliable local cloud development platform, and continues our mission to become a drop-in replacement for AWS in your local environment, as well as meeting all your enterprise needs.
AWS Features
- LocalStack now supports a new Bedrock provider that locally emulates foundation models (FMs) with features like Invoke API, Converse API & Batch processing. (🌟 enterprise)
- LocalStack has switched the default implementation for the EventBridge to a new native provider offering improved reliability, performance, and AWS parity. The old EventBridge provider is temporarily available in LocalStack using
PROVIDER_OVERRIDE_EVENTS=v1
. - LocalStack has switched the default implementation for the API Gateway to a new native provider offering improved reliability, performance, and AWS parity. The old API Gateway provider is temporarily available in LocalStack using
PROVIDER_OVERRIDE_APIGATEWAY=legacy
. - Python 3.13 Lambda runtime is now supported in LocalStack.
LocalStack Features
- LocalStack now features Event Studio in preview, which allows you to view data exchanges between AWS services, collect all events, inspect payloads and metadata, and replay events for all supported services at key steps. (🌟 pro)
- Support for the official LocalStack SDK for Python is now available, enabling interaction with emulated services, along with proprietary features through our internal developer endpoints.
- Support for hot reloading is now available for the Lambda Debug Mode configuration file. This feature updates the configuration every time modifications are detected, allowing for multiple debugging sessions of the same Lambda function.
- Several user experience improvements have been introduced to the preview IAM Policy Stream feature in the LocalStack Web Application. This simplifies permission management by generating a continuous flow of IAM policies based on the AWS API calls your application infrastructure makes. (🌟 pro)
- Support for a new Stack Overview feature that provides a summary of deployed resources, categorized services with configurations, and quick access to resource details like identifiers and endpoints. (🌟 pro)
- Support for a new EventBridge Pipes Resource Browser, enabling you to set up direct integrations between event producers and consumers directly from your Web Browser or the LocalStack Desktop application. (🌟 pro)
- Several new Cloud Pods capabilities have been introduced in the LocalStack Web Application: (🌟 teams)
- Select from merge strategies when loading Cloud Pod states.
- Choose specific services to save when creating a Cloud Pod.
- Support for a new Ephemeral Instances CLI experience that allows users to run a LocalStack instance in the cloud, enabling instance creation & management directly from your terminal. (🌟 pro)
- Users can now create a Cloud Pod at the shutdown of an Ephemeral Instance, allowing you to resume your application at the state where you left it off. (🌟 teams)
- LocalStack Enterprise users can now automatically assign licenses to new workspace members through Single Sign-On. (🌟 enterprise)
- Several new features have been introduced in the LocalStack Resource Browsers:
- Edit and view policies directly within the IAM Resource Browser.
- View the value of your API keys in the API Gateway Resource Browser.
- Enable continuous updates and testing without redeployment through Lambda Hot Reloading in the Lambda Resource Browser.
- Kubernetes support for major computing and database services has been unified in LocalStack, allowing you to run a broader range of services on Kubernetes. These services include Lambda, ECS, DocumentDB, MWAA, and RDS (MySQL & MSSQL). Use the configuration variable
CONTAINER_RUNTIME=kubernetes
when starting LocalStack to enable Kubernetes executors for these services. (🌟 enterprise)
Enhancements
- CloudFormation Custom Resources now support
UPDATE
andDELETE
operations - KMS now supports deriving shared secrets using key agreement algorithm.
- Lambda Event Source Mapping now handles empty invocations from a custom Lambda bootstrap.
- Lambda now supports tagging of Event Source Mappings.
- LocalStack’s DynamoDB emulation has been upgraded to use the new DynamoDB Local 2.0.
Breaking Changes
-
The following legacy service providers are being removed. Please update your configurations to use the latest versions by removing the specified settings.
Service Configuration Being Removed Step Functions PROVIDER_OVERRIDE_STEPFUNCTIONS=legacy
S3 (v2 Provider) PROVIDER_OVERRIDE_S3=legacy_v2
ElastiCache PROVIDER_OVERRIDE_ELASTICACHE=legacy
Event Source Mapping LAMBDA_EVENT_SOURCE_MAPPING=v1
-
The following custom LocalStack FIS actions are now removed:
localstack:generic:api-error
localstack:kms:inject-api-internal-error
localstack:log-debug
localstack:generic:latency
-
Outages Extension is no longer published on PyPI and will not be maintained anymore. Please follow our documentation to migrate to the Chaos API.
-
Support for the following deprecated Airflow versions for MWAA have been removed from LocalStack:
- v1.10.12
- v2.0.2
- v2.2.2
-
Support for RDS PostgreSQL 10 has been removed from LocalStack.
-
Support for Ubuntu 20.04 AMI (
ami-ff0fea8310f3
) for EC2 has been removed from LocalStack. -
Support for Python 3.8 in the Python distribution of the LocalStack CLI has been removed.
Deprecations
- Auth tokens have fully replaced legacy API and CI keys for both personal and CI use, increasing security and enabling more det...
v3.8.1
What's Changed
- Fix: CFn repeated deployments breaking by @simonrw in #11632
- SNS: implement Content-Type logic for http/https target by @bentsku in #11634
- Update README with v3.8 by @giograno in #11636
- fix Events v2 APIGW target test and update snapshots by @bentsku in #11633
- Update CODEOWNERS by @localstack-bot in #11645
- ESM-v2: fix IAM service principal by @gregfurman in #11648
- [SFN] No Output Reductions for Successful Catch Blocks by @MEPalma in #11552
- Add configuration value for manually selecting runtime components by @silv-io in #11616
- Fix: CFn improperly formats account_id causing IAM engine to fail when using cdk by @Morijarti in #11624
- ESMv2: Fix UpdateEventSourceMapping request and batch size check for SQS by @gregfurman in #11637
Full Changelog: v3.8.0...v3.8.1
v3.8.0
Summary
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.
AWS Features
- LocalStack now supports a new API Gateway provider for API Gateway v1 (REST API) and v2 (HTTP API). To activate the new API Gateway provider, set
PROVIDER_OVERRIDE_APIGATEWAY=next_gen
. Learn more in our documentation. - Support for Elemental MediaConvert provider is now available in preview. (🌟 pro)
- LocalStack has switched the default implementation for Lambda Event Source Mapping (ESM) offering improved reliability, performance, and AWS parity. You can temporarily switch back to the old implementation using the configuration
LAMBDA_EVENT_SOURCE_MAPPING=v1
. - Support for Airflow version 2.9.2 in the MWAA environment is now available in LocalStack. (🌟 pro)
Enhancements
- LocalStack's Step Functions provider now supports the ResultWriter field in distributed Map states, parameters as inputs in parallel states, and accessing the Context Object outside payload templates.
- LocalStack now supports CRUD operations for the Resource Access Manager invitation mechanism, and it emulates AWS RAM, allowing the sharing of EC2 Subnets with other account IDs for basic resource sharing. (🌟 pro)
- LocalStack now offers full CRUD support for SMS Channel operations within the Pinpoint provider. This includes updating, deleting, and retrieving SMS channel information. (🌟 pro)
- Support for the
RevokeToken
operation in the Cognito provider is now available. (🌟 pro) - 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.
LocalStack Features
- 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. - LocalStack’s Lambda Resource Browser now supports the following features: (🌟 pro)
- Invoke Lambda: Add a payload and invoke the function to see the status and logs.
- View Tags: View tags for locally deployed Lambda functions.
What's Changed
Exciting New Features 🎉
- remove old ARN partition rewriter by @alexrashed in #11436
- Feature/Eventstudio: Pass context to functions patched in eventstudio by @maxhoheiser in #11475
- ESM-v2: Fix failure destination context difference between ESM and Pipes by @gregfurman in #11433
- Add reverted OpenAPI commit by @giograno in #11452
- enable integration between EventsBridge and Stepfunctions by @pinzon in #11427
- Rework Java installation by @viren-nadkarni in #11139
- Add result writer to SFN distributed map state by @u-minor in #11381
- [SFN] Support for parameters as parallel state inputs by @MEPalma in #11508
- Feature/lambda: Add recursion get-put API functions by @Rakanhf in #11500
- [SFN] Bump Antlr4 to 4.13.2 by @MEPalma in #11499
- [SFN] Support for Context Object access outside payload templates by @MEPalma in #11498
- Feature/Eventstudio/Events: use thread local for trace_context propagation by @maxhoheiser in #11533
- Feature/Events: Add internal log messages by @maxhoheiser in #11579
- ESM-v2: Add SNS as a failure destination for Kinesis and DynamoDB by @gregfurman in #11531
- ESM-v2: Create hooks for downstream poller creation by @gregfurman in #11582
- add: Support for ESM v2 partial batch failure handling (Kinesis & DynamoDB) by @gregfurman in #11505
- ESM-v2: Add optional close function to Poller by @gregfurman in #11619
- ESM-v2: Add persistence to Lambda event source mapping by @gregfurman in #11525
- Eventbridge apig lambda parity test by @zaingz in #11544
- Switch Lambda Event Source Mapping default implementation to v2 by @joe4dev in #11625
Other Changes
- feat: make packaged terraform version user-configurable by @the-wondersmith in #11472
- fixup and validate test_serverless.py by @steffyP in #11488
- ESM-v2: Remove reference to unbound variable by @gregfurman in #11495
- add pinpoint client to client types by @bentsku in #11486
- ESM-v2: Filter irrelevant fields before logging with PipesLogger by @gregfurman in #11503
- APIGW: patch UpdateRoute spec by @cloutierMat in #11506
- fix: Extraction of shard ID in ESMv2 StreamPoller by @gregfurman in #11513
- Refactor markers report workflow by @sannya-singal in #11485
- fix APIGW CFN UsagePlan update operation with Tags by @artaban in #11511
- fixup if-evaluation for 'Create GH issue from template' by @sannya-singal in #11514
- Add DNS server host mode advice by @joe4dev in #11502
- introduce plugins to load openapi specs by @giograno in #11497
- APIGW NG: fix leftover REST issues by @bentsku in #11518
- Add more context about disabling DNS server by @simonrw in #11524
- Update CODEOWNERS by @localstack-bot in #11521
- fix S3 GetObject deadlock when using invalid Range by @bentsku in #11536
- fix deletion of failed nested stack in CFn by @pinzon in #11489
- Fix libexpat1 CVEs from our debian bookworm base image by @dominikschubert in #11543
- Update lambda init version by @dfangl in #11546
- Fix: CFn: mappings with references by @simonrw in #11539
- feat: serve swagger UI in LocalStack by @giograno in #11509
- fixed typos in some core python files by @vignesh1507 in #11551
- minor: add ability to create tmp files inside specified dirs by @eruditmorina in #11568
- Add tags and operationId properties to all OpenAPI paths by @giograno in #11570
- Update CODEOWNERS by @localstack-bot in #11562
- fix EC2 FlowLogs with S3 destination by @bentsku in #11574
- fix(cors): append lambda logs header in the CORS headers list by @webdev51 in #11577
- fix status code for CreateApiMapping by @bentsku in #11569
- Bump moto-ext to 5.0.15.post2 by @viren-nadkarni in #11564
- APIGW NG: introduce new unified path style by @bentsku in #11350
- Fix: Make secret value decoded for specific usecases by @faiyaz26 in #11535
- allow reference unsupported cfn resources by @pinzon in #11496
- rework conditional loading of the OAS plugins by @giograno in #11585
- fix APIGW test with hardcoded role name in CFN template by @bentsku in #11589
- Filter surrounding quotes from DNS_NAMES_TO_RESOLVE_UPSTREAM by @dfangl in #11586
- Bump moto-ext to 5.0.15.post4 by @viren-nadkarni in #11594
- Update CODEOWNERS by @localstack-bot in #11603
- fix(cors): append lambda invocation headers in the expose headers l...
v3.7.2
What's Changed
- Init KMS support for offline encryption with RSA key by @getglad in #11359
- Replace auto-install of setuptools_scm with error in helper scripts by @silv-io in #11441
- Bump moto-ext to 5.0.13.post3 by @viren-nadkarni in #11431
- cloudwatch: move TaggingService to the store by @steffyP in #11443
- fix SNS Publish and PublishBatch message size calculation and restriction by @bentsku in #11458
- fix S3 VersionId format by @bentsku in #11451
- Simplify ACM patch by @giograno in #11461
- add G ruleset to Ruff (logging-format) by @bentsku in #11460
- fix S3 VersionId EventBridge and fix DeleteMarker notification by @bentsku in #11453
- fix parsing issue for cloudwatch alarm names by @steffyP in #11465
- Support quiet downloads by @simonrw in #11469
- lambda fix create self managed event source by @cloutierMat in #11456
- fix error message if logs-stream doesn't exist by @steffyP in #11471
New Contributors
Full Changelog: v3.7.1...v3.7.2
v3.7.1
What's Changed
- env var to delete the cached cert at startup by @giograno in #11434
- fix S3 region for DNS resolving by @bentsku in #11435
- add 3.7 blog to the README by @HarshCasper in #11429
Full Changelog: v3.7.0...v3.7.1
v3.7.0
Summary
LocalStack 3.7 brings significant updates including Lambda Debug Mode for enhanced debugging, support for DMS Serverless, improved SES functionality, and new state management options through Cloud Pods. Additional configuration options for Lambda, EKS and EC2 services alongside several enhancements in the Web Application experience enhance both flexibility and efficiency in local development and testing environments.
AWS Features
- Support for DMS Serverless is now available and it can be used for the sources and targets that LocalStack already supports, and that are also supported by AWS. (🌟 enterprise)
- Support for a new preview Lambda Event Source Mapping (ESM) implementation is now available behind the feature flag
LAMBDA_EVENT_SOURCE_MAPPING=v2
. - S3 provider now supports Conditional Writes that can check for the existence of an object before creating it.
Enhancements
-
Introduction of Lambda Debug Mode, a new preview feature to enhance your Lambda debugging experience. Key features include:
- Automatic Timeout Management: Integrates with API Gateway and Lambda to prevent function timeouts during debug sessions, giving developers more time to connect remote debuggers and examine function behavior.
- Multi-Function and Version Debugging: Enables the debugging of multiple Lambda functions simultaneously.
The new Lambda Debug Mode can be activated using the
LAMBDA_DEBUG_MODE=1
configuration variable. -
LocalStack now supports configurable debugging sessions through Lambda Debug Mode, which allows you to specify settings for debugging each Lambda function. Key configuration options include:
- Remote Debugger Port: Configure the debug port for each Lambda function version.
- Automatic Timeout Handling: Set up the default automatic timeout handling feature of Lambda Debug Mode.
Lambda Debug Mode can be configured by mapping your configuration file to the
LAMBDA_DEBUG_MODE_CONFIG_PATH
variable. This mode automatically extends the Lambda container startup timeouts to provide ample time for attaching a remote debugger. -
S3 provider now supports SSE-C parameter validation. However, LocalStack does not support the actual encryption and decryption of objects using SSE-C.
-
CloudFormation provider now emits
*_IN_PROGRESS
events, improving the visuals when using CDK with LocalStack. -
SES provider now supports the following enhancements:
- Improved SES provider to match AWS functionality more closely.
DescribeActiveReceiptRuleSet
now handles absent rule sets appropriately.DeleteReceiptRuleSet
now requires prior deactivation.- Enhanced error messaging and input validation for
SetActiveReceiptRuleSet
.
-
Support for custom URL aliases for Lambda Function URLs is now available in LocalStack. This feature allows users to assign custom IDs to either the
$LATEST
version of a function or to an existing version alias. -
LocalStack now supports prebuilding Lambda images before execution, which increases the cold start time but reduces the time until the Lambda function is ACTIVE. This preview feature is controlled by the
LAMBDA_PREBUILD_IMAGES
configuration variable. -
CloudFormation provider now supports the following enhancements:
- Users can now specify MFA configurations directly in the resource definition for
AWS::Cognito::UserPool
. (🌟 pro) ArchivePolicy
settings are now supported inAWS::SNS::Topic
resources.- Default tags can now be configured for
AWS::EC2::SecurityGroup
. - Users can now import existing EC2 SSH key pairs using the
AWS::EC2::KeyPair
resource.
- Users can now specify MFA configurations directly in the resource definition for
-
LocalStack now supports idempotent
StartExecution
operations against already runningSTANDARD
Step Functions state machines with identical input. -
LocalStack now supports setting an SQS queue’s
RedrivePolicy
to an empty string, which will completely remove it from the queue’s Attributes map. -
LocalStack now includes more robust checks for the Lambda provider’s
function_name
andqualifier
validations, enhancing AWS parity and coverage of naming edge cases. -
A new configuration variable
EKS_K8S_PROVIDER
is now supported with two options:k3s
(default, using k3d) andlocal
(using a mounted kubeconfig). The presence of kubeconfig at/root/.kube/config
no longer influences provider selection. However, an explicit warning is issued if it's missing when using thelocal
option. Kubeconfig files at~/.kube/config
are not automatically mounted; users must manually mount them if necessary. (🌟 pro) -
The following API operations are now available in the Resource Access Manager (RAM) provider: (🌟 pro)
-
The following API operations for EventBridge pipes are now available in the EventBridge Pipes: (🌟 pro)
-
LocalStack now supports setting the
UserData
field ofRunInstances
to a shell script that will be executed at the time of VM startup in the EC2 Libvirt VM manager. (🌟 pro) -
Users should be able to use LocalStack in any region. It includes the regular AWS regions, but also regions in the China, GovCloud and ISO-partitions. (🌟 enterprise)
-
You can now use the
EC2_HYPERVISOR_URI
configuration variable to set the Libvirt connection URI, indicating the hypervisor host for the EC2 Libvirt VM manager. Currently, only QEMU drivers are supported. (🌟 pro)
LocalStack Features
- Cloud Pods now offer various strategies for integrating states into your LocalStack container. To activate these merge strategies, set
--strategy <strategy>
while loading the Cloud Pod. The available strategies include:overwrite
: This strategy clears the existing state and loads the new state from the Cloud Pod, completely resetting the LocalStack state.account-region-merge
(default): This strategy merges services based on account and region pairs, attempting to combine states from both the current state and the Cloud Pod for the same account and region.service-merge
: This strategy merges services at the account-region level, provided there’s no overlap in resources, and prioritizes the loaded resources during merging. (🌟 pro)
- Cloud Pods S3 remotes now support prefixes in the S3 URL. (🌟 pro)
- LocalStack now supports previewing the changes that would occur when loading a Cloud Pod using the
--dry-run
flag. The result depends on the selected merge strategy, which is displayed on the console, and no changes are made to the LocalStack state. (🌟 pro) - Cloud Pods now have folder support for S3 remote storage. Users would need to set their custom remote, and then specify the destination bucket with folders. (🌟 pro)
- Support for fetching LocalStack container logs from an Ephemeral Instance is now available. After creating an Ephemeral Instance, you can navigate to the Logs tab to inspect the logs for debugging and analysis. (🌟 pro)
- LocalStack Extensions are now embedded and integrated into the LocalStack Web Application. You can use extensions, like AWS Replicator and Mailhog, directly from our Web Application, centralizing all necessary tools in one place. (🌟 pro)
- LocalStack Chaos Engineering dashboard now uses the Chaos API. (🌟 enterprise)
- Support for the
--template
option in thelocalstack extensions dev new
command is now available, allowing you to specify which template you wish to use. (🌟 pro) - LocalStack now provides managed DevContainer Templates for streamlined setup:
- LocalStack Docker-in-Docker: Configures a DevContainer with LocalStack running internally.
- LocalStack Docker-outside-of-Docker: Establishes a DevContainer communicating with an external LocalStack instance on the same Docker network.
What's Changed
Exciting New F...
v3.6.0
Summary
LocalStack 3.6 introduces support for S3 in Database Migration Service (DMS), EventBridge v2 Archive and Replay APIs, ECS FireLens logging configurations, Chaos API, and Ephemeral Instances. Other enhancements include Cloud Pods encryption, enhanced Step Functions parsing, Lambda tagging for deterministic URLs, and AppSync schema definition.
AWS Features
- Support for S3 as a source in the Database Migration Service (DMS) provider. (🌟 enterprise)
- Support for Archive and Replay in the EventBridge v2 provider, including the following APIs:
- CloudWatch v2 provider is now the default. You can revert to the old provider by setting
PROVIDER_OVERRIDE_CLOUDWATCH=v1
in your LocalStack configuration. - Support for ECS FireLens enables the ECS service to manage logging driver configurations for application containers and to set up the appropriate configuration for the FluentBit/FluentD logging layer. (🌟 enterprise)
- LocalStack now supports the latest Neptune engine (1.3.2.1 & 1.3.2.0) supported by AWS. (🌟 pro)
Enhancements
- Enhanced parsing support for
ToleratedFailure*
declarations in distributed Map states for Step Functions, includingToleratedFailureCount
,ToleratedFailureCountPath
,ToleratedFailurePercentage
, andToleratedFailurePercentagePath
in the ASL lexer and parser. - Support for
PutPermission
andRemovePermission
in the EventBridge v2 provider to control access for writing events to a specific event bus. - LocalStack now syncs new and updated objects in the S3 bucket to the Airflow container every 30 seconds. This polling interval can be adjusted using the
MWAA_S3_POLL_INTERVAL
configuration variable. (🌟 pro) - Support for Batch Optimised Service Integration in Step Functions provider is now available.
- Support for the
TagSpecifications
parameter when tags are present for the EC2 Security Group resource in CloudFormation templates. - Support for pagination for
ListStateMachines
,ListStateMachineVersions
, andListExecutions
API operations in the Step Functions provider. - Support for applying a tag to a Lambda function to generate a deterministic, user-specified function URL when using the
CreateFunctionUrlConfig
API. - Support for Express Workflows in the Step Functions provider is now available.
- Support for
AssociateSoftwareToken
andVerifySoftwareToken
in the Cognito provider. (🌟 pro) - Support in AppSync GraphQL for defining schema elements after queries. (🌟 pro)
- Support for the
PostConfirmation_ConfirmSignUp
trigger for the SAML flow. (🌟 pro) - LocalStack now starts all EC2 container instances with
docker-init
by default, which prevents the use of other init systems like systemd. TheEC2_DOCKER_INIT
configuration variable allows disablingdocker-init
. (🌟 pro) - Support for manually interrupting
sync
andsync2
integration patterns through manual notification using the task'sTaskToken
in the Step Functions provider. - Support for
Label
field for distributed map state in the Step Functions provider.
LocalStack Features
-
LocalStack now supports a Chaos API over the
/_localstack/chaos/faults
endpoint to mimic outages across any AWS region or service as a preview feature. You can use LocalStack Chaos API to inject faults with the following filters or any combination thereof:- Service
- Region
- Operation
Refer to our docs for more details. (🌟 enterprise)
-
LocalStack Ephemeral Instances are now in preview allowing you to run a LocalStack instance in the cloud. You can interact with these instances via the LocalStack Web Application, or by configuring your integrations and developer tools with the endpoint URL of the ephemeral instance. Refer to our docs for more details. (🌟 pro)
-
LocalStack now offers end-to-end encryption for Cloud Pods as a preview feature. To activate this feature, make sure to start LocalStack with the
POD_ENCRYPTION
environment variable set to 1. (🌟 enterprise) -
Support for the
LAMBDA_RUNTIME_VALIDATION
which can be configured to1
to enforce strict AWS parity by raising an exception when using a deprecated Lambda runtime for the CreateFunction API operation. Deprecated Lambda runtimes (e.g.,nodejs14.x
) can be used with disabled validation (current default). -
Support for the
--compose-env-file
flag in the*_DOCKER_FLAGS
configuration to enable compatibility with full Docker Compose-style environment files, including use of placeholders like${}
and automatic quote replacement. -
Support for the
CFN_STRING_REPLACEMENT_DENY_LIST
configuration variable to specify a comma-separated list of AWS URLs that should not be redirected to LocalStack. -
LocalStack has reduced the verbosity of Lambda log levels. Setting
LS_LOG=trace
ortrace-internal
now configures the Lambda RIE log level toinfo
instead ofdebug
. -
Support for recursive discovery of Init Hook scripts in alphabetical order.
Deprecations
- LocalStack Outages extension has now been deprecated in favor of the Chaos API.
- Fault Injection Simulator (FIS) emulation has been deprecated in the Starter and Teams tier and is now offered only in the Enterprise tier. The Starter and Teams tier offers a CRUD interface for FIS.
What's Changed
Exciting New Features 🎉
- Feature/eventbridge v2 add cross account test by @maxhoheiser in #11027
- move legacy_v2 S3 into legacy folder by @bentsku in #11002
- Add *_DOCKER_FLAGS option to support docker compose-style environment files by @dfangl in #11039
- apigw create python exceptions for gateway response by @cloutierMat in #11043
- Feature/eventbridge v2 add put permission by @maxhoheiser in #11032
- Feature: EventBridge v2: Add test put events limit to 10 messages by @maxhoheiser in #11047
- generalize tracing for gateway and handler chain by @thrau in #11061
- Add CFN_STRING_REPLACEMENT_DENY_LIST config to allow the user to prevent Localstack from changing AWS URLs to point to itself by @marcciosilva in #11060
- Feature: Eventbridge v2: add archive and replay by @maxhoheiser in #10890
- remove THREAD_LOCAL usage by @bentsku in #11069
- remove flask by @alexrashed in #11090
- Apigw NG create method request handler by @cloutierMat in https://github.com/loca...