Change Log:
LocalStack release 0.11.3
1. New Features
- switch to Quart Server for initial version of HTTP/2 support for API endpoints
- add support for IAM SimulatePrincipalPolicy
- add persistence support for SNS
- add API Key validation in API GW
- support expiry in S3 multipart POST
- support Elasticsearch snapshot repo
- support StepFunctions targets in scheduled event rules
- move /health check endpoint to edge port
- use moto instead of ElasticMQ as default backend for SQS
2. Enhancements
- add thread synchronization to Lambda config initialization
- point Lambda LOCALSTACK_HOSTNAME to main container directly
- add CORS headers to all OPTIONS responses by default
- upgrade DynamoDB to latest backend version
- encode account ID in SQS queue URLs
- add handling of query parameters in SNS requests
- determine proper external port in SQS URLs
- add missing Record values to Kinesis stream listener response
- support CF condition based on AccountId
- delete event source mappings on deletion of DynamoDB table
- return proper response details on Lambda invocation error
- store SSL certs to random tmp files in case of permission issues
- enhance path matching for API Gateway invocations
- pass HTTP_PROXY to Lambda if configured
- skip Lambda invocation if event source mapping is in state Disabled
- cleanup asyncio thread pool on shutdown
- make sync/async Lambda event sources configurable
- add Firehose support for EventBridge targets
- pass multivalue headers from API GW to Lambda
- filter out Lambdas by region in ListFunctions
- remove Python 2 tests in CI
- add EventBridge schedule expression for HTTP subscribers
- add UnsubscribeURL to SNS notification message
3. Bug Fixes
- fix binary MessageAttribute for SNS->SQS
- fix CF deploy issue with SNS resources, IAM role policy document
- fix direct access to queue URLs with new SQS backend
- fix handling of S3 multipart form upload via edge port
- fix API GW response on DELETE Lambda integration
- fix Terraform deletion of EC2 NAT Gateways
- fix Windows host path for Lambda volume mounting
- fix error responses for S3 Content-MD5 header
- fix S3 bucket creation date for Java SDK v2
- fix handling of S3 LocationConstraint on bucket creation
- fix DynamoDB DeleteEventSourceMappings in case tableARN is None
- fix format of S3 InvalidRange error response
- fix edge mapping for CloudWatch, S3 HEAD requests, SQS requests
- fix DynamoDB shard IDs
- fix lower case for SQS->Lambda message attributes
- fix S3 CORS policy with single origin
- fix S3 storage class on multipart upload
- fix S3 timestamp format
- fix chunked encoding in S3 responses
- fix passed parameters on API Gateway proxy resource method call
- fix JSON safe dumping of bytes in API Gateway