v0.14.0
版本发布时间: 2022-02-03 18:09:27
localstack/localstack最新发布版本:v3.7.2(2024-09-06 20:47:10)
LocalStack release 0.14.0
Announcements
-
Breaking changes:
- This version introduces the external service port range in LocalStack. This port range has been used in LocalStack Pro before, but has now been moved to the community edition. While doing so, the port range has been broadened (it now ranges from 4510 to 4559). Please make sure to adjust your Docker configurations to expose this port range (such that external services started within the container can be reached) or use the latest version of the LocalStack CLI to manage your LocalStack container.
- When using ElasticSearch with the
ES_ENDPOINT_STRATEGY=port
(formerlyoff
) andES_MULTI_CLUSTER=0
, a port from the external service port range is used (instead ofPORT_ELASTICSEARCH
or4571
by default).
-
Upcoming breaking change: This version deprecates the
ES_ENDPOINT_STRATEGY
,ES_MULTI_CLUSTER
, andES_CUSTOM_BACKEND
. Instead, theOPENSEARCH_*
variables should be used. TheES_ENDPOINT_STRATEGY=off
is being renamed toport
(i.e. please useOPENSEARCH_ENDPOINT_STRATEGY=port
from now on).
Change log
1. New Features
- add initial support for SNS PublishBatch API
- add support for email-json protocol in SNS subscriptions
- add support for AWS OpenSearch
- support multi arch for local-kms provider
- support invocation of local API URLs via stepfunctions
2. Enhancements
- bump moto-ext to latest version
- minor refactoring in SNS get_message_attributes() method
- add utilities for migrating services to ASF
- minor refactoring in selecting handler in edge.py for better extensibility
- add check for supported protocols on SNS subscription
- adjust routing to enable using anonymous boto3 client to fetch S3 object
- refactor Lambda executors to allow modification of container settings using hooks
- minor adjustments in patch decorator for bound methods of class instances
- hardcode default tmp and data paths
- Add handling for DynamoDB stream iterator expiration, bump kinesis-mock to 0.2.2
- remove obsolete moto imports in CloudFormation resource classes
- remove obsolete patch for CloudWatch metrics filtering
- cleanup CloudFormation logic and remove old/obsolete code
- add utility to manage / reserve ports for external services
- invalidate builder stage in dockerfile on package version changes
- use base_url instead of url for determining SQS queue URL
- add cachetools to CLI dependencies
- set MessageGroupId and MessageDeduplicationId on SQS message from SNS subscription
- Introduce lazily-created localstack-internal-awssdk utility lambda function
- capture X-AMAZON-APIGATEWAY-ANY-METHOD for cases where route key is for integrations
- provide better log info when CloudFormation resources cannot be found
- clean up old/unused CloudFormation logic
- refactor SQS queue-url generation
- extend SNS publish batch support for FIFO topics
- remove monkey patching and circular dependency
- refactor sqs queue resolving and url rendering
- minor refactoring of CFN logging code to dump resources as JSON string
- clean up aws_stack utils, remove obsolete global cached boto3 resources
- add missing CloudFormation parameters for Firehose delivery streams
- migrate firehose to ASF
- stop setting environment variable if cognito_identity if empty
- Kinesis refactor server abstraction
- Allow container client to connect/disconnect containers to/from a network
- handle SSE for sqs
- refactor config and rip out global port/url variables
- add connection parameters and credentials to EventBridge API destinations
- replace function calls with literal syntax and remove unnecessary comprehensions
- broaden the external service port range, adjust docker-compose
- update Docker base image (python:3.8.12-slim-buster) digest to 3544d06
- add util function for deletion of None-values from dicts
- combine OpenSearch and Elasticsearch backends
- update exposed ports and docker-compose
3. Bug Fixes
- fix CloudFormation deployment of SNS::TopicPolicy
- fix handling of empty prefix for Firehose S3 uploads to properly trigger event notification
- fix external host setting for sqs
- fix acronym handling in camel_to_snake_case
- fix API Gateway to match the most specific path in the presence of "{proxy+}" placeholders
- fix asf scaffold to generate TypedDict declarations correctly
- fix sqs port extraction from headers and other related issues
- fix ASF SQS provider to allow direct calls to queue URLs
- fix DynamoDB local/localhost region for NoSQL Workbench
- fix ASF SQS xml response encoding
- fix request parser to enable X-Amz-Target strings with multiple dots
- fix expectations around Kinesis record encoding, always re-encode records for shard subscribers
- fix CloudFormation deployer to recursively resolve string placeholders
- fix ASF REST operation lookup with conflicting path params
- fix DomainValidationOptions property in ACM Certificate CFN deployment
- fix access to listener in logic for restarting Kinesis
- fix issue rendering VTL templates for API Gateway by flattening the input
- fix accessing external SQS port for intra-service communication
- fix positional args in CloudFormation find_change_set(..) method
- fix SNS PublishBatch logic for optional Subject atttribute
- fix Kinesis installation via LPM, add Docker check for StepFunctions installation
- fix docker client ctx manager and json decode issues on windows
- fix passing Conditions on stack updates, refactor/simplify CFN function arguments
- fix EC2 route tables and service backend initializations for recent upstream moto changes
- add config for host path to fix mounting of libs_dir
- minor fix in SNS tests to resolve stale PR merge
- minor fix in printing result for local node.js Lambda executor
- ASF rest-json parser fixes
- minor fix in request parsing to match path parameters with slashes
- replace get_data() with response.content to fix logic in SNS HTTP subscriptions
- fix gzip handling in SSL proxy