Localstack

Latest version: v4.3.0

Safety actively analyzes 723158 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 11 of 19

0.12.20

Not secure
**1. New Features**

* major: implement lazy-loading of services
* introduce ApiInvocationContext class to encapsulate API Gateway request context information
* add AWS Service Framework parsers, serializers, and tests
* add AWS Service Framework API and scaffolding CLI
* add initial lifecycle hook abstraction for services
* add `OUTBOUND_HTTP_PROXY` option for proxies when downloading external resources
* add temporary support for python3.9 runtimes via mlupin/docker-lambda images
* add support for more Elasticsearch versions

**2. Enhancements**

* add object-oriented moto server abstraction
* update moto patch to fix CDATA wrapper for SQS message attribute values
* add option to set permissions for save_file(..), save local config file with 0o600 permissions
* upgrade Terraform version to fix CI builds
* refactor API GW logic for easier extraction of resource/method details from invocation context
* add test-invoke-method to test API Gateway endpoints
* add requestId attribute to Lambda event from API Gateway integration
* add more SQS tests to prepare for new SQS implementation
* refactor DynamoDB to use serving.Server
* update Elasticsearch default version in es_api.py
* support version qualifiers for managing Lambda policy statements
* correctly format Lambda function inline code on CloudFormation update
* refactor serving.Server to fix ElasticsearchCluster
* add headers from S3 object and correct codes to S3 website responses
* add defaults for SSM parameter name in CloudFormation model
* extend create_zip_file(..) to support 'append' mode and specifying root directory
* update default/cached Elasticsearch version to 7.10
* extract correct region from target ARN for S3 notifications
* add ability to skip content gzipping for individual services responses
* make boto client creation in aws_stack.connect_to_service thread safe
* add SSM->EventBridge integration to send notifications about parameter changes
* add concurrency control for multiserver startup
* add multi-region support for EventSourceListenerSQS
* add setup.cfg and update build configuration
* pin version of "pip" to fix setup step in CI
* add support for "::" to specify a custom Java Lambda handler method in local executor mode
* fix health endpoint to support feature states
* refactor extract_region_from_headers to make it more reusable
* add generic fallback health check for local APIs
* adjust exposed ports in docker-compose.yml
* add logic and tests to gracefully handle zipping of empty directories
* use Python time for do_run cache time comparison
* add support for routing events to log groups, fix event pattern matching/mapping for prefix filter
* prefix Lambda container names with MAIN_CONTAINER_NAME to support multiple instances in parallel
* allow partial SSE specification and auto-create managed KMS keys for DynamoDB tables
* update troubleshooting guide to not set DOCKER_HOST when using Lambda remote mode in CI
* minor: use existing util function to extract region from ARN
* minor: add generate_default_name_without_stack utility method

**3. Bug Fixes**

* fix docker_utils import in localstack status cli command
* fix AWS::SecretsManager::Secret CloudFormation ARN handling and tests
* fix restarting of DynamoDB process
* fix local execution of Java Lambdas if handler method is implementing `RequestHandler` interface
* fix issues in AWS service framework dispatching
* fix error response when attempting to delete non-existing Lambda
* fix scaffolding for remaining AWS services
* fix Elasticsearch plugin download when building docker base image
* fix check for None values in response multi_value_headers
* fix overwrite behavior for PUT requests to the health endpoint
* fix updates for AWS::IAM::Role in CloudFormation
* fix state checking for active service provider
* fix statement/policy handling for Events::EventBusPolicy CFN resource
* upgrade version of Terraform in base image to fix recent CI build issues

0.12.19

Not secure
**1. New Features**

* add initial support for KMS asymmetric keys
* add initial support for KMS grant operations
* add support for and/or/condition CFN intrinsic functions
* add support for states:::events:putEvents to publish events from StepFunction
* add wildcard support for `EXTRA_CORS_ALLOWED_ORIGINS` configuration

**2. Enhancements**

