v2.2.0
版本发布时间: 2023-07-20 21:57:13
localstack/localstack最新发布版本:v3.7.2(2024-09-06 20:47:10)
Summary
LocalStack 2.2.0 is out live! With new AWS features like Glue 4.0 support, S3 Lifecycle Expiration, and Opensearch/Elasticsearch resources, as well as LocalStack CLI improvements and deprecations, this release is a significant step forward for local AWS development. Check out the full details in the release notes! 🚀
AWS Features
- Support for Glue 4.0 with Spark 3.3.0 has been added. (🌟 pro)
- Support for global clusters has been added to RDS. (🌟 pro)
- Support for MySQL databases has been added to RDS Data API. (🌟 pro)
- Initial support for EMR Serverless. (🌟 pro)
- Various enhancements and parity fixes in AppSync, including better context (de)serialization, context objects for Lambda data sources, and account/region lookup fixes. (🌟 pro)
- Several enhancements in Timestream queries, including
UNNEST
, and interpolation functions. (🌟 pro) - New CRUD implementations have been implemented for
BucketIntelligentTiering
,BucketAnalytics
, andBucketInventory
in the S3 provider. - Support for S3 Lifecycle Expiration has been added, which will now return the Expiration header if a
BucketLifecycleConfiguration
is configured and a rule matches the object. - Support for
ObjectRestore:Post
andObjectRestore:Completed
S3 Notifications events have been added. - Support for Object Retention in
GOVERNANCE
mode in the S3 provider. - Enabled cross-account accessibility for S3 buckets, implementing a cross-account namespace which prevents the creation of buckets with the same name in different accounts.
- Support for OpenSearch and Elasticsearch resources to be created in a non-default account.
- Enhanced support for encryption context in the KMS APIs.
- Support for Destinations in the CloudWatch Logs, including new CRUD implementations.
- Improve global table replicas support in DynamoDB.
- Add support for
AWS::RDS::DBProxy
andAWS::RDS::DBProxyTargetGroup
CloudFormation resources
LocalStack Features
- New LocalStack CLI experience with binary builds, auto-completion, Homebrew support, and UX improvements.
- New Cloud Pods client (that can be activated with the
ACTIVATE_NEW_POD_CLIENT
flag), leveraging LocalStack container's APIs and storing Cloud Pod’s artifacts inside the container itself. This client becomes the default provider from v3.0. (🌟 pro) - Live policy streams during your LocalStack usage! Use
localstack aws iam stream
to see the IAM policies generated for your API calls (enableENFORCE_IAM=1
, andIAM_SOFT_MODE=1
if policies should not be enforced). (🌟 pro) - LocalStack Web Application status page now links to available Resource Browsers.
Deprecations
-
EC2_AUTOSTART_DAEMON
is now deprecated and marked for removal in the next major release. -
AUTOSTART_UTIL_CONTAINERS
is now deprecated and marked for removal in the next major release. - The Bigdata image support with the
localstack/bigdata
image and theBIGDATA_MONO_CONTAINER=0
variable will be removed in the next major release. - The legacy S3 & Lambda providers will be removed in the next major release.
- Host interface modification (used for automatic usage of the LocalStack DNS) when starting LocalStack in host mode is now deprecated and marked for removal in the next major release.
What's Changed
Exciting New Features 🎉
- Added support for s3 analytics configuration by @macnev2013 in https://github.com/localstack/localstack/pull/8351
- remove thundra plugin by @thrau in https://github.com/localstack/localstack/pull/8382
- added support for intelligent tier in s3 by @macnev2013 in https://github.com/localstack/localstack/pull/8375
- SNS: Implement cross-account access by @viren-nadkarni in https://github.com/localstack/localstack/pull/8339
- S3: Implement cross-account access by @viren-nadkarni in https://github.com/localstack/localstack/pull/8395
- fix SNS cross account SQS publish + SQS get_queue_url by @bentsku in https://github.com/localstack/localstack/pull/8418
- add new CLI command to simplify shell completion by @alexrashed in https://github.com/localstack/localstack/pull/8413
- fix MacOS host mode docker host IP detection by @alexrashed in https://github.com/localstack/localstack/pull/8416
- improvement with apigw rest api import by @bentsku in https://github.com/localstack/localstack/pull/8371
- add BodyS3Location property to AWS::ApiGateway::RestApi by @bentsku in https://github.com/localstack/localstack/pull/8425
- add help texts, short args, format option decorator by @alexrashed in https://github.com/localstack/localstack/pull/8443
- fix apigw model resolving when importing and when validating by @bentsku in https://github.com/localstack/localstack/pull/8446
- Add Lambda Docker DNS configuration by @joe4dev in https://github.com/localstack/localstack/pull/8448
- Add support for ruby3.2, remove tests for deprecated runtimes by @dfangl in https://github.com/localstack/localstack/pull/8466
- upgrade moto to 4.1.11.post1 by @thrau in https://github.com/localstack/localstack/pull/8476
- [SFN] support for waitForTaskToken and enhancements by @MEPalma in https://github.com/localstack/localstack/pull/8292
- ApiGateway integration client rework by @dfangl in https://github.com/localstack/localstack/pull/8509
- [SFN] support for lambda parameters, parameters abstractions by @MEPalma in https://github.com/localstack/localstack/pull/8303
- Fix container port check and host detection on podman by @dfangl in https://github.com/localstack/localstack/pull/8544
- Let SQS AddPermission call actually influence policy attribute by @dfangl in https://github.com/localstack/localstack/pull/8554
- add CI env var to the list of config vars by @thrau in https://github.com/localstack/localstack/pull/8560
- DynamoDB: Improve global table replicas by @viren-nadkarni in https://github.com/localstack/localstack/pull/8549
- [SFN] Add support for Task Timeouts by @MEPalma in https://github.com/localstack/localstack/pull/8376
- [SFN] Support for callback failure by @MEPalma in https://github.com/localstack/localstack/pull/8386
- Fix termination of generators when client connection is closed by @dfangl in https://github.com/localstack/localstack/pull/8582
- unify CLI error messages, add global error message handler by @alexrashed in https://github.com/localstack/localstack/pull/8564
- Add support for list-type stack parameters by @dominikschubert in https://github.com/localstack/localstack/pull/8583
- add initial action for issue label -> project status sync by @alexrashed in https://github.com/localstack/localstack/pull/8591
- Limit batch size in delete and change visibility by @sinecode in https://github.com/localstack/localstack/pull/8479
- Support to import documentation parts by @calvernaz in https://github.com/localstack/localstack/pull/8573
- Bump moto-ext to 4.1.12.post1 by @viren-nadkarni in https://github.com/localstack/localstack/pull/8609
- use docker system info for client metadata if possible by @thrau in https://github.com/localstack/localstack/pull/8589
- [SFN] Support for Heartbeats by @MEPalma in https://github.com/localstack/localstack/pull/8428
- Allow multiple lambda docker networks configured by @dfangl in https://github.com/localstack/localstack/pull/8621
- add apigateway eventbridge support by @calvernaz in https://github.com/localstack/localstack/pull/7137
- A try fixing Lambda persistence by @dfangl in https://github.com/localstack/localstack/pull/8643
- fix parameters resolving for samtranslator for API Gateway by @bentsku in https://github.com/localstack/localstack/pull/8646
- introduce S3 file stream patching and provider by @bentsku in https://github.com/localstack/localstack/pull/8473
- Add config var for snapshot flush interval by @giograno in https://github.com/localstack/localstack/pull/8649
- Reset threadlocal storage before every request by @dfangl in https://github.com/localstack/localstack/pull/8648
- add S3 Lifecycle logic and return Expiration header by @bentsku in https://github.com/localstack/localstack/pull/8651
- CFn Resource Provider Framework v2 by @dominikschubert in https://github.com/localstack/localstack/pull/8611
- fix url encoding when validating pre-signed signature by @bentsku in https://github.com/localstack/localstack/pull/8664
- raise NotImplemented error for SelectObjectContent by @bentsku in https://github.com/localstack/localstack/pull/8689
- [SFN] Support for SFN and Sync, reworked exception handling, fixes, tests by @MEPalma in https://github.com/localstack/localstack/pull/8623
- implement S3 BucketInventoryConfiguration CRUD operations by @bentsku in https://github.com/localstack/localstack/pull/8696
- add ObjectRestore:Post and :Completed S3 Event Notification by @bentsku in https://github.com/localstack/localstack/pull/8690
- Add basic CRUD support for Lambda VpcConfig by @dominikschubert in https://github.com/localstack/localstack/pull/8686
Other Changes
- Update readme for 2.1.0 release by @viren-nadkarni in https://github.com/localstack/localstack/pull/8345
- fix release helper script for requirements.txt files by @alexrashed in https://github.com/localstack/localstack/pull/8365
- make test_fifo_queue_send_message_with_delay_on_queue_works more robust by @thrau in https://github.com/localstack/localstack/pull/8364
- add ClientRequestToken validation for SecretsManager by @bentsku in https://github.com/localstack/localstack/pull/8308
- fix: Lambda integration with DDB binary items by @giograno in https://github.com/localstack/localstack/pull/8206
- [minor] Fix extraction of Arn in KMS Key CloudFormation resource by @whummer in https://github.com/localstack/localstack/pull/8389
- add MAIN_DOCKER_NETWORK to config vars by @thrau in https://github.com/localstack/localstack/pull/8381
- [minor] Allow passing boto3 client to IAM fixtures to facilitate multi-region tests by @whummer in https://github.com/localstack/localstack/pull/8387
- Enhance bootstrap logic to allow CLI startup from within Docker by @whummer in https://github.com/localstack/localstack/pull/8384
- Add logging of exceptions during Lambda runtime environment create by @dominikschubert in https://github.com/localstack/localstack/pull/8399
- fix s3 complete_multipart and upload_part internal error by @bentsku in https://github.com/localstack/localstack/pull/8396
- fix SQS SetQueueAttributes when seting ContentBasedDeduplication by @thrau in https://github.com/localstack/localstack/pull/8398
- add mypy client type for sso-admin by @thrau in https://github.com/localstack/localstack/pull/8401
- CFn: optional verbose errors by @simonrw in https://github.com/localstack/localstack/pull/8336
- Capture additional coverage context by @simonrw in https://github.com/localstack/localstack/pull/8394
- Bump moto-ext to 4.1.10.post2 by @viren-nadkarni in https://github.com/localstack/localstack/pull/8410
- fix cli profile handling, add profile indicator to banner by @alexrashed in https://github.com/localstack/localstack/pull/8403
- show error on frozen attempt to update localstack-cli by @alexrashed in https://github.com/localstack/localstack/pull/8407
- fix multi-protocol port mapping by @alexrashed in https://github.com/localstack/localstack/pull/8402
- fix package incompatibilities in pipeline by @alexrashed in https://github.com/localstack/localstack/pull/8426
- Dont abort when failed to decode logs that contains multibyte characters by @yamachu in https://github.com/localstack/localstack/pull/7941
- update SQS QueryAPI to use new aws client factory by @thrau in https://github.com/localstack/localstack/pull/8417
- Share ffmpeg package between services by @simonrw in https://github.com/localstack/localstack/pull/8431
- Use awslocal in LocalStack hint logs by @joe4dev in https://github.com/localstack/localstack/pull/8436
- Update lambda init to v0.1.18-pre by @dominikschubert in https://github.com/localstack/localstack/pull/8438
- add support for CFN and s3 bucket website configuration by @steffyP in https://github.com/localstack/localstack/pull/8430
- Prefix dynamodb streams shard iterator with stream arn by @dfangl in https://github.com/localstack/localstack/pull/8439
- Refactor handling of CFn stack parameters by @dominikschubert in https://github.com/localstack/localstack/pull/8322
- Add basic lambda performance tests by @joe4dev in https://github.com/localstack/localstack/pull/8137
- fix validating APIGW API key when apiKeySource is AUTHORIZER by @bentsku in https://github.com/localstack/localstack/pull/8437
- fix S3 exception when using KMS key state PendingDeletion by @bentsku in https://github.com/localstack/localstack/pull/8423
- fix apigw import default authorizer, apiKeySource and ANY method by @bentsku in https://github.com/localstack/localstack/pull/8445
- Integrate CloudTrail helper into LocalStack test fixtures by @simonrw in https://github.com/localstack/localstack/pull/8319
- Fix defaulting to privileged=true if additional flags are provided by @dfangl in https://github.com/localstack/localstack/pull/8461
- CFn: Add scaffolding system by @simonrw in https://github.com/localstack/localstack/pull/8457
- fix SNS SignatureVersion for Topic and validate Subscription attributes when set a creation by @bentsku in https://github.com/localstack/localstack/pull/8458
- Verify AssumeRolePolicyDocument is valid json by @dfangl in https://github.com/localstack/localstack/pull/8453
- Add boto client type definitions for emr-serverless by @whummer in https://github.com/localstack/localstack/pull/8474
- Add a fetch state call after CFn resource deployment by @dominikschubert in https://github.com/localstack/localstack/pull/8489
- CFn: add error reasons and tidy error message on stack deploy failure by @simonrw in https://github.com/localstack/localstack/pull/8488
- fix apigateway issue with logging template by @bentsku in https://github.com/localstack/localstack/pull/8496
- Make store lookups for Events rule jobs request context aware by @whummer in https://github.com/localstack/localstack/pull/8469
- Extend list of supported Lambda layer runtimes, update validation snapshots by @whummer in https://github.com/localstack/localstack/pull/8499
- CFn: remove physical resource id from some services by @simonrw in https://github.com/localstack/localstack/pull/8266
- Use new clients in lambda event source mappings by @dfangl in https://github.com/localstack/localstack/pull/8450
- xfail flaky sns java lambda subscribe integration test by @dfangl in https://github.com/localstack/localstack/pull/8506
- CFn: simplify deploy function handling by @simonrw in https://github.com/localstack/localstack/pull/8440
- fix SNS publish_batch when MessageStructure is JSON by @bentsku in https://github.com/localstack/localstack/pull/8487
- Remove get_physical_resource_id from CFn GenericBaseModel by @dominikschubert in https://github.com/localstack/localstack/pull/8510
- kms: Add encryption context to generate data key with and without plaintext by @sannya-singal in https://github.com/localstack/localstack/pull/8517
- KMS: Fix segfault during persistence state restore by @viren-nadkarni in https://github.com/localstack/localstack/pull/8507
- kms: add encryption context to generate data key pair apis in kms by @sannya-singal in https://github.com/localstack/localstack/pull/8527
- CFn: simplify signature of params helper by @simonrw in https://github.com/localstack/localstack/pull/8523
- Fix regressions related to cfn parameter handling helper signature changes by @dominikschubert in https://github.com/localstack/localstack/pull/8532
- Avoid loading the request stream to retrieve context by @dfangl in https://github.com/localstack/localstack/pull/8535
- SQS: Cross-account enhancements by @viren-nadkarni in https://github.com/localstack/localstack/pull/8223
- use vpcId to fectch state of EC2::VPC by @pinzon in https://github.com/localstack/localstack/pull/8537
- CFn: simplify "result_handler" function signature by @simonrw in https://github.com/localstack/localstack/pull/8529
- CFn: Integrate new resource provider deploy system by @simonrw in https://github.com/localstack/localstack/pull/8531
- Opensearch: Multi-accounts compatibility by @viren-nadkarni in https://github.com/localstack/localstack/pull/8541
- use checksum stored in moto key, implement checksum for CopyObject by @bentsku in https://github.com/localstack/localstack/pull/8498
- Add scaffolded IAM resource provider with new scaffold test layout by @dominikschubert in https://github.com/localstack/localstack/pull/8548
- Remove unused methods from template deployer by @dominikschubert in https://github.com/localstack/localstack/pull/8552
- Use get_resource_type to allow PRO to patch resource type lookup by @dominikschubert in https://github.com/localstack/localstack/pull/8555
- Fix resource type resolution and missing logical resource ID in update by @dominikschubert in https://github.com/localstack/localstack/pull/8558
- Delay boto client lookup for custom handler functions like in custom resources by @dominikschubert in https://github.com/localstack/localstack/pull/8562
- update readme with cli installation instructions by @alexrashed in https://github.com/localstack/localstack/pull/8543
- Fix container port detection with the cmd docker client by @dfangl in https://github.com/localstack/localstack/pull/8557
- add sqs lambda event source listener test for message attributes by @thrau in https://github.com/localstack/localstack/pull/7900
- CFn: add additional tests to scaffolding output by @simonrw in https://github.com/localstack/localstack/pull/8497
- Refactor CFn conditions & mappings by @dominikschubert in https://github.com/localstack/localstack/pull/8546
- Fix KeyError when looking up handlers on legacy models by @dominikschubert in https://github.com/localstack/localstack/pull/8584
- add LOCALSTACK_AUTH_TOKEN to list of config vars by @thrau in https://github.com/localstack/localstack/pull/8587
- add docker client commands to get docker system info by @thrau in https://github.com/localstack/localstack/pull/8578
- Add small fix and test to assert prepare_host hook is called with correct dirs by @whummer in https://github.com/localstack/localstack/pull/8585
- Removing duplicate pickling logic for ACM by @giograno in https://github.com/localstack/localstack/pull/8574
- fix ASF parsing for optional list header fields by @alexrashed in https://github.com/localstack/localstack/pull/8592
- Improve CFn provider framework / scaffolding by @dominikschubert in https://github.com/localstack/localstack/pull/8594
- replace events client in message publisher by @pinzon in https://github.com/localstack/localstack/pull/8429
- invoke test method and status code by @calvernaz in https://github.com/localstack/localstack/pull/8568
- add special char s3 test + fix moto lookup with cleaned up key name by @bentsku in https://github.com/localstack/localstack/pull/8470
- Remove deprecation for re-implemented DNS feature by @joe4dev in https://github.com/localstack/localstack/pull/8603
- Adds HTTP integration URIs by @calvernaz in https://github.com/localstack/localstack/pull/8569
- Additional debugging for network connection failure by @dfangl in https://github.com/localstack/localstack/pull/8602
- transcribe: fix transcription file uri by @sannya-singal in https://github.com/localstack/localstack/pull/8612
- Update codeowners with Cris and Simon by @simonrw in https://github.com/localstack/localstack/pull/8610
- SNS: Minor cleanup by @viren-nadkarni in https://github.com/localstack/localstack/pull/8427
- Fix ListRoles operation with PermissionsBoundary attached by @dfangl in https://github.com/localstack/localstack/pull/8614
- Add status: in progress mapping to label -> project status sync by @dfangl in https://github.com/localstack/localstack/pull/8622
- xfail flaky ssm describe_parameters test by @alexrashed in https://github.com/localstack/localstack/pull/8631
- Lambda: Cross-accounts enhancements by @viren-nadkarni in https://github.com/localstack/localstack/pull/8235
- fix OpenSearch proxy for GZIP encoded responses by @alexrashed in https://github.com/localstack/localstack/pull/8628
- Cloudformation models for SSM by @pinzon in https://github.com/localstack/localstack/pull/8377
- added test case for if-match headers for s3 by @macnev2013 in https://github.com/localstack/localstack/pull/8630
- Deleting custom Unpickler by @giograno in https://github.com/localstack/localstack/pull/8635
- added test case for s3 object tagging by @macnev2013 in https://github.com/localstack/localstack/pull/8638
- fix ApiGateway Model schema from CFn/CDK by @bentsku in https://github.com/localstack/localstack/pull/8629
- transcribe: add presign url to transcript file uri by @sannya-singal in https://github.com/localstack/localstack/pull/8619
- ses: add validation for email tags by @sannya-singal in https://github.com/localstack/localstack/pull/8639
- fix proxy client to respect disabled session.verify by @alexrashed in https://github.com/localstack/localstack/pull/8645
- fix validation of PutBucketLogging by @bentsku in https://github.com/localstack/localstack/pull/8654
- implement Precondition checks for CopyObject by @bentsku in https://github.com/localstack/localstack/pull/8653
- sanitize extra cors allowed origins by @lukqw in https://github.com/localstack/localstack/pull/8644
- Rework conditional lookup and dependency resolving by @dominikschubert in https://github.com/localstack/localstack/pull/8640
- Bump moto-ext to 4.1.12.post2 by @viren-nadkarni in https://github.com/localstack/localstack/pull/8661
- fix s3 op router following botocore 1.31.2 by @bentsku in https://github.com/localstack/localstack/pull/8672
- Fix error with non-existent policy for AttachRolePolicy operation by @dfangl in https://github.com/localstack/localstack/pull/8615
- Update lambda runtime init to handle non-executable bootstrap files by @dfangl in https://github.com/localstack/localstack/pull/8679
- Human friendly download logs by @viren-nadkarni in https://github.com/localstack/localstack/pull/8671
- fix CmdDockerClient not raising DockerNotAvailable exception by @alexrashed in https://github.com/localstack/localstack/pull/8684
- fix HeadObject ChecksumMode by @bentsku in https://github.com/localstack/localstack/pull/8677
- Add basic invoke test for AWS::Lambda::Function with code package on S3 by @dominikschubert in https://github.com/localstack/localstack/pull/8632
- fix schedule cron conversion in events by @ackdav in https://github.com/localstack/localstack/pull/8692
- fix S3 checksum mode casing + SelectObjectContent signature by @bentsku in https://github.com/localstack/localstack/pull/8695
- Remove conditions and parameters from stack resources by @dominikschubert in https://github.com/localstack/localstack/pull/8681
- Add fixture for AWS client configured with secondary test credentials by @viren-nadkarni in https://github.com/localstack/localstack/pull/8520
- Use the new internal AWS client by @viren-nadkarni in https://github.com/localstack/localstack/pull/8636
- fix pod save after s3 multipart upload by @bentsku in https://github.com/localstack/localstack/pull/8699
- add SNS retrospection endpoints for SMS by @bentsku in https://github.com/localstack/localstack/pull/8667
- Extend Docker client to allow passing --dns user flags by @whummer in https://github.com/localstack/localstack/pull/8697
- fix support for object retention by @macnev2013 in https://github.com/localstack/localstack/pull/8647
- Bump moto-ext to 4.1.13.post1 by @viren-nadkarni in https://github.com/localstack/localstack/pull/8710
- fix decoding aws-chunked request for UploadPart by @bentsku in https://github.com/localstack/localstack/pull/8704
- add config variable to explicitly ignore AWS credentials by @thrau in https://github.com/localstack/localstack/pull/8530
- fix detection of S3 aws-chunked encoding by @bentsku in https://github.com/localstack/localstack/pull/8712
- fix issues with SSM Patchbaseline by @pinzon in https://github.com/localstack/localstack/pull/8702
- Fix deprecated pyyaml usage in cloudformation legacy test by @dfangl in https://github.com/localstack/localstack/pull/8716
- fix api gateway domains not being saved between versions by @calvernaz in https://github.com/localstack/localstack/pull/8705
- Fix regression for Fn::Sub in condition section by @dominikschubert in https://github.com/localstack/localstack/pull/8722
Full Changelog: https://github.com/localstack/localstack/compare/v2.1.0...v2.2.0