Localstack

Latest version: v4.1.1

Safety actively analyzes 707299 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 18

4.1.1

Not secure
<!-- Release notes generated using configuration in .github/release.yml at v4.1.1 -->

What's Changed
* Step Functions: Extended Support for Escape Sequences in String Literals by MEPalma in https://github.com/localstack/localstack/pull/12222
* add 4.1 blog to README by HarshCasper in https://github.com/localstack/localstack/pull/12208
* raise validationException if resource does not exist in CFn by pinzon in https://github.com/localstack/localstack/pull/12202
* Add info about how to enable type hints for testing to dev setup guide by tiurin in https://github.com/localstack/localstack/pull/12211
* Add codebuild, codedeploy, and codepipeline to the client types by giograno in https://github.com/localstack/localstack/pull/12209
* Update CODEOWNERS by localstack-bot in https://github.com/localstack/localstack/pull/12219
* Bump moto-ext to 5.0.28.post1 by k-a-il in https://github.com/localstack/localstack/pull/12213
* Changed: adjust validation for scheduler expression by anisaoshafi in https://github.com/localstack/localstack/pull/12220
* S3: implement TransitionDefaultMinimumObjectSize for Lifecycle Configuration by bentsku in https://github.com/localstack/localstack/pull/12212
* APIGW: add Binary Media support for response in `AWS_PROXY` by bentsku in https://github.com/localstack/localstack/pull/12199
* restructure unit tests by bentsku in https://github.com/localstack/localstack/pull/12221
* [SQS] Stop blocking Queue.get() call on LocalStack shutdown by gregfurman in https://github.com/localstack/localstack/pull/12214
* Update README CLI output by gtsiolis in https://github.com/localstack/localstack/pull/12225
* DynamoDB: disable Scalable Vectors Extensions on arm64 by tiurin in https://github.com/localstack/localstack/pull/12226


**Full Changelog**: https://github.com/localstack/localstack/compare/v4.1.0...v4.1.1

4.1.0

Not secure
Summary

LocalStack 4.1 delivers major enhancements to its local AWS emulation platform, featuring a new Managed Service for Apache Flink provider, improved Step Functions capabilities with Variables and JSONata transformations, and a preview release of the LocalStack SDK for Java. The update includes significant improvements to existing services, such as composite alarm support in CloudWatch and a Python-based Event Rule engine. Other enhancements revolve around services like Glue, S3, and the Web Application, with new Web Application features and a RedShift Resource Browser.

AWS Features