* move attribute defaults from template_deployer to service models
* cache single instance of request context to enable mutability
* refactor Lambda API delete_function logic for better extensibility
* pass ENABLE_CONFIG_UPDATES environment variable to Docker container from CLI
* support case-sensitive response headers, add ETag to CORS exposed headers for S3 JS SDK compatibility
* add pagination to get_lambda_log_events(..) util function to fix Lambda tests
* log emails sent via SES send_raw_email into local log file
* add ability to pass invocation handler to test HTTP server for API GW integration tests
* add missing event attributes and increase timeout in Java Lambda tests
* rename docker->docker_utils to avoid import/aliasing issues
* minor refactoring of inter-service message forwarding for better extensibility
* add simple util classes ObjectIdHashComparator and ArbitraryAccessObj
* add helper function to mock a request context with a particular region
* refactor and remove fix_resource_props_for_sdk_deployment(..) in CFN deployer
* move delete patches in template deployer to CFN service models
* refactor error handling and add MOCK_UNIMPLEMENTED config to gracefully handle unimplemented APIs
* add ability to pass --workdir to launched containers in Docker client
* allow Lambda plugins to return invocation results directly, create plugin to handle LAMBDA_FORWARD_URL
* increase ElasticSearch cluster startup timeout
* skip forwarding Lambda invocation result if on_successful_invocation is None
* add missing edge routing logic for AWS SDK v2
* add support for s3:ObjectCreated:Copy event in the presence of X-Amz-Copy-Source headers
* add Docker client methods to inspect networks
* wait until port is closed on DynamoDB shutdown/restart
* pass CORS configuration options and Thundra Node.js/Python agent config from CLI to the container
* add util function to restart StepFunctions service process
* minor: check for empty files in download_and_extract(..) util function
* implement PluginDisabled exception to handle disabled plugins
* refactor DDBStreams/ES/Firehose APIs to use RegionBackend classes

**3. Bug Fixes**

* fix potential race condition in Docker container start/wait logic
* fix CFN SecretsManager::Secret to properly return secret ARN as Ref
* fix CFN resource type lookup
* fix deploying Lambdas with colliding names due to common prefixes
* fix issue with single quotes in payload for Node.js Lambda in local execution mode
* fix deployment of DynamoDB table with SSE disabled in Terraform definition
* fix selection of sub-elements in SQS listener XML responses
* fix Lambda SNS event source attribute as `aws:sns` instead of `localstack:sns`
* minor fix to avoid running multiple edge proxies on the same port

0.12.18

Not secure
**1. New Features**

* add generic LocalStack plugin framework
* implement CLI using click, rich, and stevedore
* add Node.js/Python/java8.al2 runtime support for Thundra plugin
* add extensible class abstraction for Lambda event source listeners
* introduce Lambda executor plugin mechanism to hook in custom extensions at runtime
* add support for local execution of Go Lambda functions
* add support for generated secrets in CFN SecretsManager::Secret
* add initial version of Config Service API

**2. Enhancements**

* make some integration tests more lenient to environment changes
* add attributes to SQS messages from Lambda event source mapping
* add support for LS_LOG=trace-internal log level
* add check if DNS_ADDRESS is zero before starting the DNS server
* consider function alias when resolving Lambda function or layer ARN
* refactor Lambda executor methods to use InvocationContext as input param
* move pre- and post-create CFN actions from template_deployer to resource models
* extend util function for creating simple SSL proxy servers
* add plugin_spec to signatures of PluginLifecycleListener
* move API imports in infra.py to respective start methods
* add missing SSEDescription and TableId entries in DynamoDB DescribeTable calls
* add ability to specify --network via DOCKER_FLAGS config
* add util function to manually configure region for current request context
* enable sync/async SFN invocations in API Gateway integration
* remove obsolete patches for Logs metric_filters
* add test for deletion of SQS messages with changed visibility
* parse volume mount flag with regex to allow windows paths and additional arguments
* support `<apiId>.execute-api.*` hostnames for API Gateway invocation URLs
* distinguish polling and reactive mode in EventSourceListener
* add CloudFormation support for AWS::Events::EventBusPolicy
* create SQS queue policy for AWS::SQS::QueuePolicy CFN resource
* add support for DefinitionSubstitutions in CFN StateMachine resources
* add support for ApiGateway::DomainName and ::BasePathMapping CFN resources
* add get_physical_resource_id() for ApiGateway::Deployment
* add ability to specify SelfManagedEventSource for CFN Lambda::EventSourceMapping
* update kinesis-mock to 0.2.0, adding built-in multi-region support
* add startup logic to install prebuilt SSL cert if available
* update setup.py with additional information
* run Golang local test only if executed in Alpine
* run LocalStack tests against LocalStack Pro in Github Action
* rework some integration tests to make them more robust
* restructure Python requirements, Dockerfile and Makefile
* add `LAMBDA_CODE_EXTRACT_TIME` to configure max Lambda code extract wait time
* add default name for IAM::ManagedPolicy CFN resource
* aggregate valid regions accross all available partitions, to support regions like us-gov-*
* disable cli banner when running infra in docker
* move code in RESOURCE_TO_FUNCTION into service models, split into separate files
* add exception handling to EventBridge notifications if targets are unaccessible
* inject AWS_ENDPOINT_URL into Lambda container environment
* add plug points for code/config initializations in LambdaExecutorPlugin
* refactor `testutil.py` to deploy large Lambda zip files via S3
* add separate section with service provider configurations to README
* disable shell mode in run(..) util if cmd is passed as a list
* pass Cognito Identity info through HTTP headers, return `InvocationResult` with content instead of wrapping as Flask response for LAMBDA_FORWARD_URL
* add util functions get_edge_port_http() and is_provided_runtime(..)
* add localstack infra cli command for backwards compatibility
* add test assertion to verify value of maxReceiveCount in SQS RedrivePolicy
* extend logic to apply request/response templates in API GW messages
* add support for synchronous invocations of StepFunctions via API GW
* support `--add-host` argument in `LAMBDA_DOCKER_FLAGS`
* add simple integration tests for Support API
* add utility function to parse properties/INI config files
* add restart method for Kinesis and DynamoDB processes
* add util function to inject specific region into AWS Authorization header
* inject missing Lambda environment variables in local Lambda executor
* add resource id to auto-generated Lambda name in CFN stacks
* add warning message for LAMBDA_EXECUTOR=docker* if Docker is not accessible
* consolidate .coveragerc and .flake8 config int pyproject.toml
* minor: remove references to PORT_WEB_UI in docs
* minor: add util function to extract access_key_id from auth header, add type hints to utils
* minor: expose private Docker client methods as static methods in Docker Util class

