localstack

💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline

OTHER License

Downloads
1.3M
Stars
55.8K
Committers
543

Bot releases are hidden (Show)

localstack - v1.0.1

Published by thrau about 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v1.0.0...v1.0.1

localstack - LocalStack release 0.14.3

Published by thrau over 2 years ago

LocalStack release v0.14.3

Summary

This LocalStack release features several improvements and new features in AWS services, a new CLI command, Python 3.10 support, and 10 new open source contributors!

AWS Services

CLI command to update LocalStack

We have introduced a new CLI command that automatically updates LocalStack and its requirements to the latest version:

 % localstack update --help
Usage: localstack update [OPTIONS] COMMAND [ARGS]...

  Update LocalStack components

Options:
  --help  Show this message and exit.

Commands:
  all             Update all LocalStack components
  docker-images   Update container images LocalStack depends on
  localstack-cli  Update LocalStack CLI tools

Other notable updates

  • LocalStack now runs on Python 3.10!
  • Many services have now been successfully migrated to our new framework that handles AWS service requests, this dramatically improves parity and stability of services
  • Deprecation note: The legacy record&replay based persistence mechanism (currently still available via LEGACY_PERSISTENCE) be entirely removed in the next release (as already previously announced in the 0.13.1 release).

What's Changed

Features

Enhancement

Fixes

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v0.14.2...v0.14.3

localstack - LocalStack release 0.14.2

Published by whummer over 2 years ago

LocalStack release 0.14.2

Change log

1. New Features

  • add ability to import keys into KMS
  • enable and refactor rotation logic and version stages in SecretsManager
  • support "Accept" header to switch response format
  • add provider for S3Control service

2. Enhancements

  • migrate services to ASF: EC2, KMS, Route53, STS
  • skip installing -ext dependencies in CI tests
  • lazily load subclasses for instance manager to enable plugin loading at runtime
  • add missing UpdateDomainConfig for OpenSearch and Elasticsearch
  • pin werkzeug version to fix Transfer-Encoding "chunked" on empty responses
  • apply filter pattern for log subscriptions
  • skip "online-only" tests, fix some tests
  • use valid references for EC2 resources to fix CloudFormation tests
  • enhance handling of KMS key pairs for SIGN_VERIFY keys
  • add CloudFormation support for IAM::ServiceLinkedRole
  • reintroduce Lambda log output str casting
  • source API Gateway domain name and prefix from invocation context
  • pin airspeed version and remove patch code
  • add CloudFormation support for AWS::CDK::Metadata
  • remove SERVICES from default docker-compose.yaml
  • round DynamoDB ApproximateCreationDateTime to seconds
  • add GetAtt support for AWS::EC2::VPC DefaultSecurityGroup and DefaultNetworkAcl
  • minor update in patch decorator to allow multiple/composite patches of methods

3. Bug Fixes

  • fix PaginatedList nextToken generation
  • fix MessageGroupId for publish batch to SQS fifo queue
  • fix elliptic curve key specs for KMS keys
  • fix broken transitive imports of quart from jinja
  • 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
  • fix Flask app routes for Lambda API
  • fix broken patch for moto S3 is_delete_keys(..)
  • fix CFn name autogeneration for SQS fifo queues
  • fix CFn Route53 deployment
  • fix CFn default name for Kinesis streams
  • fix logs subscription filter
  • fix query request parser for operations without input shape
  • 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
localstack - LocalStack release 0.14.1

Published by whummer over 2 years ago

LocalStack release 0.14.1

Change log

1. New Features

  • 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
  • add support for CloudWatch set_alarm_state and trigger actions

2. Enhancements

  • implement in-memory request dispatching to moto
  • implement generic HTTP route dispatching
  • migrate several services to ASF (ACM, CloudWatch, CloudWatch Logs, ConfigService, DynamoDB Streams, Redshift, ResourceGroups, SecretsManager, SSM, Support, SWF)
  • migrate from requirements.txt/setup.py to setup.cfg
  • CircleCI pipeline parallelization
  • add GitHub action to automatically update ASF APIs
  • 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

