Announcing the LocalStack 4.1 Release
LocalStack 4.1 is now available! This release introduces a new Managed Service for Apache Flink (MSAF) provider, support for Step Functions Variables and JSONata transformations, and a preview release of the LocalStack SDK for Java, along with improvements to multiple AWS service providers and the Web Application.
Introduction
LocalStack 4.1 introduces several significant technical updates to its local AWS emulation capabilities. Key additions include a new Managed Service for Apache Flink (MSAF) provider replacing the previous Kinesis Data Analytics v2 implementation, support for Step Functions Variables and JSONata transformations, and a preview release of the LocalStack SDK for Java. The release also brings improvements to existing services, including composite alarm support in CloudWatch, a new Python-based Event Rule engine replacing the Java-based preview implementation, and a RedShift Resource Browser for visual cluster management.
The release includes substantial provider-specific enhancements across multiple services, such as Step Functions, CloudFormation, Glue, and S3. The Web Application has been updated with new features, including a new restart button for your LocalStack container and a Swagger UI link for API documentation. Additionally, the release includes several miscellaneous enhancements and bug fixes across various services, like Node.js 22 runtime support for Lambda functions, improved error handling for ECS task containers, and EKS support for Minikube as the local cluster provider.
Get your free LocalStack account to access the latest features and enhancements in LocalStack 4.1!
How to upgrade?
To upgrade to LocalStack 4.1 using the LocalStack CLI, run the following command to update both the LocalStack Docker image and CLI to the latest version:
If using LocalStack with Docker CLI or Docker Compose, update the Docker image by running:
Pin the LocalStack version in your docker run
command or Docker Compose file to 4.1.0
.
What’s new in LocalStack 4.1?
- New Managed Service for Apache Flink (MSAF) provider
- Support for Step Functions Variables and JSONata transformations
- New LocalStack SDK for Java
- Support for composite alarm in CloudWatch
- New Python-based default Event Rule Engine
- New RedShift Resource Browser
- New enhancements in the Step Functions provider
- New enhancements in the CloudFormation provider
- New enhancements in the Glue provider
- New enhancements in the S3 provider
- New enhancements in the Web Application
- Miscellaneous
New Managed Service for Apache Flink (MSAF) provider
Managed Service for Apache Flink (MSAF) is the AWS version of Apache Flink, a stream processing framework that analyzes events from a data source and outputs to a sink. This service was previously known as Kinesis Data Analytics v2.
LocalStack now supports running Flink applications locally and includes several AWS-compatible API operations. This new provider is now the default in LocalStack 4.1. If you prefer the older mock provider, set PROVIDER_OVERRIDE_KINESISANALYTICSV2=legacy
.
Learn more in our documentation.
Support for Step Functions Variables and JSONata transformations
AWS Step Functions API and Amazon States Language (ASL) now support:
JSONata
, a query and transformation language as an alternative toJSONPath
.- Workflow Variables that enable the assignment and referencing of variables in ASL.
LocalStack has added support for locally emulating these Variables and JSONata transformations, simplifying state management and data transformations. Learn more about it in our blog.
New LocalStack SDK for Java
We’re excited to announce the preview release of our official LocalStack SDK for Java. The Java SDK provide a programmatic way to access LocalStack’s internal developer endpoints, offering an object-oriented interface for simpler interaction. Key features include:
- Saving, listing, loading, and deleting Cloud Pods.
- Managing fault configurations for the Chaos API.
This SDK is still in a preview phase, and will be subject to fast and breaking changes. You can learn more about the SDK in our documentation.
Support for composite alarm in CloudWatch
LocalStack now offers basic support for composite alarms in CloudWatch. All composite alarms can be saved but the evaluation and triggering is limited to the following conditions:
- Alarms are referenced by ARNs in composite rule (no support for alarm names yet).
- Only
OR
logic is assumed for all child alarms. - Composite alarm actions are limited to sending a message to an SNS topic.
- Only metric alarms can be child alarms; nesting composite alarms is not supported yet.
Functional limitations:
- Suppression logic for child alarms is not implemented.
New Python-based default Event Rule Engine
Our new Python-based Event Rule engine replaces the Java engine, which previously used AWS event-ruler and was in preview. The Event Rule engine is used for event pattern matching, a feature used in EventBridge, EventBridge Pipes, and Lambda Event Source Mapping. If you are currently using the Java engine, it is recommended to remove the legacy configuration EVENT_RULE_ENGINE
.
New RedShift Resource Browser
We’ve launched a new RedShift Resource Browser in LocalStack to provide a visual interface to interact with local RedShift resources. The Resource Browser allows you to view, create, update, and delete local RedShift clusters.
Check out our documentation to get started with RedShift and the Resource Browser.
New enhancements in the Step Functions provider
LocalStack’s Step Functions provider now includes the following enhancements:
- Step Functions interpreter now correctly parses
Comment
fields within choice rule composite statements (And/Or/Not), matching existing preprocessor behavior. - Step Functions interpreter now correctly parses and evaluates
ContextObject
path bindings inErrorPath
andCausePath
fields, resolving parse errors. - Step Functions interpreter now supports cross-account task invocations via Credentials blocks. We have also enhanced sync callback handling for optimized service integrations to prevent
States.Runtime
exceptions. - Step Functions interpreter now correctly handles
Output
blocks in choice rules and properly processesOutput
/Assign
blocks sequentially. - Improved request encoding in Step Functions for better handling of parameters when using Boto.
- Fixed nested Map state execution in Step Functions to process multiple levels correctly.
- Corrected retrieval of State Machine definitions in CloudFormation during stack updates.
- Ensured Step Functions use State Machine role credentials for service integrations.
- Step Functions now provides clearer error messages for JSONPath operations.
- Improved handling of
ItemsPath
in Distributed Map states. - Enhanced timestamp validation in Step Functions.
- Allowed AWS-SDK integrations to retain specific error names for better error handling.
- Fixed parsing of version tokens in Step Functions to prevent conflicts.
New enhancements in the CloudFormation provider
LocalStack’s CloudFormation provider now includes these enhancements:
- Added support for the
CREATE
, andDELETE
operations on theAWS::MWAA::Environment
,AWS::KinesisAnalyticsV2::Application
, andAWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption
resource type. - Included support for the
NoEcho
attribute in CloudFormation parameters to improve parity. - Improved error messages on template parse or deploy failures.
New enhancements in the Glue provider
LocalStack’s Glue provider now includes the following enhancements:
- Support for Glue 5.0 along with the appropriate versioned JAR files.
- Support for Snowflake drivers in Glue jobs.
- Support for the
--extra-jars
option in AWS Glue within LocalStack. This option allows users to specify additional JAR files that can be included during Glue job execution. These JAR files can be used to extend the functionality of Glue jobs by providing custom libraries or dependencies.
New enhancements in the S3 provider
LocalStack’s S3 provider now includes the following enhancements:
- S3
PutObject
operations now support the CRC64NVME checksum algorithm and include ChecksumType field, for enhanced data integrity features as released by AWS. - S3 now supports
FULL_OBJECT
checksum type for Multipart Uploads using CRC algorithms, enabling simplified checksum validation without tracking individual part checksums. This includes enhanced validation, proper error messaging, and checksum combination logic for parts verification. - S3
PutObject
andCompleteMultipartUpload
now supports the new Conditional Write feature with theIfMatch
parameter, also known as Compare-and-Swap.
New enhancements in the Web Application
LocalStack’s Web Application now includes the following enhancements:
- Users will now see a link to the Web Application every time they start LocalStack from the command line interface (CLI).
- Installed extensions will now appear at the top of the list on the Extensions Manager dashboard, making them easier to view and manage.
- Chaos Engineering dashboard has been relocated to the Instance Management tab, where it now appears alongside other features to consolidates management tools for easier access.
- Support has been added for a new restart button on the Web Application, located under the instance name.
- Support has been added for a new Swagger UI button in the instance controls, which links to
/_localstack/swagger
for convenient access to API documentation.
Miscellaneous
- LocalStack container logs are now properly displayed when running with Podman.
- LocalStack now supports Cognito User pool deletion protection.
- Transparent Endpoint Injection is now supported for the Batch provider. This feature enables your code to connect to other emulated AWS resources without needing to modify the code running in your local Batch jobs.
- The
DescribeListenerAttributes
operations are now supported in the Elastic Load Balancing (ELB) provider. - You can now use the
SNS_SES_SENDER_ADDRESS
configuration variable to customize the sender of SNS email notifications, defaulting toadmin@localstack.com
if not configured. - Node.js 22 runtime Lambda runtime is now supported in LocalStack.
- Error messages from failed ECS task containers now appear in LocalStack logs, removing the need for inspecting the container logs manually using the
ECS_REMOVE_CONTAINERS=0
configuration variable. - Failed events from Lambda functions with Amazon Kinesis and Amazon DynamoDB event source mappings (ESMs) can now be sent to S3 buckets as a destination, in addition to the existing SNS and SQS options, as supported by AWS. Unlike with SNS and SQS failure destinations, a complete event payload data is written to S3.
- ELB endpoints are now accessible via
http://localhost:4566/_aws/elb/<elb-id>
path routing, enabling usage without subdomains in Ephemeral Instances or any other environment where subdomains are not supported. - SageMaker provider now supports multiple Production Variants of deployments for A/B testing.
- EKS now supports using Minikube as the local cluster to start the Kubernetes cluster backing EKS. This can be achieved by setting the configuration variable
EKS_K8S_PROVIDER=local
and mounting the$HOME/.kube/config
file, which contains the Minikube configuration, into the LocalStack container. - SNS Filter Policy engine has been enhanced, and the support for
cidr
operator has been added. - AppSync VTL resolver function logs (via
$util.log
) now appear in LocalStack console for improved debugging experience. - ECS is now supported as a target for EventBridge.
- Support for adding custom IDs for IAM roles and policies has been added to the IAM provider.
- Support for EventBridge API destinations and connections has been added.
- Extended
ListFirewallRules
API in Route 53 Resolver to support filtering by action and priority parameters. - Default Bedrock model has been switched to
smollm2:360m
to handle text model invocations. - ELB rules now support all available conditions.
Conclusion
LocalStack 4.1 delivers substantial improvements to AWS service emulation parity through the MSAF provider, enhanced Step Functions capabilities, and expanded support across multiple services. The introduction of the Java SDK and RedShift Resource Browser also provides new programmatic and visual interfaces for local development & testing workflows. These improvements collectively enhance the local development and testing experience for cloud applications while reducing the gap between local and cloud environments. Upgrade to LocalStack 4.1 using the provided installation commands to access these new features and capabilities!