**3. Bug Fixes**

* fix logic and add test for edge invocations from AWS Go SDK v2
* fix CFN list_stack_resources() for stacks with deleted resources
* fix ApiKeyRequired in API Gateway CloudFormation resources
* fix code updates of Lambda functions for Docker executor
* fix EC2/Logs tests after upstream changes
* fix raw message delivery attribute for SNS/SQS subscriptions
* fix documenting TMPDIR and HOST_TMP_FOLDER in docker-compose
* fix getting IP addresses of Docker containers with non-default networks
* fix template deployer and tests to retrieve updated PhysicalResourceId for EC2::Instance
* fix spaces in JSON events passed to custom runtime
* fix AWS::ApiGateway::Account regression
* fix argument error in exception handling in lambda_api.py
* fix adding tags to SQS queues when value is an empty string
* fix missing request parameters in CFN ApiGateway integration
* fix responding to S3 website requests with proper object content-type
* minor fix in regex to parse Docker volume flags
* restructure and clean up README.md

0.12.17

Not secure
**1. New Features**

* security fixes: replace Docker CLI commands with Docker Python SDK client
* add support for multi-region request handling
* add ability to specify custom IDs for API GW REST APIs via tags
* add CloudFormation support for Events::Connection
* add EDGE_FORWARD_URL option to forward all edge requests

**2. Enhancements**

* update README and coverage docs with latest available services
* canonicalize boolean strings in SNS FIFO topic creation via CloudFormation
* canonicalize HTTP header names in API GW Lambda events to lower-case
* add basic interface for StateSerializer to be used in persistence mechanism
* add support for Route53 GetHealthCheck
* minor refactoring of imports to fix CLI dependency issues
* deploy extended attributes for IAM::User CloudFormation resources
* add ability to run privileged ports 53/443 in local dev mode
* return S3 bucket hostname for "DomainName" CF attribute
* restructure Thundra plugin code and fetch latest Java agent version from metatata xml in repository
* add support for IAM::User CloudFormation resources
* add missing CloudFormation properties for SNS::Topic
* update download URL for patched DynamoDB in base Docker image
* add fallback for boolean type conversion in CloudFormation deployments
* update analytics event logging system
* add Thundra config variables to `config.CONFIG_ENV_VARS` to pass them to Docker instance
* refactor logic across the codebase to make use of the Docker client utils
* extend merge_recursive(..) util function
* introduce KMS_PROVIDER env variable and switch to moto as default KMS provider
* add cleanup of docker-reuse Lambda containers if code/configuration is updated

**3. Bug Fixes**

* fix logic and tests for decimals formatting
* fix removing X-amz-content-sha256 header after stripping off chunk signatures
* fix/revert lookup of OS user inside Docker container
* fix patches in Logs API to accommodate recent upstream changes
* fix KMS listener initialization
* fix extracting event bus name as Ref attribute from CF Events::EventBus resources
* fix Kinesis CBOR response encoding for Java SDK compatibility, extend tests
* minor fix for handling symlink targets in cp_r(..)
* minor fixes to enable deployment of arc.codes sample app
* minor fix: consider Flask&Requests responses in aws_responses utils

0.12.16

Not secure
**1. New Features**

* add integration for Thundra tracing via `THUNDRA_APIKEY`
* add support for local execution of Node.js lambdas
* add support for DeleteAlias and TracingConfig in Lambda API
* support sequential Lambda execution for Kinesis streams, using ParallelizationFactor
* support resolving SSM parameter values in CloudFormation templates
* add possibility for services to subscribe to runtime config changes
* add `TEST_TARGET=AWS_CLOUD` option to run tests against real AWS

**2. Enhancements**

