Skip to content

Releases: localstack/localstack

v4.13.1

02 Feb 15:35

Choose a tag to compare

What's Changed

Exciting New Features 🎉

Other Changes

Full Changelog: v4.13.0...v4.13.1

v4.13.0

29 Jan 19:44

Choose a tag to compare

Summary

LocalStack for AWS 4.13 includes important improvements to support and parity across a number of key services includes Lambda, ECS, Route 53 and API Gateway, as well as a ton of smaller but important enhancements and fixes that continue to improve AWS and IaC framework parity.

AWS Features

  • LocalStack for AWS now supports the .NET 10 Lambda runtime. .NET 10 includes runtime and compiler optimizations that ca shrink the executable size and improve startup performance. as well as new file-based apps support.
  • ECS emulation improvements including:
    • Added support for the repositoryCredentials parameter in an ECS task definition allowing ECS to pull images from registries that require authentication
    • Added an initial implementation to support the cpu and memory values in the container configuration of a task definition.
    • ECS deployment completion is now asynchronous by moving post-start work into a background routine, eliminating issues that might occur if the image pull took long.
  • Important parity enhancements that impact both Amazon Route 53 and API Gateway:
    • Route 53 now supports weighted routing to specify how much traffic is routed to each resource via a relative weight.
    • You can now use the same custom domain name across different regions as LocalStack for AWS will now correctly treat these as regional resources.
    • If you have a domain registered in both Route 53 and API Gateway, LocalStack for AWS now correctly applies Route53’s routing logic (like weighted routing) before passing the request to API Gateway.

Enhancements

  • Added support for CreateServerlessCache within ElastiCache.
  • Added two new configuration options (EC2_LIBVIRT_NETWORK and EC2_LIBVIRT_POOL) to allow the name of the Libvirt network and/or Libvirt storage pool to be customized. An additional configuration variable (EC2_REFERENCE_DOMAIN) that can already defined Libvirt domain whose configuration LocalStack will copy into all new VMs it creates.
  • Previously, when creating an Amazon Managed Streaming for Apache Kafka (MSK) cluster and attaching a custom configuration, the configuration was successfully attached but its settings are not applied at runtime. As of LocalStack for AWS 4.13, the attached MSK configuration will be applied to the cluster, and its parameters (e.g., num.partitions, min.insync.replicas, etc.) will affect the runtime behavior as expected.
  • Fixed an issue where creating an AppSync API key with Terraform would fail since the generated expires and deletes would be float.
  • Added support for the instance target type in Network Load Balancers.
  • Fixed an issue where a CloudFormation (CFN) resource operation not supported by LocalStack would produce an incorrect InternalFailure error that did not clearly indicate the specific CFN resource support that is missing.
  • Added support for the AWS::RDS::DBProxyEndpoint in CloudFormation. The resource type is already supported by LocalStack for AWS's RDS service.
  • Added new configuration variables to enable users to ignore specific unsupported resource types in CloudFormation. CFN_IGNORE_UNSUPPORTED_TYPE_CREATE and CFN_IGNORE_UNSUPPORTED_TYPE_UPDATE take a comma-separated list of resource type names that CloudFormation will ignore on stack creation and update respectively.
  • Fixed missing metadata in API Gateway VPC Links to ensure LocalStack for AWS now correctly populates fields like targetArns, name, and description for VPC Links.

What's Changed

Exciting New Features 🎉

  • SNS: v2 permission operations by @baermat in #13516
  • Modify CloudFormation resource provider scaffolding to use "live" schemas by @peter-smith-phd in #13513
  • Sns: v2 data protection operations by @baermat in #13525
  • Add possibility to ignore specific unsupported resource types in CloudFormation by @silv-io in #13496
  • SNS: v2 add http endpoint for opting out phone numbers by @baermat in #13540
  • Fixing write transaction with ARN as table name by @drauedo in #13590
  • Add Dotnet 10 Lambda runtime by @joe4dev in #13607
  • IaC: add custom error messages based on service availability status by @k-a-il in #13597
  • IaC: fix problematic CFN plugin manager import by @k-a-il in #13621
  • AWS catalog: Provide custom error message when plugin is not available in user license by @k-a-il in #13651

Other Changes

Read more

v4.12.0

11 Dec 17:26

Choose a tag to compare

Summary

LocalStack 4.12 is now available! This release introduces Lambda Managed Instances, enhanced Step Functions unit testing capabilities, expanded Glue API support with user-defined functions and column statistics, and Network Load Balancer TCP listener emulation. Additional enhancements include EventBridge Pipes input transformation, Application Load Balancer HTTPS targets, improved IAM policy simulation, and updates across S3 Tables, CloudWatch Logs, and multiple AWS services.