- Support for [Managed Service for Apache Flink (MSAF)](https://docs.aws.amazon.com/managed-flink/latest/java/what-is.html) is now available to run Flink applications locally with several [AWS-compatible API operations](https://docs.localstack.cloud/references/coverage/coverage_kinesisanalyticsv2/?__hstc=181257784.1b0556d5a8929e33692c656cf7023b8e.1729592971125.1738057154353.1738221865743.49&__hssc=181257784.35.1738221865743&__hsfp=3213767220). This service was previously known as Kinesis Data Analytics v2. (🌟 pro)
- LocalStack now supports AWS Step Functions Workflow Variables and JSONata transformations, enabling local emulation of enhanced state management and data transformations.
- LocalStack now provides basic support for CloudWatch composite alarms, allowing alarm storage and limited evaluation with OR logic, ARN-based references, and SNS notifications.

Enhancements

- LocalStack now uses a Python-based Event Rule engine for event pattern matching in EventBridge, Pipes, and Lambda Event Source Mapping, replacing the Java-based AWS event ruler.
- 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. (🌟 pro)
- Support for the `NoEcho` attribute in CloudFormation parameters was included to improve parity.
- Improved error messages on template parse or deploy failures.
- 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.
- LocalStack’s Glue provider now includes the following enhancements: (🌟 pro)
- 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.
- 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html).
- 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](https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-s3-functionality-conditional-writes/) with the `IfMatch` parameter, also known as Compare-and-Swap.
- LocalStack container logs are now properly displayed when running with Podman.
- LocalStack now supports [Cognito User pool deletion protection](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-deletion-protection.html).
- Transparent Endpoint Injection is now supported for the [Batch provider](https://docs.localstack.cloud/user-guide/aws/batch/?__hstc=181257784.1b0556d5a8929e33692c656cf7023b8e.1729592971125.1738057154353.1738221865743.49&__hssc=181257784.35.1738221865743&__hsfp=3213767220). 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`](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/API_DescribeListenerAttributes.html) operations are now supported in the [Elastic Load Balancing (ELB) provider](https://docs.localstack.cloud/user-guide/aws/elb/?__hstc=181257784.1b0556d5a8929e33692c656cf7023b8e.1729592971125.1738057154353.1738221865743.49&__hssc=181257784.35.1738221865743&__hsfp=3213767220).
- You can now use the `SNS_SES_SENDER_ADDRESS` configuration variable to customize the sender of SNS email notifications, defaulting to `adminlocalstack.com` if not configured.
- [Node.js 22 runtime Lambda runtime](https://aws.amazon.com/blogs/compute/node-js-22-runtime-now-available-in-aws-lambda/) 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](https://aws.amazon.com/about-aws/whats-new/2024/11/aws-lambda-s3-failed-event-destination-stream-event-sources/). 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](https://docs.aws.amazon.com/sagemaker/latest/dg/model-ab-testing.html) 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](https://docs.aws.amazon.com/sns/latest/dg/string-value-matching.html#string-address-matching) 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](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListFirewallRules.html) 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](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-rule.html#options).

LocalStack Features

- Support for the official [LocalStack SDK for Java](https://docs.localstack.cloud/user-guide/tools/localstack-sdk/java/) is now available, enabling interaction with our proprietary features through our internal developer endpoints.
- LocalStack Web Application now includes a [Redshift](https://docs.localstack.cloud/user-guide/aws/redshift/) Resource Browser, offering a visual interface to manage local Redshift clusters.
- 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](https://app.localstack.cloud/inst/default/chaos-engineering) has been relocated to the Instance Management tab, where it now appears alongside other features to consolidate 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`](https://localhost.localstack.cloud:4566/_localstack/swagger) for convenient access to API documentation.

Deprecations

- The `EVENT_RULE_ENGINE` configuration variable to set the Java rule engine has been deprecated. It is recommended to remove this legacy configuration.

What's Changed
Exciting New Features 🎉
* Add test for EventBridge Scheduler TagResource API and UntagResource API by kakakakakku in https://github.com/localstack/localstack/pull/11976
* Feature/Eventbridge v2: Support extending available targets by maxhoheiser in https://github.com/localstack/localstack/pull/11407
* Cloudwatch: add basic composite alarm support by tiurin in https://github.com/localstack/localstack/pull/11828
* Bump moto-ext to 5.0.22.post1 by viren-nadkarni in https://github.com/localstack/localstack/pull/12003
* StepFunctions: Base Support for Task Credentials by MEPalma in https://github.com/localstack/localstack/pull/11987
* Replicator implement cfn read for supported resources by cloutierMat in https://github.com/localstack/localstack/pull/12017
* StepFunctions: Fix Evaluation of Nested Map Runs by MEPalma in https://github.com/localstack/localstack/pull/12033
* StepFunctions: Fix Boto Request Encoding by MEPalma in https://github.com/localstack/localstack/pull/12035
* Refactor/events: Custom api destination and connection tests by maxhoheiser in https://github.com/localstack/localstack/pull/11999
* CloudFormation, Fix Retrieval of State Machine Definitions On Stack Update by MEPalma in https://github.com/localstack/localstack/pull/12044
* StepFunctions: Migration to String Expressions by MEPalma in https://github.com/localstack/localstack/pull/12028
* add replicator to Advanced section by cloutierMat in https://github.com/localstack/localstack/pull/12052
* add read/list methods for ec2 security-groups resource provider by pinzon in https://github.com/localstack/localstack/pull/12034
* Cfn support layer version read list by cloutierMat in https://github.com/localstack/localstack/pull/12060
* Bugfix/eventbridge/transformer issue with nested key by maxhoheiser in https://github.com/localstack/localstack/pull/11998
* StepFunctions: Ensure Service Integrations Assume State Machine Role Credentials by MEPalma in https://github.com/localstack/localstack/pull/12089
* allow setting of customId for IAM Roles by pinzon in https://github.com/localstack/localstack/pull/12077
* lambda layer enable deterministic layer version creation by cloutierMat in https://github.com/localstack/localstack/pull/12098
* Bugfix/eventbridge/process to all matching rules by maxhoheiser in https://github.com/localstack/localstack/pull/12090
* Add s3 as ESM failure destination for Kinesis and DynamoDB stream sources by tiurin in https://github.com/localstack/localstack/pull/12087
* StepFunctions: Better Error Messages For JSONPath Operations by MEPalma in https://github.com/localstack/localstack/pull/12094
* Bugfix/eventbridge/event bus desciption not asigned on create by maxhoheiser in https://github.com/localstack/localstack/pull/12100
* Refactor/events/custom api destination by maxhoheiser in https://github.com/localstack/localstack/pull/12057
* StepFunctions, improve the use of ItemsPath declarations in Distributed Map states by MEPalma in https://github.com/localstack/localstack/pull/12117
* add cc methods for lambda function resource provider by pinzon in https://github.com/localstack/localstack/pull/12111
* StepFunctions: Improvements to Timestamp Validation by MEPalma in https://github.com/localstack/localstack/pull/12074
* StepFunctions: Stateless evaluation of EvalComponents by MEPalma in https://github.com/localstack/localstack/pull/12068
* [ESM] Handle polling of batches exceeding SQS message limits by gregfurman in https://github.com/localstack/localstack/pull/12118
* StepFunctions: Support for Escape Sequences in JSONata String Literals by MEPalma in https://github.com/localstack/localstack/pull/12072
* StepFunctions: AWS-SDK Integration Retain Specific Error Names by MEPalma in https://github.com/localstack/localstack/pull/12161
* Remove deprecated Java-based event ruler by joe4dev in https://github.com/localstack/localstack/pull/12158
* StepFunctions: Clean-up legacy JSONata unit tests by MEPalma in https://github.com/localstack/localstack/pull/11921
* Step Functions, Support for Output Blocks in Choice Rules, Improvments to JSONata Choice Defaults by MEPalma in https://github.com/localstack/localstack/pull/12075
* StepFunctions: Fix Parsing of Version Tokens as Soft Keywords by MEPalma in https://github.com/localstack/localstack/pull/12190
* S3: implement new checksum algorithm CRC64NVME add ChecksumType for PutObject by bentsku in https://github.com/localstack/localstack/pull/12182
* S3: implement new data integrity for MultipartUpload by bentsku in https://github.com/localstack/localstack/pull/12183
Other Changes
* fix ASF code generation for recursive structures with keywords by alexrashed in https://github.com/localstack/localstack/pull/11972
* fix postgres install in pro test pipeline by alexrashed in https://github.com/localstack/localstack/pull/11974
* SNS: improve SNS Filter Policy engine and implement `cidr` operator by bentsku in https://github.com/localstack/localstack/pull/11979
* upgrade outdated github action in ASF update workflow by alexrashed in https://github.com/localstack/localstack/pull/11975
* Reject events larger than the max size allowed by xocasdashdash in https://github.com/localstack/localstack/pull/11623
* Events: EventRuleEngine: improve `cidr` to support ipv6 and better validation by bentsku in https://github.com/localstack/localstack/pull/11981
* fix SNS test with region replacement by bentsku in https://github.com/localstack/localstack/pull/11984
* Remove legacy event filtering implementation by joe4dev in https://github.com/localstack/localstack/pull/11985
* fix transformation for matching operations in aws::events::rule by pinzon in https://github.com/localstack/localstack/pull/11811
* [ESM] Handle Lambda TCP socket connection timeouts by gregfurman in https://github.com/localstack/localstack/pull/11977
* [ESM] Raise exception when setting DestinationConfig.OnSuccess by gregfurman in https://github.com/localstack/localstack/pull/11989
* added sql plugin validated test by erikmichel-dev in https://github.com/localstack/localstack/pull/11971
* apigw clean up the invalid json parser by cloutierMat in https://github.com/localstack/localstack/pull/11968
* [EventsBridge] Add validation for malformed Detail value by gregfurman in https://github.com/localstack/localstack/pull/11990
* [SFN] Correctly record failed EventsBridge PUT requests by gregfurman in https://github.com/localstack/localstack/pull/11991
* fix StringSplit regex escape by cloutierMat in https://github.com/localstack/localstack/pull/11995
* make SNS `SigningCertURL` configurable even if not resolvable by bentsku in https://github.com/localstack/localstack/pull/11993
* Update CODEOWNERS by localstack-bot in https://github.com/localstack/localstack/pull/12001
* Events: fix `numeric` operator string handling and provider validation for TestEventPattern by bentsku in https://github.com/localstack/localstack/pull/11994
* Allow usage of additional runtimes with the Lambda SnapStart feature enabled by dfangl in https://github.com/localstack/localstack/pull/12006
* Clarify usage counter descriptions by joe4dev in https://github.com/localstack/localstack/pull/12009
* enable localstack instance creation override for testing by cloutierMat in https://github.com/localstack/localstack/pull/11988
* Print web app URL in start command by gtsiolis in https://github.com/localstack/localstack/pull/12016
* fix APIGW test with hardcoded region by bentsku in https://github.com/localstack/localstack/pull/12020
* upgrade cryptography and amazon-kclpy by alexrashed in https://github.com/localstack/localstack/pull/12005
* [ESM] Validate filter criteria and unskip tests by gregfurman in https://github.com/localstack/localstack/pull/12018
* fix APIGW transformers to not do value replacement on port by bentsku in https://github.com/localstack/localstack/pull/12021
* add validation before creating an s3 bucket for scenario testing by pinzon in https://github.com/localstack/localstack/pull/12013
* APIGW: ParameterMapping skip if invalid input by bentsku in https://github.com/localstack/localstack/pull/12023
* apigw fix openapi request parameters by cloutierMat in https://github.com/localstack/localstack/pull/12027
* add silv-io as default reviewer for upgrade PRs by alexrashed in https://github.com/localstack/localstack/pull/12029
* fix `echo_http_server_post` returning double slash path by bentsku in https://github.com/localstack/localstack/pull/12032
* [ESM] Handle DynamoDB-local Invalid ShardID exception by gregfurman in https://github.com/localstack/localstack/pull/12036
* Unskip fixed event filtering tests by joe4dev in https://github.com/localstack/localstack/pull/11992
* Update CODEOWNERS by localstack-bot in https://github.com/localstack/localstack/pull/12039
* Unskip supported Lambda and ESM tests by joe4dev in https://github.com/localstack/localstack/pull/12012
* Bug fix: Dynamodb update_table missing table entries in output by IreneLime in https://github.com/localstack/localstack/pull/11938
* DynamoDB: Fix empty replicas list in response by viren-nadkarni in https://github.com/localstack/localstack/pull/12047
* bump minimum version of cbor by alexrashed in https://github.com/localstack/localstack/pull/12051
* feat(cloudformation): Add partial `NoEcho` parameter support by rominf in https://github.com/localstack/localstack/pull/11897
* fix client factory for bypassing DNS server by bentsku in https://github.com/localstack/localstack/pull/12059
* fix(11576): fixing bug in standardqueue put message by kshitijkohli in https://github.com/localstack/localstack/pull/11717
* Improve type safety of `container_exists` by martinfrancois in https://github.com/localstack/localstack/pull/12053
* Fix MacOS -> macOS by zuyu in https://github.com/localstack/localstack/pull/12055
* Fix swagger endpoint from ephemeral instance by giograno in https://github.com/localstack/localstack/pull/12026
* Upgrade lambda runtime init to version v0.1.31-pre by dfangl in https://github.com/localstack/localstack/pull/12050
* DDB: parity fix for JS clients by giograno in https://github.com/localstack/localstack/pull/12083
* LDR: selectable local mounts by simonrw in https://github.com/localstack/localstack/pull/12092
* allow setting of customId on IAM Policies by pinzon in https://github.com/localstack/localstack/pull/12073
* Improve error message for a missing parameter value - provide its name by asomov in https://github.com/localstack/localstack/pull/12086
* CFn: improve error messages by simonrw in https://github.com/localstack/localstack/pull/11591
* fix template body when using CFN create-stack by pinzon in https://github.com/localstack/localstack/pull/12097
* Update CODEOWNERS by localstack-bot in https://github.com/localstack/localstack/pull/12105
* remove references to the discuss forum by HarshCasper in https://github.com/localstack/localstack/pull/12106
* Relax healthcheck time constraints by displaylink-kstrzemp in https://github.com/localstack/localstack/pull/12067
* Add tests to source package exclusions in MANIFEST.in by silv-io in https://github.com/localstack/localstack/pull/12108
* Docker client: support lists for entrypoints by simonrw in https://github.com/localstack/localstack/pull/12093
* Bump moto-ext to 5.0.26.post1 by viren-nadkarni in https://github.com/localstack/localstack/pull/12079
* fix KMS DeriveSharedSecret by alvertogit in https://github.com/localstack/localstack/pull/12071
* DynamoDB: Disable Scalable Vector Extensions in JRE by viren-nadkarni in https://github.com/localstack/localstack/pull/12112
* Ship StepFunction JSONata dependency by default by joe4dev in https://github.com/localstack/localstack/pull/12110
* DynamoDB: fix GlobalSecondaryIndexes parity in Create and DescribeTable by bentsku in https://github.com/localstack/localstack/pull/12119
* Fix SSM parameter handling with paths and queries by ARN by dfangl in https://github.com/localstack/localstack/pull/12116
* Docker Utils: Utility method to create file in container by bblommers in https://github.com/localstack/localstack/pull/12122
* Update CODEOWNERS by localstack-bot in https://github.com/localstack/localstack/pull/12126
* Bump moto-ext to 5.0.26.post2 by viren-nadkarni in https://github.com/localstack/localstack/pull/12134
* Add tests for KMS resource tagging and untagging by k-a-il in https://github.com/localstack/localstack/pull/12121
* Match an empty prefix by groves in https://github.com/localstack/localstack/pull/12147
* Feature: filtering for ListFirewallRules in Route53Resolver by ecukalla in https://github.com/localstack/localstack/pull/11742
* Fix events cron regex for schedule-expression param validation by anisaoshafi in https://github.com/localstack/localstack/pull/12156
* Add validation for tags in kms service by k-a-il in https://github.com/localstack/localstack/pull/12142
* Fix legacy test that broke pipeline after eventbridge cron update by anisaoshafi in https://github.com/localstack/localstack/pull/12160
* S3: fix SSE-C parity error message by bentsku in https://github.com/localstack/localstack/pull/12162
* EventBridge: fix empty conditions in event rule engine by bentsku in https://github.com/localstack/localstack/pull/12154
* fix pre-signed URL with JS SDK, enable test_presigned_url_v4_x_amz_in_qs by bentsku in https://github.com/localstack/localstack/pull/12164
* fix cfn template join with noValue by pinzon in https://github.com/localstack/localstack/pull/12163
* APIGW: fix OpenAPI import StatusCode string casting by bentsku in https://github.com/localstack/localstack/pull/12137
* S3: fix trailing slash logic by bentsku in https://github.com/localstack/localstack/pull/12166
* Skip flaky StepFunction timeout test by joe4dev in https://github.com/localstack/localstack/pull/12173
* S3: fix exception from ObjectLock retention by bentsku in https://github.com/localstack/localstack/pull/12165
* update kinesis-mock from 0.4.7 to 0.4.8 by alexrashed in https://github.com/localstack/localstack/pull/12178
* S3: fix ContentEncoding with aws-chunked by bentsku in https://github.com/localstack/localstack/pull/12167
* Update cbor 2 requirement to 5.5 by hammer498 in https://github.com/localstack/localstack/pull/11704
* SNS: fix Subscribe non existent topic exception by bentsku in https://github.com/localstack/localstack/pull/12175
* Fix missing symbol in HTML generation of metrics coverage report by vignesh1507 in https://github.com/localstack/localstack/pull/11668
* Fix: validate schedule_expression for EventBridge Scheduler by anisaoshafi in https://github.com/localstack/localstack/pull/12191
* CFN/EC2: fix KeyError for EC2:Instance PublicIpAddress by bentsku in https://github.com/localstack/localstack/pull/12176
* Add docker stats functionality to docker clients by silv-io in https://github.com/localstack/localstack/pull/12170
* Fix wrong dash symbol in README by odlot in https://github.com/localstack/localstack/pull/12058
* SNS : fix Message Signature typo and add Lambda URL fixture by bentsku in https://github.com/localstack/localstack/pull/12181
* adjust --follow arg positioning to be compatible with docker and podman by cfeller in https://github.com/localstack/localstack/pull/12200
* fix: Explicitly stop ESM workers on LocalStack shutdown by gregfurman in https://github.com/localstack/localstack/pull/12203

New Contributors
* xocasdashdash made their first contribution in https://github.com/localstack/localstack/pull/11623
* kakakakakku made their first contribution in https://github.com/localstack/localstack/pull/11976
* erikmichel-dev made their first contribution in https://github.com/localstack/localstack/pull/11971
* tiurin made their first contribution in https://github.com/localstack/localstack/pull/11828
* IreneLime made their first contribution in https://github.com/localstack/localstack/pull/11938
* rominf made their first contribution in https://github.com/localstack/localstack/pull/11897
* kshitijkohli made their first contribution in https://github.com/localstack/localstack/pull/11717
* martinfrancois made their first contribution in https://github.com/localstack/localstack/pull/12053
* zuyu made their first contribution in https://github.com/localstack/localstack/pull/12055
* asomov made their first contribution in https://github.com/localstack/localstack/pull/12086
* displaylink-kstrzemp made their first contribution in https://github.com/localstack/localstack/pull/12067
* alvertogit made their first contribution in https://github.com/localstack/localstack/pull/12071
* k-a-il made their first contribution in https://github.com/localstack/localstack/pull/12121
* groves made their first contribution in https://github.com/localstack/localstack/pull/12147
* ecukalla made their first contribution in https://github.com/localstack/localstack/pull/11742
* hammer498 made their first contribution in https://github.com/localstack/localstack/pull/11704
* odlot made their first contribution in https://github.com/localstack/localstack/pull/12058
* cfeller made their first contribution in https://github.com/localstack/localstack/pull/12200

**Full Changelog**: https://github.com/localstack/localstack/compare/v4.0.3...v4.1.0

4.0.3

Not secure
<!-- Release notes generated using configuration in .github/release.yml at v4.0.3 -->

What's Changed
* Update CODEOWNERS by localstack-bot in https://github.com/localstack/localstack/pull/11919
* Lambda: Fix behaviour for alias update and delete operations by anisaoshafi in https://github.com/localstack/localstack/pull/11878
* fix(providers): Removed cloudcontrol provider by Pive01 in https://github.com/localstack/localstack/pull/11920
* Events create connection test fix by zaingz in https://github.com/localstack/localstack/pull/11904
* Add nodejs22.x AWS Lambda runtime by dfangl in https://github.com/localstack/localstack/pull/11929
* Remove custom spec for AWS StepFunctions by dominikschubert in https://github.com/localstack/localstack/pull/11925
* Apply IAM patches when loading STS to avoid wrong access key formats by dfangl in https://github.com/localstack/localstack/pull/11931
* ci/prevent init file to break packaging by cloutierMat in https://github.com/localstack/localstack/pull/11914
* add variable to configure SNS sender by bentsku in https://github.com/localstack/localstack/pull/11930
* Apigw fix openapi identity sources by cloutierMat in https://github.com/localstack/localstack/pull/11939
* [SFN] Activity Name and Arn Validation Logic by MEPalma in https://github.com/localstack/localstack/pull/11924
* fixed java lib path for macos by macnev2013 in https://github.com/localstack/localstack/pull/11892
* implement S3 conditional write `IfMatch` by bentsku in https://github.com/localstack/localstack/pull/11941
* fix flaky SES test by bentsku in https://github.com/localstack/localstack/pull/11944
* Extend patch decorator to add methods to class types by giograno in https://github.com/localstack/localstack/pull/11932
* Add analytics for event rule engine by joe4dev in https://github.com/localstack/localstack/pull/11928
* Re-introduce error analytics for EventBridge rule error by joe4dev in https://github.com/localstack/localstack/pull/11935
* Add lambda ESM analytics by joe4dev in https://github.com/localstack/localstack/pull/11883
* analytics for non-prefixed env var forwarding in CLI by alexrashed in https://github.com/localstack/localstack/pull/11946
* StepFunctions: Support Comments in Comparison Composite Statement Lists by MEPalma in https://github.com/localstack/localstack/pull/11956
* fix ESM analytics by bentsku in https://github.com/localstack/localstack/pull/11961
* Cloudformation implement ssm param read by cloutierMat in https://github.com/localstack/localstack/pull/11962
* Handle null value in SES OpenAPI spec by giograno in https://github.com/localstack/localstack/pull/11954
* StepFunctions: Fix ErrorName Value for Lambda Task Errors by MEPalma in https://github.com/localstack/localstack/pull/11957
* Added test and fix for wrong time format and serialization in events v2 by zaingz in https://github.com/localstack/localstack/pull/11959
* StepFunctions: Support for ContextObject Paths Bindings for ErrorPath and CausePath by MEPalma in https://github.com/localstack/localstack/pull/11958
* [SFN] Add usage analytics for Variable Workflow and JSONata features by gregfurman in https://github.com/localstack/localstack/pull/11963
* [ESM] Fix polling of SQS queue when batch size exceeds 10 by gregfurman in https://github.com/localstack/localstack/pull/11945
* implement new native EventBridge EventRuleEngine by bentsku in https://github.com/localstack/localstack/pull/11960
* Add deprecation for Java-based event ruler by joe4dev in https://github.com/localstack/localstack/pull/11964
* fix: follow-up for null value in SES response by giograno in https://github.com/localstack/localstack/pull/11966
* APIGW: fix parsing invalid JSON template in MOCK integration by cloutierMat in https://github.com/localstack/localstack/pull/11967

New Contributors
* anisaoshafi made their first contribution in https://github.com/localstack/localstack/pull/11878

**Full Changelog**: https://github.com/localstack/localstack/compare/v4.0.2...v4.0.3

4.0.2

Not secure
<!-- Release notes generated using configuration in .github/release.yml at v4.0.2 -->

What's Changed
* Fix localstack namespace package by dominikschubert in https://github.com/localstack/localstack/pull/11912
* Fix linting issue after namespace package fix by dominikschubert in https://github.com/localstack/localstack/pull/11913


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

4.0.1

Not secure
<!-- Release notes generated using configuration in .github/release.yml at v4.0.1 -->

What's Changed
* Add Step Functions support for Variables and JSONata features by MEPalma and gregfurman in https://github.com/localstack/localstack/pull/11906
* Enable EventBridge API destinations and connections by dfangl in https://github.com/localstack/localstack/pull/11896
* Re-introduce EventBridge invoke analytics by joe4dev in https://github.com/localstack/localstack/pull/11893
* add error replacement for DynamoDBStreams v2 by bentsku in https://github.com/localstack/localstack/pull/11887
* Refactor EventBridge ArchiveServices to allow restoration without side effects by dfangl in https://github.com/localstack/localstack/pull/11891
* Fix put_targets validation regressions by joe4dev in https://github.com/localstack/localstack/pull/11903
* Fix formatting for new sfn features by dominikschubert in https://github.com/localstack/localstack/pull/11907
* Disable selected StepFunctions unit tests due to broken imports by dominikschubert in https://github.com/localstack/localstack/pull/11908
* Fix provider signature for StepFunctions TestState operation by dominikschubert in https://github.com/localstack/localstack/pull/11909
* Fix JVM startup for StepFunctions by MEPalma in https://github.com/localstack/localstack/pull/11910


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

4.0.0

Not secure
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](https://docs.localstack.cloud/user-guide/aws/bedrock/) that locally emulates foundation models (FMs) with features like [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html), [Converse API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) & [Batch processing](https://docs.aws.amazon.com/bedrock/latest/userguide/batch-inference.html). (🌟 enterprise)
- LocalStack has switched the default implementation for the [EventBridge](https://docs.localstack.cloud/user-guide/aws/events/) 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](https://docs.localstack.cloud/user-guide/aws/apigateway/) 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](https://aws.amazon.com/blogs/compute/python-3-13-runtime-now-available-in-aws-lambda/) is now supported in LocalStack.

LocalStack Features

- LocalStack now features [Event Studio](https://docs.localstack.cloud/user-guide/tools/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](https://docs.localstack.cloud/user-guide/tools/localstack-sdk/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](https://docs.localstack.cloud/user-guide/lambda-tools/debugging/#lambda-debug-mode-preview) 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](https://app.localstack.cloud/inst/default/policy-stream) 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](https://app.localstack.cloud/inst/default/) 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](https://app.localstack.cloud/inst/default/resources/events/pipes), 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](https://docs.localstack.cloud/user-guide/state-management/cloud-pods/#state-merging) when loading Cloud Pod states.
- Choose [specific services to save](https://docs.localstack.cloud/user-guide/state-management/cloud-pods/#export--import-cloud-pods) when creating a Cloud Pod.
- Support for a [new Ephemeral Instances CLI experience](https://docs.localstack.cloud/user-guide/cloud-sandbox/ephemeral-instance/#ephemeral-instances-cli) 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](https://docs.localstack.cloud/user-guide/state-management/cloud-pods/) at the shutdown of an [Ephemeral Instance](https://docs.localstack.cloud/user-guide/cloud-sandbox/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](https://docs.localstack.cloud/user-guide/localstack-enterprise/single-sign-on/?__hstc=181257784.1b0556d5a8929e33692c656cf7023b8e.1729592971125.1732170252381.1732191161509.21&__hssc=181257784.134.1732191161509&__hsfp=3454576367). (🌟 enterprise)
- Several new features have been introduced in the LocalStack Resource Browsers:
- Edit and view policies directly within the [IAM Resource Browser](https://app.localstack.cloud/inst/default/resources/iam?__hstc=181257784.1b0556d5a8929e33692c656cf7023b8e.1729592971125.1732170252381.1732191161509.21&__hssc=181257784.134.1732191161509&__hsfp=3454576367).
- View the value of your API keys in the [API Gateway Resource Browser](https://app.localstack.cloud/inst/default/resources/apigateway?__hstc=181257784.1b0556d5a8929e33692c656cf7023b8e.1729592971125.1732170252381.1732191161509.21&__hssc=181257784.134.1732191161509&__hsfp=3454576367).
- Enable continuous updates and testing without redeployment through Lambda Hot Reloading in the [Lambda Resource Browser](https://app.localstack.cloud/inst/default/resources/lambda/functions?__hstc=181257784.1b0556d5a8929e33692c656cf7023b8e.1729592971125.1732170252381.1732191161509.21&__hssc=181257784.134.1732191161509&__hsfp=3454576367).
- [Kubernetes support](https://docs.localstack.cloud/user-guide/localstack-enterprise/kubernetes-executor/) 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](https://docs.localstack.cloud/user-guide/aws/cloudformation/) Custom Resources now support `UPDATE` and `DELETE` operations
- KMS now supports [deriving shared secrets](https://docs.aws.amazon.com/cli/latest/reference/kms/derive-shared-secret.html) 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](https://aws.amazon.com/about-aws/whats-new/2024/09/aws-lambda-tagging-event-source-mappings-code-signing-config-resources/).
- LocalStack’s DynamoDB emulation has been upgraded to use the new [DynamoDB Local 2.0](https://aws.amazon.com/about-aws/whats-new/2023/07/dynamodb-local-version-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](https://docs.localstack.cloud/user-guide/chaos-engineering/chaos-api/) to migrate to the Chaos API.
- Support for the following deprecated Airflow versions for [MWAA](https://docs.localstack.cloud/user-guide/aws/mwaa/) have been removed from LocalStack:
- v1.10.12
- v2.0.2
- v2.2.2
- Support for [RDS PostgreSQL 10](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Concepts.General.DBVersions.html#PostgreSQL.Concepts.General.DBVersions.Deprecation10) has been removed from LocalStack.
- Support for Ubuntu 20.04 AMI (`ami-ff0fea8310f3`) for [EC2](https://docs.localstack.cloud/user-guide/aws/ec2/) has been removed from LocalStack.
- Support for Python 3.8 in the Python distribution of the [LocalStack CLI](https://docs.localstack.cloud/getting-started/installation/) 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 detailed access control. Existing API and CI keys **will function until early 2025**, after which only Auth Tokens will be supported.
- Lambda Kubernetes Executor has been migrated into LocalStack Enterprise.
- Non-prefixed environment variables are now deprecated and users are encouraged to use a variable prefix (`LOCALSTACK_`) to better manage environment variables across different LocalStack versions.
- LocalStack CLI will now exclusively use Auth Tokens for user identification and authentication. The `localstack auth login` command will be removed.
- AWS credentials are no longer automatically set during Init Hooks execution. Scripts must now explicitly define these credentials due to LocalStack's shift to multi-account support to manage them based on request context.
- In addition to the LocalStack runtime, the LocalStack CLI also adheres to semantic versioning. While running `localstack --version`, the output would point to LocalStack CLI before the version number.

What's Changed
* make next-gen APIGW provider default by bentsku in 11035
* Remove legacy Lambda ESM v1 feature by joe4dev in 11733
* remove s3 legacy provider by bentsku in 11746
* remove APIGW NextGen CI job by bentsku in 11754
* Remove virtualenv dependency from docker build by dfangl in 11794
* Add CLI version command prefix by gtsiolis in 11474
* Remove legacy StepFunctions v1 provider in by joe4dev in 11734
* Init hooks: Remove default AWS credentials in by viren-nadkarni in 11705
* remove S3 persistence workaround by bentsku 11809
* drop support for Python 3.8 in the LocalStack CLI by alexrashed in https://github.com/localstack/localstack/pull/11875
* Add JRE dependency to Java components by viren-nadkarni in https://github.com/localstack/localstack/pull/11462
* kms: implement DeriveSharedSecret operation by sannya-singal in https://github.com/localstack/localstack/pull/11672
* [Lambda DevX] Bypass Concurrency Settings by MEPalma in https://github.com/localstack/localstack/pull/11418
* APIGW: move current provider in legacy module by bentsku in https://github.com/localstack/localstack/pull/11651
* Feature: Decompose submit notification for s3 to be able to patch it in extension by maxhoheiser in https://github.com/localstack/localstack/pull/11692
* [SFN] Improve responsiveness on shutdown by MEPalma in https://github.com/localstack/localstack/pull/11596
* [SFN] Base Support for ValidateStateMachineDefinition by MEPalma in https://github.com/localstack/localstack/pull/11660
* Replicator user defined id generator by cloutierMat in https://github.com/localstack/localstack/pull/11626
* implement new DDB streams provider using DynamoDB-Local by bentsku in https://github.com/localstack/localstack/pull/11688
* improve tests selection by cloutierMat in https://github.com/localstack/localstack/pull/11721
* OpenSearch: HTTP proxy support for plugin installation by viren-nadkarni in https://github.com/localstack/localstack/pull/11723
* add: TaggingService functionality to Lambda Provider by gregfurman in https://github.com/localstack/localstack/pull/11745
* Feature/SNS: Decompose publish to topic by maxhoheiser in https://github.com/localstack/localstack/pull/11761
* Fix bug: Support list header value on Step Functions ApiGateway:Invoke integration by ShahadIshraq in https://github.com/localstack/localstack/pull/11681
* X-Ray trace header parsing and Lambda tracing propagation by joe4dev in https://github.com/localstack/localstack/pull/11708
* add IPv6 support to the runtime gateway by labaneilers in https://github.com/localstack/localstack/pull/11601
* add AWS json protocol support for SQS developer endpoints by thrau in https://github.com/localstack/localstack/pull/11726
* DynamoDB: Upgrade DDBLocal to v2 by viren-nadkarni in https://github.com/localstack/localstack/pull/11064
* Remove legacy Lambda config for enabling the LocalStack SQS dependency by joe4dev in https://github.com/localstack/localstack/pull/11759
* Add context manager to id generator by cloutierMat in https://github.com/localstack/localstack/pull/11773
* add /_extension to well-known path prefixes to avoid s3 fallback handling by thrau in https://github.com/localstack/localstack/pull/11796
* Introduce CONTAINER_RUNTIME environment variable to control all container runtimes by dfangl in https://github.com/localstack/localstack/pull/11793
* migrate to LOCALSTACK_AUTH_TOKEN by alexrashed in https://github.com/localstack/localstack/pull/11767
* ESM v2: Fix case where lambda is deleted prior to ESM resource by gregfurman in https://github.com/localstack/localstack/pull/11686
* Feature/DynamoDBStreams: decompose process records by maxhoheiser in https://github.com/localstack/localstack/pull/11821
* [Lambda DevX] Support for Config Hot Reloading by MEPalma in https://github.com/localstack/localstack/pull/11477
* feat(CloudControl): Introduces list operations for bunch of services so cloudcontrol can pick them up by Pive01 in https://github.com/localstack/localstack/pull/11830
* add ephemeral cli commands to advanced features by HarshCasper in https://github.com/localstack/localstack/pull/11867
* EventBridge Connections tests plus implementation by zaingz in https://github.com/localstack/localstack/pull/11836
* Add Python 3.13 Lambda runtime by joe4dev in https://github.com/localstack/localstack/pull/11865
* Make EventBridge v2 provider default by joe4dev in https://github.com/localstack/localstack/pull/11834
* Add client factory to bypass LocalStack DNS server by simonrw in https://github.com/localstack/localstack/pull/11581
* Remove downloaded package archives after extracting them by kjagiello in https://github.com/localstack/localstack/pull/11640
* upgrade kinesis-mock from 0.4.6 to 0.4.7 by alexrashed in https://github.com/localstack/localstack/pull/11646
* Move dns server import inside resolving function to avoid import in CLI by dfangl in https://github.com/localstack/localstack/pull/11658
* fix proxied requests forwarding to Moto by bentsku in https://github.com/localstack/localstack/pull/11653
* Remove duplicate --strip-extras flag in dependency pinning target by vignesh1507 in https://github.com/localstack/localstack/pull/11666
* ESM v2: Allow target Lambda response payloads to not only be JSON by gregfurman in https://github.com/localstack/localstack/pull/11661
* Skip test_cfn_lambda_sqs_source by viren-nadkarni in https://github.com/localstack/localstack/pull/11673
* Add LD_LIBRARY_PATH to JavaInstallerMixin by viren-nadkarni in https://github.com/localstack/localstack/pull/11667
* Fix memory leak caused by S3 DownloadFileObj by viren-nadkarni in https://github.com/localstack/localstack/pull/11674
* add DMS ServicePrincipal by bentsku in https://github.com/localstack/localstack/pull/11679
* Force delete secrets when deleting a cloudformation stack by dfangl in https://github.com/localstack/localstack/pull/11676
* revert StrEnum for Python compatibility by bentsku in https://github.com/localstack/localstack/pull/11684
* Bump moto-ext to 5.0.17.post1 by viren-nadkarni in https://github.com/localstack/localstack/pull/11659
* ESM v2: Test Lambda runtime where provided bootstrap returns nothing by gregfurman in https://github.com/localstack/localstack/pull/11685
* add support for region ref in mappings inside condition CFn by pinzon in https://github.com/localstack/localstack/pull/11671
* APIGW: improve parity for GetApiKeys and GetUsagePlanKeys by bentsku in https://github.com/localstack/localstack/pull/11670
* logs: fix `put_metric_data` client for multi-account/region by sannya-singal in https://github.com/localstack/localstack/pull/11691
* remove key-existence checks against dict.keys() calls by bentsku in https://github.com/localstack/localstack/pull/11694
* Test force deletion of secrets already marked for deletion by dfangl in https://github.com/localstack/localstack/pull/11680
* cfn: fix failing `test_mapping_ref_map_key` for multi-account/region by sannya-singal in https://github.com/localstack/localstack/pull/11699
* ESM v2: Add EventSourceMappingArn field by gregfurman in https://github.com/localstack/localstack/pull/11675
* Allow adaptation of the localstack run command in the supervisor by dfangl in https://github.com/localstack/localstack/pull/11707
* Validate SQS dev endpoints by giograno in https://github.com/localstack/localstack/pull/11620
* Add special handling of bedrock-runtime service in service router by silv-io in https://github.com/localstack/localstack/pull/11706
* Add note recommending pyenv in dev environment docs by silv-io in https://github.com/localstack/localstack/pull/11713
* fix source distro installation by limiting setuptools version by alexrashed in https://github.com/localstack/localstack/pull/11715
* Add workflow to dispatch the update of the OpenAPI spec by giograno in https://github.com/localstack/localstack/pull/11709
* APIGW NG: fix storing store attribute instead of full store by bentsku in https://github.com/localstack/localstack/pull/11702
* refactor ref keys in conditional mappings and test by pinzon in https://github.com/localstack/localstack/pull/11693
* fixed s3 deletion from stack in cdk by macnev2013 in https://github.com/localstack/localstack/pull/11700
* fix lambda function extra resources upload in s3 by macnev2013 in https://github.com/localstack/localstack/pull/11655
* Bump moto-ext to 5.0.17.post2 by viren-nadkarni in https://github.com/localstack/localstack/pull/11710
* remove setuptools limit in build-system.requires by alexrashed in https://github.com/localstack/localstack/pull/11725
* Add hint about pre-commit hooks to dev tips by joe4dev in https://github.com/localstack/localstack/pull/11738
* Fix typo in dynamic ESM deprecation warning by joe4dev in https://github.com/localstack/localstack/pull/11735
* Fix Java installer on Mac hosts by viren-nadkarni in https://github.com/localstack/localstack/pull/11740
* Fix: Cfn: non-string parameter values by simonrw in https://github.com/localstack/localstack/pull/11714
* remove S3 legacy CI job by bentsku in https://github.com/localstack/localstack/pull/11743
* add DynamoDB v2 CI job by bentsku in https://github.com/localstack/localstack/pull/11744
* Bump moto-ext to 5.0.18.post1 by viren-nadkarni in https://github.com/localstack/localstack/pull/11753
* fix APIGW oneOf and add APIGW test for Model $ref resolving by bentsku in https://github.com/localstack/localstack/pull/11756
* Convert SQS test util into re-usable fixture sqs_collect_messages by joe4dev in https://github.com/localstack/localstack/pull/11757
* APIGW NG: add LocalStack-only CORS handling for REST API by bentsku in https://github.com/localstack/localstack/pull/11764
* fix S3 enabling versioning with a ObjectLockEnabledForBucket bucket by bentsku in https://github.com/localstack/localstack/pull/11768
* Add key value pairs to dict utility fn by RobertLucian in https://github.com/localstack/localstack/pull/11748
* Add tests to test urlencoded IAM policies by dfangl in https://github.com/localstack/localstack/pull/11580
* Validate SES developer endpoints against OAS by giograno in https://github.com/localstack/localstack/pull/11776
* Remove legacy ESM CI job by joe4dev in https://github.com/localstack/localstack/pull/11779
* Remove legacy StepFunctions CI job by joe4dev in https://github.com/localstack/localstack/pull/11778
* APIGW: fix importing API with Cognito Authorizer by bentsku in https://github.com/localstack/localstack/pull/11783
* APIGW: fix MOCK integration with no URI and path parameters by bentsku in https://github.com/localstack/localstack/pull/11784
* DynamoDB: Fix hangup when resetting state by viren-nadkarni in https://github.com/localstack/localstack/pull/11789
* Delete unused test Cfn templates by viren-nadkarni in https://github.com/localstack/localstack/pull/11771
* APIGW: fix requestOverride not being present in responseTemplates by bentsku in https://github.com/localstack/localstack/pull/11799
* implement S3 MD5 checksum check for UploadPart and improve logic by bentsku in https://github.com/localstack/localstack/pull/11795
* Fix: CFn: support tags with ESMs by simonrw in https://github.com/localstack/localstack/pull/11787
* Cfn/fix lambda update by cloutierMat in https://github.com/localstack/localstack/pull/11802
* fix node installation in Dockerfile by alexrashed in https://github.com/localstack/localstack/pull/11808
* Validate SNS developer endpoints by giograno in https://github.com/localstack/localstack/pull/11621
* Remove cloudtrail tracking module by simonrw in https://github.com/localstack/localstack/pull/11812
* Update broken links in localstack-concepts/Readme.md by dance-cmdr in https://github.com/localstack/localstack/pull/11820
* Idempotent start of the DynamoDB server by giograno in https://github.com/localstack/localstack/pull/11815
* Fix Java shared library path for darwin by viren-nadkarni in https://github.com/localstack/localstack/pull/11792
* Update Node.js release signer keys by viren-nadkarni in https://github.com/localstack/localstack/pull/11837
* Update CODEOWNERS by localstack-bot in https://github.com/localstack/localstack/pull/11823
* Parity test for Eventbridge logs target by zaingz in https://github.com/localstack/localstack/pull/11797
* Fix testing links and update aws client fixtures in contributing docs by dfangl in https://github.com/localstack/localstack/pull/11839
* Replicator: support generating specific VPC ids by simonrw in https://github.com/localstack/localstack/pull/11772
* DynamoDB: fix mkdir call with None when DYNAMODB_IN_MEMORY=1 by bentsku in https://github.com/localstack/localstack/pull/11846
* EC2: implement determinstic subnet ID generation by simonrw in https://github.com/localstack/localstack/pull/11853
* fix APIGW AWS_PROXY lambda response validation by bentsku in https://github.com/localstack/localstack/pull/11856
* fix SNS empty MessageAttributes validation by bentsku in https://github.com/localstack/localstack/pull/11857
* Add Bedrock configuration values to analytics by silv-io in https://github.com/localstack/localstack/pull/11847
* fix usage analytics to properly register and not count if disabled by bentsku in https://github.com/localstack/localstack/pull/11848
* [SFN] Fix access to selected items in Distributed Map state by gregfurman in https://github.com/localstack/localstack/pull/11861
* re-add usage analytics collector_registry registration by bentsku in https://github.com/localstack/localstack/pull/11863
* Track replicator usage in analytics by simonrw in https://github.com/localstack/localstack/pull/11868
* Bump moto-ext to 5.0.20.post1 by viren-nadkarni in https://github.com/localstack/localstack/pull/11831
* Added EVENT_RULE_ENGINE flag based opt-in by zaingz in https://github.com/localstack/localstack/pull/11816
* add analytics to APIGW NextGen REST API handler chain by bentsku in https://github.com/localstack/localstack/pull/11860
* Update analytics tracked env vars by viren-nadkarni in https://github.com/localstack/localstack/pull/11874
* Use jpype-ext and set jpype interrupt=False by dfangl in https://github.com/localstack/localstack/pull/11877
* Fix validated events test for v2 provider by dominikschubert in https://github.com/localstack/localstack/pull/11852
* Prevent usage of java rule engine in tests by dominikschubert in https://github.com/localstack/localstack/pull/11879
* deprecate env vars without prefix in CLI by alexrashed in https://github.com/localstack/localstack/pull/11810
* Fix comment typo by kapsiR in https://github.com/localstack/localstack/pull/11882
* ExpectedBucketOwner for S3 bucket policy operations by nikosmichas in https://github.com/localstack/localstack/pull/11827
* Switch Lambda debug path analytics to presense by joe4dev in https://github.com/localstack/localstack/pull/11859
* Add EventBridge rule target analytics by joe4dev in https://github.com/localstack/localstack/pull/11884
* fix usage aggregation to not send empty payloads by thrau in https://github.com/localstack/localstack/pull/11885
* Split analytics UsageCounter and TimingStats by bentsku in https://github.com/localstack/localstack/pull/11854
* add analytics for SNS internal routes by bentsku in https://github.com/localstack/localstack/pull/11862
* fix vtl resolver patch by cloutierMat in https://github.com/localstack/localstack/pull/11886
* Put events fix for multiple targets by zaingz in https://github.com/localstack/localstack/pull/11880
* fix java home for macos by macnev2013 in https://github.com/localstack/localstack/pull/11888
* Add restructurings to fix events persistence in v2 by dfangl in https://github.com/localstack/localstack/pull/11889

New Contributors
* kjagiello made their first contribution in https://github.com/localstack/localstack/pull/11640
* ShahadIshraq made their first contribution in https://github.com/localstack/localstack/pull/11681
* labaneilers made their first contribution in https://github.com/localstack/localstack/pull/11601
* dance-cmdr made their first contribution in https://github.com/localstack/localstack/pull/11820
* Pive01 made their first contribution in https://github.com/localstack/localstack/pull/11830
* kapsiR made their first contribution in https://github.com/localstack/localstack/pull/11882
* nikosmichas made their first contribution in https://github.com/localstack/localstack/pull/11827

**Full Changelog**: https://github.com/localstack/localstack/compare/v3.8.1...v4.0.0

Page 1 of 18

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.