Localstack Versions Save

💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline

v3.3.0

3 weeks ago

Summary

LocalStack 3.3 is here with a host of new features and enhancements. This release includes support for running ECS tasks on Kubernetes, improved performance for DynamoDB Streams and Kinesis, and a new experimental web server implementation for high-throughput scenarios.

AWS Features

  • ECS tasks now can be run when LocalStack is deployed on Kubernetes. To enable this feature, set ECS_TASK_EXECUTOR=kubernetes. Tasks can be added to ELB load balancer target groups. (🌟 enterprise)
  • Lambda now supports the new Dotnet8 runtime.
  • Multi-label support is now available for Neptune service. (🌟 pro)
  • Filters for list operations and parameters for discover operations is now available in ECS service discovery. (🌟 pro)
  • GraphQL APIs created locally by CloudFormation can now be created with tags. (🌟 pro)
  • Support for routing of CloudFront aliases to the correct CloudFront distribution is now available. (🌟 pro)
  • Support for wildcards in CORS config (eg: http://*.example.com ) is now available in the S3 service.
  • Support for ECS Optimised Service Integration, state size quota limits, MaxItem, MaxItemPath , handling of States.DataLimitExceeded errors, and StepFunctions Activities in the Step Functions service.
  • Support for using external SAML providers (e.g., Auth0) as an identity pool IdP in the Cognito service. (🌟 pro)

Enhancements

  • LocalStack now stops and removes underlying EC2 containers while shutting down. You can opt to skip the removal by setting the EC2_REMOVE_CONTAINERS flag. (🌟 pro)
  • IoT Device Shadow Service now supports DeleteThingShadow API. (🌟 pro)
  • MWAA Airflow runners now come with Java Corretto pre-installed. (🌟 pro)
  • ARM-based Lambda functions now feature improved test coverage covering all AWS-supported Lambda runtimes.
  • Significant performance improvements when DynamoDB Streams or Kinesis destinations are configured for a table (over 15x more throughput for BatchWriteItem API).
  • Significant performance improvements when sending large INSERT or COPY queries for PostgreSQL database in the RDS service. (🌟 pro)
  • Default endpoint returned by ECR has been changed to include the Account ID and region for better parity. This can be configured using the new configuration variable ECR_ENDPOINT_STRATEGY . (🌟 pro)
  • Several enhancements for the Step Functions service, including API Actions validation, Map states, JsonPath extraction, and much more!

LocalStack Features

  • Support for a new experimental web server implementation that has improved performance for high-throughput scenarios. You can activate it using GATEWAY_SERVER=twisted .
  • New Resource Browser for the CodeCommit service. (🌟 pro)

Deprecations

  • Deprecated six Lambda runtimes including :

    • python3.7
    • nodejs14.x
    • ruby2.7
    • provided
    • go1.x
    • java8

    LocalStack prints a deprecation warning but you can still use deprecated runtimes

What's Changed

Exciting New Features 🎉

Other Changes

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v3.2.0...v3.3.0

v3.2.0

1 month ago

Summary

LocalStack 3.2.0 release includes new AWS Pinpoint and Textract providers, EventBridge Pipes, and new Resource Browsers for various AWS services.

New Features & Services

  • Initial support for a new Pinpoint provider, supporting basic CRUD operations surrounding AWS Pinpoint. (🌟 pro)
  • Initial support for a new Textract provider, supporting basic CRUD operations surrounding AWS Textract. (🌟 pro)
  • EventBridge now supports Input Transformation. This allows customization of the text from an event before it is passed to the target specified by the respective rule.

Enhancements

  • LocalStack is now more intelligent about printing download progress debug messages when the DEBUG flag is configured.
  • OpenSearch now supports v2.11.
  • CloudWatch now supports additional regex filter patterns.
  • Cognito now supports Pre token generation Lambda V2_0 trigger event. (🌟 pro)
  • EventBridge Pipes is being continuously improved. It now features: (🌟 pro)
    • Basic poller for DynamoDB streams and SNS sender.
    • Improvements to batching and concurrency.
    • CloudWatch logging.
  • EC2 instance IP address can now be obtained from DescribeInstances or RunInstances API. This will make it easier to set up workflows that involve network access of emulated EC2 instances. (🌟 pro)
  • EC2 now provides Ubuntu 22.04 and Amazon Linux 2023 AMIs by default. (🌟 pro)
  • MWAA now supports Airflow 2.6.3 and 2.7.2 and comes with improved ARM64 compatibility. (🌟 pro)
  • Significant improvements to multi-accounts and multi-region setup compatibility.
  • RDS now comes with built-in support for the PostGIS extension. (🌟 pro)

LocalStack Features

  • New Resource Browsers for the following AWS services are available on LocalStack Web Application:
    • ACM
    • Amplify
    • AppConfig
    • Cognito Identity
    • DocumentDB
    • EKS
    • MQ
    • MWAA
    • QLDB
    • Transcribe
  • SNS Resource Browser now allows you to publish messages from the LocalStack Web Application.

Deprecations

  • MWAA: Airflow versions v1.10.12, v2.0.2, v2.2.2 have reached end-of-support and will be removed in the next major release of LocalStack
  • EC2: LocalStack will no longer provide the Ubuntu 20.04 Docker AMI by default from the next major release.
  • RDS: Postgres 10 is deprecated and will not be available from the next major release.
  • Cloud Pods: Due to a critical security update, some Cloud Pods may break with this release. It is advisable to re-create the Cloud Pods with the latest version of LocalStack.

What's Changed

Exciting New Features 🎉

Other Changes

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v3.1.0...v3.2.0

v3.1.0

2 months ago

Summary

LocalStack 3.1 is here with exciting new features and enhancements. It introduces initial support for new providers: EventBridge Pipes, MemoryDB, Account, WAFv2, Identity Store, AMB, ACM PCA, as well as new features for existing services: the Instance Metadata Service (IMDS). Additionally, it offers improvements in DynamoDB, SQS, CloudWatch, RDS, ElastiCache and Lambda. The release also includes enhancements in Cloud Pods, Resource Browsers, and CI Keys Usage inspection.

New Features and Services

  • Initial support for a new EventBridge Pipes provider to create Pipes with SQS queues and Kinesis streams as source and target. You can filter events using EventBridge event patterns and enrich events using Lambda. (🌟 pro)
  • Initial support for a new MemoryDB provider to create and manage MemoryDB clusters locally, either in the LocalStack container itself or in separate containers for each cluster node. (🌟 pro)
  • ElastiCache now supports creating Redis cache nodes and clusters as individual Docker containers, similar to MemoryDB. (🌟 pro)
  • Initial support for a new Account provider, supporting basic CRUD operations surrounding AWS account management. (🌟 pro)
  • Initial support for a new WAFv2 provider, supporting basic CRUD operations surrounding AWS Web Application Provider. (🌟 pro)
  • Initial support for a new ACM PCA provider, supporting basic CRUD operations surrounding AWS Private Certificate Authority. (🌟 pro)
  • Initial support for the Instance Metadata Service (IMDS) that exposes an endpoint inside every EC2 instance at http://169.254.169.254/. (🌟 pro)
  • Initial support for the Identity Store provider, supporting basic CRUD operations surrounding AWS IAM Identity Center. (🌟 pro)
  • A new LocalStack-native CloudWatch provider is available behind a feature flag: PROVIDER_OVERRIDE_CLOUDWATCH=v2, which includes a lot of parity fixes and is designed to be thread safe.
  • Initial support for a new Managed Blockchain provider, supporting basic CRUD operations surrounding Amazon Managed Blockchain. (🌟 pro)

Enhancements

  • DynamoDB now supports Time to Live (TTL) which allows you to define a per-item expiration timestamp that indicates when an item is no longer needed, and delete it automatically.
  • SQS now supports dead-letter queue re-drive emulation through StartMessageMoveTask, CancelMessageMoveTask, and ListMessageMoveTasks API operations.
  • CloudWatch now supports Lambda targets for alarm actions on LocalStack.
  • RDS now supports providing admin permission to the master users on RDS for MySQL and MariaDB engines. (🌟 pro)
  • Lambda performance improvements for asynchronous invocations along with reduction in ReadTimeoutErroroccurrences during high load on LocalStack.

LocalStack Features

  • Cloud Pods save and load commands now show a progress status on the CLI. (🌟 pro)
  • New Resource Browsers for the following AWS services are available on LocalStack Web Application: OpenSearch, CloudFront, and Application Auto Scaling. In addition, new runtimes have been added to the Lambda Resource Browser. (🌟 pro)
  • Users can now inspect CI Keys Usage on the LocalStack Web Application. (🌟 pro)

Deprecations

  • DNS_LOCAL_NAME_PATTERNS is removed in favor of DNS_NAME_PATTERNS_TO_RESOLVE_UPSTREAM to list domain names that should not be resolved to the LocalStack container, but forwarded to the upstream resolver.

What's Changed

Exciting New Features 🎉

Other Changes

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v3.0.2...v3.1.0

v3.0.2

4 months ago

In this patch release we've fixed a major issue in the localstack CLI. Since the last release the CLI was missing advanced commands like auth and pod, which should now work again.

What's Changed

Full Changelog: https://github.com/localstack/localstack/compare/v3.0.1...v3.0.2

v3.0.1

5 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v3.0.0...v3.0.1

v3.0.0

5 months ago

Summary

This is our third major release for LocalStack featuring both updates to our core services as well as auxiliary tooling. With our third major release for LocalStack we’re introducing improved service providers for ElastiCache, StepFunctions and S3, improved write performance in DynamoDB, increased Multi-Account and Multi-Region support and much more! A simplified networking configuration, new default container name and lots of internal refactoring to unify endpoint generation will help developers when testing their cloud applications locally.

Additionally to our core emulation in LocalStack we’ve released many additional features available in our Web Application such as IAM policy streams and a Chaos Engineering section to help you bulletproof your applications, both in terms of minimal permissions and increased robustness against failures. Our new Desktop application, LocalStack Desktop, has been released as the successor to our legacy Cockpit App and can be downloaded in the Web Application.

Several of these changes require a migration and we have done our best to make the migration for you as smooth as possible. Head to the How to migrate section and the linked resources there, to find out more. If you have trouble migrating to LocalStack 3.0 please reach out to us, we’re happy to help!

AWS Features

  • Native v2 provider for StepFunctions (default since 3.0.0)
  • Native v3 provider for S3 (default since 3.0.0)
  • Pro New ElastiCache provider (default since 3.0.0)
  • Huge performance improvements for DynamoDB write operations (1.6x for single PutItem and up to 10x for BatchWriteItem)
  • Improved Multi-Account and Multi-Region support in multiple services such as CloudWatch, StepFunctions, EventBridge, Glue and more.
  • The way ARNs are constructed internally has been significantly revamped. This change is particularly beneficial for users working with LocalStack in scenarios involving non-default account IDs or regions.
  • Updating Lambda Event Source Mappings to point to different function versions has been fixed to now correctly switch the target and trigger the new version.
  • We now offer both a Query and JSON-protocol support for SQS to support recent low-level changes in the SQS API
  • DocumentDB has received support for MasterUsername and MasterUserPassword. With the feature flag DOCDB_PROXY_CONTAINER=1 a proxied container is started, and Lambda can connect to the container using LOCALSTACK_HOSTNAME
  • RDS now actually uses MySQL (instead of MariaDB) if the engine mysql is used. It now also correctly returns only the hostname in the Endpoint field of responses to the CreateDBCluster operation.
  • Lots of incremental improvements to CloudFormation
    • Improved detection of undefined dependencies in templates
    • Support for Fn::Select in conditionals
    • Fix AWS::S3::Bucket EventBridge Notifications
    • Resources in Community
      • (New) AWS::EC2::NetworkAcl
      • (New) AWS::EC2::DHCPOptions
      • (Updated) AWS::DynamoDB::Table
      • (Updated) AWS::OpenSearch::Domain
    • Resources in Pro
      • (New) AWS::ElasticBeanstalk::Application
      • (New) AWS::ElasticBeanstalk::ApplicationVersion
      • (New) AWS::ElasticBeanstalk::Environment
      • (New) AWS::ElasticBeanstalk::ConfigurationTemplate
      • (Updated) AWS::RDS::DBCluster

LocalStack Features

  • We now create native M1 binaries of our CLI. When installing via Brew these are automatically selected for you depending on your CPU architecture.
  • Since 3.0 we publish major tags. You can pin the current major version like this: localstack/localstack-pro:3 to stay on the latest tagged 3.x release but avoid unintentionally upgrading to the next major version.
  • With 3.0 we’re also now for the first time publishing a stable tag, which will always point towards the latest tagged release.
  • The localstack docker image is now based on Python 3.11 and Debian Bookworm
  • The default container name for LocalStack is now localstack-main (previously localstack_main) to allow the use of the name in URLs.
  • Networking configuration has been simplified by removing legacy options and moving to GATEWAY_LISTEN and LOCALSTACK_HOST. Check out our Discuss page for more information.
  • Strict Service Loading allows you to define a strict subset of services to load via the SERVICES variable, e.g. SERVICES=s3 . Any services not listed here will now be prevented from loading.
  • Lots of enhancements for LocalStack Extensions
  • LocalStack Desktop is replacing the deprecated Cockpit Desktop UI
  • The IAM policy stream is a new feature in our Web Application that allows you to see exactly which permissions are needed for the API calls you’re making in LocalStack.
  • We’ve improved the Chaos Engineering capabilities of LocalStack, extending or FIS (Fault Injection Simulator) implementation and added a UI to interface with it in our Web Application.

Provider Deprecations

  • StepFunctions legacy / v1 provider has been deprecated and will be removed in the next major version.
  • S3 v2 provider has been deprecated and will be removed in the next major version.
  • ElastiCache legacy provider has been deprecated and will be removed in the next major version.

Removals

  • Lambda legacy / v1 provider has been removed.
  • S3 legacy / v1 provider has been removed.
  • We’ve removed a lot of legacy code with this major release. If you’ve been using any internal constructs from localstack, e.g. via extensions, please make sure they are still working. Feel free to reach out to us if you need help migrating your extension.
  • Community Cloud Pods have been removed.
  • After its initial preview phase, AWS RAM is now part of our paid offering and will be further developed and integrated with our IAM enforcement in future releases.
  • Configuration
    • DEFAULT_REGION, USE_SINGLE_REGION
    • ES_ENDPOINT_STRATEGYES_MULTI_CLUSTERES_CUSTOM_BACKEND
    • KINESIS_INITIALIZE_STREAMS
    • SYNCHRONOUS_*_EVENTS
    • EC2_AUTOSTART_DAEMON
    • *_PORT_EXTERNAL
    • legacy LAMBDA_* settings, see the sections below for more details

How to migrate

Networking

We have published an extensive migration guide for our networking related changes on this Discuss page

  • The default container name is renamed from localstack_main to localstack-main
    • Our default container name localstack_main is not a valid URL, so when the container name is used as a hostname, some libraries refuse to connect. With this release, we use the default container name of localstack-main. There may be breakages with tooling that expects the new container name, but a container is running with the old container name. Please update your tooling accordingly.
    • Most prominently, this is container name used in docker-compose files.
    • If you are using the LocalStack CLI, please just make sure to update to the latest version after the release. The CLI will handle this migration automatically.
  • HOSTNAME_EXTERNAL and LOCALSTACK_HOSTNAME are removed in favor of LOCALSTACK_HOST
    • We are simplifying how to configure LocalStack by fully switching over to use LOCALSTACK_HOST to configure URLs returned by AWS services. Please update your usages of HOSTNAME_EXTERNAL (default: localhost) and LOCALSTACK_HOSTNAME to use LOCALSTACK_HOST (default: localhost.localstack.cloud:4566). You can find more details in our Networking Migration Guide for LocalStack 3.0.

New default protocol for the SQS API

AWS recently updated the default protocol for the SQS API in many of their SDKs, which started breaking with LocalStack since we didn't have JSON support yet. With 3.0.0 we now support both protocols, but if you are still on 2.x a workaround would be to downgrade or pin your used SDK/tool version.

Here is the list with all the SDK versions where the issue will start appearing:

Language SDK client repository Required SDK client version
C++ aws/aws-sdk-cpp 1.11.98
Golang 1.x aws/aws-sdk-go v1.47.7
Golang 2.x aws/aws-sdk-go-v2 v1.28.0
Java 1.x aws/aws-sdk-java 1.12.585
Java 2.x aws/aws-sdk-java-v2 2.21.19
JavaScript v2.x aws/aws-sdk-js v2.1492.0
JavaScript v3.x aws/aws-sdk-js-v3 v3.447.0
.NET aws/aws-sdk-net 3.7.681.0
PHP aws/aws-sdk-php 3.285.2
Python-boto3 boto/boto3 1.28.82
Python-botocore boto/botocore 1.31.82
awscli AWS CLI 1.29.82
Ruby aws/aws-sdk-ruby 1.67.0

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-json-faqs.html#json-protocol-supported-languages

Also, the Terraform AWS provider is also concerned by this issue, starting with 5.25.0

Strict Service Loading - SERVICES environment variable

With 3.0, we are introducing strict service loading based on the SERVICES environment variable.

In older versions of LocalStack, this variable defined the set of services which should be loaded by default. New versions of LocalStack load the services on-demand dynamically on their first invocation. With 3.0, the SERVICES variable will be used as a strict list of services that should be loaded. The loading of all other services will be prevented.

  • If you are using the SERVICES environment variable, without using EAGER_SERVICE_LOADING, please remove the variable (it does not have any effect in your current config).
  • If you are using the SERVICES environment variable in combination with EAGER_SERVICE_LOADING, please make sure it contains all services you are using. Any additional services (which would have been loaded on demand in pre-v3 versions of LocalStack) will not be loaded anymore.

Cloud Pods

In this 3.0 release, we are removing Community Cloud Pods. Moving forward, Cloud Pods will only be accessible to Pro/Team users. The handling of Cloud Pods in the local file system is now handled via the localstack state import/export commands.

S3

With 2.3.0 we introduced a new, opt-in, LocalStack-native, faster S3 provider with no external dependencies, improved parity, better memory usage, and better support for bucket versioning and multipart upload. With 3.0, we are promoting this provider to become the default!

S3_DIR is not supported anymore with the new provider. However, S3 persistence has been greatly improved, and you should be able to seed your data with Initialization hooks.

Besides that, users should be mostly unaffected, but may experience some breakage depending on previous behavior that was not aligned with AWS. Should you run into problems, you can, for now, activate the old provider with PROVIDER_OVERRIDE_S3=legacy_v2.

StepFunctions

We’re introducing a new native implementation of AWS StepFunctions. It comes with a number of additional features and improvements over the previous version. The update offers extended support for timeouts and heartbeats, state machine versioning, Map states, EventBridge integration, as well as support for the latest set of Intrinsic Functions. Enhanced API parity with AWS StepFunctions is also a key improvement delivered in this latest update. We’ll continue actively improving our new StepFunctions implementation. In the next months you can look forward to additional exciting features such as express workflows, more service integrations, express workflows, activity support and more. Adopting this new native implementation now allows us to add features and resolve issues faster than before.

In case you run into issues, you can, for now, use the legacy provider using PROVIDER_OVERRIDE_STEPFUNCTIONS=legacy. Please note that this fallback will be removed with the next major version, so please start migrating your workloads to the new default provider over the next months.

See our Announcement post on Discuss for more details.

ElastiCache

ElastiCache in LocalStack has been completely re-written. The new ElastiCache implementation provides much better parity with AWS and resolves some issues around Redis cluster management in the previous provider. In case you run into issues, you can, for now, use the legacy provider using PROVIDER_OVERRIDE_ELASTICACHE=legacy.

Multi-Region and Multi-Account Support in SQS and IoT endpoints

In order to improve the multi-account and multi-region support for SQS and IoT, the endpoints generated for certain resources of these services (like SQS queues, or IoT endpoints) now contain the account ID and the region.

When using these services, please do not make any assumptions on the URLs generated by LocalStack, but use the URLs returned in the responses.

  • For SQS queues, please use the QueueUrl contained in responses to CreateQueue operation.
  • For IoT endpoints, please use the endpointAddress contained in responses to the DescribeEndpoint operation.

Performance improvements for DynamoDB write operations

We’ve massively improved write performance for DynamoDB in LocalStack, with our benchmarks showing a 60% faster PutItem operation. Using higher batch sizes will profit even more from this change, with BatchWriteItem now being 6.2x faster for 10 items and 9.9x faster for 25 items. That means if you’re populating a large DynamoDB table, you can now take advantage of much faster insertion times! For the best performance please set DYNAMODB_IN_MEMORY=1, but even without this, you should still notice a significant performance improvement.

Please note that setting DYNAMODB_IN_MEMORY will disable persistence support for DynamoDB.

Multi-Account and Multi-Region support

Multi-account and multi-region support continues to be improved in LocalStack. There is broader support for IAM enforcement for inter-service integrations. Various services now have improved multi-accounts awareness, including the new StepFunctions provider, SQS, CloudWatch, EventBridge and more. We also have revamped how ARNs are constructed internally which will result in improved ARN accuracy.

Other notable changes

  • The IoT services (iot, iot-analytics, iot-data, iot-wireless) do not ship with their third-party packages pre-installed in the Docker image anymore.
    • Instead, these packages will be downloaded on-demand when the services need them. This helps reducing the Docker image size for all users.
    • Please configure the volume directory to cache packages that are downloaded on-demand.
  • RDS now actually uses MySQL (instead of MariaDB) if the engine mysql is used.
    • Up until now, the engine mysql would always create a mariadb instance behind the scenes.
    • With 3.0 we change this behavior, and RDS will create a real mysql instance in a new docker container. The image will be taken from the official MySQL image on Dockerhub, and the EngineVersion defines the image-tag that will be used.
    • Should you run into problems, you can, for now, set RDS_MYSQL_DOCKER=0.
  • RDS now correctly returns only the hostname in the Endpoint field of responses to the CreateDBCluster operation.
    • Previously, this field also contained the port, however the port has its own field in the response.
    • Should you run into problems, you can, for now, set RDS_CLUSTER_ENDPOINT_HOST_ONLY=0.
  • After its initial preview phase, AWS RAM is now part of our paid offering and will be further developed and integrated with our IAM enforcement in future releases.

Removals of Deprecations

The following section lists removals of configurations that have already been deprecated in previous versions, where the usage with current images will already log warnings on the usage of outdated configurations. If you have upgraded to the latest changes in previous releases, these changes will not affect you.

Legacy CLI commands

The following CLI command groups are being removed:

  • infra - Please use localstack start instead.
  • daemons - This feature is being removed.

Legacy Internal Endpoints

The following endpoints, which have been deprecated a long time ago, will now be removed:

  • **/health → Please use /_localstack/health instead**
  • /cloudwatch/metrics/raw → Please use /_aws/cloudwatch/metrics/raw instead
  • /_localstack/ses → Please use /_aws/ses instead
  • /_pods → Please use /_localstack/pods instead
  • /login → Please use /_aws/cognito-idp/login instead
  • /logout → Please use /_aws/cognito-idp/logout instead
  • /signup → Please use /_aws/cognito-idp/signup instead
  • /forgotPassword → Please use /_aws/cognito-idp/forgotPassword instead
  • /oauth2/token → Please use /_aws/cognito-idp/oauth2/token instead
  • /oauth2/authorize → Please use /_aws/cognito-idp/oauth2/authorize instead

Legacy S3 Provider - PROVIDER_OVERRIDE_S3=legacy

The legacy S3 provider is being removed. This only affects you if you are setting PROVIDER_OVERRIDE_S3=legacy. Please migrate to the new S3 provider by removing this setting.

Legacy Lambda Provider - PROVIDER_OVERRIDE_LAMBDA=legacy

The legacy Lambda provider is being removed. This only affects you if you are setting PROVIDER_OVERRIDE_LAMBDA=legacy. Please migrate to the new Lambda provider by removing this setting. You can find more details in our Lambda migration guide.

With the removal of the legacy lambda provider, the following deprecated environment variables will be removed:

  • LAMBDA_EXECUTOR
  • LAMBDA_STAY_OPEN_MODE
  • LAMBDA_REMOTE_DOCKER
  • LAMBDA_CODE_EXTRACT_TIME
  • LAMBDA_CONTAINER_REGISTRY
  • LAMBDA_FALLBACK_URL
  • LAMBDA_FORWARD_URL
  • LAMBDA_XRAY_INIT

Legacy KMS Provider - KMS_PROVIDER=local-kms

The legacy "local-kms" provider is being removed. This only affects you if you are setting KMS_PROVIDER=local-kms. Please migrate to the new KMS provider by removing this setting.

Legacy port and host config - EDGE_PORT, EDGE_PORT_HTTP, EDGE_BIND_HOST

We have removed the ability to configure what address and port LocalStack listens on via the variables EDGE_PORT, EDGE_PORT_HTTP, and EDGE_BIND_HOST. Please migrate to use GATEWAY_LISTEN instead. You can find more details on the migration path in the release notes of v2.

Legacy region config - DEFAULT_REGION, USE_SINGLE_REGION

We have removed DEFAULT_REGION and USE_SINGLE_REGION, which have been deprecated since 0.12.7. LocalStack is now multi-account and multi-region-aware, and these settings are not used anymore.

Legacy BigData Image Support - BIGDATA_MONO_CONTAINER

The support for the usage of the localstack/bigdata image (with BIGDATA_MONO_CONTAINER=0) is being removed. Please just remove this configuration variable to switch to the (default) “mono container mode”.

With the removal of the legacy bigdata image support, the following deprecated environment variables will be removed:

  • AUTOSTART_UTIL_CONTAINERS

Legacy CloudPods client - ACTIVATE_NEW_POD_CLIENT

The support for the legacy CloudPods client (with ACTIVATE_NEW_POD_CLIENT=0) is being removed. Please just remove this configuration variable to switch to the new (default) cloudpods client.

Others

In addition to the changes above, the following configuration variables have been removed (which has been announced in previous releases):

  • ES_ENDPOINT_STRATEGY, ES_MULTI_CLUSTER, ES_CUSTOM_BACKEND
    • These options have been removed. Please OPENSEARCH__ENDPOINT_STRATEGY, OPENSEARCH_MULTI_CLUSTER, or OPENSEARCH_CUSTOM_BACKEND instead.
  • KINESIS_INITIALIZE_STREAMS
    • Please use init hooks to pre-seed your environment instead.
  • MOCK_UNIMPLEMENTED
    • This feature has been discontinued. Please remove this environment variable.
  • SYNCHRONOUS_*_EVENTS
    • This configurations break parity with AWS, which is why they have been removed. Please remove this environment variable.
  • EC2_AUTOSTART_DAEMON
    • The localstack local daemons have been removed. Please remove this environment variable.
  • *_PORT_EXTERNAL
    • These configuration variables have been superseded by the new networking config (see above).

What's Changed

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v2.3.0...v3.0.0

v2.3.2

6 months ago

What's Changed

Full Changelog: https://github.com/localstack/localstack/compare/v2.3.1...v2.3.2

v2.3.1

6 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v2.3.0...v2.3.1

v2.3.0

6 months ago

Summary

LocalStack v2.3. is live! We introduced a new set of services, launched a brand new implementation for core services like S3 and StepFunctions, and shipped significant improvements both in our CLI and web app experience.

New Features and Services

  • Initial support for Delta Lake in AWS Athena. (🌟 pro)
  • Introducing a new service: EventBridge Scheduler with support for all 12 operations.
  • Introducing a new service: Resource Access Manager with support for 5 operations.
  • A new LocalStack-native S3 provider is available behind a feature flag: PROVIDER_OVERRIDE_S3=v3, with no external dependencies. Improved parity, better memory usage, faster, better support for bucket versioning and multipart upload.
  • A new LocalStack-native StepFunctions provider is available behind a feature flag: PROVIDER_OVERRIDE_STEPFUNCTIONS=v2.

Enhancements

  • 12 new operations supported for Amazon Elastic File System (EFS). (🌟 pro)
  • Multi-accounts are now supported in Glue (🌟 pro), CloudFormation, CloudWatch (🌟 pro), DynamoDB Streams, and Event Bridge.
  • Improved AppSync integration with RDS, supporting variable maps and cross-region access. (🌟 pro)
  • Several parity improvements for Elastic Load Balancing V2 and RDS. (🌟 pro)
  • Significant improvements to CloudFormation.
  • Scan and Query operations are now supported for Global Tables in DynamoDB.
  • A new AWS Lambda data plane implementation brings a better experience upon Lambda runtime startup errors and timeouts, and parity improvements for both asynchronous Lambda invocations and concurrency.
  • New Lambda runtime Python 3.11.
  • Networking improvements: localhost.localstack.cloud now resolves to the LocalStack container within Docker networks. This is automatically set up for Lambda, ECS, and EC2, and documented for your own containers.
  • A new configuration variable GATEWAY_LISTEN to configure the container bind address and ports.

LocalStack Features

  • Improved Pro CLI experience: use Pro CLI commands without logging in. (🌟 pro)
  • Significant improvements to the localstack extensions CLI UX. (🌟 pro)
  • Our web application now features a fresh new layout with a sidebar, which should provide a better overview of your resources.
  • With the 1.0 release, we introduced LocalStack Extensions to allow developers to extend and customize LocalStack. We now feature 7 extensions in our library, that allow you to integrate other services, such as stripemailhog, and many others, into your local development setup, or even into your CI pipeline with the new EXTENSION_AUTO_INSTALL config! These extensions are also featured in our Extensions Library on the web application, which makes the installation and management of Extensions as simple as the click of a button. Furthermore, you can generate LocalStack Extensions badges for your own extensions, which will allow everyone visiting your repository to install your extension through our web UI.
  • LocalStack Instance Bookmarks allow you to quickly connect to multiple LocalStack instances running on different endpoints or even remote machines. The new instance layout now also brings together all instance-related pages like instance status, the resource browser, extensions, and export/import of instance state.
  • We have revamped the UI for Cloud Pods, which now allows you to view a set of useful metadata like the services contained in the pod and the creation time. Additionally, the UI allows you to manage your pod versions, with a nifty auto-delete feature. Furthermore, you can now create and browse the state of your pods on a per-version level directly in the UI!
  • (beta) We introduced alternative remote storage for Cloud Pods. You will be now able to save your LocalStack state into S3 containers and OCI registries.
  • We now support Route 53 and SageMaker Inference in our resource browser!

Deprecations

  • Dropped support for Python 3.7 after End-Of-Life.
  • The legacy Cloud Pods client will be removed with the next major release.
  • Dropped support for the localstack/bigdata image.

What's Changed

Exciting New Features 🎉

Other Changes

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v2.2.0...v2.3.0

v2.2.0

9 months ago

Summary

LocalStack 2.2.0 is out live! With new AWS features like Glue 4.0 support, S3 Lifecycle Expiration, and Opensearch/Elasticsearch resources, as well as LocalStack CLI improvements and deprecations, this release is a significant step forward for local AWS development. Check out the full details in the release notes! 🚀

AWS Features

  • Support for Glue 4.0 with Spark 3.3.0 has been added. (🌟 pro)
  • Support for global clusters has been added to RDS. (🌟 pro)
  • Support for MySQL databases has been added to RDS Data API. (🌟 pro)
  • Initial support for EMR Serverless. (🌟 pro)
  • Various enhancements and parity fixes in AppSync, including better context (de)serialization, context objects for Lambda data sources, and account/region lookup fixes. (🌟 pro)
  • Several enhancements in Timestream queries, including UNNEST, and interpolation functions. (🌟 pro)
  • New CRUD implementations have been implemented for BucketIntelligentTiering, BucketAnalytics, and BucketInventory in the S3 provider.
  • Support for S3 Lifecycle Expiration has been added, which will now return the Expiration header if a BucketLifecycleConfiguration is configured and a rule matches the object.
  • Support for ObjectRestore:Post and ObjectRestore:Completed S3 Notifications events have been added.
  • Support for Object Retention in GOVERNANCE mode in the S3 provider.
  • Enabled cross-account accessibility for S3 buckets, implementing a cross-account namespace which prevents the creation of buckets with the same name in different accounts.
  • Support for OpenSearch and Elasticsearch resources to be created in a non-default account.
  • Enhanced support for encryption context in the KMS APIs.
  • Support for Destinations in the CloudWatch Logs, including new CRUD implementations.
  • Improve global table replicas support in DynamoDB.
  • Add support for AWS::RDS::DBProxy and AWS::RDS::DBProxyTargetGroup CloudFormation resources

LocalStack Features

  • New LocalStack CLI experience with binary builds, auto-completion, Homebrew support, and UX improvements.
  • New Cloud Pods client (that can be activated with the ACTIVATE_NEW_POD_CLIENT flag), leveraging LocalStack container's APIs and storing Cloud Pod’s artifacts inside the container itself. This client becomes the default provider from v3.0. (🌟 pro)
  • Live policy streams during your LocalStack usage! Use localstack aws iam stream to see the IAM policies generated for your API calls (enable ENFORCE_IAM=1, and IAM_SOFT_MODE=1 if policies should not be enforced). (🌟 pro)
  • LocalStack Web Application status page now links to available Resource Browsers.

Deprecations

  • EC2_AUTOSTART_DAEMON is now deprecated and marked for removal in the next major release.
  • AUTOSTART_UTIL_CONTAINERS is now deprecated and marked for removal in the next major release.
  • The Bigdata image support with the localstack/bigdata image and the BIGDATA_MONO_CONTAINER=0 variable will be removed in the next major release.
  • The legacy S3 & Lambda providers will be removed in the next major release.
  • Host interface modification (used for automatic usage of the LocalStack DNS) when starting LocalStack in host mode is now deprecated and marked for removal in the next major release.

What's Changed

Exciting New Features 🎉

Other Changes

Full Changelog: https://github.com/localstack/localstack/compare/v2.1.0...v2.2.0