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Β `stripe`,Β `mailhog`, 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](https://app.localstack.cloud/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](https://app.localstack.cloud/extensions/remote) 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](https://docs.localstack.cloud/user-guide/tools/cloud-pods/remotes/). 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 π
* Remove usage of GenericBaseModel outside of LegacyResourceProvider by dominikschubert in https://github.com/localstack/localstack/pull/8711
* S3 AWS-chunked stream decoder by bentsku in https://github.com/localstack/localstack/pull/8721
* move legacy S3 provider into legacy directory by bentsku in https://github.com/localstack/localstack/pull/8713
* [SFN] Overhaul and enhancement of Map states, enhancements Parallel states, tests by MEPalma in https://github.com/localstack/localstack/pull/8720
* [SFN] Support for ItemSelector in Map states by MEPalma in https://github.com/localstack/localstack/pull/8723
* [SFN] Support for Map legacy Iterator declarations by MEPalma in https://github.com/localstack/localstack/pull/8742
* 8701 enhancement request custom lambda authorizer apikeysource is not validated by calvernaz in https://github.com/localstack/localstack/pull/8725
* Introducing EventBridge Scheduler by viren-nadkarni in https://github.com/localstack/localstack/pull/8754
* use ContainerConfiguration object for LocalstackContainer by thrau in https://github.com/localstack/localstack/pull/8771
* [SFN] base support for DynamoDb by MEPalma in https://github.com/localstack/localstack/pull/8323
* improve docker integration with localstack start command by thrau in https://github.com/localstack/localstack/pull/8772
* Allow asterisk only wild card by fatal10110 in https://github.com/localstack/localstack/pull/8572
* Fix outdated lambda runtime images in tooling by joe4dev in https://github.com/localstack/localstack/pull/8780
* [SFN] Publish SFN events to EventBridge by MEPalma in https://github.com/localstack/localstack/pull/8778
* upgrade kinesis-mock to scalajs release, add node installer by alexrashed in https://github.com/localstack/localstack/pull/8790
* configure MAIN_DOCKER_NETWORK automatically if --network flag is used by thrau in https://github.com/localstack/localstack/pull/8818
* add pytest-tinybird to all CI runs on master by alexrashed in https://github.com/localstack/localstack/pull/8807
* [SFN] Fix execution input, fix handling lambda payload i/o by MEPalma in https://github.com/localstack/localstack/pull/8821
* [SFN] Parse fail on incorrect derivations, fix mulitple retry, fix language definitions by MEPalma in https://github.com/localstack/localstack/pull/8826
* introduce new S3 native provider by bentsku in https://github.com/localstack/localstack/pull/8786
* implement S3 native multiparts operations by bentsku in https://github.com/localstack/localstack/pull/8787
* Standardize lambda package structure by joe4dev in https://github.com/localstack/localstack/pull/8861
* implement S3 native bucket versioning by bentsku in https://github.com/localstack/localstack/pull/8799
* add S3 native bucket encryption and AWS KMS managed key by bentsku in https://github.com/localstack/localstack/pull/8800
* implement S3 native notifications by bentsku in https://github.com/localstack/localstack/pull/8802
* add WebSocket support for ASGI/WSGI bridge and Gateway by thrau in https://github.com/localstack/localstack/pull/8835
* [SFN] Enhanced support for empty fail states by MEPalma in https://github.com/localstack/localstack/pull/8829
* implement S3 native tagging by bentsku in https://github.com/localstack/localstack/pull/8811
* DDBStreams: Multi-accounts compatibility by viren-nadkarni in https://github.com/localstack/localstack/pull/8879
* implement S3 native CORS by bentsku in https://github.com/localstack/localstack/pull/8814
* implement S3 native Lifecycle + mocked Bucket APIs by bentsku in https://github.com/localstack/localstack/pull/8863
* implement S3 native Website by bentsku in https://github.com/localstack/localstack/pull/8864
* implement S3 native object lock by bentsku in https://github.com/localstack/localstack/pull/8884
* implement S3 native RequestPayment, GetObject Part, Preconditions by bentsku in https://github.com/localstack/localstack/pull/8885
* DynamoDB: Global table support for Scan and Query by viren-nadkarni in https://github.com/localstack/localstack/pull/8905
* Apply response template to sqs int by calvernaz in https://github.com/localstack/localstack/pull/8899
* implement S3 native PublicAccessBlock and ObjectOwnership by bentsku in https://github.com/localstack/localstack/pull/8886
* implement S3 native Bucket Policy and AccelerateConfig by bentsku in https://github.com/localstack/localstack/pull/8889
* implement S3 native BucketLogging and BucketReplication by bentsku in https://github.com/localstack/localstack/pull/8901
* [SFN] Support for UpdateStateMachine by MEPalma in https://github.com/localstack/localstack/pull/8852
* [SFN] Support for sync:2 by MEPalma in https://github.com/localstack/localstack/pull/8900
* [SFN] Support for State Machine versioning by MEPalma in https://github.com/localstack/localstack/pull/8894
* fix close call propagation of response in asgi/wsgi bridge by thrau in https://github.com/localstack/localstack/pull/8926
* implement S3 native ACL by bentsku in https://github.com/localstack/localstack/pull/8902
* [SFN] Skip local iam role assume check by MEPalma in https://github.com/localstack/localstack/pull/8944
* implement S3 native pre-signed POST (PostObject) by bentsku in https://github.com/localstack/localstack/pull/8907
* implement S3 v3 pre-signed handler by bentsku in https://github.com/localstack/localstack/pull/8918
* Cfn: Multi-accounts compatibility by viren-nadkarni in https://github.com/localstack/localstack/pull/8822
* [SFN] Support for ApiGateway by MEPalma in https://github.com/localstack/localstack/pull/8943
* [SFN] Support for DescribeStateMachineForExecution by MEPalma in https://github.com/localstack/localstack/pull/8954
* [SFN] Support for Resource Tagging by MEPalma in https://github.com/localstack/localstack/pull/8990
* add PythonPackageInstaller for runtime package installation by alexrashed in https://github.com/localstack/localstack/pull/8685
* CloudWatch: Multi-accounts compatibility by viren-nadkarni in https://github.com/localstack/localstack/pull/8968
* fix global analytics bus to correctly disable tracking by thrau in https://github.com/localstack/localstack/pull/9001
* [SFN] ApiGW url implicit endpoint conversion by MEPalma in https://github.com/localstack/localstack/pull/8988
* improve S3 v3 storage layer by bentsku in https://github.com/localstack/localstack/pull/8927
* fix proxy Accept-Header handling, combine http clients by alexrashed in https://github.com/localstack/localstack/pull/9026
* remove extensions venv link from Dockerfile by thrau in https://github.com/localstack/localstack/pull/9034
* [SFN] Support for global Timeouts, Misc of Enhancements by MEPalma in https://github.com/localstack/localstack/pull/9009
* Don't run in privileged mode by simonrw in https://github.com/localstack/localstack/pull/9033
* Add bootstrap fixture for bootstrap tests by simonrw in https://github.com/localstack/localstack/pull/8781
* move container fixture into testing package for reusability by thrau in https://github.com/localstack/localstack/pull/9046
* add utility to find contiguous port range by thrau in https://github.com/localstack/localstack/pull/9051
* add container configurators for bootstrapping localstack by thrau in https://github.com/localstack/localstack/pull/9050
* [SFN] Add support for SNS by MEPalma in https://github.com/localstack/localstack/pull/9052
* [SFN] Fixes and cleanups of choiceRule parsing by MEPalma in https://github.com/localstack/localstack/pull/9062
* [SFN] Access to Context Object fields by MEPalma in https://github.com/localstack/localstack/pull/9075
* Implement APIGW UpdateGatewayResponse by bentsku in https://github.com/localstack/localstack/pull/9063
* Migrate DNS server to community by simonrw in https://github.com/localstack/localstack/pull/9049
* Add support for selection pattern for error responses by calvernaz in https://github.com/localstack/localstack/pull/9060
* add support for xml to json responses by calvernaz in https://github.com/localstack/localstack/pull/9102
* add container port and volume flags to localstack start by thrau in https://github.com/localstack/localstack/pull/9109
* Lambda invocation loop rework by joe4dev in https://github.com/localstack/localstack/pull/8970
* add service_name attribute to AssetDirectory by thrau in https://github.com/localstack/localstack/pull/9125
* [SFN] Minor tests for Results with jsonpath declaration by MEPalma in https://github.com/localstack/localstack/pull/9124
* [SFN] Support for EventBridge by MEPalma in https://github.com/localstack/localstack/pull/9123
* implement S3 cross account across all operations by bentsku in https://github.com/localstack/localstack/pull/9121
* implement Content-MD5 check for PutObject by bentsku in https://github.com/localstack/localstack/pull/9064
* EventBridge: Multi-accounts compatibility by viren-nadkarni in https://github.com/localstack/localstack/pull/9023
* fix apigw import root and extend OpenAPIExporter by bentsku in https://github.com/localstack/localstack/pull/9159
* simplify log printing in localstack start command by thrau in https://github.com/localstack/localstack/pull/9166
* fix gateway shutdown procedure by thrau in https://github.com/localstack/localstack/pull/9129
* drop support for Python 3.7 by alexrashed in https://github.com/localstack/localstack/pull/9148
* Adopt lambda dns setting, fix dns in host mode by dfangl in https://github.com/localstack/localstack/pull/9107
* Support for response overrides by calvernaz in https://github.com/localstack/localstack/pull/9157
* Introducing Resource Access Manager (RAM) by viren-nadkarni in https://github.com/localstack/localstack/pull/9161
* disable health check for default service providers by thrau in https://github.com/localstack/localstack/pull/9202
* use run_interactive for localstack ssh to fix tty issues by thrau in https://github.com/localstack/localstack/pull/9211
* Add S3 deprecation warnings by joe4dev in https://github.com/localstack/localstack/pull/9204
* [SFN] Parameters filtering for lambda resource tasks by MEPalma in https://github.com/localstack/localstack/pull/9212
* introduce CLI command categories to improve help display by thrau in https://github.com/localstack/localstack/pull/9210
* route53 health check cfn implmentation by pinzon in https://github.com/localstack/localstack/pull/8960
* Add removal warning for legacy lambda provider by joe4dev in https://github.com/localstack/localstack/pull/9203
* add warning about future deprecation of stepfunctions v1 provider by dominikschubert in https://github.com/localstack/localstack/pull/9198
* Update to Python 3.11 by dfangl in https://github.com/localstack/localstack/pull/8087
Other Changes
* Use `docker compose` as fallback if docker-compose is not available by dfangl in https://github.com/localstack/localstack/pull/8734
* Update Readme for 2.2.0 release by dfangl in https://github.com/localstack/localstack/pull/8728
* fix(cfn): add missing FilterPolicyScope for sns subs by pandomic in https://github.com/localstack/localstack/pull/8733
* add get_client method to ServiceLevelClientFactory by thrau in https://github.com/localstack/localstack/pull/8737
* Remove Boto resource fixtures by viren-nadkarni in https://github.com/localstack/localstack/pull/8674
* fix cors for /_aws calls by lukqw in https://github.com/localstack/localstack/pull/8746
* Introduce Markers class for all our custom pytest marks by dominikschubert in https://github.com/localstack/localstack/pull/8729
* Fix partition rewriting when body is urlencoded by dfangl in https://github.com/localstack/localstack/pull/8751
* Remove old fallbacks & exceptions for signature migration by dominikschubert in https://github.com/localstack/localstack/pull/8551
* CFn: fix nested dependency issue with Subs by simonrw in https://github.com/localstack/localstack/pull/8753
* fix S3 case where aws-chunked chunk is bigger than read size by bentsku in https://github.com/localstack/localstack/pull/8760
* fix support for conditional refering to another conditional by pinzon in https://github.com/localstack/localstack/pull/8727
* Remove get_cfn_attribute from legacy models by dominikschubert in https://github.com/localstack/localstack/pull/8717
* Add support for python3.11 lambda runtime by dfangl in https://github.com/localstack/localstack/pull/8763
* Initial Scenario testing and provisioning prototype by dominikschubert in https://github.com/localstack/localstack/pull/8718
* DynamoDB: Use fixtures to create and clean up test tables by viren-nadkarni in https://github.com/localstack/localstack/pull/8747
* fix S3 lifecycle rule matching with ExpiredObjectDeleteMarker by bentsku in https://github.com/localstack/localstack/pull/8752
* Add x-api-key to allowed CORS headers to enable access from Web app by whummer in https://github.com/localstack/localstack/pull/8769
* fix ddbstreams list-streams table filtering by ackdav in https://github.com/localstack/localstack/pull/8770
* remove pymssql build-dependencies after fix release by alexrashed in https://github.com/localstack/localstack/pull/8789
* Events: Refactor tests to use fixture-based structure by viren-nadkarni in https://github.com/localstack/localstack/pull/8764
* APIGW: Refactor tests to use the aws_client fixtures by viren-nadkarni in https://github.com/localstack/localstack/pull/8765
* Refactor `unittest` integration tests to use `pytest` by viren-nadkarni in https://github.com/localstack/localstack/pull/8749
* fix twitter handle in readme by alexrashed in https://github.com/localstack/localstack/pull/8794
* Remove GenericBaseModel.get_cfn_attribute and improve stack failure reporting by dominikschubert in https://github.com/localstack/localstack/pull/8792
* fix missing lambda keepalive variable in to-pass list for CLI by dfangl in https://github.com/localstack/localstack/pull/8808
* implement read/write lock for s3 stream by bentsku in https://github.com/localstack/localstack/pull/8758
* Make client fixtures available to all tests by viren-nadkarni in https://github.com/localstack/localstack/pull/8795
* Deprecate external boto client helper by viren-nadkarni in https://github.com/localstack/localstack/pull/8748
* fix s3_empty_bucket fixture to delete DeleteMarkers by bentsku in https://github.com/localstack/localstack/pull/8815
* fix PutBucket logging with empty payload by bentsku in https://github.com/localstack/localstack/pull/8813
* fix credentials handling for capture-not-implemented by alexrashed in https://github.com/localstack/localstack/pull/8820
* Small fixes to support CLI use with Python 3.8 by whummer in https://github.com/localstack/localstack/pull/8817
* Make scaffolding of resource provider tests & templates optional by dominikschubert in https://github.com/localstack/localstack/pull/8796
* fix S3 streaming usage of readwrite lock by bentsku in https://github.com/localstack/localstack/pull/8819
* Bundle lambda init into docker image by dominikschubert in https://github.com/localstack/localstack/pull/8823
* Move aws client fixtures to conftest.py by dominikschubert in https://github.com/localstack/localstack/pull/8839
* Update PULL_REQUEST_TEMPLATE.md by thrau in https://github.com/localstack/localstack/pull/8831
* regenerate S3 snapshots by bentsku in https://github.com/localstack/localstack/pull/8830
* Split integration tests into aws & integration by dominikschubert in https://github.com/localstack/localstack/pull/8828
* fix VirtualHost proxy removing ContentLength for GetObject by bentsku in https://github.com/localstack/localstack/pull/8845
* New pytest parity markers & marker registration by dominikschubert in https://github.com/localstack/localstack/pull/8767
* Enhance parity around API Gateway stage patch operations by whummer in https://github.com/localstack/localstack/pull/8836
* migrate to new markers.aws.* markers by dominikschubert in https://github.com/localstack/localstack/pull/8850
* Add markers.aws.unknown to unmarked tests by dominikschubert in https://github.com/localstack/localstack/pull/8854
* fix issue with sending event from lambda to eventbus by steffyP in https://github.com/localstack/localstack/pull/8844
* fix evaluation of not-implemented for stepfunction by steffyP in https://github.com/localstack/localstack/pull/8856
* add S3 CORS test with referer header and regenerate CORS snaphots by bentsku in https://github.com/localstack/localstack/pull/8776
* add validated marker to snapshotted tests by dominikschubert in https://github.com/localstack/localstack/pull/8859
* Bump moto-ext to 4.1.14.post1 by viren-nadkarni in https://github.com/localstack/localstack/pull/8853
* Remove usage of Boto resource by viren-nadkarni in https://github.com/localstack/localstack/pull/8858
* Use sane default for Docker stop timeout by viren-nadkarni in https://github.com/localstack/localstack/pull/8848
* Add schema file for "AWS::OpenSearchService::Domain" resource provider by dominikschubert in https://github.com/localstack/localstack/pull/8868
* Enforce exactly one AWS pytest marker on each test case by dominikschubert in https://github.com/localstack/localstack/pull/8866
* fix: S3 multipart upload part 10000 by akojo in https://github.com/localstack/localstack/pull/8871
* Further enhance parity of API Gateway patch operations by whummer in https://github.com/localstack/localstack/pull/8873
* Add ability to specify custom IDs for KMS keys by whummer in https://github.com/localstack/localstack/pull/8870
* Allow separate specification of exposed ports in docker client by dfangl in https://github.com/localstack/localstack/pull/8857
* add fix for NoneType attributes in cfn by sannya-singal in https://github.com/localstack/localstack/pull/8882
* Integrate GATEWAY_LISTEN by simonrw in https://github.com/localstack/localstack/pull/7991
* Set INITIALIZE_STREAMS for Kinesis Mock by etspaceman in https://github.com/localstack/localstack/pull/8896
* bump version of airspeed-ext to 0.6.0 by whummer in https://github.com/localstack/localstack/pull/8914
* Fix parsing of booleans in API Gateway Velocity templates by whummer in https://github.com/localstack/localstack/pull/8919
* Add max capabilities when creating nested stacks by dominikschubert in https://github.com/localstack/localstack/pull/8920
* Mark deprecated env config options by viren-nadkarni in https://github.com/localstack/localstack/pull/8913
* Update postgres dependency in pipeline by simonrw in https://github.com/localstack/localstack/pull/8936
* adjust package structure in tests to match services by baermat in https://github.com/localstack/localstack/pull/8867
* SNS: Use proper region from request context for SigningUrl by viren-nadkarni in https://github.com/localstack/localstack/pull/8912
* Add get_free_udp_port utility + test by dfangl in https://github.com/localstack/localstack/pull/8923
* Fix community test against Pro runs by dfangl in https://github.com/localstack/localstack/pull/8961
* fix get_raw_path parsing by bentsku in https://github.com/localstack/localstack/pull/8962
* Add back support for type hints in PyCharm for snapshot fixture by dominikschubert in https://github.com/localstack/localstack/pull/8955
* Ensure properly configured client for fixtures and testutils by viren-nadkarni in https://github.com/localstack/localstack/pull/8892
* Fix missing implementation of CloudFormation EC2 UserData by joe4dev in https://github.com/localstack/localstack/pull/8957
* provide result handle to AWS::ApiGateway::GatewayResponse by calvernaz in https://github.com/localstack/localstack/pull/8925
* add a note for insiders by HarshCasper in https://github.com/localstack/localstack/pull/8953
* Fix result handler signature for AWS::ApiGateway::GatewayResponse by dominikschubert in https://github.com/localstack/localstack/pull/8973
* Fix resolving pseudo-parameters in Fn::Sub by dominikschubert in https://github.com/localstack/localstack/pull/8974
* increase WaiterConfig for setting up scenarios on AWS by steffyP in https://github.com/localstack/localstack/pull/8958
* Move handling of special cases when mapping CFn type to service to community by dominikschubert in https://github.com/localstack/localstack/pull/8978
* Update dynamodb snapshots by steffyP in https://github.com/localstack/localstack/pull/8972
* attach data to gathered outdated snapshots by baermat in https://github.com/localstack/localstack/pull/8980
* add scenario tests for stepfunctions and lambda by steffyP in https://github.com/localstack/localstack/pull/8969
* Implement resource provider for AWS::SQS::Queue by dominikschubert in https://github.com/localstack/localstack/pull/8798
* Move lambda multiruntime test logic to testing module by dfangl in https://github.com/localstack/localstack/pull/8982
* Validate required fields in Fifo batch messages by rohithpr in https://github.com/localstack/localstack/pull/8809
* Rely on S3 create bucket idempotency in us-east-1 by viren-nadkarni in https://github.com/localstack/localstack/pull/8947
* bump version of airspeed to 0.6.1 by whummer in https://github.com/localstack/localstack/pull/8996
* Add tags support for CloudFormation DynamoDB create table by joe4dev in https://github.com/localstack/localstack/pull/8975
* refresh SES snapshots by bentsku in https://github.com/localstack/localstack/pull/8991
* Add resource provider for AWS::SQS::QueuePolicy by dominikschubert in https://github.com/localstack/localstack/pull/8989
* replace the method wait_until with boto3 waiters in cfn fixture by pinzon in https://github.com/localstack/localstack/pull/8419
* Techdebt: Remove obsolete Lambda testutil by viren-nadkarni in https://github.com/localstack/localstack/pull/8967
* Bind hypercorn to privileged ports if root by simonrw in https://github.com/localstack/localstack/pull/8948
* add test durations for Pro Integration test split balancing by alexrashed in https://github.com/localstack/localstack/pull/9003
* refresh missing S3 snapshot by bentsku in https://github.com/localstack/localstack/pull/8992
* refresh SNS snapshots by bentsku in https://github.com/localstack/localstack/pull/8983
* Add ability to scaffold resource providers for a whole service by dominikschubert in https://github.com/localstack/localstack/pull/9010
* Split out bootstrap tests for CircleCI by simonrw in https://github.com/localstack/localstack/pull/8768
* Update outdated sqs snapshots/enable sse by baermat in https://github.com/localstack/localstack/pull/9005
* Revert hypercorn binding to privileged ports by simonrw in https://github.com/localstack/localstack/pull/9012
* Migrate AWS::IAM::* resources to resource providers by dominikschubert in https://github.com/localstack/localstack/pull/9011
* Fix AWS::IAM::InstanceProfile creation by dominikschubert in https://github.com/localstack/localstack/pull/9022
* fix lambda layer version compatibility with Python 3.11 by alexrashed in https://github.com/localstack/localstack/pull/9020
* add domain-name for opensearch domain in cfn by steffyP in https://github.com/localstack/localstack/pull/9027
* fix python installer when running LS from venv module by alexrashed in https://github.com/localstack/localstack/pull/9021
* Wait for stack deletion in test cleanup by dominikschubert in https://github.com/localstack/localstack/pull/9019
* enable DomainEndpoint cfn output for Opensearch by steffyP in https://github.com/localstack/localstack/pull/9029
* Give precedence to region override over config by viren-nadkarni in https://github.com/localstack/localstack/pull/8997
* Add get_docker_host_from_container(..) util to remove DNS operations from config.py by whummer in https://github.com/localstack/localstack/pull/9015
* FIX 8916 Add support to filter on zone-id for ec2 describe-availabili⦠by ashish1500616 in https://github.com/localstack/localstack/pull/9024
* Add missing init files for stepfunctions v2 by dominikschubert in https://github.com/localstack/localstack/pull/9018
* fix SNS subscribe idempotency with different attrs by bentsku in https://github.com/localstack/localstack/pull/8976
* add ddb ttl resource-exceptions for inexistent tables by ackdav in https://github.com/localstack/localstack/pull/9038
* pin deepdiff to version 6.3.1 by ackdav in https://github.com/localstack/localstack/pull/9041
* fix S3 PUT operations returning HTTP Body by default by bentsku in https://github.com/localstack/localstack/pull/9036
* Bump moto-ext to 4.2.0.post1 by viren-nadkarni in https://github.com/localstack/localstack/pull/9044
* Container fixture improvements by simonrw in https://github.com/localstack/localstack/pull/9048
* fix value of for CidrBlockAssociations in AWS::EC2::VPC by sannya-singal in https://github.com/localstack/localstack/pull/9014
* fix APIGW UpdateStage with /tracingEnabled by bentsku in https://github.com/localstack/localstack/pull/9039
* fix flaky stepfunction test by steffyP in https://github.com/localstack/localstack/pull/9056
* add Cfn ResourceProvider for AWS::OpenSearchService::Domain by steffyP in https://github.com/localstack/localstack/pull/9035
* Fix subscribe idempotency when no attributes are given by dominikschubert in https://github.com/localstack/localstack/pull/9055
* add dev container run script by thrau in https://github.com/localstack/localstack/pull/8994
* fix escaping backslash in comments by alexrashed in https://github.com/localstack/localstack/pull/9057
* Update nodejs install step by simonrw in https://github.com/localstack/localstack/pull/9037
* feat: CLIError exception by giograno in https://github.com/localstack/localstack/pull/9061
* fix secretsmanager PutSecretValue on empty secret by bentsku in https://github.com/localstack/localstack/pull/9077
* Add test for s3 bucket concurrency by dfangl in https://github.com/localstack/localstack/pull/9072
* Make AWS region name configurable for tests by joe4dev in https://github.com/localstack/localstack/pull/9070
* Disable terraform tests by dominikschubert in https://github.com/localstack/localstack/pull/9080
* Add pytest marker report plugin by dominikschubert in https://github.com/localstack/localstack/pull/8979
* cdk provisioning improvements for testing by steffyP in https://github.com/localstack/localstack/pull/9081
* Add account ID and region to AWS trace log output by whummer in https://github.com/localstack/localstack/pull/9084
* Bump moto-ext to 4.2.2.post1 by viren-nadkarni in https://github.com/localstack/localstack/pull/9086
* add option to disable retries & disable boto retries for CI tests by dominikschubert in https://github.com/localstack/localstack/pull/9074
* update CODEOWNERS by alexrashed in https://github.com/localstack/localstack/pull/9085
* add zone type to az response by ethpran in https://github.com/localstack/localstack/pull/9090
* Update deployment stage_name when creating API Gateway stages to fix parity issues by whummer in https://github.com/localstack/localstack/pull/9095
* fix S3 v3 Range handling by bentsku in https://github.com/localstack/localstack/pull/9082
* enable new s3 v3 tests for current provider by bentsku in https://github.com/localstack/localstack/pull/9091
* Refresh route53 snapshots by dominikschubert in https://github.com/localstack/localstack/pull/9096
* Patch default waiterconfig for boto waiters by dominikschubert in https://github.com/localstack/localstack/pull/9078
* add bookstore test scenario by steffyP in https://github.com/localstack/localstack/pull/9087
* fix S3 s3_empty_bucket fixture and add parity by bentsku in https://github.com/localstack/localstack/pull/9099
* fix APIGW DeleteDeployment to verify if stage is assigned to it by bentsku in https://github.com/localstack/localstack/pull/9104
* Update CODEOWNERS by localstack-bot in https://github.com/localstack/localstack/pull/9116
* Validate and refactor cloudwatch tests by dominikschubert in https://github.com/localstack/localstack/pull/9117
* AWS::Lambda::Alias Resource Provider by pinzon in https://github.com/localstack/localstack/pull/9100
* Improve caching for Community Integration Tests against Pro by dominikschubert in https://github.com/localstack/localstack/pull/9114
* Set up acceptance test marker & CI job by dominikschubert in https://github.com/localstack/localstack/pull/9045
* Fix deletion of AWS::IAM::Policy by dominikschubert in https://github.com/localstack/localstack/pull/9092
* add plux and localstack-plugin-persistence to SourceVolumeMountConfigurator by thrau in https://github.com/localstack/localstack/pull/9128
* Remove internal developer configuration from CONFIG_ENV_VARS by joe4dev in https://github.com/localstack/localstack/pull/9135
* Fix KeyError in log format for requests without AWS context by viren-nadkarni in https://github.com/localstack/localstack/pull/9132
* Add GH action for marker report issue by dominikschubert in https://github.com/localstack/localstack/pull/9131
* refactor integration test startup into pytest plugin by thrau in https://github.com/localstack/localstack/pull/9139
* fix Response.update_from to also copy close handlers by thrau in https://github.com/localstack/localstack/pull/8946
* add resourcegroups validated tests by bentsku in https://github.com/localstack/localstack/pull/9140
* Pin jsonpath_ng to 1.5.3 to unblock CI by dominikschubert in https://github.com/localstack/localstack/pull/9142
* Triage aws_unknown markers across AWS test suite by dominikschubert in https://github.com/localstack/localstack/pull/9141
* Slim down marker report issue template rendering by dominikschubert in https://github.com/localstack/localstack/pull/9144
* fix S3 handling of special character and trailing slash by bentsku in https://github.com/localstack/localstack/pull/9143
* Fix running LS for tests in the new in_memory_localstack plugin by dfangl in https://github.com/localstack/localstack/pull/9150
* update several SQS test markers by thrau in https://github.com/localstack/localstack/pull/9151
* Set aws marker for all iam service tests by dfangl in https://github.com/localstack/localstack/pull/9153
* Make botocore config object hashable by dfangl in https://github.com/localstack/localstack/pull/9134
* fix SNS subscribe idempotency by bentsku in https://github.com/localstack/localstack/pull/9167
* Deprecate aws_stack.generate_presigned_url by viren-nadkarni in https://github.com/localstack/localstack/pull/9120
* Bump moto-ext to 4.2.2.post2 by viren-nadkarni in https://github.com/localstack/localstack/pull/9160
* Fix lambda invoke exception with invalid payload by joe4dev in https://github.com/localstack/localstack/pull/9170
* added support for overriding the log level of Kinesis Mock Server by adinballew in https://github.com/localstack/localstack/pull/9175
* replace CircleCI job for S3 stream to v3 and remove stream provider by bentsku in https://github.com/localstack/localstack/pull/9043
* deactivate PR and push trigger for podman tests by alexrashed in https://github.com/localstack/localstack/pull/9177
* Fix flaky lambda concurrency test by joe4dev in https://github.com/localstack/localstack/pull/9180
* Ensure GATEWAY_LISTEN is taken from the configuration by simonrw in https://github.com/localstack/localstack/pull/9187
* Implement resource provider for AWS::SNS::Topic by Morijarti in https://github.com/localstack/localstack/pull/9088
* fix h11 LocalProtocolError on connection close by client by alexrashed in https://github.com/localstack/localstack/pull/9190
* Fix build failures by pinning jsonschema<=4.19.0 by dfangl in https://github.com/localstack/localstack/pull/9191
* fix CreatePlatformEndpoint idempotency and Publish to mobile endpoint when disabled by bentsku in https://github.com/localstack/localstack/pull/9174
* replace deprecated command with environment file by jongwooo in https://github.com/localstack/localstack/pull/9197
* Fix handling of exceptions without arguments in legacy provider with local executor by jairov4 in https://github.com/localstack/localstack/pull/9168
* Bump moto-ext to 4.2.3.post1 by viren-nadkarni in https://github.com/localstack/localstack/pull/9199
* fix(boto params): regex doesn't account for nested dot notation parameters by eXamadeus in https://github.com/localstack/localstack/pull/9165
* CirecleCI: add report for acceptance and diff coverage by steffyP in https://github.com/localstack/localstack/pull/9189
* ACM: Fix ARN assertions when testing in non-default account by viren-nadkarni in https://github.com/localstack/localstack/pull/9201
* Update CODEOWNERS by localstack-bot in https://github.com/localstack/localstack/pull/9215
* Bump moto-ext to 4.2.4.post1 by viren-nadkarni in https://github.com/localstack/localstack/pull/9216
* update cloudwatch snapshots by steffyP in https://github.com/localstack/localstack/pull/9217
* Add support for AWS::Scheduler::Schedule and AWS::Scheduler::ScheduleGroup by pinzon in https://github.com/localstack/localstack/pull/9122
* avoid setting LOCALSTACK_CLI in the container by alexrashed in https://github.com/localstack/localstack/pull/9223
* fix welcome action by upgrading to github-script v6 by alexrashed in https://github.com/localstack/localstack/pull/9221
* fix S3 PutObject with MD5 and enabled ARN Partition Rewriting by alexrashed in https://github.com/localstack/localstack/pull/9233
* Let hypercorn listen directly to privileged ports if run as root by dfangl in https://github.com/localstack/localstack/pull/9232
* fix APIGW matching with {proxy+} and methods by bentsku in https://github.com/localstack/localstack/pull/9208
* fix apigw pathParameters context resolving before authorizer run by bentsku in https://github.com/localstack/localstack/pull/9213
* fix opensearch-knn plugin by setting LD_LIBRARY_PATH by alexrashed in https://github.com/localstack/localstack/pull/9234
* Implementation of Route53 RecordSet resource provider for CloudFormation by Morijarti in https://github.com/localstack/localstack/pull/9228
* Fix partition rewriting for CloudFormation by guarding internal calls by dominikschubert in https://github.com/localstack/localstack/pull/9246
New Contributors
* fatal10110 made their first contribution in https://github.com/localstack/localstack/pull/8572
* akojo made their first contribution in https://github.com/localstack/localstack/pull/8871
* rohithpr made their first contribution in https://github.com/localstack/localstack/pull/8809
* ashish1500616 made their first contribution in https://github.com/localstack/localstack/pull/9024
* ethpran made their first contribution in https://github.com/localstack/localstack/pull/9090
* adinballew made their first contribution in https://github.com/localstack/localstack/pull/9175
* Morijarti made their first contribution in https://github.com/localstack/localstack/pull/9088
* jongwooo made their first contribution in https://github.com/localstack/localstack/pull/9197
* jairov4 made their first contribution in https://github.com/localstack/localstack/pull/9168
* eXamadeus made their first contribution in https://github.com/localstack/localstack/pull/9165
**Full Changelog**: https://github.com/localstack/localstack/compare/v2.2.0...v2.3.0