LocalStack LogoLocalStack Icon

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.

Announcing the LocalStack 4.1 Release

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:

Terminal window
localstack update all

If using LocalStack with Docker CLI or Docker Compose, update the Docker image by running:

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

Pin the LocalStack version in your docker run command or Docker Compose file to 4.1.0.

What’s new in LocalStack 4.1?

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 to JSONPath.
  • 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.

RedShift Resource Browser

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 in ErrorPath and CausePath 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 processes Output/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, and DELETE operations on the AWS::MWAA::Environment, AWS::KinesisAnalyticsV2::Application, and AWS::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 and CompleteMultipartUpload now supports the new Conditional Write feature with the IfMatch 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 to admin@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!


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.