AWS Features

Enhancements

  • Upgraded the kinesis-mock version from 0.5.1 to 0.5.2.
  • Added support in CloudFormation v2 for List<AWS::EC2::SubnetId> template parameters.
  • Added support for additional RSA key lengths and several EC key types in ACM certificates.
  • Added support for the EU LocationConstraint in the S3 CreateBucket operation.
  • Added support for Airflow 3.0.6 in Managed Workflows for Apache Airflow (MWAA) provider. (🌟 ultimate)
  • Added support for the GetInstanceUefiData API in the EC2 provider. (🌟 base)
  • Implemented support for specifying Tags during the S3 CreateBucket operation, and added support for the TagCount field in HeadObject responses.
  • Added configurable wait-time controls for CloudFormation resource polling (CFN_NO_WAIT_ITERATIONS) and reduced default sleep intervals, meaning that deploy times for large stacks should be reduced.
  • Added configuration options to customise the Libvirt network (EC2_LIBVIRT_NETWORK) and storage pool (EC2_LIBVIRT_POOL) used by EC2, instead of assuming the default names. (🌟 enterprise)
  • Cognito now supports enforcing HTTPS in OAuth and federated login flows by honouring USE_SSL=1, ensuring all generated authentication URLs use https://. (🌟 base)
  • Added support for ECS Managed EC2 Instances capacity providers, including CRUD operations, improved status responses, and validation during task execution. (🌟 base)
  • Added support for the following S3 Control tagging operations for S3 buckets:
  • Added support for the ListLogGroups operation in CloudWatch Logs.
  • EventBridge Pipes now supports input transformation for enrichment, including proper handling of JSON arrays and quote stripping for plain text templates. (🌟 ultimate)
  • Application Load Balancers now support HTTPS targets in target groups, with the load balancer skipping SSL verification for HTTPS targets, matching AWS behavior where self-signed certificates are accepted. (🌟 base)
  • Improved the IAM SimulatePrincipalPolicy operation to use the IAM Enforcement Engine, providing more accurate policy evaluation decisions. Support for roles and groups as principals has been added. (🌟 base)
  • Network Load Balancers now support TCP listener emulation, enabling basic NLB functionality for local testing. A new proxy manager handles the creation and lifecycle of TCP proxies for NLB listeners. (🌟 base)
  • LocalStack’s S3 Tables provider now includes the following enhancements: (🌟 ultimate)
    • Added support for the ListTagsForResource API.
    • Added support for encryption configuration APIs at both bucket and table levels. Actual encryption enforcement is not yet implemented.
  • Added support for managing user-defined functions in Glue with the following APIs: (🌟 ultimate)
  • Added support for managing column statistics for tables in Glue with the following APIs: (🌟 ultimate)

What's Changed

Exciting New Features 🎉

Other Changes

Read more

v4.11.1

27 Nov 15:19

Choose a tag to compare

What's Changed

Other Changes

Full Changelog: v4.11.0...v4.11.1

v4.11.0

27 Nov 15:17

Choose a tag to compare

New Lambda Runtime Support

LocalStack for AWS 4.11 includes several Lambda runtime updates including:

  • Python 3.14
  • Java 25
  • Node.js 24

You can learn more about deploying Lambdas to LocalStack in our documentation and more about Lambda supported runtimes in the AWS documentation.

Improved KMS Support

