v3.6.0
版本发布时间: 2024-07-25 15:46:18
localstack/localstack最新发布版本:v3.7.2(2024-09-06 20:47:10)
Summary
LocalStack 3.6 introduces support for S3 in Database Migration Service (DMS), EventBridge v2 Archive and Replay APIs, ECS FireLens logging configurations, Chaos API, and Ephemeral Instances. Other enhancements include Cloud Pods encryption, enhanced Step Functions parsing, Lambda tagging for deterministic URLs, and AppSync schema definition.
AWS Features
- Support for S3 as a source in the Database Migration Service (DMS) provider. (🌟 enterprise)
- Support for Archive and Replay in the EventBridge v2 provider, including the following APIs:
-
CloudWatch v2 provider is now the default. You can revert to the old provider by setting
PROVIDER_OVERRIDE_CLOUDWATCH=v1
in your LocalStack configuration. - Support for ECS FireLens enables the ECS service to manage logging driver configurations for application containers and to set up the appropriate configuration for the FluentBit/FluentD logging layer. (🌟 enterprise)
- LocalStack now supports the latest Neptune engine (1.3.2.1 & 1.3.2.0) supported by AWS. (🌟 pro)
Enhancements
- Enhanced parsing support for
ToleratedFailure*
declarations in distributed Map states for Step Functions, includingToleratedFailureCount
,ToleratedFailureCountPath
,ToleratedFailurePercentage
, andToleratedFailurePercentagePath
in the ASL lexer and parser. - Support for
PutPermission
andRemovePermission
in the EventBridge v2 provider to control access for writing events to a specific event bus. - LocalStack now syncs new and updated objects in the S3 bucket to the Airflow container every 30 seconds. This polling interval can be adjusted using the
MWAA_S3_POLL_INTERVAL
configuration variable. (🌟 pro) - Support for Batch Optimised Service Integration in Step Functions provider is now available.
- Support for the
TagSpecifications
parameter when tags are present for the EC2 Security Group resource in CloudFormation templates. - Support for pagination for
ListStateMachines
,ListStateMachineVersions
, andListExecutions
API operations in the Step Functions provider. - Support for applying a tag to a Lambda function to generate a deterministic, user-specified function URL when using the
CreateFunctionUrlConfig
API. - Support for Express Workflows in the Step Functions provider is now available.
- Support for
AssociateSoftwareToken
andVerifySoftwareToken
in the Cognito provider. (🌟 pro) - Support in AppSync GraphQL for defining schema elements after queries. (🌟 pro)
- Support for the
PostConfirmation_ConfirmSignUp
trigger for the SAML flow. (🌟 pro) - LocalStack now starts all EC2 container instances with
docker-init
by default, which prevents the use of other init systems like systemd. TheEC2_DOCKER_INIT
configuration variable allows disablingdocker-init
. (🌟 pro) - Support for manually interrupting
sync
andsync2
integration patterns through manual notification using the task'sTaskToken
in the Step Functions provider. - Support for
Label
field for distributed map state in the Step Functions provider.
LocalStack Features
-
LocalStack now supports a Chaos API over the
/_localstack/chaos/faults
endpoint to mimic outages across any AWS region or service as a preview feature. You can use LocalStack Chaos API to inject faults with the following filters or any combination thereof:- Service
- Region
- Operation
Refer to our docs for more details. (🌟 enterprise)
-
LocalStack Ephemeral Instances are now in preview allowing you to run a LocalStack instance in the cloud. You can interact with these instances via the LocalStack Web Application, or by configuring your integrations and developer tools with the endpoint URL of the ephemeral instance. Refer to our docs for more details. (🌟 pro)
-
LocalStack now offers end-to-end encryption for Cloud Pods as a preview feature. To activate this feature, make sure to start LocalStack with the
POD_ENCRYPTION
environment variable set to 1. (🌟 enterprise) -
Support for the
LAMBDA_RUNTIME_VALIDATION
which can be configured to1
to enforce strict AWS parity by raising an exception when using a deprecated Lambda runtime for the CreateFunction API operation. Deprecated Lambda runtimes (e.g.,nodejs14.x
) can be used with disabled validation (current default). -
Support for the
--compose-env-file
flag in the*_DOCKER_FLAGS
configuration to enable compatibility with full Docker Compose-style environment files, including use of placeholders like${}
and automatic quote replacement. -
Support for the
CFN_STRING_REPLACEMENT_DENY_LIST
configuration variable to specify a comma-separated list of AWS URLs that should not be redirected to LocalStack. -
LocalStack has reduced the verbosity of Lambda log levels. Setting
LS_LOG=trace
ortrace-internal
now configures the Lambda RIE log level toinfo
instead ofdebug
. -
Support for recursive discovery of Init Hook scripts in alphabetical order.
Deprecations
- LocalStack Outages extension has now been deprecated in favor of the Chaos API.
- Fault Injection Simulator (FIS) emulation has been deprecated in the Starter and Teams tier and is now offered only in the Enterprise tier. The Starter and Teams tier offers a CRUD interface for FIS.
What's Changed
Exciting New Features 🎉
- Feature/eventbridge v2 add cross account test by @maxhoheiser in https://github.com/localstack/localstack/pull/11027
- move legacy_v2 S3 into legacy folder by @bentsku in https://github.com/localstack/localstack/pull/11002
- Add *_DOCKER_FLAGS option to support docker compose-style environment files by @dfangl in https://github.com/localstack/localstack/pull/11039
- apigw create python exceptions for gateway response by @cloutierMat in https://github.com/localstack/localstack/pull/11043
- Feature/eventbridge v2 add put permission by @maxhoheiser in https://github.com/localstack/localstack/pull/11032
- Feature: EventBridge v2: Add test put events limit to 10 messages by @maxhoheiser in https://github.com/localstack/localstack/pull/11047
- generalize tracing for gateway and handler chain by @thrau in https://github.com/localstack/localstack/pull/11061
- Add CFN_STRING_REPLACEMENT_DENY_LIST config to allow the user to prevent Localstack from changing AWS URLs to point to itself by @marcciosilva in https://github.com/localstack/localstack/pull/11060
- Feature: Eventbridge v2: add archive and replay by @maxhoheiser in https://github.com/localstack/localstack/pull/10890
- remove THREAD_LOCAL usage by @bentsku in https://github.com/localstack/localstack/pull/11069
- remove flask by @alexrashed in https://github.com/localstack/localstack/pull/11090
- Apigw NG create method request handler by @cloutierMat in https://github.com/localstack/localstack/pull/11096
- add in-memory ASF request dispatching for boto clients by @bentsku in https://github.com/localstack/localstack/pull/9569
- add plugin namespace localstack.init.runner to make init script runners pluggable by @thrau in https://github.com/localstack/localstack/pull/11098
- [SFN] Enhancements to Parsing Support for Map Toleration Fields by @MEPalma in https://github.com/localstack/localstack/pull/11058
- make /_localstack/plugin endpoint extendable by @thrau in https://github.com/localstack/localstack/pull/11134
- Add custom lambda function URLs via custom_id tag by @Badg in https://github.com/localstack/localstack/pull/11103
- abandon dev tag, directly push latest on acceptance test run by @alexrashed in https://github.com/localstack/localstack/pull/11157
- add recursion to discover init hook scripts by @thrau in https://github.com/localstack/localstack/pull/11158
- add ability for shutdown hooks to call internal APIs by @thrau in https://github.com/localstack/localstack/pull/11177
- use new runtime procedure for starting localstack in host mode by @thrau in https://github.com/localstack/localstack/pull/11181
- remove legacy runtime in localstack/service/infra.py by @thrau in https://github.com/localstack/localstack/pull/11202
- [SFN] Base Support for Express Workflows by @MEPalma in https://github.com/localstack/localstack/pull/11136
- migrate imports from localstack_ext to localstack.pro.core by @alexrashed in https://github.com/localstack/localstack/pull/11215
- [SFN] Support for Sync Interrupts via Task Token by @MEPalma in https://github.com/localstack/localstack/pull/11197
- [SFN] Add Batch Optimised Service Integration by @MEPalma in https://github.com/localstack/localstack/pull/11187
- Switch default provider for cloudwatch by @steffyP in https://github.com/localstack/localstack/pull/11214
- upgrade rolo to 0.7.0 by @thrau in https://github.com/localstack/localstack/pull/11249
- Fix/eventbridge_v2: IAM policy enforcement for cross account by @maxhoheiser in https://github.com/localstack/localstack/pull/11208
Other Changes
- update release banner in README [3.5] by @HarshCasper in https://github.com/localstack/localstack/pull/10993
- extend bootstrap lifecycle test to include restarts by @alexrashed in https://github.com/localstack/localstack/pull/11021
- Fix TableV2 construct with streaming enabled by @giograno in https://github.com/localstack/localstack/pull/11012
- validate route53 integration tests against AWS by @sannya-singal in https://github.com/localstack/localstack/pull/11016
- fixed error handling in GetSecretValue in secretsmanager by @macnev2013 in https://github.com/localstack/localstack/pull/11014
- Fix version.py file glob for release commit by @silv-io in https://github.com/localstack/localstack/pull/11033
- Apigw improve s3 integration support by @cloutierMat in https://github.com/localstack/localstack/pull/11023
- Push latest image tag with version tags, regardless of default tag by @silv-io in https://github.com/localstack/localstack/pull/11046
- Disable CloudFormation template validation by @dominikschubert in https://github.com/localstack/localstack/pull/11013
- fix for ApiGW resource provider by @pinzon in https://github.com/localstack/localstack/pull/11040
- feat: add tolerated failure count/percentage to SFN map state by @u-minor in https://github.com/localstack/localstack/pull/10057
- fix TaggingDirective REPLACE for CopyObject by @bentsku in https://github.com/localstack/localstack/pull/11056
- Fix payload not being shown in trace logging by @dfangl in https://github.com/localstack/localstack/pull/11055
- Added Lambda cross account tests by @Morijarti in https://github.com/localstack/localstack/pull/11028
- add parsing and routing to APIGW next gen by @bentsku in https://github.com/localstack/localstack/pull/11051
- Print LocalStackExitErrors in the new runtime by @dfangl in https://github.com/localstack/localstack/pull/11066
- Apigw create exception handler by @cloutierMat in https://github.com/localstack/localstack/pull/11062
- fix NG APIGW unit tests usage of RestApiDeployment by @bentsku in https://github.com/localstack/localstack/pull/11070
- Bump moto-ext to 5.0.9.post3 by @viren-nadkarni in https://github.com/localstack/localstack/pull/11063
- improve CFN APIGW Method parity by @bentsku in https://github.com/localstack/localstack/pull/11068
- split routing utilities not related to service operation routing out of op_router.py by @bentsku in https://github.com/localstack/localstack/pull/11065
- fix kinesis cbor timestamp parsing by @alexrashed in https://github.com/localstack/localstack/pull/11071
- Update CODEOWNERS by @localstack-bot in https://github.com/localstack/localstack/pull/11075
- Reduce Lambda RIE log level by @joe4dev in https://github.com/localstack/localstack/pull/11067
- parity: kinesis event payload by @giograno in https://github.com/localstack/localstack/pull/11078
- update pro source code location by @cloutierMat in https://github.com/localstack/localstack/pull/11088
- Update CODEOWNERS by @localstack-bot in https://github.com/localstack/localstack/pull/11086
- add codeowners validation to gh actions by @lukqw in https://github.com/localstack/localstack/pull/10956
- Adapt CFn resource scaffolding script to new src layout by @dominikschubert in https://github.com/localstack/localstack/pull/11091
- Adapt localstack.dev.kubernetes script to new src layout by @dominikschubert in https://github.com/localstack/localstack/pull/11092
- refactor Moto out of APIGW next-gen invocation logic by @bentsku in https://github.com/localstack/localstack/pull/11085
- Switch test selection from opt-in to opt-out by @silv-io in https://github.com/localstack/localstack/pull/11083
- Mark acceptance test marker as GA by @silv-io in https://github.com/localstack/localstack/pull/11076
- harden test_dynamodb_stream_records_with_update_item by @bentsku in https://github.com/localstack/localstack/pull/11094
- remove dead code related to S3 v1 (pre-ASF) by @bentsku in https://github.com/localstack/localstack/pull/11093
- Feature: Introduce env variable for making sure we only allow supported lambda runtimes by @Morijarti in https://github.com/localstack/localstack/pull/11008
- Fix broken links in CONTRIBUTING.md and README.md by @l-melon in https://github.com/localstack/localstack/pull/11102
- Fix docker image digest in startup runtime information for new runtime by @dominikschubert in https://github.com/localstack/localstack/pull/11100
- add APIGW NG context variables by @cloutierMat in https://github.com/localstack/localstack/pull/11107
- add empty integrations for NG APIGW by @bentsku in https://github.com/localstack/localstack/pull/11099
- Execute only acceptance tests on pushes to master by @silv-io in https://github.com/localstack/localstack/pull/11049
- Fix a typographical error introduced in push-to-tinybird by @silv-io in https://github.com/localstack/localstack/pull/11113
- Avoid circleci test-runner failure if no tests are run on that runner by @dfangl in https://github.com/localstack/localstack/pull/11105
- Add test for lifecycle of an IAM role with a path by @dfangl in https://github.com/localstack/localstack/pull/11097
- add context variables and stage variables to API NG context by @bentsku in https://github.com/localstack/localstack/pull/11111
- Add support for docker container log configs by @dfangl in https://github.com/localstack/localstack/pull/11095
- Upgraded Lambda Runtimes to use al2023 Base Image by @Morijarti in https://github.com/localstack/localstack/pull/11031
- APIGW NG implement api key validation handler by @cloutierMat in https://github.com/localstack/localstack/pull/11114
- APIGW NG implement request data mapping for integration request by @bentsku in https://github.com/localstack/localstack/pull/11121
- Refactoring of CFn legacy tests by @pinzon in https://github.com/localstack/localstack/pull/11036
- Apigw ng request template mapping by @cloutierMat in https://github.com/localstack/localstack/pull/11138
- Bump moto-ext to 5.0.10.post1 by @viren-nadkarni in https://github.com/localstack/localstack/pull/11130
- APIGW NG add Integration Response selection and parameter mapping by @bentsku in https://github.com/localstack/localstack/pull/11135
- fix CBOR timestamp parsing by @alexrashed in https://github.com/localstack/localstack/pull/11133
- EC2SecurityGroup: add TagSpecifications parameter when Tags present in CloudFormation template by @jcollado in https://github.com/localstack/localstack/pull/11089
- APIGW NG fix routing with
ANY
request and remove stage from path by @bentsku in https://github.com/localstack/localstack/pull/11129 - Apigw ng add x header to gateway responses by @cloutierMat in https://github.com/localstack/localstack/pull/11142
- APIGW NG implement URI rendering by @bentsku in https://github.com/localstack/localstack/pull/11140
- fix opensearch and kinesis test markers by @alexrashed in https://github.com/localstack/localstack/pull/11141
- [SFN] Fix Parsing of Escape Sequences in Intrinsic Functions by @MEPalma in https://github.com/localstack/localstack/pull/11146
- Add pagination for SFN ListStateMachines, ListStateMachineVersions, and ListExecutions by @gregfurman in https://github.com/localstack/localstack/pull/11106
- fix aws_http_client_factory fixture to use TEST_AWS_REGION_NAME by @alexrashed in https://github.com/localstack/localstack/pull/11154
- Removal of unknown markers for CFn tests by @pinzon in https://github.com/localstack/localstack/pull/11084
- APIGW NG add HTTP and HTTP_PROXY integration by @bentsku in https://github.com/localstack/localstack/pull/11143
- fix caching in tests-pro-integration after source move by @alexrashed in https://github.com/localstack/localstack/pull/11168
- Add utility to prepend a string with a slash by @viren-nadkarni in https://github.com/localstack/localstack/pull/11161
- Feature/eventbridge v2 use arn util for arns by @maxhoheiser in https://github.com/localstack/localstack/pull/11160
- fix coverage drops by skipping report step for
acceptance-only-run
by @alexrashed in https://github.com/localstack/localstack/pull/11171 - Feature/eventbridge v2 custom json encoder exporter by @maxhoheiser in https://github.com/localstack/localstack/pull/11163
- Clarify docker client volume API by @dfangl in https://github.com/localstack/localstack/pull/11170
- APIGW NG implement response template by @cloutierMat in https://github.com/localstack/localstack/pull/11144
- Feature/eventbridge v2 class level type definitions by @maxhoheiser in https://github.com/localstack/localstack/pull/11162
- Use
StrEnums
instead ofstr
for generated constant classes in the ASF APIs by @dfangl in https://github.com/localstack/localstack/pull/11176 - update coverage config, remove obsolete dev run configurator by @alexrashed in https://github.com/localstack/localstack/pull/11173
- Add documentation for different types of tests by @silv-io in https://github.com/localstack/localstack/pull/11131
- Refactor/eventbridge v2 validate and clean tests for event bridge targets by @maxhoheiser in https://github.com/localstack/localstack/pull/11174
- fix ObjectTagging with DeleteMarker by @bentsku in https://github.com/localstack/localstack/pull/11185
- APIGW NG implement AWS bug for INTEGRATION_FAILURE GatewayResponse by @bentsku in https://github.com/localstack/localstack/pull/11183
- Fix deletion of lambda function versions by @dfangl in https://github.com/localstack/localstack/pull/11194
- Refactor/eventbridge_v2: Clean tagging tests by @maxhoheiser in https://github.com/localstack/localstack/pull/11193
- APIGW NG add AWS_PROXY integration by @bentsku in https://github.com/localstack/localstack/pull/11167
- Apigw ng implement mock integration by @cloutierMat in https://github.com/localstack/localstack/pull/11148
- Refactor/eventbridge v2 clean tests archive and replay by @maxhoheiser in https://github.com/localstack/localstack/pull/11182
- Make localstack an implicit namespace package by @dominikschubert in https://github.com/localstack/localstack/pull/11190
- Add missing log_config passing in create_container_from_config method by @dfangl in https://github.com/localstack/localstack/pull/11145
- Refactor/eventbridge_v2: Rename test event pattern file by @maxhoheiser in https://github.com/localstack/localstack/pull/11195
- Add generic botocore-model-based conversion util for CFn resource providers by @dominikschubert in https://github.com/localstack/localstack/pull/11178
- Add AWS validation information for es service by @silv-io in https://github.com/localstack/localstack/pull/11206
- Refactor/eventbridge_v2: Clean tests for inputs by @maxhoheiser in https://github.com/localstack/localstack/pull/11204
- APIGW NG implement AWS integration by @bentsku in https://github.com/localstack/localstack/pull/11196
- APIGW NG fix last tests by @bentsku in https://github.com/localstack/localstack/pull/11198
- APIGW NG refactor handlers by @bentsku in https://github.com/localstack/localstack/pull/11199
- Upgrade Bookstore test to OpenSearch 2.11 and revalidate by @silv-io in https://github.com/localstack/localstack/pull/11207
- cloudformation: resolve attribute sub names from model instance by @sannya-singal in https://github.com/localstack/localstack/pull/11212
- fix defaults for ResourceGroups::Group provider by @pinzon in https://github.com/localstack/localstack/pull/11217
- Refactor/eventbridge v2 clean tests event pattern by @maxhoheiser in https://github.com/localstack/localstack/pull/11189
- Fix mounting of pro code in localstack.dev.run by @dominikschubert in https://github.com/localstack/localstack/pull/11222
- fix: kinesis CBOR blob handling by @simonrw in https://github.com/localstack/localstack/pull/11220
- fix S3 CRC32 checksum with empty body logic by @bentsku in https://github.com/localstack/localstack/pull/11225
- force all APIGW providers to use NextGen if main one is set by @bentsku in https://github.com/localstack/localstack/pull/11219
- Fix: Set ci logs to default value by @maxhoheiser in https://github.com/localstack/localstack/pull/11230
- CFn: AWS::StackId returns ARN by @simonrw in https://github.com/localstack/localstack/pull/11228
- Move shared Pipes infrastructure to Lambda ESM by @joe4dev in https://github.com/localstack/localstack/pull/11231
- apigw next gen add circle ci pipeline by @cloutierMat in https://github.com/localstack/localstack/pull/11226
- Apigw ng refactor headers to werkzeug headers by @cloutierMat in https://github.com/localstack/localstack/pull/11227
- refactor AWS::APIGW::Method resource provider by @pinzon in https://github.com/localstack/localstack/pull/11236
- APIGW NG Refactor IntegrationRequest for Proxy Integration by @bentsku in https://github.com/localstack/localstack/pull/11234
- fix SOURCES.txt by avoiding plux entrypoints command by @alexrashed in https://github.com/localstack/localstack/pull/11229
- Update CODEOWNERS by @localstack-bot in https://github.com/localstack/localstack/pull/11238
- Bump moto-ext to 5.0.11.post1 by @viren-nadkarni in https://github.com/localstack/localstack/pull/11232
- Fix: CFn security group id by @simonrw in https://github.com/localstack/localstack/pull/11239
- Group lambda event source mapping tests by @joe4dev in https://github.com/localstack/localstack/pull/11233
- Refactor/eventbridge_v2: Remove duplicated tests in rule file by @maxhoheiser in https://github.com/localstack/localstack/pull/11205
- Add label to SFN map state by @u-minor in https://github.com/localstack/localstack/pull/11073
- fix flaky test_edge.py by explicitly waiting for proxy by @alexrashed in https://github.com/localstack/localstack/pull/11248
- Apigw ng implement header remapping by @cloutierMat in https://github.com/localstack/localstack/pull/11237
- APIGW NG fix user_request format parsing by @bentsku in https://github.com/localstack/localstack/pull/11250
- APIGW NG add routing exceptions by @bentsku in https://github.com/localstack/localstack/pull/11251
- fix APIGW NG response enricher handler by @bentsku in https://github.com/localstack/localstack/pull/11256
- fix typing of kwargs for lambda URL router by @bentsku in https://github.com/localstack/localstack/pull/11246
- skip flaky firehose test by @alexrashed in https://github.com/localstack/localstack/pull/11258
- allow SSM::GetParameter action to use ARNs instead of only names by @pinzon in https://github.com/localstack/localstack/pull/11218
- fix: ttl with a reserved keyword as attribute by @giograno in https://github.com/localstack/localstack/pull/11254
New Contributors
- @u-minor made their first contribution in https://github.com/localstack/localstack/pull/10057
- @l-melon made their first contribution in https://github.com/localstack/localstack/pull/11102
- @jcollado made their first contribution in https://github.com/localstack/localstack/pull/11089
- @gregfurman made their first contribution in https://github.com/localstack/localstack/pull/11106
- @Badg made their first contribution in https://github.com/localstack/localstack/pull/11103
Full Changelog: https://github.com/localstack/localstack/compare/v3.5.0...v3.6.0