3. Bug Fixes

  • fix ASF parser and serializer issues
  • fix custom error responses from lambda when handler throws an exception
  • fix moto dispatching for trailing slashes and response headers
  • 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
localstack - LocalStack version 0.14.0

Published by dominikschubert over 2 years ago

LocalStack release 0.14.0

Announcements

  • Breaking changes:
    • This version introduces the external service port range in LocalStack. This port range has been used in LocalStack Pro before, but has now been moved to the community edition. While doing so, the port range has been broadened (it now ranges from 4510 to 4559). Please make sure to adjust your Docker configurations to expose this port range (such that external services started within the container can be reached) or use the latest version of the LocalStack CLI to manage your LocalStack container.
    • When using ElasticSearch with the ES_ENDPOINT_STRATEGY=port (formerly off) and ES_MULTI_CLUSTER=0, a port from the external service port range is used (instead of PORT_ELASTICSEARCH or 4571 by default).
  • Upcoming breaking change: This version deprecates the ES_ENDPOINT_STRATEGY, ES_MULTI_CLUSTER, and ES_CUSTOM_BACKEND. Instead, the OPENSEARCH_* variables should be used. The ES_ENDPOINT_STRATEGY=off is being renamed to port (i.e. please use OPENSEARCH_ENDPOINT_STRATEGY=port from now on).

Change log

1. New Features

  • add initial support for SNS PublishBatch API
  • add support for email-json protocol in SNS subscriptions
  • add support for AWS OpenSearch
  • support multi arch for local-kms provider
  • support invocation of local API URLs via stepfunctions

2. Enhancements

  • bump moto-ext to latest version
  • minor refactoring in SNS get_message_attributes() method
  • add utilities for migrating services to ASF
  • minor refactoring in selecting handler in edge.py for better extensibility
  • add check for supported protocols on SNS subscription
  • adjust routing to enable using anonymous boto3 client to fetch S3 object
  • refactor Lambda executors to allow modification of container settings using hooks
  • minor adjustments in patch decorator for bound methods of class instances
  • hardcode default tmp and data paths
  • Add handling for DynamoDB stream iterator expiration, bump kinesis-mock to 0.2.2
  • remove obsolete moto imports in CloudFormation resource classes
  • remove obsolete patch for CloudWatch metrics filtering
  • cleanup CloudFormation logic and remove old/obsolete code
  • add utility to manage / reserve ports for external services
  • invalidate builder stage in dockerfile on package version changes
  • use base_url instead of url for determining SQS queue URL
  • add cachetools to CLI dependencies
  • set MessageGroupId and MessageDeduplicationId on SQS message from SNS subscription
  • Introduce lazily-created localstack-internal-awssdk utility lambda function
  • capture X-AMAZON-APIGATEWAY-ANY-METHOD for cases where route key is for integrations
  • provide better log info when CloudFormation resources cannot be found
  • clean up old/unused CloudFormation logic
  • refactor SQS queue-url generation
  • extend SNS publish batch support for FIFO topics
  • remove monkey patching and circular dependency
  • refactor sqs queue resolving and url rendering
  • minor refactoring of CFN logging code to dump resources as JSON string
  • clean up aws_stack utils, remove obsolete global cached boto3 resources
  • add missing CloudFormation parameters for Firehose delivery streams
  • migrate firehose to ASF
  • stop setting environment variable if cognito_identity if empty
  • Kinesis refactor server abstraction
  • Allow container client to connect/disconnect containers to/from a network
  • handle SSE for sqs
  • refactor config and rip out global port/url variables
  • add connection parameters and credentials to EventBridge API destinations
  • replace function calls with literal syntax and remove unnecessary comprehensions
  • broaden the external service port range, adjust docker-compose
  • update Docker base image (python:3.8.12-slim-buster) digest to 3544d06
  • add util function for deletion of None-values from dicts
  • combine OpenSearch and Elasticsearch backends
  • update exposed ports and docker-compose

