v3.2.0
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