cunningham-lab / neurocaas_contrib

Repo to help develop on AMIs associated with NeuroCAAS
GNU General Public License v3.0
2 stars 4 forks source link

Bump localstack from 0.11.3.3 to 0.12.11 in /src/neurocaas_contrib/docker_mats/prod_env #43

Open dependabot[bot] opened 1 year ago

dependabot[bot] commented 1 year ago

Bumps localstack from 0.11.3.3 to 0.12.11.

Release notes

Sourced from localstack's releases.

LocalStack release 0.12.11

Change Log:

LocalStack release 0.12.11

1. New Features

  • add support for ResourceGroupsTaggingAPI
  • add support for Kinesis targets in EventBridge
  • add PERSISTENCE_SINGLE_FILE configuration
  • add HOSTNAME_FROM_LAMBDA configuration to enable connectivity in compose stacks with dynamic container names
  • add filtering in EventBus using event patterns: prefix,numeric,anything-but
  • add throttling support for DynamoDB BatchWriteItem requests

2. Enhancements

  • add dynamic DNS check to fix issues with resolving s3.localhost.localstack.cloud
  • refactor CF model and fix deletion method for Lambda::Function
  • add missing $context variable for VLT templates
  • add requestTemplates attr for ApiGateway::Method
  • add domainName and apiId to Lambda events for API Gateway invocations
  • remove default cache-control header in S3 responses
  • handle x-id query parameter for S3 DeleteObjects requests
  • remove obsolete USE_HTTP2_SERVER and HOSTNAME configuration variables
  • add missing resourcePath to API GW Lambda events to fix Chalice invocations
  • strip quotes off StreamARNs when creating Kinesis stream consumers
  • enhance CloudFormation support for API GW Model resources
  • minor: refactor Lambda impl. for better extensibility
  • minor refactoring in tests and AWS response utils

3. Bug Fixes

  • fix missing PATCH method in API GW CORS configuration
  • fix Event::Rule CF model to properly deploy rule with custom event bus
  • fix fetching Lambda details using ARN as well as partial ARN
  • fix bug in handler for DynamoDB BatchWriteItem API
  • fix S3 presigned URLs with response header overrides
  • fix object tagging for S3 multipart uploads
  • fix API Gateway invocation paths in Lambda events
  • fix returning Arn attribute for Logs::LogGroup CF resource
  • fix idempotency for creation of SNS topics with tags
  • fix DynamoDB to return empty response on no unprocessed items
  • minor fix for accessing non-existing attribute in ACM models

LocalStack release 0.12.10

Change Log:

LocalStack release 0.12.10

1. New Features

... (truncated)

Changelog

Sourced from localstack's changelog.

LocalStack Change Log

