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