LocalStack release 0.13.1
Announcements
- Upcoming breaking change: This version introduces the
LEGACY_PERSISTENCE
config, which determines whether the legacy persistence mechanism (based on API calls record&replay) should be used. Currently still defaults toLEGACY_PERSISTENCE=1
, but the logic will be disabled by default and may get removed entirely in a future release. (Please note: this is only affecting the legacy persistence in Community - if you're using the Pro version, you can ignore this message.)
Change Log
1. New Features
- add LocalStack Package Manager (lpm) CLI
- add plugin-based hooks for bootstrapping and infra startup
- add functionality for custom Elasticsearch backends
- add support for stay-open mode for docker-reuse Lambda executor
- add cli command to show current config
- add initial integration of Route53Resolver API
- add multi-region support for StepFunctions state machines
2. Enhancements
- refactor handler chain and add MessageModifyingProxyListener to enable modification of requests/responses
- add Directories config object and introduce directory structure
- use unittest.mock.patch.object for overriding config params
- publish logs per metric and remove faulty metric filter behavior in CloudWatch API
- add Docker tags for minor and patch versions
- exclude Elasticsearch >=7.14.0 client versions for OpenSearch compatibility
- add SIGINT signal handler for CLI to enable clean shutdown across different operating systems
- clean up obsolete patches for event_rules in EventBridge API
- slightly refactor StepFunctions install logic for better extensibility
- add flag to check port availability in start_proxy_server(..) to fix test flakes
- increase timeout when waiting for edge port to become available
- allow redirection of var libs to static libs inside the container / move dependencies to correct folders
- update startup hook that initializes and restores persistence
- download test-jar for Lambda integration tests with
make init-testlibs
- filter warnings about "tail unrecognized file system" from Lambda logs
- add basic Architectures support to Lambda API
- get hostname by using gethostname() instead of reading /etc/hostname
- add patch utility
- add .localstack config directory and config profiles
- add initial support for KMS Sign API
- skip time expiration validation for presigned S3 URL when
S3_SKIP_SIGNATURE_VALIDATION=True
- remove dead event logging code
- move machine id cache to new cache directory
- add missing attributes for Lambda::Function CloudFormation resources
- add "is running" check before restarting Kinesis and StepFunctions services
- add module init file for localstack.runtime
- add support for SNS delivery logs stored to CloudWatch Logs
- explicitly handle S3 OPTIONS request with "Access-Control-Request-Method" header
- add psutil as CLI requirement
- strip extra xmlns attributes in PutBucketNotification responses for AWS Rust SDK compatibility
- update Makefile to use new cli detach flag for smoke test
- patch CFN stack outputs for API Gateway
- make can_use_sudo use non-interactive mode
- migrate several tests from unittest -> pytest
- re-arrange Dockerfile commands to decrease image size and increase number of cache hits
- pin Docker base images, enable DependaBot/RenovateBot to update once a week
- apply boolean lowercase conversion in IAM responses for all clients (not only Node.js SDK)
- enable Docker buildkit cache inlining, use remote Docker layer cache
- patch
LogStream.filter_log_events
to useget_pattern_matcher
- minor refactoring of EventBridge utils, fix location of
EVENTS_TMP_DIR
- minor: improve parameter checks and error responses for SES SendEmail
3. Bug Fixes
- fix returning formatted date string for requestTime in Lambda API GW events
- fix edge routing for API Gateway invocation URLs when Signature= query param is passed
- fix SNS pagination to support large CloudFormation stacks with very large number of topics
- fix lpm to return non-zero exit code if package installation fails
- fix using custom Docker images for nodejs14.x/python3.9 only if no custom registry is provided
- fix MD5 check on S3 requests with "chunk-signature="
- fix "localhost" region in requests headers for compatibility with NoSQL Workbench
- fix Docker flags parsing in configure_container
- fix tests and remove obsolete patch for CloudWatch metrics filtering
- fix setting HMAC/non-HMAC credentials when injecting internal Authorization headers in requests
- fix OldImage/NewImage in DynamoDB->Kinesis event payloads on updating/deletion of items
- fix creation of multi route table associations in CFN EC2::SubnetRouteTableAssociation resources
- fix deleting objects from non-existing S3 buckets
- fix text/xml content-type header in STS responses
- fix install_go_lambda_runtime for multi-arch build
- fix forwarding of unprintable chars to SQS DLQ
- upgrade pyopenssl version to fix OpenSSL issue, refactor SSL cert generation
- minor fix checking for dict/CaseInsensitiveDict in merge_recursive(..) util function