(Please also refer to https://github.com/localstack/localstack/releases for a more human-readable version of the change log.)

  • v0.14.3: fix cleanup of event source mapping test; add ASF prototype for server-side parameter validation; add empty-string validation for sqs user queue attributes; add initial support for streaming in ASF scaffold and serializer; add workaround for sqs tag map parsing; migrate apigateway unittest tests to pytest; remove delete integration patch; Handle Cloudformations empty stack updates by changing the changeset status; allow python3.7 to use the CLI again; fix the stale bot by removing bug from exempted labels; fix test_get_queue_url_contains_request_host for pro integration; fix ARN rewriting for incoming requests, fix lambda arn creation; add DISABLE_CORS_HEADERS option to disable default CORS headers; emit analytics event containing CLI command whenever CLI is invoked; rework ASF SQS provider and make it the default; fix ARN rewriting for DynamoDB ASF provider; ci: add labeler action; fix pycharm unit test debug execution by renaming http package; minor fix for CFn deletion of IAM::Role resources; unify SES email logging format; move import_rest_api patch into ASF handler; fix request encoding in generic proxy listener chain and forwarding; add SQS Query API; update generated ASF APIs to latest version; minor fixes in edge HTTPS forwarder and zip utils for dev/host mode; fix DynamoDB error injection and re-enable tests; support UsePreviousValue in CFn parameters to enable idempotent CDK bootstraps; Restructure test fixtures/utils into localstack.testing; fix duplicate authorizer creation on API Gateway OpenAPI import; Refactor container network connection to reuse it outside of lambda; bump moto-ext to version 3.1.9; simplify cloudformation ui resource; fix ASF docs by sanitizing pandoc results; don't suppress stage variables from lambda event; Apigateway OpenAPI import support for authorizers; add map, quiet return functions for VTL template rendering; Fix shutdown error in pytest by waiting for LS to finish correctly; Minor cleanup after events m; add persistence lifecycle hook for services; Fix bytes size calculation with binary items; Revert "add workaround for s3 virtual host addressing (#6026)"; ignore GET and HEAD request body for rest-xml protocol; add workaround for s3 virtual host addressing; fix CLA assistant allowlist; update Docker base image (python:3.10.4-slim-buster) digest to 1678c20; update generated ASF APIs to latest version; restrict GitHub token permissions for Github Actions; Provide hotfix for CFn parameter updates and further CFn tests; fix concurrency issues of cfn and sns tests; migrate events to ASF; migrate IAM to ASF; migrate SNS to ASF; Added utility to filter a dictionary based on a TypedDict keys; configure pytest to log DEBUG to cli by default; Introduce initial snapshot tests; Add filter for cognito identity fields; fix http path encoding in asgi/wsgi adapter; refactor initial set of s3 tests; improve openapi import; add support for #return macros in VTL templates; migrate API Gateway v1 to ASF; remove unused 'reactive mode' event source listener code; allow docker client to modify security opts, explicit exception chaining; Enable signal handlers per default for LocalStack inside a docker container; Update ReadMe to show support for 3.10; fix metric alarm evaluation for data points with value 0; Added utility to list services with a loaded provider; fix access token for CLA bot; add CLA bot; fix test_cloudwatch.py mock patches; add ASGI to WSGI bridge and hypercorn server abstraction; disable strict slashes for ASF REST operation router; Upgrade python version to 3.10; fix HTTP HEAD method operation detection in ASF; add a stale bot to manage stale issues; bump version of moto-ext to 3.1.8; update generated ASF APIs to latest version; add on failure destination implementation and TRIM_HORIZON starting position for create-event-source-mapping; fix small typo for MacOS High Sierra in README.md; remove dead code in DynamoDB API after ASF migration; fix secretsmanager to use ASF instead of moto exceptions; fix ValidationError message in CloudFormation.DescribeStacks; add user survey over README; Add localstack update command; fix op router when matching keys with slashes; update Docker base image (python:3.8.13-slim-buster) digest to 8b65f13; allow http.Request object to retain dashes and key casing; simplify StsAwsApiListener JSON response modification; migrate cloudformation to ASF; log a warning when creating SQS fifo queues without fifo attribute; Fix firehose put record to extended s3; ensure eventID is contained in DDB stream records; apigateway import test extension; fix get_raw_path to unify wsgi/asgi specs; extend s3 virtual host addressing rules exemptions; remove Werkzeug pin after bugfix release 2.1.2; fix text/html Content-Type for local CloudFormation UI; fix invalid characters in asf rest-protocol operation router; add metric-alarm evaluation to Cloudwatch; Generic service name parser; Allow multiple bind addresses to be passed to hypercorn; yaml format should be accepted too; fix lambda package type and code response; update generated ASF APIs to latest version; remove explicit object inheritance; add decorator for adding routes to a Router; fix localstack.http.Request path encoding; Handling TableClass in DynamoDB; add small utility for base64 URL safe encoding; Add SES HTML body to match v2 API spec; move functions to helper module; fix request forwarding for BatchExecuteStatement action in DynamoDB; minor fix to ensure that /static/ routes are properly served by the proxy; DynamoDB - Fix ExecuteTransaction action; specify content type header with curl PUT request; bump version of awscli for compabilibity with poetry; tiny fix to reduce DynamoDB log v; Fix DynamoDB TransactGetItems action; fix backdoor API provided on health endpoint; add headers to dummy WSGI environment; add javaagent loader for DynamoDB local process; set queryStringParameters to None in API GW invocation event if no query params present; bump moto-ext to 3.1.6.1; Test MISSING Function with PartiQL; refactor util to create S3 buckets with location constraints; add task scheduler utility; rework localstack.http.Request object to use a dummy WSGi environment; add optional .fifo suffix to sqs queue url matcher; support nested EventBridge patterns, improve parity with AWS; get_handler_file_from_name when path contains periods; update localstack wait command to use docker logs stream; migrate StepFunctions to ASF; upgrade moto-ext to version 3.1.6; add DynamoDB patch to enable more than 20 GSIs on tables; upgrade kinesis-mock to 0.2.4; update Docker base image (python:3.8.13-slim-buster) digest to 36a1e0b; update generated ASF APIs to latest version; Error message for PAY_PER_REQUEST billing mode with a provisioned throughput; return successfully when attempting to delete a non-existent secret; add unsubscribe confirmation message for sns; fix extraction of oauth_http_parameters for api destinations; fix api detection to apply custom rules and normalize CORS behaviour; migrate SES to ASF; add type hints to PaginatedList; support events apidestination http parameters and fix basic auth; update python to 3.8.13; fix invalid download path for ElasticMQ jar in Dockerfile; fix ResourceNotFoundException when using local secondary index to query dynamodb; update generated ASF APIs to latest version; Fix ResourceNotFoundException for BatchGetItem operation; add a few additional awslocal commands for CI smoke tests; add !Ref support for KMS::Alias CFn resources; add DYNAMODB_SHARE_DB to conf; adds authorizer object to lambda event; Add dotnet 6 runtime; add cloudformation support for s3 bucket versioning; fix ASF operation routing (empty query args, deprecated ops); fix localstack CLI command to allow spaces in Windows paths; migrate DynamoDB to ASF; fix ApiGateway ASF request matching; Fix flaky tests: test_dynamodb_stream_records_with_update_item, test_rotate_secret_with_lambda_2; fix DynamoDB index query validation with Select type ALL_ATTRIBUTES; Custom header x localstack authorization; Rework Lambda Integration tests to work against AWS as well as LocalStack; fix S3 download of XML documents with preamble; Throw error when unzipped lambda code exceeds max size; Support deletion of individual statments of a function policy; update generated ASF APIs to latest version; Fix zone-name filter in describe-availability-zones; add newline after XML preamble in S3 responses for AWS JS SDK compatibility; Unify Lambda Runtime using Runtime API; fix data types for ApiGateway::UsagePlan and numeric !Sub values in CloudFormation deployer; fix KMS_PROVIDER=kms-local back to local-kms; LocationConstraint should be None for us-east-1;
  • v0.14.2: Enable and refactor rotation logic and version stages in SecretsManager; add ability to import keys into KMS; skip installing -ext dependencies in CI tests; reintroduce Lambda log output str casting; add missing UpdateDomainConfig for OpenSearch and Elasticsearch; pin werkzeug version to fix Transfer-Encoding "chunked" on empty responses; fix PaginatedList nextToken generation; migrate Route53 to ASF; fix MessageGroupId for publish batch to SQS fifo queue; fix elliptic curve key specs for KMS keys; apply filter pattern for log subscriptions; skip "online-only" tests, fix some tests; fix broken transitive imports of quart from jinja; migrate STS to ASF; use valid references for EC2 resources to fix CloudFormation tests; migrate KMS to ASF, fix handling of key pairs for SIGN_VERIFY keys; fix Terraform creation of EC2 Security Groups with default egress; fix eager deserialization for 404 responses returned from Lambda; fix CloudFormation Route53 deployment without ResourceRecords; fix ACM DomainValidationOptions to support waiters; migrate EC2 API to ASF; support "Accept" header to switch response format; fix Flask app routes for Lambda API; add CloudFormation support for IAM::ServiceLinkedRole; source API Gateway domain name and prefix from invocation context; add provider for S3Control service; fix broken patch for moto S3 is_delete_keys(..); pin airspeed version and remove patch code; add CloudFormation support for AWS::CDK::Metadata; fix CFn name autogeneration for SQS fifo queues; fix CFn Route53 deployment; fix CFn default name for Kinesis streams; fix logs subscription filter; remove SERVICES from default docker-compose.yaml; round DynamoDB ApproximateCreationDateTime to seconds; fix query request parser for operations without input shape; lazily load subclasses for instance manager to enable plugin loading at runtime; add GetAtt support for AWS::EC2::VPC DefaultSecurityGroup and DefaultNetworkAcl; minor update in patch decorator to allow multiple/composite patches of methods; fix nested stack outputs in CloudFormation; fix handling encoded $ for default stage in API Gateway path regex; fix redirect to index file in S3 website
  • v0.14.1: Push Docker images to public ECR registry on CI build; add internal endpoint to output diagnostics data; add ability to build, tag, and push images using Docker client; add API Gateway SNS integration; add OpenSearch destination to Firehose; implement CloudWatch set_alarm_state and trigger actions; implement in-memory request dispatching to moto; implement generic HTTP route dispatching; CircleCI pipeline parallelization; add GitHub action to automatically update ASF APIs; migrate from requirements.txt/setup.py to setup.cfg; migrate services to ASF (ACM, CloudWatch, CloudWatch Logs, ConfigService, DynamoDB Streams, Redshift, ResourceGroups, SecretsManager, SSM, Support, SWF); migrate resourcegroupstagging API to ASF; split up Docker client, remove obsolete docker client binary from image; refactor handling of API Gateway request/response templates; introduce CODEOWNERS file for code ownership; add timeout to status services cli command; add DynamoDB Streams integration for PartiQL query updates; add ability to extract cookies from API Gateway invocation context; update generated ASF APIs to latest version; add ability to specify timeout and max content length for HTTP server; improve cli startup performance; refactor utils imports in utils and services packages; patch moto Lambda backend to access LocalStack Lambdas directly; add ability to extract tgz archives via download_and_extract utility; allow specifying working directory when running Docker exec; implement regex rules for the http Router; migrate from localstack-plugin-loader to plux; add support for #define function in API Gateway velocity templates; add a GHA workflow to track first-time pull request and issue creators; rework docker capabilities, remove intermediate containers after building images in docker-sdk client; add optimizing and sorting of imports to ASF scaffold; add support for response templates in API Gateway MOCK responses; add mock ECR CFN resource and integration test for CDK bootstrap template v10; add flag to call_moto to exclude the ResponseMetadata; upgrade airspeed dependency and remove custom patches; add helpers to unpause Docker containers; reorganize utility package; add deep copy of handler results to avoid unwanted mutations in parser; add error check for fifo attribute when creating SQS fifo queues; update renovatebot config to ignore Dockerfile.rh; add ApiGateway S3 integration using action name; add method to allow calling moto with a new request in request dispatcher; add resolve_hostname(..) util function, refactor some utils into sub-modules; improve performance of localstack status command; remove six library from dependencies; add failsafe with try/except for creating log streams to guard against potential duplicates; add the ability to snapshot running Docker containers; make autocreating log groups optional; allow service restart in ServiceContainer from STOPPED state; add support for DefinitionS3Location in StepFunctions::StateMachine model; remove superfluous CloudWatch response processing; add PaginatedList for paginating and filtering response lists; add default entries in CloudFormation stack template dict to avoid KeyError; docs: refactor third party software tools docs and remove announcements in README; refactor some tests to pytest (e.g., Lambda, EC2); configure test coverage exclusions; make lambda output truncation configurable; fix ASF parser and serializer issues; fix custom error responses from lambda when handler throws an exception; fix OpenSearch data dir issue that would block startup in pro; fix encoding problem for AlarmDescription in put-metric-alarm; fix making typing_extensions import dependent on python version; fix ApiGateway v2 path-base style requests without stages; fix several ASF parser, serializer, and scaffold issues; fix replacement of AWS::NoValue, add default props for Elasticsearch::Domain resources; fix service provider configuration override; fix edge route mapping for STS AssumeRole; fix API Gateway integration with Kinesis; fix linting issues by pinning flake8-black; fix python 3.7 compatibility with TypedDict for cli; fix ASF xml-rest parser location- and payload-trait handling; fix CloudFormation stack class to return latest raw template if change sets are present; fix OpenSearch cluster shutdown in tests; fix parameter for StateMachine type in CFN model; fix uncapped recursion bug in parser
  • v0.14.0:
    • !!Breaking Change!!: ElasticSearch does not use port 4571 anymore, but selects a port from the external service port range (when using endpoint strategy "port"). External service ports have been broadened (4510-4559).
    • Changes: fix CloudFormation deployment of SNS::TopicPolicy;add initial support for SNS PublishBatch API;minor fix in SNS tests to resolve stale PR merge;add test case for SQS DLQ chaining;fix handling of empty prefix for Firehose S3 uploads to properly trigger event notification;fix external host setting for sqs;minor refactoring in SNS get_message_attributes() method;update versions of terraform, aws provider, and API gateway module;add config for host path to fix mounting of libs_dir;add utilities for migrating services to ASF;fix acronym handling in camel_to_snake_case;minor refactoring in selecting handler in edge.py for better extensibility;add check for supported protocols on SNS subscription;add support for email-json protocol in SNS subscriptions;fix API Gateway to match the most specific path in the presence of "{proxy+}" placeholders;fix asf scaffold to generate TypedDict declarations correctly;adjust routing to enable using anonymous boto3 client to fetch S3 object;refactor Lambda executors to allow modification of container settings using hooks;temporarily pin version of moto until upstream changes are fixed;apply fixes in EC2 route tables and service backend initializations for recent upstream moto changes;add support for AWS OpenSearch;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;minor: remove obsolete moto imports in CloudFormation resource classes;Support multi arch for local-kms provider;fix sqs port extraction from headers and other related issues;minor fix in printing result for local node.js Lambda executor;remove obsolete patch for CloudWatch metrics filtering;cleanup CloudFormation logic and remove old/obsolete code;ASF rest-json parser fixes;fix ASF SQS provider to allow direct calls to queue URLs;add utility to manage / reserve ports for external services;fix DynamoDB local/localhost region for NoSQL Workbench;minor fix in request parsing to match path parameters with slashes;invalidate builder stage in dockerfile on package version changes;use base_url instead of url for determining SQS queue URL;fix ASF SQS xml response encoding;add cachetools to CLI dependencies;set MessageGroupId and MessageDeduplicationId on SQS message from SNS subscription;Introduce lazily-created localstack-internal-awssdk utility lambda function;add test for sync:2 nested statemachine invoke;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;fix request parser to enable X-Amz-Target strings with multiple dots;extend SNS publish batch support for FIFO topics ;remove monkey patching and circular dependency;fix expectations around Kinesis record encoding, always re-encode records for shard subscribers;fix CloudFormation deployer to recursively resolve string placeholders;refactor sqs queue resolving and url rendering;fix ASF REST operation lookup with conflicting path params;minor refactoring of CFN logging code to dump resources as JSON string;clean up aws_stack utils, remove obsolete global cached boto3 resources;replace get_data() with response.content to fix logic in SNS HTTP subscriptions;fix DomainValidationOptions property in ACM Certificate CFN deployment;add missing CloudFormation parameters for Firehose delivery streams;Extend cloudformation deploy test fixture;migrate firehose to ASF;stop setting environment variable if cognito_identity if empty;Kinesis refactor server abstraction 5265;Allow container client to connect/disconnect containers to/from a network;fix access to listener in logic for restarting Kinesis;handle SSE for sqs;fix issue rendering VTL templates for API Gateway by flattening the input;fix accessing external SQS port for intra-service communication;refactor config and rip out global port/url variables;bump moto-ext to latest version;minor fix for gzip handling in SSL proxy;fix positional args in CloudFormation find_change_set(..) method;add connection parameters and credentials to EventBridge API destinations;minor: replace function calls with literal syntax and remove unnecessary comprehensions;fix SNS PublishBatch logic for optional Subject atttribute;Enable invocation of local API URLs via stepfunctions;fix Kinesis installation via LPM, add Docker check for StepFunctions installation;Fix docker client ctx manager and json decode issues on windows;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;Fixing integration tests against pro;fix passing Conditions on stack updates, refactor/simplify CFN function arguments;update exposed ports and docker-compose
  • v0.13.3: Add initial ASF (AWS Service Framework) SQS provider implementation; add support for gzipped responses in SSL proxy via Accept-Encoding headers; fix API gateway proxy resources; add automatic docker network detection for lambda containers; fix passing of request parameters to API Gateway HTTP integrations; lowercase 'accept' headers in API Gateway for parity with AWS; add negative test for SNS FIFO topic validation, migrate SNS tests from unittest to pytest; add support for dynamic SSM/SecretsManager references in CloudFormation templates; add ability to customize default IAM/STS user via TEST_IAM_USER_ID/TEST_IAM_USER_NAME; add integration test that passes binary data via APIGateway to Lambda; fix Firehose-ElasticSearch integration, allow S3Backup AllDocuments with ElasticSearchDestination; refactor StepFunctions multi-region support to use upstream changes; add proper validations for SNS/SQS integration with fifo queues; allow provider overrides to be passed to the started localstack container; fix multiple service container creation; ensure SequenceNumber is present in Lambda events from DynamoDB Streams; support updating of API Gateway resources via PATCH operations; refactor logging code to replace string interpolation with passing arguments to log methods; fix extraction of filter values for describing EC2 prefix lists; refactor code to remove unnecessary list comprehensions; refactor code to remove mutable default arguments; pull out subtypes instance manager into separate util class for reusability; fix single-space env default in docker-compose; update and clean up outdated documentation; replace dict and list function calls to literal syntax; remove uname command in system check for windows compatibility; add version info to internal health HTTP endpoint; fix RenovateBot config to only enable patch updates
  • v0.13.2: Add initial support for region-based in-place partition rewriting; add "--offline" pytest flag, skip "online-only" tests, fix some tests; bump version of java utils to 0.2.18 to fix log4j vulnerability CVE-2021-44228; refactor README.md to make it crisp and readable; refactor Lambda logic to remove local executor Callable from model entities; automatically pull non-cached Docker images on image inspection; fix misc. tests failing for non-default region; replace dict calls with comprehensions; small fixes to allow running localstack with podman; fix Terraform test issue related to SQS changes in the AWS provider; minor refactoring to use negative index -1 to get the last element of sequence; minor refactoring of Lambda API for better extensibility; reduce log level of edge port configuration hook; fix association of VPCs in Route53 HostedZone responses; fix CloudFormation updates for EC2::Instance with empty SecurityGroups property; fix listing of KMS signing keys for asymmetric key pairs;add proper error response message to reject empty SNS messages; correctly wait for stay-open port to be available, fix fallback to exec mode; compatibility checks for S3 copy object with metadata; fix updating of HTTP method in message handler chain to avoid None methods; add SKIP_SSL_CERT_DOWNLOAD option to allow skipping download of SSL cert
  • v0.13.1:
    • !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 defaults to LEGACY_PERSISTENCE=1, but the logic will be disabled by default and may get removed entirely in the future.
    • Changes: Support stay-open mode for docker-reuse Lambda executor; add functionality for custom Elasticsearch backends; add LocalStack Package Manager (lpm) CLI; add plugin-based hooks for bootstrapping and infra startup; add cli command to show current config; add Directories config object and introduce directory structure; publish logs per metric and remove faulty metric filter behavior in CloudWatch API; refactor handler chain and add MessageModifyingProxyListener to enable modification of requests/responses; add Docker tags for minor and patch versions; exclude Elasticsearch >=7.14.0 client versions for OpenSearch compatibility; fix returning formatted date string for requestTime in Lambda API GW events; add SIGINT signal handler for CLI to enable clean shutdown across different operating systems; add initial integration of Route53Resolver API; 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; minor refactoring of EventBridge utils, fix location of EVENTS_TMP_DIR; use unittest.mock.patch.object for overriding config params; fix edge routing for API Gateway invocation URLs when Signature= query param is passed; increase timeout when waiting for edge port to become available; fix SNS pagination to support large CloudFormation stacks with very large number of topics; 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; 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; 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; minor: improve parameter checks and error responses for SES SendEmail; upgrade pyopenssl version to fix OpenSSL issue, refactor SSL cert generation; minor fix checking for dict/CaseInsensitiveDict in merge_recursive(..) util function; 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; fix MD5 check on S3 requests with "chunk-signature="; add module init file for localstack.runtime; fix "localhost" region in requests headers for compatibility with NoSQL Workbench; add support for SNS delivery logs stored to CloudWatch Logs; explicitly handle S3 OPTIONS request with "Access-Control-Request-Method" header; fix Docker flags parsing in configure_container; 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; fix tests and remove obsolete patch for CloudWatch metrics filtering; fix setting HMAC/non-HMAC credentials when injecting internal Authorization headers in requests; add multi-region support for StepFunctions state machines; fix OldImage/NewImage in DynamoDB->Kinesis event payloads on updating/deletion of items; make can_use_sudo use non-interactive mode; migrate several tests from unittest->pytest; fix creation of multi route table associations in CFN EC2::SubnetRouteTableAssociation resources; re-arrange Dockerfile commands to decrease image size and increase number of cache hits; fix deleting objects from non-existing S3 buckets; pin Docker base images, enable DependaBot/RenovateBot to update once a week; fix text/xml content-type header in STS responses; fix install_go_lambda_runtime for multi-arch build; 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; fix forwarding of unprintable chars to SQS DLQ; patch LogStream.filter_log_events to use get_pattern_matcher
  • v0.13.0:
    • !!Breaking Change!!: Changed Docker image from Alpine distribution to Debian Buster; lazy-loading of services is now the default behavior, and services are by default in a new state "available"
    • Changes: skip flaky test_sqs_batch_lambda_forward test; upgrade localstack-ext to 0.13.0; use serving.Server abstraction for ElasticMQ server to resolve startup issues; multi-platform support in localstack codebase; finalize multi-platform build; initial version of multi-platform-build; update authors and temporarily pin version in preparation for 0.13.0 release; revert moto to version 2.2.4 to fix builds temporarily; invalidate pro test cache for changes in both; bump moto version to 2.2.5; add Werkzeug>=2.0 as requirement; use werkzeug Request object in asf; use werkzeug Response object in asf; minor: correct typos in README; add support for {"exists": false} in SNS message filtering; minor fix to deal with missing Tags attribute in EC2::RouteTable; fix filtering by tags when fetching state of EC2::RouteTable CloudFormation resources; extend logic and add more tests for escapeJavaScript(..) velocity template function; remove custom parameter by label filtering, leverag logic from upstream; upgrade moto-ext dependency to latest version; fix URL encoding to properly handle '(none)' base paths in API Gateway; fix arn parsing in aws_stack; refactor logic for pulling specific Docker image tags, add more tests; implement generic approach for routing internal REST resources; minor: fix API GW test assertion after recent moto upstream changes (part 2); minor: fix API GW test assertion after recent moto upstream changes; minor: adjust API GW logic and tests for latest upstream moto changes; convert boolean strings to lowercase in IAM responses for JS SDK compatibility; add LEGACY_DOCKER_CLIENT and EAGER_SERVICE_LOADING to CONFIG_ENV_VARS; minor: add property to API GW resource context class to extract identity information; minor fixes in Lambda and API Gateway logging / error handling; add support for CFN resource AWS::Logs::LogStream; make lazy service loading the default behavior; fix extracting attributes from Firehose records; Format JSON stack template for better readability in UI; implement one cluster per domain-support for elasticsearch; minor: remove print(..) statement; support ranges of host ports to be mapped to a container port; add missing attributes in Firehose records sent to destinations; add delete support for AWS::SSM::Parameter CloudFormation resources; add simple UI for deploying CloudFormation stacks from public template URLs; add initial support for Firehose processors to transform records written to targets; add ability to short circuit wait/retries; implement custom endpoint routing for elasticsearch clusters
  • v0.12.20: 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 object-oriented moto server abstraction; add OUTBOUND_HTTP_PROXY option for proxies when downloading external resources; update moto patch to fix CDATA wrapper for SQS message attribute values; add support for more Elasticsearch versions; add option to set permissions for save_file(..), save local config file with 0o600 permissions; upgrade Terraform version to; refactor API GW logic for easier extraction of resource/method details from invocation context; upgrade version of Terraform in base image to fix recent CI build issues; 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; add test-invoke-method to test API Gateway endpoints; add requestId attribute to Lambda event from API Gateway integration; minor: use existing util function to extract region from ARN; 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; fix error response when attempting to delete non-existing Lambda; 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; fix scaffolding for remaining AWS services; add defaults for SSM parameter name in CloudFormation model; extend create_zip_file(..) to support 'append' mode and specifying root directory; fix elasticsearch plugin download when building docker base image; update default/cached elasticsearch version to 7.10; extract correct region from target ARN for S3 notifications; fix check for None values in response multi_value_headers ;update troubleshooting guide to not set DOCKER_HOST when using Lambda remote mode in CI; add ability to skip content gzipping for individual services responses; make boto client creation in aws_stack.connect_to_service thread safe; fix overwrite behavior for PUT requests to the health endpoint; minor: add generate_default_name_without_stack utility method; add temporary support for python3.9 runtimes via mlupin/docker-lambda images; 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; fix updates for AWS::IAM::Role in CloudFormation; adjust exposed ports in docker-compose.yml; add logic and tests to gracefully handle zipping of empty directories; fix state checking for active service provider; 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; fix statement/policy handling for Events::EventBusPolicy CFN resource; 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
  • v0.12.19: 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; fix potential race condition in Docker container start/wait logic; fix CFN SecretsManager::Secret to properly return secret ARN as Ref; 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; minor fix to avoid running multiple edge proxies on the same port; rename docker->docker_utils to avoid import/aliasing issues; fix issue with single quotes in payload for Node.js Lambda in local execution mode; minor refactoring of inter-service message forwarding for better extensibility; add initial support for KMS asymmetric keys; add support for and/or/condition CFN intrinsic functions, fix resource type lookup; add simple util classes ObjectIdHashComparator and ArbitraryAccessObj; add support for states:::events:putEvents to publish events from StepFunction; 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; add wildcard support for EXTRA_CORS_ALLOWED_ORIGINS configuration; fix deploying Lambdas with colliding names due to common prefixes; increase Elasticsearch cluster startup timeout; skip forwarding Lambda invocation result if on_successful_invocation is None; fix deployment of DynamoDB table with SSE disabled in Terraform definition; add support for s3:ObjectCreated:Copy event in the presence of X-Amz-Copy-Source headers; add missing edge routing logic for AWS SDK v2; add initial support for grant operations in KMS; 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; fix selection of sub-elements in SQS listener XML responses; fix Lambda SNS event source attribute as aws:sns instead of localstack:sns; 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
  • v0.12.18: Add generic LocalStack plugin framework; implement CLI using click, rich, and stevedore; add Node.js/Python/java8.al2 runtime support for Thundra plugin; add support for LS_LOG=trace-internal log level; fix logic and add test for edge invocations from AWS Go SDK v2; remove references to PORT_WEB_UI in docs; add attributes to SQS messages from Lambda event source mapping; add extensible class abstraction for Lambda event source listeners; add support for local execution of Go Lambda functions; fix CFN list_stack_resources() for stacks with deleted resources; make some integration tests more lenient to environment changes; 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; fix ApiKeyRequired in API Gateway CloudFormation resources; add missing SSEDescription and TableId entries in DynamoDB DescribeTable calls; fix code updates of Lambda functions for Docker executor; 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; minor fix in regex to parse Docker volume flags; add test for deletion of SQS messages with changed visibility; add support for generated secrets in CFN SecretsManager::Secret; fix EC2/Logs tests after upstream changes; add initial version of Config Service API; remove obsolete patches for Logs metric_filters; 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; introduce Lambda executor plugin mechanism to hook in custom extensions at runtime; fix raw message delivery attribute for SNS/SQS subscriptions; add CloudFormation support for AWS::Events::EventBusPolicy; create SQS queue policy for AWS::SQS::QueuePolicy CFN resource; minor: add util function to extract access_key_id from auth header, add type hints to utils; correctly document and use TMPDIR and HOST_TMP_FOLDER in docker-compose; fix getting IP addresses of Docker containers with non-default networks; 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; allow space in passed JSON event to custom runtime; 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; fix template deployer and tests to retrieve updated PhysicalResourceId for EC2::Instance; add default name for IAM::ManagedPolicy CFN resource; aggregate valid regions accross all available partitions, to support regions like us-gov-*; fix AWS::ApiGateway::Account regression; 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; fix adding tags to SQS queues when value is an empty string; expose private Docker client methods as static methods in Docker Util class; fix argument error in exception handling in lambda_api.py; 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; fix missing request parameters in CFN ApiGateway integration; fix responding to S3 website requests with proper object content-type; add warning message for LAMBDA_EXECUTOR=docker* if Docker is not accessible; consolidate .coveragerc and .flake8 config int pyproject.toml; restructure and clean up README.md
  • v0.12.17: Security fixes: replace Docker CLI commands with Docker Python SDK client; add ability to specify custom IDs for API GW REST APIs via tags; add support for multi-region request handling; add CloudFormation support for Events::Connection; fix logic and tests for decimals formatting; fix removing X-amz-content-sha256 header after stripping off chunk signatures; 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; fix/revert lookup of OS user inside Docker container; add EDGE_FORWARD_URL option to forward all edge requests; add ability to run privileged ports 53/443 in local dev mode; minor fix for handling symlink targets in cp_r(..); 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; fix patches in Logs API to accommodate recent upstream changes; extend merge_recursive(..) util function; fix KMS listener initialization; introduce KMS_PROVIDER env variable and switch to moto as default KMS provider; minor fixes to enable deployment of arc.codes sample app; add cleanup of docker-reuse Lambda containers if code/configuration is updated; minor fix: consider Flask&Requests responses in aws_responses utils; fix extracting event bus name as Ref attribute from CF Events::EventBus resources; fix Kinesis CBOR response encoding for Java SDK compatibility, extend tests
  • v0.12.16: Support resolving SSM parameter values in CloudFormation templates; add integration for Thundra tracing via THUNDRA_APIKEY; add support for DeleteAlias and TracingConfig in Lambda API; support sequential Lambda execution for Kinesis streams, using ParallelizationFactor; add support for local execution of Node.js lambdas; update README with instructions to build the Docker image; fix regex to extract API ID in hostname from API GW endpoint URL; 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; 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"; add possibility for services to subscribe to runtime config changes; 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, add TEST_TARGET=AWS_CLOUD option to run tests against real AWS; 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; fix Docker detection on hosts with cgroup v2 (unified hierachy); 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; fix timestamp format of Lambda event source mappings for TF compatibility; 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; minor: fix file path in "config validate" CLI command; fix returning error response when requesting ACL for non-existing S3 bucket; add ability to define UDP Docker ports in PortMappings class; fix edge routing to match rules if request host contains a dot "."; 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; fix EXTRA_CORS_ALLOWED_ORIGINS environment variable to match docs; 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, fix ARN structure for EventBridge resources; fix extraction of EventBridge API destination name using new ARN format; fix S3 host-based routing detection; add CORS headers required for AWS SDK v3; 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; refactor Firehose and properly return "ExtendedS3DestinationDescription" with extended attributes; add support for API Gateway documentation parts (tf-compat); fix running multiple API Gateway JSON Patch operations in sequence (tf-compat)
  • v0.12.15: Security fixes: bind edge service to 127.0.0.1 by default (instead of 0.0.0.0); remove dead/unused CloudFormation code; refactor common.py and add tests; restructure Elasticsearch process management; fix processing of empty values in EventBridge event filters; fix JSON Patch operations for API Gateway usage plans; make for-loop in Makefile /bin/sh compatible; add flake8 rule F401 (unused imports); run pre-release smoke tests for Pro features in CI builds; remove quiet parameter from service starting; update code style badge in README.md; format the codebase with black and isort; add additional allowed CORS origins to fix Cognito issues; minor formatting in bug-report issue template; add CF support for CertificateManager::Certificate; refactor tests to fix/invert order of arguments in test assertions; add support for Kinesis CBOR error messages; refactor test_integration.py to use randomly generated resource names; add unit test for moto parsing of complex params from querystring; fix detection of resource status to allow re-deployment of CF stack after deletion; update bug-report issue template to assign correct label; fix minor formatting issues in http/proxy server; update .dockerignore to exclude files generated in CI build; fix installation of debugpy via pip module instead of calling pip CLI; add workaround for kinesis-mock persistence startup failure; reduce log verbosity for CORS/origin checks
  • v0.12.14: Security fixes: fix CORS setup to prevent CSRF, add DISABLE_*_CORS_* configs; add KINESIS_INITIALIZE_STREAMS configuration to initialize Kinesis streams on startup; migrate from nose to pytests; add support for EventBridge API destinations; minor refactoring - add dynamodb_table_exists() to common utils; update badges in README; refactor test_error_injection.py into a unittest.TestCase class; minor: fix KeyError for missing EventSourceArn in Lambda API lookup; refactor tests and invert/fix order of assertion arguments; update coveralls config for new test setup with pytests; improve version check in check_terraform_version; pin serverless version in TestServerless to 2.48.0; add coverage install to Dockerfile.base to enable coverage C extensions; fix prefix filtering of events in EventBridge API in case of exact match; fix deprecation warnings surfaced when introducing pytest; minor: make "enabled" flag to add_job(..) optional; add support for V4 S3 presigned URLs with custom headers; add support for isBase64Encoded flag with Lambda integrations in API Gateway; fix extract build report step in docker-build CI phase; fix passing environment variables to container creation for LAMBDA_EXECUTOR=docker-reuse; add CloudFormation support for CloudWatch::Alarm resources; minor fix in file regex for plugin lookup to accommodate Windows path separators; fix request params for CF deployment of ApiGateway::Stage; parallelize builds and improve CircleCI workflow; minor fix to avoid exception on missing CloudFormation exports; add support for API GW MOCK integration and response parameters; fix linter exclusions in install.py; minor fixes in S3 API; fall back to using JAR for kinesis-mock installation for ARM systems (e.g., Macbook M1); add config option TF_COMPAT_MODE to enable TF compatibility mode (for TF integration tests); minor: add parse_json_or_yaml() util function; add threading event to indicate infrastructure has started; fix time duration unit for profiler log_duration output; remove superfluous coveralls config, now managed via CI env
  • v0.12.13: Introduce kinesis-mock as default provider for Kinesis (replacing kinesalite); add support for API Gateway client certificates; fix minor formatting issue in profiler log; fix S3 bucket notification FilterRule name validation; minor refactoring around Kinesis handler and x-amzn-errortype response header; fix deprecation warnings in unit tests; fix timezone issues in timestamp calculation and datetime comparisons; add support for API Gateway - S3 integration for GET requests; use the new MOTO_S3_DEFAULT_KEY_BUFFER_SIZE variable for S3 in-memory buffer sizes; minor: update Helm repo URL in README from HTTP to HTTPS; minor fix in extraction of Lambda results from log output lines; add CF support for ResourceGroups::Group; refactor shutdown procedure; ignore trailing slashes for some routes in Lambda API; fix response for Lambda configuration update API; fix passing payload via stdin for large Lambda events using docker-reuse; fix duplicate Content-Type header in Lambda invocation responses; add BUCKET_MARKER_LOCAL option to customize S3 bucket name (__local__) for local Lambda code mounting; add support for API Gateway VPC Links; fix API GW JSONPatch operations and error responses; add support for x-id query param for S3 delete object requests; add tagging support for IAM policies and instance profiles; add support for Kinesis EnableEnhancedMonitoring; minor fix for Kinesis max stream retention period; add support for EC2 create_vpc_endpoint_service_configuration; fix start_edge to gracefully fail when stdin for sudo is not available; minor fix when extracting URI for API GW integrations; minor CF fix to extract PhysicalResourceId via get_physical_resource_id(); make parsing of IAM::Role properties more resilient; fix continuation sequence number in event returned by SubscribeToShard Kinesis API; use --env-file to pass env vars to Lambda containers to prevent cmd line arguments from becoming too long; fix symlink to aws CLI executable in Dockerfile; fix datetime format for Lambda put-function-event-invoke-config response; minor refactoring of Dockerfile and API Gateway tests; add support for requestParameters in Api Gateway method integrations; fix skipping S3 signature validation if S3_SKIP_SIGNATURE_VALIDATION is enabled; fix stripping off qualifier suffix when constructing ARN for Lambda lookup; update PYTHONPATH in image to accommodate both python v3.8 and v3.7; refactor API GW impl. for better compatibility with Terraform; parallelize SNS message delivery for improved performance; fix returning error response for attempting to delete non-existing S3 bucket
  • v0.12.12: Add XRay trace headers in notifications from S3 to SQS; add initial support for Resource Groups API; minor enhancements in base image to optimize disk space; add support for managing request payers on S3 buckets; minor refactoring of docker-reuse Lambda executor for better extensibility; save SES email contents to disk in machine-readable format; add support for KinesisStreamSpecification parameter for AWS::DynamoDB::Table CF resource; fix missing SQS message attributes for notifications via SNS; add support for LAMBDA_DOCKER_FLAGS to support custom Lambda Docker run flags; add DEVELOP configuration for debugpy integration; add support for servicediscovery endpoints in API GW invocations; minor refactoring for EC2::VPCGatewayAttachment CF model; add patch for stepfunctions-local to enable cross-region Lambda access; minor: add simple items_equivalent() util function; use configured edge port in S3 presign URL calculation; add test for creating bucket with existsting bucket name; add support for session_token in S3 presign URLs; enhance validation of presigned URLs to support different port numbers in S3 URLs; add Lambda Ruby 2.7 image support and update tests; fix EC2::Route CF model to properly lookup deployment state if DestinationIpv6CidrBlock not set; fix fetching CF resource state for EC2::Route and Logs::LogGroup; remove obsolete DynamoDBLocal fix for Alpine; add EventsBackend to manage state of Events API resources; fix broken SNS test related to UnsubscribeURL returned on subscription attributes; fix edge route mapping for SES requests using /email route; add UnsubscribeURL in payload sent to HTTP SQS endpoints; minor refactoring in API Gateway implementation; fix syntax in aws_stack.py for compatibility with python 2.x; fix incorrect suffixes in SecretManager ARNs for secret lookups; temporarily set S3_SKIP_SIGNATURE_VALIDATION=1 by default (until all issues with S3 presign URLs are resolved); add docs for Kafka and Elasticsearch external services integration; minor fix in ACM to avoid returning duplicate DomainValidationOptions; add CF support for ApiGateway::RequestValidator, Logs::SubscriptionFilter; add region backend for DynamoDB state; add support for DynamoDB table replicas; minor: allow passing keyword args to async_utils.run_sync(..); add support for arn:aws-us-gov:iam:... managed IAM policies; fix Python sys path for module resolution when using local Lambda executor; update version in sample docker-compose.yml; minor: initialize Properties for CF resource instances; support ElasticsearchClusterConfig parameter for creation of ES clusters; add CloudFormation model for Redshift::Cluster; add test case for generating S3 presign URL from Node.js Lambda; fix integration test assertions to accommodate recent CloudWatch metrics changes; fix idempotence for SNS CreatePlatformEndpoint API calls; fix correct error code for getting attributes of non-existing SNS subscription; fix correct Authn header for internal call when replaying non HMAC request; fix filtering of CloudWatch metrics and dimensions; add simple TCP proxy server util; add "running" property to FuncThread; fix URL escaping when calculating presigned URLs to accommodate recent Quart server update; fix double response headers in CORS preflight API Gateway requests; refactor logic for sending SQS messages to DLQ; fix resetting ETags when copying S3 object from multipart upload; cache target API in edge requests for improved performance; skip gzip encoding for S3 responses to fix content-length issue with Go SDK; fix accessing raw response when returning gzip encoded content from Lambdas via API GW; rename currentThread to current_thread for deprecation in Python 3.10; minor: add utility function to clean up Docker containers; fix copying missing events file into container for Java Lambdas with docker-reuse; fix Kinesis response payload encoding for use with Java SDK; add S3_SKIP_SIGNATURE_VALIDATION config to skip S3 presign URL signature validation; add support for Route53 reusable-delegation-set APIs; add missing endpoints for StepFunctions startup command
  • v0.12.11: Add support for ResourceGroupsTaggingAPI; add support for Kinesis targets in EventBridge; add HOSTNAME_FROM_LAMBDA configuration to enable connectivity in compose stacks with dynamic container names; fix missing PATCH method in API GW CORS configuration; add dynamic DNS check to fix issues with resolving s3.localhost.localstack.cloud; fix Event::Rule CF model to properly deploy rule with custom event bus; minor: refactor Lambda impl. for better extensibility; fix fetching Lambda details using ARN as well as partial ARN; refactor CF model and fix deletion method for Lambda::Function; fix bug in handler for DynamoDB BatchWriteItem API; add missing $context variable for VLT templates; add requestTemplates attr for ApiGateway::Method; minor fix for accessing non-existing attribute in AC... _Description has been truncated_