3. Bug Fixes

  • fix CloudFormation deployment of SNS::TopicPolicy
  • fix handling of empty prefix for Firehose S3 uploads to properly trigger event notification
  • fix external host setting for sqs
  • fix acronym handling in camel_to_snake_case
  • fix API Gateway to match the most specific path in the presence of "{proxy+}" placeholders
  • fix asf scaffold to generate TypedDict declarations correctly
  • fix sqs port extraction from headers and other related issues
  • fix ASF SQS provider to allow direct calls to queue URLs
  • fix DynamoDB local/localhost region for NoSQL Workbench
  • fix ASF SQS xml response encoding
  • fix request parser to enable X-Amz-Target strings with multiple dots
  • fix expectations around Kinesis record encoding, always re-encode records for shard subscribers
  • fix CloudFormation deployer to recursively resolve string placeholders
  • fix ASF REST operation lookup with conflicting path params
  • fix DomainValidationOptions property in ACM Certificate CFN deployment
  • fix access to listener in logic for restarting Kinesis
  • fix issue rendering VTL templates for API Gateway by flattening the input
  • fix accessing external SQS port for intra-service communication
  • fix positional args in CloudFormation find_change_set(..) method
  • fix SNS PublishBatch logic for optional Subject atttribute
  • fix Kinesis installation via LPM, add Docker check for StepFunctions installation
  • fix docker client ctx manager and json decode issues on windows
  • fix passing Conditions on stack updates, refactor/simplify CFN function arguments
  • fix EC2 route tables and service backend initializations for recent upstream moto changes
  • add config for host path to fix mounting of libs_dir
  • minor fix in SNS tests to resolve stale PR merge
  • minor fix in printing result for local node.js Lambda executor
  • ASF rest-json parser fixes
  • minor fix in request parsing to match path parameters with slashes
  • replace get_data() with response.content to fix logic in SNS HTTP subscriptions
  • fix gzip handling in SSL proxy
localstack - LocalStack release 0.13.3

Published by whummer almost 3 years ago

LocalStack release 0.13.3

Change Log

1. New Features

  • add initial ASF (AWS Service Framework) SQS provider implementation
  • add automatic Docker network detection for Lambda containers
  • add support for dynamic SSM/SecretsManager references in CloudFormation templates
  • add version info to internal health HTTP endpoint

2. Enhancements

  • add support for gzipped responses in SSL proxy via Accept-Encoding headers
  • 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 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
  • 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
  • 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
  • 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
  • update and clean up outdated documentation
  • replace dict and list function calls to literal syntax
  • remove uname command in system check for windows compatibility

3. Bug Fixes

  • fix API gateway proxy resources
  • fix passing of request parameters to API Gateway HTTP integrations
  • fix Firehose-ElasticSearch integration, allow S3Backup AllDocuments with ElasticSearchDestination
  • fix multiple service container creation
  • fix extraction of filter values for describing EC2 prefix lists
  • fix single-space env default in docker-compose
  • fix RenovateBot config to only enable patch updates
localstack - LocalStack release 0.13.2

Published by whummer almost 3 years ago

LocalStack release 0.13.2

Announcements

  • Security fixes: This release upgrades log4j dependencies to version 2.17.0 to fix the critical security vulnerabilities CVE-2021-44228, CVE-2021-45046

Change Log

1. New Features

  • add initial support for region-based in-place partition rewriting
  • add "--offline" pytest flag, skip "online-only" tests, fix some tests
  • add SKIP_SSL_CERT_DOWNLOAD option to allow skipping download of SSL cert

2. Enhancements

  • bump version of Java utils to 0.2.18 to fix log4j vulnerability CVE-2021-44228, CVE-2021-45046
  • 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
  • replace dict calls with comprehensions
  • small fixes to allow running LocalStack with podman
  • reduce log level of edge port configuration hook
  • correctly wait for stay-open port to be available, fix fallback to exec mode
  • add compatibility checks for S3 copy object with metadata
  • add proper error response message to reject empty SNS messages
  • minor refactoring to use negative index -1 to get the last element of sequence
  • minor refactoring of Lambda API for better extensibility

3. Bug Fixes

  • fix updating of HTTP method in message handler chain to avoid None methods
  • fix misc. tests failing for non-default region
  • fix Terraform test issue related to SQS changes in the AWS provider
  • 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
