v3.3.0
版本发布时间: 2024-03-29 16:18:56
localstack/localstack最新发布版本:v3.7.2(2024-09-06 20:47:10)
Summary
LocalStack 3.3 is here with a host of new features and enhancements. This release includes support for running ECS tasks on Kubernetes, improved performance for DynamoDB Streams and Kinesis, and a new experimental web server implementation for high-throughput scenarios.
AWS Features
- ECS tasks now can be run when LocalStack is deployed on Kubernetes. To enable this feature, set
ECS_TASK_EXECUTOR=kubernetes
. Tasks can be added to ELB load balancer target groups. (🌟 enterprise) - Lambda now supports the new Dotnet8 runtime.
- Multi-label support is now available for Neptune service. (🌟 pro)
- Filters for list operations and parameters for discover operations is now available in ECS service discovery. (🌟 pro)
- GraphQL APIs created locally by CloudFormation can now be created with tags. (🌟 pro)
- Support for routing of CloudFront aliases to the correct CloudFront distribution is now available. (🌟 pro)
- Support for wildcards in CORS config (eg:
http://*.example.com
) is now available in the S3 service. - Support for ECS Optimised Service Integration, state size quota limits,
MaxItem
,MaxItemPath
, handling ofStates.DataLimitExceeded
errors, and StepFunctions Activities in the Step Functions service. - Support for using external SAML providers (e.g., Auth0) as an identity pool IdP in the Cognito service. (🌟 pro)
Enhancements
- LocalStack now stops and removes underlying EC2 containers while shutting down. You can opt to skip the removal by setting the
EC2_REMOVE_CONTAINERS
flag. (🌟 pro) - IoT Device Shadow Service now supports
DeleteThingShadow
API. (🌟 pro) - MWAA Airflow runners now come with Java Corretto pre-installed. (🌟 pro)
- ARM-based Lambda functions now feature improved test coverage covering all AWS-supported Lambda runtimes.
- Significant performance improvements when DynamoDB Streams or Kinesis destinations are configured for a table (over 15x more throughput for
BatchWriteItem
API). - Significant performance improvements when sending large
INSERT
orCOPY
queries for PostgreSQL database in the RDS service. (🌟 pro) - Default endpoint returned by ECR has been changed to include the Account ID and region for better parity. This can be configured using the new configuration variable
ECR_ENDPOINT_STRATEGY
. (🌟 pro) - Several enhancements for the Step Functions service, including API Actions validation, Map states, JsonPath extraction, and much more!
LocalStack Features
- Support for a new experimental web server implementation that has improved performance for high-throughput scenarios. You can activate it using
GATEWAY_SERVER=twisted
. - New Resource Browser for the CodeCommit service. (🌟 pro)
Deprecations
-
Deprecated six Lambda runtimes including :
-
python3.7
-
nodejs14.x
-
ruby2.7
-
provided
-
go1.x
-
java8
LocalStack prints a deprecation warning but you can still use deprecated runtimes
-
What's Changed
Exciting New Features 🎉
- Remove legacy CFn models by @dominikschubert in https://github.com/localstack/localstack/pull/10304
- fix functhread daemon status and tmp_thread cleanup by @thrau in https://github.com/localstack/localstack/pull/10404
- add twisted gateway server by @thrau in https://github.com/localstack/localstack/pull/9834
- implement SQS DLQ redrive to original source queue by @thrau in https://github.com/localstack/localstack/pull/10414
- remove contrib package by @thrau in https://github.com/localstack/localstack/pull/10424
- make SQS dynamic endpoint strategy guess the endpoint strategy used by @thrau in https://github.com/localstack/localstack/pull/10416
- fix SQS DLQ message attributes and redrive into multiple source queues by @thrau in https://github.com/localstack/localstack/pull/10425
- use rolo twisted gateway integration by @thrau in https://github.com/localstack/localstack/pull/10428
- Support XML responses in api gateway templating by @shucoshuco in https://github.com/localstack/localstack/pull/10381
- Feat/firehose add redshift destination by @maxhoheiser in https://github.com/localstack/localstack/pull/10375
- KMS: Fixup ImportKeyMaterial for non-symmetric keys by @uubk in https://github.com/localstack/localstack/pull/10116
- Update lambda runtime deprecations and fix Lambda ARM builds by @joe4dev in https://github.com/localstack/localstack/pull/10441
- Support custom key material when creating KMS keys by @jalaziz in https://github.com/localstack/localstack/pull/10379
- add resource provider for Iam Server Certificate by @pinzon in https://github.com/localstack/localstack/pull/10455
- Move version single source outside of
__init__.py
by @silv-io in https://github.com/localstack/localstack/pull/10497
Other Changes
- fix typo in FAQ link description, closes #10343 by @AnthonyMazzie in https://github.com/localstack/localstack/pull/10344
- Fix attributes, create and delete for AWS::Redshift::Cluster by @dominikschubert in https://github.com/localstack/localstack/pull/10341
- Fix CircleCI workflow tracking by @silv-io in https://github.com/localstack/localstack/pull/10346
- Update readme for v3.2.0 release by @viren-nadkarni in https://github.com/localstack/localstack/pull/10228
- fix S3 copy-source format validation by @bentsku in https://github.com/localstack/localstack/pull/10338
- add support for Array type in resource provider Scaffolding by @pinzon in https://github.com/localstack/localstack/pull/10326
- Fix UserData regression from provider migration in AWS::EC2::Instance by @dominikschubert in https://github.com/localstack/localstack/pull/10355
- Added update for "AWS::EC2::Instance" CFn Resource Provider by @Morijarti in https://github.com/localstack/localstack/pull/10352
- add timestream to the list of composite apis by @giograno in https://github.com/localstack/localstack/pull/10361
- Update kinesis-mock to 0.4.6 by @etspaceman in https://github.com/localstack/localstack/pull/10363
- fix workflow execution for PRs coming from forks by @alexrashed in https://github.com/localstack/localstack/pull/10366
- [SFN] Base Support for ECS Optimised Service Integration by @MEPalma in https://github.com/localstack/localstack/pull/10321
- Added CFn Resource Provider for AWS::SNS::Subscription and AWS::SNS::TopicPolicy by @Morijarti in https://github.com/localstack/localstack/pull/10359
- Add remaining migrations that we missed in the initial check by @dominikschubert in https://github.com/localstack/localstack/pull/10368
- Improve delete reliability for kinesis streams by @dominikschubert in https://github.com/localstack/localstack/pull/10371
- [SFN] Enhancements for Map State by @MEPalma in https://github.com/localstack/localstack/pull/10204
- Fix parsing of StepFunction timestamps by @dominikschubert in https://github.com/localstack/localstack/pull/9813
- add rolo to dev script by @bentsku in https://github.com/localstack/localstack/pull/10384
- Bump moto-ext to 5.0.2.post2 by @viren-nadkarni in https://github.com/localstack/localstack/pull/10389
- Disable legacy CFn model execution by @dominikschubert in https://github.com/localstack/localstack/pull/10353
- Enhance parity for API Gateway deletion of wildcard method settings by @whummer in https://github.com/localstack/localstack/pull/10399
- refactor s3 storage to use context manager to avoid race condition by @bentsku in https://github.com/localstack/localstack/pull/10387
- Update CODEOWNERS by @localstack-bot in https://github.com/localstack/localstack/pull/10401
- Remove unused CFN_RESOURCE_PROVIDER_OVERRIDES option by @dominikschubert in https://github.com/localstack/localstack/pull/10402
- Adding support for partial wildcards for S3 CORS by @cloutierMat in https://github.com/localstack/localstack/pull/10365
- add docstring for cw test and assertion by @pinzon in https://github.com/localstack/localstack/pull/10394
- fix DDB performance when Streams are enabled by @bentsku in https://github.com/localstack/localstack/pull/10415
- update s3 lambdas to node20 by @bentsku in https://github.com/localstack/localstack/pull/10417
- fix S3 GLACIER_IR not being an archive type by @bentsku in https://github.com/localstack/localstack/pull/10395
- [SFN] Reduce Flakiness of Timeout and Heartbeat Tests by @MEPalma in https://github.com/localstack/localstack/pull/10427
- [SFN] Enhancements to api actions validations: InvalidArn, StateMachineDoesNotExist, ExecutionDoesNotExist by @MEPalma in https://github.com/localstack/localstack/pull/10421
- fix SNS Publish exception when using empty topic by @bentsku in https://github.com/localstack/localstack/pull/10430
- Cfn: Fix bug preventing reuse of stack names by @viren-nadkarni in https://github.com/localstack/localstack/pull/10403
- Support new common string functions in velocity templating by @shucoshuco in https://github.com/localstack/localstack/pull/10391
- add fix for cfn-response code for nodejs custome resource by @pinzon in https://github.com/localstack/localstack/pull/10408
- Move to only using
pyproject.toml
by @silv-io in https://github.com/localstack/localstack/pull/10432 - Set package data key to
localstack
by @silv-io in https://github.com/localstack/localstack/pull/10444 - Fix DynamoDB Table and Global Table Creation with SSESpecification and TTL by @Morijarti in https://github.com/localstack/localstack/pull/10433
- Update runtime init, add dynamic configuration for folders to run chmod on in Lambda by @dfangl in https://github.com/localstack/localstack/pull/10438
- Add ARM test selection marker by @joe4dev in https://github.com/localstack/localstack/pull/10275
- Introduce test selection for CI tests on PRs by @dominikschubert in https://github.com/localstack/localstack/pull/10301
- fix disk space issues in GitHub workflow again by @alexrashed in https://github.com/localstack/localstack/pull/10443
- fix test selection for community contributions by @alexrashed in https://github.com/localstack/localstack/pull/10459
- Add experimental option to distribute services across multiple localstack instances by @dfangl in https://github.com/localstack/localstack/pull/10462
- Implement basic status filter for StepFunctions list-executions by @matt-mercer in https://github.com/localstack/localstack/pull/9833
- Fix secretsmanager secret rotation failing because RotateImmediately is unset by @cowlingj in https://github.com/localstack/localstack/pull/10091
- use ThreadPoolExecutor to forward DDB Streams events by @bentsku in https://github.com/localstack/localstack/pull/10463
- Adapt dynamodbstreams clients in the provider as well by @dfangl in https://github.com/localstack/localstack/pull/10466
- scheduled run for non-default credentials by @sannya-singal in https://github.com/localstack/localstack/pull/10367
- fix: remove AWSPREVIOUS only when duplicated by @vimiomori in https://github.com/localstack/localstack/pull/10083
- [SFN] Base Support for Activities by @MEPalma in https://github.com/localstack/localstack/pull/10383
- fix and enable several ruff linting rules by @thrau in https://github.com/localstack/localstack/pull/10471
- fix lambda event source mapping FilterCriteria by @sannya-singal in https://github.com/localstack/localstack/pull/10418
- fix: broken pipeline after merging #10418 by @sannya-singal in https://github.com/localstack/localstack/pull/10476
- optimise config.yml by @sannya-singal in https://github.com/localstack/localstack/pull/10470
- Update CODEOWNERS by @localstack-bot in https://github.com/localstack/localstack/pull/10475
- improve ddb TransactWriteItems performance + small refactor by @bentsku in https://github.com/localstack/localstack/pull/10464
- add opt. service deps, opt-in services to test selection by @alexrashed in https://github.com/localstack/localstack/pull/10458
- Fixed issue where TEST_DISABLE_RETRIES_AND_TIMEOUTS would get always evaluated to True by @Morijarti in https://github.com/localstack/localstack/pull/10480
- fix invalidating S3 CORS cache after resetting state or loading by @bentsku in https://github.com/localstack/localstack/pull/10469
- Fix skip_teardown and force_synth usage in CDK tests by @dominikschubert in https://github.com/localstack/localstack/pull/10445
- SFN: Allow ProgramError without details by @bblommers in https://github.com/localstack/localstack/pull/10400
- refactor DDB streaming, event creation and forwarding by @bentsku in https://github.com/localstack/localstack/pull/10468
- make twisted default HTTP server in S3 image by @bentsku in https://github.com/localstack/localstack/pull/10491
- fix S3 copy in place in versioned bucket by @bentsku in https://github.com/localstack/localstack/pull/10495
- fix CircleCI Tinybird reporting on reruns by @alexrashed in https://github.com/localstack/localstack/pull/10492
- fix: standardise the TEST_AWS_REGION_NAME usage by @sannya-singal in https://github.com/localstack/localstack/pull/10478
- fix Tinybird workflow datasource for multi-account tests by @alexrashed in https://github.com/localstack/localstack/pull/10498
- test: aws validated test cases in the rgsa by @macnev2013 in https://github.com/localstack/localstack/pull/10496
- added support for resource based policies in secretsmanager by @macnev2013 in https://github.com/localstack/localstack/pull/10457
- fix query string parser with non encoded http url in parameters by @bentsku in https://github.com/localstack/localstack/pull/10483
- fix capitalization of Authorization header for AWS_PROXY integration by @bentsku in https://github.com/localstack/localstack/pull/10500
- fix: add transformer to region attribute in failing s3 for 'eu-west-1' by @sannya-singal in https://github.com/localstack/localstack/pull/10508
- fix payload and logging for CI analytics data by @alexrashed in https://github.com/localstack/localstack/pull/10503
- Fix Lambda common build caching by @joe4dev in https://github.com/localstack/localstack/pull/10510
- switch from black to ruff format by @alexrashed in https://github.com/localstack/localstack/pull/10509
- add limited number of regions to random creds by @sannya-singal in https://github.com/localstack/localstack/pull/10515
- support for arn based retrivals in secretsmanager by @macnev2013 in https://github.com/localstack/localstack/pull/10501
- fix release helper by @alexrashed in https://github.com/localstack/localstack/pull/10519
- fix 'test_import_swagger_api' for 'eu-west-1' by @sannya-singal in https://github.com/localstack/localstack/pull/10516
- Api gateway integration proxy only accepts post method by @cloutierMat in https://github.com/localstack/localstack/pull/10512
- add support for getAtt string parameter in dependency by @pinzon in https://github.com/localstack/localstack/pull/10514
- Add Dotnet 8 Lambda runtime by @yongliu-mdsol in https://github.com/localstack/localstack/pull/10300
- [SFN] Fix SecondsPath Retrieval and Raise Runtime Errors on Invalid Inputs by @MEPalma in https://github.com/localstack/localstack/pull/10521
- Bump moto-ext to 5.0.3.post1 by @viren-nadkarni in https://github.com/localstack/localstack/pull/10488
- Update CODEOWNERS by @localstack-bot in https://github.com/localstack/localstack/pull/10525
- fix ASF update action to fix unused imports by @alexrashed in https://github.com/localstack/localstack/pull/10527
- Adding missing parameter for authorization scopes by @giograno in https://github.com/localstack/localstack/pull/10524
- Reduce the range of dependencies to speed up pinning by @silv-io in https://github.com/localstack/localstack/pull/10530
- Fix parameter validation for self-managed Kafka event source mapping by @janario in https://github.com/localstack/localstack/pull/9007
- fix
test_different_location_constraint
forus-east-2
by @sannya-singal in https://github.com/localstack/localstack/pull/10534 - fix apigw tests for
eu-west-1
by @sannya-singal in https://github.com/localstack/localstack/pull/10538 - Add version.py file to list of added git files in release helper by @silv-io in https://github.com/localstack/localstack/pull/10542
- Refactor: Events: Clean up tests by @maxhoheiser in https://github.com/localstack/localstack/pull/10160
- [SFN] Base Support for States.DataLimitExceeded by @MEPalma in https://github.com/localstack/localstack/pull/10511
- Fix: Events: Refactor tests fix string formatting errors by @maxhoheiser in https://github.com/localstack/localstack/pull/10544
- remove
ap-southeast-1
from random regions by @sannya-singal in https://github.com/localstack/localstack/pull/10540 - [SFN] ASL Grammars Enhancements by @MEPalma in https://github.com/localstack/localstack/pull/10372
- [SFN] Add Support for MaxItem and MaxItemPath by @MEPalma in https://github.com/localstack/localstack/pull/10531
- Fix handling reuse of stack names for describe stack events / delete stack operations by @dfangl in https://github.com/localstack/localstack/pull/10551
- [SFN] Fix MaxAttempts with Zero Values by @MEPalma in https://github.com/localstack/localstack/pull/10548
- fix
test_function_arns
foreu-central-1
by @sannya-singal in https://github.com/localstack/localstack/pull/10549 - Validation lambda function name pattern on invoke by @dominikschubert in https://github.com/localstack/localstack/pull/10323
- fix
test_dashboard_lifecycle
foreu-central-1
by @sannya-singal in https://github.com/localstack/localstack/pull/10550
New Contributors
- @AnthonyMazzie made their first contribution in https://github.com/localstack/localstack/pull/10344
- @cloutierMat made their first contribution in https://github.com/localstack/localstack/pull/10365
- @shucoshuco made their first contribution in https://github.com/localstack/localstack/pull/10391
- @cowlingj made their first contribution in https://github.com/localstack/localstack/pull/10091
- @vimiomori made their first contribution in https://github.com/localstack/localstack/pull/10083
- @bblommers made their first contribution in https://github.com/localstack/localstack/pull/10400
- @uubk made their first contribution in https://github.com/localstack/localstack/pull/10116
- @jalaziz made their first contribution in https://github.com/localstack/localstack/pull/10379
- @janario made their first contribution in https://github.com/localstack/localstack/pull/9007
Full Changelog: https://github.com/localstack/localstack/compare/v3.2.0...v3.3.0