Summary
LocalStack 3.2.0 release includes new AWS Pinpoint and Textract providers, EventBridge Pipes, and new Resource Browsers for various AWS services.
New Features & Services
- Initial support for a new Pinpoint provider, supporting basic CRUD operations surrounding AWS Pinpoint. (🌟 pro)
- Initial support for a new Textract provider, supporting basic CRUD operations surrounding AWS Textract. (🌟 pro)
- EventBridge now supports Input Transformation. This allows customization of the text from an event before it is passed to the target specified by the respective rule.
Enhancements
- LocalStack is now more intelligent about printing download progress debug messages when the
DEBUG
flag is configured. - OpenSearch now supports v2.11.
- CloudWatch now supports additional regex filter patterns.
- Cognito now supports Pre token generation Lambda
V2_0
trigger event. (🌟 pro) - EventBridge Pipes is being continuously improved. It now features: (🌟 pro)
- Basic poller for DynamoDB streams and SNS sender.
- Improvements to batching and concurrency.
- CloudWatch logging.
- EC2 instance IP address can now be obtained from
DescribeInstances
orRunInstances
API. This will make it easier to set up workflows that involve network access of emulated EC2 instances. (🌟 pro) - EC2 now provides Ubuntu 22.04 and Amazon Linux 2023 AMIs by default. (🌟 pro)
- MWAA now supports Airflow 2.6.3 and 2.7.2 and comes with improved ARM64 compatibility. (🌟 pro)
- Significant improvements to multi-accounts and multi-region setup compatibility.
- RDS now comes with built-in support for the PostGIS extension. (🌟 pro)
LocalStack Features
- New Resource Browsers for the following AWS services are available on LocalStack Web Application:
- ACM
- Amplify
- AppConfig
- Cognito Identity
- DocumentDB
- EKS
- MQ
- MWAA
- QLDB
- Transcribe
- SNS Resource Browser now allows you to publish messages from the LocalStack Web Application.
Deprecations
- MWAA: Airflow versions v1.10.12, v2.0.2, v2.2.2 have reached end-of-support and will be removed in the next major release of LocalStack
- EC2: LocalStack will no longer provide the Ubuntu 20.04 Docker AMI by default from the next major release.
- RDS: Postgres 10 is deprecated and will not be available from the next major release.
- Cloud Pods: Due to a critical security update, some Cloud Pods may break with this release. It is advisable to re-create the Cloud Pods with the latest version of LocalStack.
What's Changed
Exciting New Features 🎉
- Bump moto-ext to 5.0.0.post1 by @alexrashed in #10112
- Add AWS::EC2::KeyPair by @pinzon in #10100
- Fix: Firehose: Multiple firehose delivery streams not receiving messages from kinesis event stream by @maxhoheiser in #10155
- pin botocore with ASF API updates, add ASF API forward compatibility by @alexrashed in #10183
- remove pins in setup.cfg, add .python-version by @alexrashed in #10195
- Feature: Events: Add input transformers by @maxhoheiser in #10159
- Refactor: Kinesis: Clean-up test fixtures by @maxhoheiser in #10058
- enable Fn::Transform to use CFn macros by @pinzon in #9776
- add opensearch 2.11 by @HarshCasper in #9935
- Change AWS_EXECUTION_ENV set in the lambda init binary by @dfangl in #10212
- CFn: improve error reporting by @simonrw in #10255
- upgrade plux to 1.7 by @thrau in #10266
- update S3 pre-signed credentials logic by @bentsku in #10265
- HTTP IntegrationSubtype support for Kinesis-PutRecord by @calvernaz in #10288
- add support to websockets and sns backend by @calvernaz in #10140
- add option to serve gateway through werkzeug by @thrau in #10171
- Feature: Scenario Tests: Firehose central scenario test by @maxhoheiser in #10243
Other Changes
- Fix prebuilding for lambda functions by @dominikschubert in #9929
- Update README with 3.1.0 version by @simonrw in #10121
- upgrade rolo to 0.3.x by @thrau in #10129
- [SFN] Support for ReverseOrder in GetExecutionHistory Requests by @MEPalma in #10131
- Update CODEOWNERS by @localstack-bot in #10132
- add script to track validations instead of snapshots by @baermat in #10064
- add dynamic SQS endpoint strategy to build SQS queues from called host by @thrau in #10135
- Rework internal lambda routes to avoid router modifications for every spawned environment by @dfangl in #10133
- Enhance implementation of is_comma_delimited_list to fix --services in pods CLI by @whummer in #10142
- add tests for fix to SNS empty filter policy by @bentsku in #10125
- hot fix for ec2 key pair deployment test by @pinzon in #10148
- CFn: improve error message for invalid ref by @simonrw in #10149
- Enhance parity for DynamoDB to Kinesis stream integration by @whummer in #10143
- Fix scenario tests failing with non-default region by @viren-nadkarni in #9149
- fix Kinesis rejection of log level by @bentsku in #10158
- cloudwatch: fix functionality of metrics for multi-accounts and region by @sannya-singal in #9945
- [SFN] SNS Optimised Integration: Automatic Stringification of Message Arguments by @MEPalma in #10165
- fix dynamodb router rule removal by @thrau in #10172
- Fix bootstrap tests failing in non-default region by @viren-nadkarni in #10152
- skip flaky dynamodb streams test by @alexrashed in #10180
- DynamoDB: Fix startup in non-default account ID/region by @viren-nadkarni in #10157
- fix custom status code for lambda URLs by @thrau in #10170
- Update lambda init binary by @dfangl in #10163
- fix disk space issues in GitHub workflow by @alexrashed in #10186
- Fix/multi account kinesis by @macnev2013 in #10188
- [SFN]: Support for CausePath and ErrorPath by @MEPalma in #10130
- add APIGW RequestParametersResolver support for context var by @bentsku in #10176
- stepfunction: fix sns fifo message attributes by @sannya-singal in #10201
- APIGW: add more debug log when lambda proxy response format is wrong by @bentsku in #10206
- Feature: Lambda: Add aws validated test for two lambdas subscribing to same kinensis event stream by @maxhoheiser in #10166
- Stop DNS server on shutdown by @simonrw in #10161
- [SFN] Enhanced Support for Comments Declarations by @MEPalma in #10211
- add automated Python requirements update by @alexrashed in #10219
- fixed multi account support for logs by @macnev2013 in #10202
- Restore DNS settings in container after dns server shuts down by @dfangl in #10221
- Extract snapshot lib by @dominikschubert in #10164
- Add pipes service principal by @joe4dev in #10224
- Simplify Lambda payload parsing by @joe4dev in #10210
- Fix Lambda function alias name checks by @dominikschubert in #10227
- fine-tune workflow triggers by @alexrashed in #10194
- Sqs fix message groups visibility by @baermat in #10223
- Fix lambda perftests for number of functions and versions by @joe4dev in #10209
- Add Lambda tests for large response handling by @dominikschubert in #10229
- Handler chain must not use test variables by @viren-nadkarni in #10230
- Implement dynamodb TimeToLive in cloudformation by @giograno in #10238
- Load new resource providers by default if available and fall back to legacy models by @dominikschubert in #10242
- Add CFn provider util to convert into lower camel case by @dominikschubert in #10245
- Fix override of legacy resource providers over new community ones for certain resources by @dominikschubert in #10249
- Lambda: Fix test_cross_account_access flakes by @viren-nadkarni in #10240
- fix S3 image rate limiting with docker login by @bentsku in #10244
- Add support for composite physical resource ID quirks by @dominikschubert in #10250
- enhance download progress logging by @alexrashed in #10241
- Update boto3 stubs and types for our client factory by @Morijarti in #9796
- Use fixtures for test credentials and region name by @viren-nadkarni in #10207
- events: add account_id while creating client in sending events to target by @sannya-singal in #9784
- CFn: enable AWS::ECS::Service PhysicalResourceId quirk by @Morijarti in #10124
- Fix Lambda handler update for UpdateFunctionConfiguration by @joe4dev in #10246
- Fix architecture update for Lambda function by @joe4dev in #10263
- SNS: Fix test assertions to query to correct account and region by @viren-nadkarni in #10261
- Update CODEOWNERS by @localstack-bot in #10271
- [SFN] Support for JsonPath Regexes by @MEPalma in #9942
- [SFN] Enhance Automatic Serialisation of AWS-SDK Task Parameters by @MEPalma in #10174
- add test for SQS FIFO dedup behaviour in high throughput mode by @baermat in #10274
- Add trailing newline for linter compliance by @joe4dev in #10278
- Reduce requests necessary for lambda log publishing to cloudwatch logs by @dfangl in #10234
- Add support for 'invoke-mode' for lambda function-url-config by @steffyP in #10277
- Bump moto-ext to 5.0.2.post1 by @viren-nadkarni in #10286
- fix pro auth token check by @alexrashed in #10293
- Revert "Reduce requests necessary for lambda log publishing to cloudwatch logs" by @dfangl in #10294
- Save session tags when assuming a role by @dfangl in #10283
- Fix issues in CFn resources and filter notfound exceptions for delete operations by @dominikschubert in #10273
- Change schedule for dependency pin upgrade by @silv-io in #10298
- Add support for CFn dot attributes that conflict with schema by @dominikschubert in #10297
- Add custom physical resource ID for AWS::RDS::DBProxyTargetGroup by @Morijarti in #9905
- [SFN] Support for Retriers Interval Modifiers by @MEPalma in #10267
- Add tracking of entire workflow scopes to Tinybird by @silv-io in #10282
- Remove implicit credentials for Boto to fall back on by @viren-nadkarni in #10272
- Allow extension hooks to modify non-Boto env vars by @viren-nadkarni in #10306
- update validation of Lambda AWS Proxy format by @bentsku in #10312
- Update CODEOWNERS by @localstack-bot in #10319
- fix pre-signed POST when file is passed as regular form field by @bentsku in #10314
- Add fallback for deletes in updates and fix update for AWS::Lambda::Permission by @dominikschubert in #10320
- Bump pinned postgres version in CI to 14.11 by @dominikschubert in #10334
- added DOCKER.md for docker hub by @tkrsh in #10208
- Validate import_certificate test by @simonrw in #10303
- Fix delete issues in resource providers for "AWS::ApiGateway::UsagePlanKey" and "AWS::Kinesis::StreamConsumer" by @dominikschubert in #10335
- Make keys_pascalcase_to_lower_camelcase recursive by @dominikschubert in #10337
- fix API Gateway route matching order by @bentsku in #10317
- Add SQS high-throughput deduplication behaviour by @baermat in #10324
New Contributors
Full Changelog: v3.1.0...v3.2.0