localstack - LocalStack version 0.13.1

Published by alexrashed almost 3 years ago

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 to LEGACY_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 use get_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
localstack - LocalStack version 0.13.0

Published by thrau almost 3 years ago

LocalStack release 0.13.0

Major Changes

This release introduces three major changes

  • A Debian-based multi-platform Docker image of LocalStack, with full support for amd64 and experimental support for aarch64 (see #4921 for known limitations and progress)
  • Upgrade to Python 3.8
  • Lazy-loading of services as the default behavior

Debian-based multi-platform (amd64, arm64) docker image

#4754 introduced a multi-platform docker build to support both amd64 and arm64. Alpine and musl made things unnecessarily difficult, so we switched to a Debian buster base image. Post-init (e.g., in /docker-entrypoint-initaws.d) scripts that expect an Alpine environment (e.g., use apk commands to install things into the LocalStack container) will stop working.

Lazy-loading of services

As part of an ongoing effort to improve startup performance, we have introduced a new code loading and service startup mechanism to allow lazy-loading of services. After LocalStack starts, services used to be in the state running, indicating that they are loaded and ready to serve requests. To allow more fine-grained state handling for services with lazy loading, we have introduced a new type of state called available.
When starting LocalStack, services are by default in the state available, which means that clients can start making requests to the services, and at the first time the service is hit, all the necessary code is loaded and the backend service is started, at which point the service after which the service will be in the running state. The environment variable EAGER_SERVICE_LOADING controls this behavior.

Scripts that depend on the output of /health being running will require setting setting EAGER_SERVICE_LOADING=1, which will start all services eagerly. This works together with the SERVICES variable to create the behavior from localstack <= 0.13.0.

(An alternative solution is to update your startup logic to accept either running or available as the healthy service state - e.g., see details in this issue).

Change log

1. New Features

  • make lazy service loading the default behavior
  • debian-based multi-platform support
    • multi-platform support in localstack codebase
    • finalize multi-platform build
    • initial version of multi-platform-build
  • support multiple concurrent elasticsearch clusters:
    • implement one cluster per domain-support for elasticsearch
    • implement custom endpoint routing for elasticsearch clusters
  • add simple UI for deploying CloudFormation stacks from public template URLs
  • add delete support for AWS::SSM::Parameter CloudFormation resources
  • add initial support for Firehose processors to transform records written to targets
  • add ability to short circuit wait/retries

2. Enhancements

  • use serving.Server abstraction for ElasticMQ server to resolve startup issues
  • add Werkzeug>=2.0 as requirement
  • use werkzeug Request object in asf
  • use werkzeug Response object in asf
  • invalidate pro test cache for changes in both
  • bump moto version to 2.2.5
  • minor: correct typos in README
  • add support for {"exists": false} in SNS message filtering
  • add support for CFN resource AWS::Logs::LogStream
  • 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
  • refactor logic for pulling specific Docker image tags, add more tests
  • implement generic approach for routing internal REST 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
  • Format JSON stack template for better readability in UI
  • 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

3. Bug Fixes

  • minor fix to deal with missing Tags attribute in EC2::RouteTable
  • fix filtering by tags when fetching state of EC2::RouteTable CloudFormation resources
  • fix URL encoding to properly handle '(none)' base paths in API Gateway
  • fix arn parsing in aws_stack
  • 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 fixes in Lambda and API Gateway logging / error handling
  • fix extracting attributes from Firehose records
  • revert moto to version 2.2.4 to fix builds temporarily
localstack - LocalStack release 0.12.20

Published by whummer almost 3 years ago

Change Log:

LocalStack release 0.12.20

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
localstack - LocalStack release 0.12.19

Published by whummer almost 3 years ago

Change Log:

LocalStack release 0.12.19

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
localstack - LocalStack release 0.12.18

Published by thrau about 3 years ago

Change Log:

LocalStack release 0.12.18

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
localstack - LocalStack release 0.12.17

Published by whummer about 3 years ago

Change Log:

LocalStack release 0.12.17

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
localstack - LocalStack release 0.12.16

Published by whummer about 3 years ago

Change Log:

LocalStack release 0.12.16

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
localstack - LocalStack release 0.12.15

Published by whummer over 3 years ago

Change Log:

LocalStack release 0.12.15

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
localstack - LocalStack release 0.12.14

Published by whummer over 3 years ago

Change Log:

LocalStack release 0.12.14

1. New Features

  • add support for EventBridge API destinations
  • add KINESIS_INITIALIZE_STREAMS configuration to initialize Kinesis streams on startup
  • add support for API GW MOCK integration and response parameters
  • add CloudFormation support for CloudWatch::Alarm resources
  • add support for V4 S3 presigned URLs with custom headers
  • add support for isBase64Encoded flag with Lambda integrations in API Gateway

2. Enhancements

  • security fixes: fix CORS setup to prevent CSRF, add DISABLE_*_CORS_* configs
  • migrate from nose to pytests
  • refactor test_error_injection.py into a unittest.TestCase class
  • 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
  • parallelize builds and improve CircleCI workflow
  • pin serverless version in TestServerless to 2.48.0 to fix test issues
  • add threading event to indicate infrastructure has started
  • add coverage install to Dockerfile.base to enable coverage C extensions
  • remove superfluous coveralls config, now managed via CI env
  • 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: update badges in README
  • minor refactoring: add dynamodb_table_exists() to common utils
  • minor: fix KeyError for missing EventSourceArn in Lambda API lookup
  • minor: make "enabled" flag to add_job(..) optional
  • minor: add parse_json_or_yaml() util function

3. Bug Fixes

  • fix prefix filtering of events in EventBridge API in case of exact match
  • fix deprecation warnings surfaced when introducing pytest
  • fix extracting build report step in docker-build CI phase
  • fix passing environment variables to container creation for LAMBDA_EXECUTOR=docker-reuse
  • fix linter exclusions in install.py
  • fix request params for CF deployment of ApiGateway::Stage
  • fix time duration unit for profiler log_duration output
  • minor fix in file regex for plugin lookup to accommodate Windows path separators
  • minor fix to avoid exception on missing CloudFormation exports
  • minor fixes in S3 API
localstack - LocalStack release 0.12.13

Published by whummer over 3 years ago

Change Log:

LocalStack release 0.12.13

1. New Features

  • introduce kinesis-mock as default provider for Kinesis (replacing kinesalite)
  • add support for API Gateway client certificates
  • add support for API Gateway - S3 integration for GET requests
  • add BUCKET_MARKER_LOCAL option to customize S3 bucket name (__local__) for local Lambda code mounting
  • add support for API Gateway VPC Links
  • add support for requestParameters in API Gateway method integrations

2. Enhancements

  • add CF support for ResourceGroups::Group
  • 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
  • add support for EC2 create_vpc_endpoint_service_configuration
  • use the new MOTO_S3_DEFAULT_KEY_BUFFER_SIZE variable for S3 in-memory buffer sizes
  • refactor shutdown procedure
  • use --env-file to pass env vars to Lambda containers to prevent cmd line arguments from becoming too long
  • ignore trailing slashes for some routes in Lambda API
  • 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
  • make parsing of IAM::Role properties more resilient
  • minor refactoring around Kinesis handler and x-amzn-errortype response header
  • minor: update Helm repo URL in README from HTTP to HTTPS
  • minor refactoring of Dockerfile and API Gateway tests

3. Bug Fixes

  • fix minor formatting issue in profiler log
  • fix S3 bucket notification FilterRule name validation
  • fix deprecation warnings in unit tests
  • fix timezone issues in timestamp calculation and datetime comparisons
  • 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
  • fix API GW JSONPatch operations and error responses
  • fix start_edge to gracefully fail when stdin for sudo is not available
  • fix continuation sequence number in event returned by SubscribeToShard Kinesis API
  • fix symlink to aws CLI executable in Dockerfile
  • fix datetime format for Lambda put-function-event-invoke-config response
  • fix skipping S3 signature validation if S3_SKIP_SIGNATURE_VALIDATION is enabled
  • fix stripping off qualifier suffix when constructing ARN for Lambda lookup
  • fix returning error response for attempting to delete non-existing S3 bucket
  • minor fix in extraction of Lambda results from log output lines
  • minor fix for Kinesis max stream retention period
  • minor fix when extracting URI for API GW integrations
  • minor CF fix to extract PhysicalResourceId via get_physical_resource_id()
localstack - LocalStack release 0.12.12

Published by whummer over 3 years ago

Change Log:

LocalStack release 0.12.12

1. New Features

  • add initial support for Resource Groups API
  • add support for managing request payers on S3 buckets
  • save SES email contents to disk in machine-readable format
  • add support for LAMBDA_DOCKER_FLAGS to support custom Lambda Docker run flags
  • add S3_SKIP_SIGNATURE_VALIDATION config to skip S3 presign URL signature validation
  • add DEVELOP configuration for debugpy integration
  • add support for servicediscovery endpoints in API GW invocations
  • add Lambda Ruby 2.7 image support and update tests
  • add support for DynamoDB table replicas
  • add support for Route53 reusable-delegation-set APIs

2. Enhancements

  • enhance validation of presigned URLs to support different port numbers in S3 URLs
  • add XRay trace headers in notifications from S3 to SQS
  • support ElasticsearchClusterConfig parameter for creation of ES clusters
  • add support for KinesisStreamSpecification parameter for AWS::DynamoDB::Table CF resource
  • add patch for stepfunctions-local to enable cross-region Lambda access
  • add test for creating bucket with existing bucket name
  • add support for session_token in S3 presign URLs
  • remove obsolete DynamoDBLocal fix for Alpine
  • add EventsBackend to manage state of Events API resources
  • add UnsubscribeURL in payload sent to HTTP SQS endpoints
  • add docs for Kafka and Elasticsearch external services integration
  • temporarily set S3_SKIP_SIGNATURE_VALIDATION=1 by default (until all issues with S3 presign URLs are resolved)
  • add CF support for ApiGateway::RequestValidator, Logs::SubscriptionFilter, Redshift::Cluster
  • add region backend for DynamoDB state
  • add support for arn:aws-us-gov:iam:... managed IAM policies
  • update version in sample docker-compose.yml
  • add test case for generating S3 presign URL from Node.js Lambda
  • add simple TCP proxy server util
  • add "running" property to FuncThread
  • refactor logic for sending SQS messages to DLQ
  • cache target API in edge requests for improved performance
  • skip gzip encoding for S3 responses to fix content-length issue with Go SDK
  • rename currentThread to current_thread for deprecation in Python 3.10
  • add missing endpoints for StepFunctions startup command
  • minor: add utility function to clean up Docker containers
  • minor refactoring in API Gateway implementation
  • minor enhancements in base image to optimize disk space
  • minor refactoring for EC2::VPCGatewayAttachment CF model
  • minor: add simple items_equivalent() util function
  • minor refactoring of docker-reuse Lambda executor for better extensibility
  • minor: allow passing keyword args to async_utils.run_sync(..)
  • minor: initialize Properties for CF resource instances

3. Bug Fixes

  • fix missing SQS message attributes for notifications via SNS
  • fix using configured edge port in S3 presign URL calculation
  • 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
  • fix broken SNS test related to UnsubscribeURL returned on subscription attributes
  • fix edge route mapping for SES requests using /email route
  • fix syntax in aws_stack.py for compatibility with python 2.x
  • fix incorrect suffixes in SecretManager ARNs for secret lookups
  • fix Python sys path for module resolution when using local Lambda executor
  • 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
  • fix URL escaping when calculating presigned URLs to accommodate recent Quart server update
  • fix double response headers in CORS preflight API Gateway requests
  • fix resetting ETags when copying S3 object from multipart upload
  • fix accessing raw response when returning gzip encoded content from Lambdas via API GW
  • fix copying missing events file into container for Java Lambdas with docker-reuse
  • fix Kinesis response payload encoding for use with Java SDK
  • minor fix in ACM to avoid returning duplicate DomainValidationOptions
localstack - LocalStack release 0.12.11

Published by whummer over 3 years ago

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 - LocalStack release 0.12.10

Published by whummer over 3 years ago

Change Log:

LocalStack release 0.12.10

1. New Features

  • add initial support for CloudFormation stack sets and stack instances
  • initial support for AWS Support API
  • add support for iterator types on Kinesis SubscribeToShard requests
  • support Kinesis streaming destinations for DynamoDB
  • initial support for put_metric_filter for CloudWatch log events
  • add support for HttpEndpoint destinations in Firehose API
  • add health check status for init scripts and persistence initialization

2. Enhancements

  • replace AWS CLI commands with boto3 calls for /graph endpoint
  • remove obsolete code for S3 bucket encryptions
  • add CloudFormation support for EC2::NatGateway, KMS::Key, KMS::Alias, SecretsManager resources
  • return PhysicalResourceId for S3::BucketPolicy CloudFormation model
  • add edge mapping for EC2 requests with missing Auth headers
  • remove deprecated USE_MOTO_CF config switch
  • resolve refs in ExportName of CF stacks
  • add missing attributes in Kinesis SubscribeToShard response
  • minor refactoring and adding missing path in Dockerfile
  • cache cfn-response module in local infra folder instead of re-downloading each time
  • support JSON message structure with raw delivery in SNS
  • add CloudFormation support for additional EC2 resources
  • refactor logic for CF stack set instances
  • add support for getting SSM parameters by path and filtering by labels
  • remove "content-encoding: identity" header in S3 responses to fix compatibility with PHP/Guzzle 6
  • add SNS XRay propagation to SQS using ElasticMQ
  • add Circle-CI project setup and build badge
  • move CI build commands into Makefile for easier migration
  • refactor utils for resource tagging
  • refactor logic for proxy listener, fix edge forward headers
  • update S3 regex to support HOSTNAME_EXTERNAL in bucket hostnames
  • add missing aws_request_id and context attributes for Python Lambdas with local executor
  • add support for SES GetIdentityVerificationAttributes
  • add LS_LOG=trace option to print detailed request/response messages
  • add CloudFormation support for EC2::VPC, EC2::RouteTable, EC2::Route
  • add Location response header on S3 bucket creation
  • minor refactorings for "config validate" command

3. Bug Fixes

  • fix API Gateway integration to allow binary payload data
  • fix reprocessing of SQS messages in case multiple Lambda event source mappings are defined
  • fix API GW integrations with no uri/integrationUri attribute (for mock integrations)
  • fix StreamViewType in DynamoDB Streams event records
  • fix stack status filter in CloudFormation API
  • fix CF dependency resolution to avoid unresolved/nil resource refs
  • fix Events API logic for recent upstream changes
  • fix API Gateway when applying JSON patch with empty patch value
  • fix passing region when constructing resource graph
  • fix CloudFormation GetAtt intrinsic function for attr string refs
  • fix proper stream view type of DynamoDB stream records
  • fix error logs on subscribe_to_shard for deleted Kinesis streams
  • fix build script to detect git:// repo URLs
  • fix compatibility of S3 API with Cyberduck
  • fix local URLs for nested CFN stacks
  • fix Kinesis DescribeStreamConsumer to return consumer correctly
  • fix content-type for requests forwarded to Lambda fallback URL
  • fix returning None value on TransactWrite DynamoDB operation
  • fix incorrect URL modification when sending S3 requests to backend
  • fix encoding and timestamp format for Kinesis SubscribeToShard from Java SDK
  • fix returning code 200 for S3 HEAD range requests
  • fix S3 notifications for URLs with "x-id" query parameters
  • minor fix for missing Lambda attributes on legacy persistence states
  • minor fix in util function for parsing URL-encoded request payloads
  • minor fix for is_port_open(..) util function to parse port parameters
  • minor fix for extracting region from auth headers
Package Rankings
Top 16.2% on Conda-forge.org
Top 0.76% on Pypi.org
Top 1.69% on Repo1.maven.org
Top 4.06% on Proxy.golang.org
Related Projects