* update README with instructions to build the Docker image
* add integration test for EC2 route table association
* adjust updated download URL for patched DynamoDBLocal.zip
* update kinesis-mock version to fix missing Logger classes
* store SES templated email messages to DATA_DIR or tmp folder for easier debugging
* refactor and extend AWS response parsing utils
* remove Web dashboard process from supervisord.conf
* extend test utils to pass in an auth_creator_func(..) for creating API GW authorizers
* minor: remove deprecated web UI documentation
* add option to disable boto3 retries/timeouts
* remove EventBus proxy listener patches for Tags operations handled upstream
* integrate and use the util function to remove Docker env files
* print version string if Terraform version check fails in integration tests
* replace `unparse` with custom XML serializer for AWS responses
* support CloudFormation string placeholders with triples like `"${resource.attr.subattr}"`
* improve kinesis startup routine and add KINESIS_MOCK_FORCE_JAVA config option
* replace botostubs with boto3-stubs in test fixtures
* add retry logic for downloading Elasticsearch plugins to fix temporary network issues
* extend ACM ARN integration test when importing certificates
* improve infra graph code, extend tests, add new fixtures
* add tests for Lambda invocation destinations
* add unit tests for common and config
* add JSON safe parsing when processing API GW event in local Javascript Lambda
* patch moto to include region header for GET and HEAD requests
* update CI workflow to aggregate coverage report
* use JAVA_TOOL_OPTIONS to apply LAMBDA_JAVA_OPTS in Java Lambdas
* cleanup and refactor CI configurations
* add default account_id for API GW Lambda invocation events
* add ability to define UDP Docker ports in PortMappings class
* strip off warning messages when extracting Docker container ID from stdout
* add exception response when calling DeletePolicy on non-existent IAM policy
* refactor Lambda executor to use unified container API and break apart container/Lambda logic
* pin version of "requests" library to fix import errors in Lambda tests
* add feature that saves LocalStack version info into data dir
* add pre-commit hook that runs linting and formatting
* add support for CloudFormation Fn::GetAtt WebsiteURL for S3 buckets
* refactor JSONPatch implementation for API GW to handle edge cases more reliably
* add make targets for linting and formatting only modified files
* add proper headers when triggering API destination target
* add CORS headers required for AWS SDK v3
* refactor Firehose and properly return "ExtendedS3DestinationDescription" with extended attributes
* add support for API Gateway documentation parts (tf-compat)

**3. Bug Fixes**

* fix regex to extract API ID in hostname from API GW endpoint URL
* fix logic in inject_test_credentials_into_env(..) to set custom env parameters for Lambda functions
* fix DynamoDB to Kinesis stream event format - add "tableName", remove "StreamViewType"
* fix Docker detection on hosts with cgroup v2 (unified hierachy)
* fix running multiple API Gateway JSON Patch operations in sequence (tf-compat)
* fix timestamp format of Lambda event source mappings for TF compatibility
* fix returning error response when requesting ACL for non-existing S3 bucket
* fix edge routing to match rules if request host contains a dot "."
* fix EXTRA_CORS_ALLOWED_ORIGINS environment variable to match docs
* fix ARN structure for EventBridge resources
* fix extraction of EventBridge API destination name using new ARN format
* fix S3 host-based routing detection
* fix accessing missing "body" from Lambda response in API GW
* fix JSON Patch for API GW method settings
* fix some data types for API GW patch operations
* fix "application/xml" content-type header for S3 responses
* minor: fix file path in "config validate" CLI command

0.12.15

Not secure
**1. New Features**

* add support for Kinesis CBOR error messages
* add CF support for CertificateManager::Certificate

**2. Enhancements**

* security fixes: bind edge service to 127.0.0.1 by default (instead of 0.0.0.0)
* format the codebase with black and isort
* make for-loop in Makefile /bin/sh compatible
* add flake8 rule F401 (unused imports)
* update code style badge in README.md
* run pre-release smoke tests for Pro features in CI builds
* remove quiet parameter from service starting
* refactor common.py and add tests
* remove dead/unused CloudFormation code
* update bug-report issue template to assign correct label
* add workaround for kinesis-mock persistence startup failure
* reduce log verbosity for CORS/origin checks
* update .dockerignore to exclude files generated in CI build
* restructure Elasticsearch process management
* add unit test for moto parsing of complex params from querystring
* refactor tests to fix/invert order of arguments in test assertions
* refactor test_integration.py to use randomly generated resource names
* minor formatting in bug-report issue template

**3. Bug Fixes**

* add additional allowed CORS origins to fix Cognito issues
* fix processing of empty values in EventBridge event filters
* fix JSON Patch operations for API Gateway usage plans
* fix detection of resource status to allow re-deployment of CF stack after deletion
* fix installation of debugpy via pip module instead of calling pip CLI
* fix minor formatting issues in http/proxy server

Page 11 of 19

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.