AWS Key Management Service (KMS allows you to easily create, control, and manage the cryptographic keys used to encrypt and protect your data across your applications and AWS resources. LocalStack for AWS 4.11 adds to our already extensive KMS coverage by adding support for a recipient in KMS decrypt and on-demand key rotation for external keys.

KMS Decrypt Recipient

LocalStack for AWS 4.11 now supports the KMS Decrypt Recipient field is used by AWS Nitro Enclaves to decrypt sensitive keys without the host being able to read them. You can read more about this flow in the KMS Decrypt documentation.

KMS On-demand Key Rotation

KMS: On Demand Key Rotation for Imported Key Material
Earlier this year, AWS made it possible to import custom key material into external keys thereby allowing use of KeyRotationOnDemand with external KMS keys. This capability is now also supported in LocalStack for AWS as of 4.11.

Expanded API Support for MSK, S3 Tables and CodePipeline

At LocalStack, we are always striving to expand our AWS API coverage to ensure our customers can accurately test their complete end-to-end workflow. LocalStack for AWS 4.11 continues this effort with expanded API support for a number of services.

MSK

Tagging resources in Amazon Managed Streaming for Apache Kafka (MSK) is a powerful and simple way to manage, organize, and control access to your resources. LocalStack for AWS 4.11 inclues support for tagging MSK Resources.

API operations that were added include:

For details on using MSK within LocalStack as well as full API coverage details, visit our MSK documentation.

S3 Tables

Amazon S3 Tables provide support APIs that allow users to configure, monitor, and control the management and performance of individual tables. As of LocalStack for AWS 4.11, we support the following S3 Tables support APIs:

Note that the APIs accept, validate, store, and return maintenance configurations, but the actual maintenance operations (file removal, compaction, snapshot management) are not actively executed.

For more details on using S3 Tables in LocalStack, check our S3 Tables documentation.

CodePipeline

Our team at LocalStack regularly monitors API usage to help identify gaps in API coverage for actively requested APIs. One such missing operation recently identified by our team was the GetPipelineState operation in CodePipeline used to retrieve the state of a pipeline, including the stages and actions. LocalStack for AWS 4.11 resolves this API coverage gap.

For information about how to use CodePipeline within LocalStack, including full API coverage details, visit our CodePipeline documentation.

RDS Support for pgvector

LocalStack continues to improve upon its capabilities in building and testing artificial intelligence (AI) and machine learning (ML) applications. AWS previously announced support for the pgvector extension for Amazon Relational Database Service (RDS) for PostgreSQL. This extension is used to store embeddings from ML models in order to more efficiently perform similarity searches. With LocalStack for AWS 4.11, the pgvector extension is now installed by default when installing a version of Postgres allowing improved emulation of ML workloads.

Enhanced EKS Persistence

Persistence on LocalStack allows you to save and even share the state of your LocalStack instance. This can enable quick and easy setup of complex environments across sessions, between team members or in CI/CD. However, until LocalStack for AWS 4.11, EKS (Elastic Kubernetes Service) persistence was limited as it did not persist the contents of the cluster.

LocalStack for AWS 4.11 has added the ability to persist the state and contents of your emulated EKS clusters between restarts, enabling faster iteration and more realistic local testing of Kubernetes workloads.

By default, cluster contents are not persisted. You can enable saving/loading your Kubernetes resources by starting LocalStack with EKS_PERSIST_CLUSTER_CONTENTS=1. The persistence capability uses Velero under the hood, and we've also exposed EKS_VELERO_IMAGE and EKS_VELERO_PLUGIN_AWS_IMAGE to allow further customization of the Velero image and the AWS plugin image.

Miscellaneous

  • Fixed an issue where the public IP address of EC2 instances started in K8S environment would not resolve to the instances pod.
  • Fixed the Kafka cluster version in the MSK ListClusters and DescribeCluster APIs.
  • Fixed an issue where the pod would not be removed when deleting the cluster or stopping LocalStack when running Redis/Valkey container in K8s environment.
  • Fixed an issue reported that caused a GraphQL schema error in AppSync when defining AWSDateTime or AWSTimestamp scalars.

Deprecations

  • Starting LocalStack in host mode via the CLI using localstack start --host has been deprecated and is expected to be removed in January 2026. Users of this features are advised to use the default Docker mode instead.

What's Changed

Exciting New Features 🎉

Other Changes

Read more

v4.10.0

30 Oct 18:15

Choose a tag to compare

Summary

LocalStack 4.10 introduces S3 Tables with Apache Iceberg support and major EKS enhancements, including IRSA, Pod Identity, and automatic endpoint injection. The release expands AWS parity across DynamoDB, EventBridge Pipes, ECS FireLens, SESv2, and IAM, while modernising the stack by dropping Python 3.9 and removing legacy providers.

AWS Features

  • LocalStack now supports S3 Tables with full Apache Iceberg REST API support, enabling management of tabular data stored in S3. Refer to our documentation to learn more. (🌟 ultimate)

Enhancements

  • Added support for Python 3.14 in the LocalStack CLI.
  • Added support for the aws:RequestedRegion and aws:PrincipalArn condition variables in IAM.
  • Added support for inline templating in SESv2 SendEmail and SendBulkEmail operations. (🌟 base)
  • Implemented support for the DescribeContributorInsights API in DynamoDB, enabling retrieval of contributor insights details for tables.
  • Added support for wildcards in EventBridge Pipes input transformations, enabling patterns like <$.body[*]> for improved template flexibility. (🌟 ultimate)
  • Added validation for EventBridge Pipes input templates, ensuring malformed or empty templates are handled consistently with AWS behavior. (🌟 ultimate)
  • Enabled ECS FireLens support for custom configurations, allowing Fluent Bit config files to be loaded from S3 or bundled directly into container images. (🌟 ultimate)
  • Added support for the DynamoDB WarmThroughput parameters, improving parity with AWS.
  • LocalStack’s EKS provider now includes the following enhancements: (🌟 ultimate)
    • Added support for IAM Roles for Service Accounts (IRSA), allowing EKS pods to automatically assume IAM roles and retrieve AWS credentials through the standard SDK credential chain.
    • Added support for EKS Pod Identity, including the CreatePodIdentityAssociation API and a mock implementation of the EKS Auth service, improving compatibility with the latest AWS authentication model.
    • Introduced automatic injection of endpoint URLs (AWS_ENDPOINT_URL and AWS_ENDPOINT_URL_S3) into EKS pods via the existing credential webhook, ensuring SDKs connect directly to LocalStack without manual configuration.
    • Improved EKS cluster access management to fully respect the bootstrapClusterCreatorAdminPermissions flag and automatically create default access entries for the EKS service role.

Deprecations

  • Dropped Python 3.9 support, raising the minimum supported version to 3.10.
  • Removed the legacy Batch provider, following the newer provider, which is now the default. (🌟 ultimate)
  • Removed support for Kinesis Data Analytics for SQL Applications service, ahead of AWS's sunset date of 2026-01-27.
  • Removed support for Managed Service for Apache Flink (MSF) 'legacy' provider. Users should migrate to the new emulated provider, which has been the default since v4.1.0. (🌟 ultimate)

What's Changed

Exciting New Features 🎉

Other Changes

Read more

v4.9.2

06 Oct 09:01

Choose a tag to compare

Release version 4.9.2

v4.9.1

03 Oct 12:33

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.9.0...v4.9.1

v4.9.0

02 Oct 08:29

Choose a tag to compare

Summary

This release focuses on reinforcing the underlying foundations of the project while enhancing both performance and security that improve alignment with AWS support while ensuring our software has the safety and reliability our users expect.

This release includes updates to several resources that underpin LocalStack for AWS services, including DynamoDB Local, Hadoop, Apache Spark, Glue, k3d, Postgres, Apache ActiveMQ, Python, and Debian Trixie. We’ve also added support for new versions of OpenSearch, new merge strategies for Cloud Pods, CRUD support for EKS access entries, and multi-protocol support for CloudWatch’s additional protocols.

AWS Features

  • LocalStack for AWS 4.9 adds support for new versions of OpenSearch and updates the default version to align with AWS support. The new supported versions for OpenSearch are 2.15, 2.17, 2.19 and 3.1. The new default version for OpenSearch domains (if no version is set) is now 3.1.
  • LocalStack for AWS 4.9 adds CRUD support of EKS access entries and access policies. The new supported APIs include:
    • AssociateAccessPolicy
    • CreateAccessEntry
    • DeleteAccessEntry
    • DescribeAccessEntry
    • DisassociateAccessPolicy
    • ListAccessEntries
    • ListAccessPolicies
    • ListAssociatedAccessPolicies
    • UpdateAccessEntry
  • The emulator is ready with multi-protocol support for the CloudWatch service in order to align with these upcoming changes to the CloudWatch service.

Enhancements

  • Implement ListTags, TagResource and UntagResource API support for Backup Vaults and Backup Plans, which are the only resources we support that would support tagging.
  • Remove unused Terraform package installer at localstack-core/localstack/packages/terraform.py. If you were using this package installer, please instead refer to our terraform-init extension.

Deprecations

  • PostgreSQL 11 Support Removed: LocalStack for AWS 4.9 drops support for installing PostgreSQL 11. All services that previously used PostgreSQL 11 — including RDS, Redshift, and Timestream — now default to PostgreSQL 12. If you rely on PostgreSQL 11 in previous versions, ensure compatibility before upgrading.
  • Debian Trixie / Python 3.13 Upgrade: Starting with LocalStack for AWS 4.9, the base image has been upgraded from Debian Bookworm / Python 3.11 to Debian Trixie / Python 3.13. This may impact custom extensions, init scripts, or packages that rely on specific OS packages or Python 3.11.
  • Reinitialization Required for Existing Extensions: Due to the base image and Python upgrade, older volumes with installed extensions (using localstack extension init) may not be detected. Users will need to reinitialize and reinstall these extensions after upgrading.

What's Changed

Exciting New Features 🎉

Enhancements

Other Changes

New Contributors

Full Changelog: v4.8.1...v4.9.0

v4.8.1

17 Sep 09:36

Choose a tag to compare

What's Changed

Other Changes

Full Changelog: v4.8.0...v4.8.1