Summary
AWS features
- OpenSearch 1.2 and 1.3 support. The default version of OpenSearch has been changed to 1.3.
- Multi-accounts support is now available in LocalStack Community. It was previously only available in LocalStack Pro.
- CloudWatch metrics for Amazon SQS are collected implicitly now.
Enhancements
- Migration of S3 to our new and more stable ASF provider. It can be activated with a feature flag and will be the default starting with the next major version 2.0.
- Migration of Lambda to our new and more stable ASF provider. It can be activated with a feature flag and will be the default starting with the next major version 2.0.
- Multi-accounts support has been improved with 1.3 with various bug fixes.
- Improved namespacing in DynamoDB with multi-account and multi-region support for all database operations.
LocalStack features
- New
localstack/localstack-pro
image for licensed users to use LocalStack Pro features and APIs. (⭐ Pro) - Experimental BigData Mono Container Support to allow starting BigData components without the
localstack/bigdata
image (⭐ Pro) - User-defined path support for setting up a custom SSL certificate.
- New LocalStack Package Manager (LPM) features to install packages to specific targets and specific versions of packages.
- Kubernetes support to set up LocalStack on a K8s cluster via a Helm chart.
- A simplified version of the Cloud Pods CLI (⭐ Pro).
- Basic Cloud Pods commands (
save
andload
) for persistence snapshots are available to Community users! - Secret scanning for leaked API keys on GitHub support by LocalStack and GitHub (⭐ Pro)
- New and improved LocalStack Docs with tutorials, user guides, and an improved table of contents using Diátaxis framework.
Deprecations
- Deprecating
localstack-light
andlocalstack-full
images - Removal of legacy SQS, API Gateway, and Kinesis provider
- Deprecating Legacy IAM Enforcement (⭐ Pro)
- Deprecating
SYNCHRONOUS_*_EVENTS
- Deprecating
USE_SINGLE_REGION
andDEFAULT_REGION
- Deprecating
MOCK_UNIMPLEMENTED
- Deprecating
SKIP_INFRA_DOWNLOADS
- Deprecating legacy Init scripts
- Deprecating root-level non-AWS endpoints
Refer to our extended deprecation notice to know about the specifics of each deprecation.
What's Changed
- Avoid import rest api from openapi skipping 'parameters' by @calvernaz in #6769
- fix S3 terraform test timeout by @alexrashed in #6996
- Update ASF APIs by @localstack-bot in #6994
- S3 ASF test fixes by @bentsku in #6987
- move S3 ASF virtual host proxy and refactor by @bentsku in #7001
- update Docker base image (python:3.10.7-slim-buster) digest to 06d5be9 by @renovate in #6993
- add default converters to Router by @thrau in #7003
- implement SES CloneReceiptRuleSet by @wonhyeongseo in #6992
- fix offline GitHub package presence check by @alexrashed in #7006
- Add debugging options for terraform tests in CI by @dominikschubert in #6954
- Add debug information to check CI failures by @dfangl in #6986
- Pin lambda image digests and make common test builds reproducible by @dominikschubert in #7011
- Add tags to GatewayRestApi resource creation by @silv-io in #7008
- Add infra shutdown handler / improve cleanup of processes and threads by @dfangl in #7010
- Add semantic names to threads to simplify detection of thread leaks by @dominikschubert in #6781
- migrate installer routines to new architecture by @baermat in #6916
- Add error message for invalid SQS batch message IDs by @whummer in #7015
- Remove bson dependency and use pymongo by @calvernaz in #7022
- [KMS] Adding digests for KMS sign/verify. by @taras-kobernyk-localstack in #6941
- update Docker base image (python) tag to v3.10.8 by @renovate in #7030
- Update ASF APIs by @localstack-bot in #7031
- move OSPackages by @baermat in #7023
- CFn test plan implementation by @pinzon in #6973
- [KMS] Enabling Terraform tests for KMS. by @taras-kobernyk-localstack in #7026
- Remove RegionBackend and related code by @viren-nadkarni in #6998
- fix static infrastructure installer target by @alexrashed in #7033
- Discover lambda runtime executor using plugins by @dfangl in #7034
- Support for removing active services from service pool by @MEPalma in #6946
- Update patch for IAM backend by @giograno in #7042
- Manage Lambda code in code objects / share code between identical versions by @dfangl in #7019
- Migrate lambda executor endpoints from flask to router by @dfangl in #7039
- Extract account id from access key id for each request by @dfangl in #7045
- Migrate debugpy installer by @baermat in #7044
- Fix test_s3_lambda_integration test by @dominikschubert in #7051
- Revert "Extract account id from access key id for each request (#7045)" by @dominikschubert in #7056
- update RedHat example Dockerfile by @alexrashed in #7047
- Add mutex locks to installers by @viren-nadkarni in #7053
- S3 asf fixes detected by Terraform test suite by @steffyP in #7027
- Migrate testlibs installer by @baermat in #7052
- Update ASF APIs by @localstack-bot in #7079
- Add SQS integration support for new Lambda provider by @dominikschubert in #7032
- pin boto3 and botocore versions by @alexrashed in #7088
- add patch to parse VariableExpression by @calvernaz in #7091
- fix pipeline by disabling CircleCI Docker Layer Cache by @alexrashed in #7100
- Update lambda runtime init version, add config option for timeouts by @dfangl in #7087
- refactor lpm plugin mechanism by @alexrashed in #7063
- [KMS] Add support for generate random by @demonno in #7055
- Extend CFn AWS::Lambda resources and corresponding tests by @dominikschubert in #7082
- add config variable to define custom SSL cert path by @alexrashed in #7102
- add SQS check for maximum number of batch entries by @giograno in #7107
- DynamoDB Table CFn-model proper default table name by @pinzon in #7067
- fix S3 CORS allowing all by default by @bentsku in #7038
- Cfn tests addition by @pinzon in #7020
- fix skip snapshot for s3 test by @bentsku in #7111
- [KMS] Small comment fix, reusing stores.create_alias(). by @taras-kobernyk-localstack in #7066
- Update ASF APIs by @localstack-bot in #7112
- Implement single directory extraction for archive installer by @viren-nadkarni in #7062
- allow package installers to define custom locks by @alexrashed in #7121
- update Docker base image (python:3.10.8-slim-buster) digest to c2b2fbf by @renovate in #7138
- Update ASF APIs by @localstack-bot in #7139
- Add test for the newest generated cdk sample-app by @dominikschubert in #7128
- Prevent inconsistent persistence states for DynamoDB by @viren-nadkarni in #7123
- fix not-implemented evaluation for s3 by @steffyP in #7150
- check provider is asf_pro for S3 legacy config by @steffyP in #7116
- Add test cases and fix bugs for route53 resolver and secret manager by @sannya-singal in #7099
- deactivate VirtualHostRewriter for s3 ASF by @steffyP in #7065
- migrate S3 presign tests by @steffyP in #7070
- Update ASF APIs by @localstack-bot in #7171
- DDB - clean DB path when persistence is not set by @giograno in #7174
- More CFn features tests by @pinzon in #7097
- Fix override for cleaning DynamoDB state file by @whummer in #7176
- add OpenSearch 1.2 and 1.3, change default to OpenSearch 1.3 by @alexrashed in #7179
- Add support for lambda timeouts by @dfangl in #7180
- fix python init script execution by @simonrw in #7175
- package installation cleanup by @alexrashed in #7129
- Allow use of arbitrary account IDs by @viren-nadkarni in #7093
- Taking into account msg attributes for total size by @sinecode in #7168
- implement ASF S3 CORS by @bentsku in #7081
- add S3 ASF test job to CircleCI workflow by @alexrashed in #7173
- send SQS metrics to cloudwatch by @steffyP in #7182
- Fix parsing optional parts when resolving a secret by @cr3 in #7195
- Add JRE java.security modules to enable bigdata libs by @whummer in #7189
- update rebase action to consider all release/* branches by @alexrashed in #7202
- allow SNS message attributes data type with dot suffixes by @bentsku in #7181
- S3 ASF fix pre-signed ports permutation by @bentsku in #7152
- fix: update flake8 git url by @simonrw in #7206
- pin flake8 dependencies by @thrau in #7208
- update Docker base image (python:3.10.8-slim-buster) digest to 95f2dd6 by @renovate in #7212
- Update ASF APIs by @localstack-bot in #7213
- DynamoDB: Implement multi-accounts/multi-region by @viren-nadkarni in #7157
- refactor: SQS message fixtures by @simonrw in #7214
- Dynamodb: Fix context region not being used by @viren-nadkarni in #7215
- Adapt stream event source listeners for ASF lambda provider by @dominikschubert in #7110
- remove requests version pin by @dfangl in #7220
- Port Lambda URL invocation support to ASF provider by @dominikschubert in #7225
- Fix error logging in companion ref detection by @dominikschubert in #7232
- Add parity between old and new lambda provider for destinations by @dominikschubert in #7231
- Fix flaky s3/dynamodb test by @dominikschubert in #7235
- Add support for nodejs 18.x runtime to ASF lambda provider by @dfangl in #7234
- Add CRUD support for lambda layers by @dominikschubert in #7204
- Fix: SES not emitting SNS messages by @simonrw in #7207
- fix opensearch multiregion support by @alexrashed in #7237
- Fix custom id lookup by @calvernaz in #7221
- fix elasticsearch bind host and firehose connectivity by @alexrashed in #7243
- fix #7184: include message id in SNS payload by @simonrw in #7244
- Visitor pattern to collect service backends by @giograno in #7071
- Clean up aws_stack by @dominikschubert in #7239
- Update ASF APIs by @localstack-bot in #7248
- Test for CFN stack policies by @pinzon in #7159
- feat: support deletion of configuration set and configuration set event destinations by @simonrw in #7229
- Update KINESIS_MOCK_VERSION to 0.2.6 by @etspaceman in #7224
- Bugfix: Fix S3 internalError when try to get an object by @vladyslavkurovskyi in #7246
- Fix cfn stack leak in test fixture by @dominikschubert in #7258
- add snapshot test for cloudwatch put-metric-data with values list by @steffyP in #7166
- Lambda provider parity by @dominikschubert in #7165
- Bugfix: DynamoDB BatchWriteItems in multi-accounts by @viren-nadkarni in #7242
- v1.3 release PR by @alexrashed in #7197
- Fix internal usage of deprecations by @silv-io in #7261
- update coverage template for docs creation by @steffyP in #7265
New Contributors
- @wonhyeongseo made their first contribution in #6992
- @demonno made their first contribution in #7055
- @sannya-singal made their first contribution in #7099
- @sinecode made their first contribution in #7168
- @cr3 made their first contribution in #7195
- @vladyslavkurovskyi made their first contribution in #7246
Full Changelog: v1.2.0...v1.3.0