v0.14.3
版本发布时间: 2022-05-20 02:46:38
localstack/localstack最新发布版本:v3.7.2(2024-09-06 20:47:10)
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
- Support for Cloudwatch Alarms
- Improved streaming support for Lambdas which better testing of common real-time data pipelines. Read more on our blog.
- New standalone SQS provider with improved stability and performance
- Near complete implementation of the SQS Query API and new ways to create Queue URLs
- Support for .NET 6 Lambdas
- Improved OpenAPI support for API Gateway.
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
- add metric-alarm evaluation to Cloudwatch by @steffyP in https://github.com/localstack/localstack/pull/5897
- add on failure destination implementation and TRIM_HORIZON starting position for create-event-source-mapping by @steffyP and @SwatsonCodes in https://github.com/localstack/localstack/pull/5807
- Add localstack update command by @dfangl in https://github.com/localstack/localstack/pull/5955
- Upgrade python version to 3.10 by @dfangl in https://github.com/localstack/localstack/pull/5632
- Add dotnet 6 runtime by @yongliu-mdsol in https://github.com/localstack/localstack/pull/5815
- add SQS Query API by @thrau in https://github.com/localstack/localstack/pull/5928
- Rework ASF SQS provider for RegionBackend by @viren-nadkarni in https://github.com/localstack/localstack/pull/6016
- Apigateway OpenAPI import support for authorizers by @calvernaz in https://github.com/localstack/localstack/pull/6013
Enhancement
- LocationConstraint should be None for us-east-1 by @pinzon in https://github.com/localstack/localstack/pull/5765
- Unify Lambda Runtime using Runtime API by @dfangl in https://github.com/localstack/localstack/pull/5306
- Add newline after XML preamble in S3 responses for Serverless compatibility by @whummer in https://github.com/localstack/localstack/pull/5795
- Update ASF APIs by @localstack-bot in https://github.com/localstack/localstack/pull/5798
- Deletion of individual statments of a function policy by @pinzon in https://github.com/localstack/localstack/pull/5785
- Lambda Feature: Throw error when unzipped code exceeds maximum size (~256mb) by @RodrigoATorres in https://github.com/localstack/localstack/pull/5641
- Rework Lambda Integration tests to work against AWS as well as LocalStack by @dfangl in https://github.com/localstack/localstack/pull/5819
- Custom header x localstack authorization by @calvernaz in https://github.com/localstack/localstack/pull/5809
- Migrate DynamoDB to ASF by @whummer in https://github.com/localstack/localstack/pull/5796
- add cloudformation support for s3 bucket versioning by @dominikschubert in https://github.com/localstack/localstack/pull/5841
- adds authorizer object to lambda event by @calvernaz in https://github.com/localstack/localstack/pull/5837
- Added DYNAMODB_SHARE_DB to conf by @giograno in https://github.com/localstack/localstack/pull/5842
- Add !Ref support for KMS::Alias CloudFormation resources by @whummer in https://github.com/localstack/localstack/pull/5836
- Add additional awslocal commands for CI smoke tests by @whummer in https://github.com/localstack/localstack/pull/5845
- Update ASF APIs by @localstack-bot in https://github.com/localstack/localstack/pull/5838
- Update python to 3.8.13 by @dfangl in https://github.com/localstack/localstack/pull/5856
- add type hints to PaginatedList by @alexrashed in https://github.com/localstack/localstack/pull/5865
- [ASF] Simple Email Service migration by @viren-nadkarni in https://github.com/localstack/localstack/pull/5771
- Sns unsubscribe should send a confirmation by @pinzon in https://github.com/localstack/localstack/pull/5874
- Return successfully when attempting to delete a non-existent secret by @foxmulder900 in https://github.com/localstack/localstack/pull/5873
- Error message for PAY_PER_REQUEST billing mode by @giograno in https://github.com/localstack/localstack/pull/5877
- Update ASF APIs by @localstack-bot in https://github.com/localstack/localstack/pull/5881
- update Docker base image (python:3.8.13-slim-buster) digest to 36a1e0b by @renovate in https://github.com/localstack/localstack/pull/5880
- Add DynamoDB patch to enable more than 20 GSIs on tables by @whummer in https://github.com/localstack/localstack/pull/5883
- Upgrade moto-ext to version 3.1.6 by @whummer in https://github.com/localstack/localstack/pull/5882
- Migrate StepFunctions to ASF by @whummer in https://github.com/localstack/localstack/pull/5869
- update localstack wait command to use docker logs stream by @thrau in https://github.com/localstack/localstack/pull/5885
- get_handler_file_from_name when path contains periods by @tmbobbins in https://github.com/localstack/localstack/pull/5849
- Support nested EventBridge patterns, improve parity with AWS by @whummer in https://github.com/localstack/localstack/pull/5879
- rework localstack.http.Request object to use a dummy WSGi environment by @thrau in https://github.com/localstack/localstack/pull/5876
- add task scheduler utility by @thrau in https://github.com/localstack/localstack/pull/5857
- Refactor util to create S3 buckets with location constraints by @whummer in https://github.com/localstack/localstack/pull/5898
- Test MISSING Function with PartiQL by @giograno in https://github.com/localstack/localstack/pull/5899
- Bump moto-ext to 3.1.6.1 by @whummer in https://github.com/localstack/localstack/pull/5900
- queryStringParameters set to None when there are no GET parameters by @jops-wtakase in https://github.com/localstack/localstack/pull/5893
- Add javaagent loader for DynamoDB local process by @whummer in https://github.com/localstack/localstack/pull/5905
- add headers to dummy WSGI environment by @thrau in https://github.com/localstack/localstack/pull/5902
- Minor: Bump version of awscli for compabilibity with poetry by @whummer in https://github.com/localstack/localstack/pull/5912
- specify content type header with curl PUT request in docker-entrypoint.sh by @nao23 in https://github.com/localstack/localstack/pull/5903
- move functions to helper module by @calvernaz in https://github.com/localstack/localstack/pull/5925
- Add SES HTML body to match v2 API spec by @NickGrantX in https://github.com/localstack/localstack/pull/5920
- Add small utility for base64 URL safe decoding by @whummer in https://github.com/localstack/localstack/pull/5932
- Handling TableClass in DynamoDB by @giograno in https://github.com/localstack/localstack/pull/5923
- add decorator for adding routes to a Router by @thrau in https://github.com/localstack/localstack/pull/5927
- Remove explicit object inheritance by @dominikschubert in https://github.com/localstack/localstack/pull/5933
- Update ASF APIs by @localstack-bot in https://github.com/localstack/localstack/pull/5929
- Allow multiple bind addresses to be passed to hypercorn by @dfangl in https://github.com/localstack/localstack/pull/5937
- extend s3 virtual host addressing rules exemptions by @thrau in https://github.com/localstack/localstack/pull/5952
- Apigateway import test extension by @pinzon in https://github.com/localstack/localstack/pull/5953
- Ensure eventID is contained in DDB stream records by @whummer in https://github.com/localstack/localstack/pull/5960
- Feature log for fifo queue creating by @pinzon in https://github.com/localstack/localstack/pull/5962
- migrate cloudformation to ASF by @thrau in https://github.com/localstack/localstack/pull/5965
- simplify StsAwsApiListener JSON response modification by @thrau in https://github.com/localstack/localstack/pull/5968
- allow http.Request object to retain dashes and key casing by @thrau in https://github.com/localstack/localstack/pull/5969
- update Docker base image (python:3.8.13-slim-buster) digest to 8b65f13 by @renovate in https://github.com/localstack/localstack/pull/5971
- chore: add user survey over README by @HarshCasper in https://github.com/localstack/localstack/pull/5975
- DynamoDB Streams - code removal by @giograno in https://github.com/localstack/localstack/pull/5981
- Update README.md by @dijonkitchen in https://github.com/localstack/localstack/pull/5979
- Update ASF APIs by @localstack-bot in https://github.com/localstack/localstack/pull/5973
- Bump version of moto-ext to 3.1.8 by @whummer in https://github.com/localstack/localstack/pull/5980
- chore: add a stale bot to manage issues by @HarshCasper in https://github.com/localstack/localstack/pull/5974
- disable strict slashes for ASF REST operation router by @thrau in https://github.com/localstack/localstack/pull/5983
- add ASGI to WSGI bridge and hypercorn server abstraction by @thrau in https://github.com/localstack/localstack/pull/5970
- CI: Add CLA bot by @HarshCasper in https://github.com/localstack/localstack/pull/5993
- Utility to list loaded services by @giograno in https://github.com/localstack/localstack/pull/5996
- Update ReadMe to show support for 3.10 by @silv-io in https://github.com/localstack/localstack/pull/6002
- Enable signal handlers per default for LocalStack inside a docker container by @dfangl in https://github.com/localstack/localstack/pull/6000
- Allow docker client to modify security opts, explicit exception chaining by @dfangl in https://github.com/localstack/localstack/pull/6001
- remove unused 'reactive mode' event source listener code by @SwatsonCodes in https://github.com/localstack/localstack/pull/6004
- Apigateway ASF migration by @calvernaz in https://github.com/localstack/localstack/pull/5731
- Add support for #return macros in VTL templates by @whummer in https://github.com/localstack/localstack/pull/6010
- improve openapi import by @calvernaz in https://github.com/localstack/localstack/pull/5939
- refactor initial set of s3 tests by @thrau in https://github.com/localstack/localstack/pull/6006
- Add filter for cognito identity fields by @dfangl in https://github.com/localstack/localstack/pull/6005
- Introduce snapshot tests by @dominikschubert in https://github.com/localstack/localstack/pull/5825
- configure pytest to log DEBUG to cli by default by @thrau in https://github.com/localstack/localstack/pull/6015
- Added utility to filter a dictionary based on a TypedDict keys by @giograno in https://github.com/localstack/localstack/pull/6018
- Asf sns migration by @baermat in https://github.com/localstack/localstack/pull/5654
- [ASF] iam Migration by @MEPalma in https://github.com/localstack/localstack/pull/5818
- [ASF] events Migration by @MEPalma in https://github.com/localstack/localstack/pull/5844
- chore: Set permissions for GitHub actions by @naveensrinivasan in https://github.com/localstack/localstack/pull/6014
- Update ASF APIs by @localstack-bot in https://github.com/localstack/localstack/pull/6030
- update Docker base image (python:3.10.4-slim-buster) digest to 1678c20 by @renovate in https://github.com/localstack/localstack/pull/6029
- add workaround for s3 virtual host addressing by @thrau in https://github.com/localstack/localstack/pull/6026
- ignore GET and HEAD request body for rest-xml protocol by @thrau in https://github.com/localstack/localstack/pull/6025
- Revert "add workaround for s3 virtual host addressing (#6026)" by @dfangl in https://github.com/localstack/localstack/pull/6034
- Explicit persistence hook argument for a Service by @giograno in https://github.com/localstack/localstack/pull/6020
- Minor cleanup after events migration by @MEPalma in https://github.com/localstack/localstack/pull/6036
- Add map, quiet return functions for VTL template rendering by @whummer in https://github.com/localstack/localstack/pull/6035
- don't suppress stage variables from lambda event by @calvernaz in https://github.com/localstack/localstack/pull/6042
- simplify cloudformation ui resource by @thrau in https://github.com/localstack/localstack/pull/6047
- Bump moto-ext to 3.1.9 by @whummer in https://github.com/localstack/localstack/pull/6037
- Refactor container network connection to reuse it outside of lambda by @dfangl in https://github.com/localstack/localstack/pull/6052
- Initial CFn support for UsePreviousValue to enable idempotent CDK bootstraps by @whummer in https://github.com/localstack/localstack/pull/6053
- Update ASF APIs by @localstack-bot in https://github.com/localstack/localstack/pull/6067
- move import_rest_api patch into ASF handler by @calvernaz in https://github.com/localstack/localstack/pull/6048
- Unify SES logging format by @viren-nadkarni in https://github.com/localstack/localstack/pull/6060
- ci: add labeler action by @HarshCasper in https://github.com/localstack/localstack/pull/6068
- emit analytics event containing CLI command whenever CLI is invoked by @SwatsonCodes in https://github.com/localstack/localstack/pull/6043
- Add DISABLE_CORS_HEADERS option to disable default CORS headers by @whummer in https://github.com/localstack/localstack/pull/6073
- Handle Cloudformations empty stack updates by changing the changeset status by @dfangl in https://github.com/localstack/localstack/pull/6080
- remove delete integration patch by @calvernaz in https://github.com/localstack/localstack/pull/6074
- migrate apigateway unittest tests to pytest by @calvernaz in https://github.com/localstack/localstack/pull/6092
- sqs tag map parsing by @thrau in https://github.com/localstack/localstack/pull/6091
- add initial support for streaming in ASF scaffold and serializer by @alexrashed in https://github.com/localstack/localstack/pull/6086
- add empty-string validation for sqs user queue attributes by @thrau in https://github.com/localstack/localstack/pull/6090
- add ASF prototype for server-side parameter validation by @thrau in https://github.com/localstack/localstack/pull/6088
Fixes
- Fix
KMS_PROVIDER=kms-local
back tolocal-kms
by @davecardwell in https://github.com/localstack/localstack/pull/5793 - Minor fixes for data types handling in CloudFormation deployer by @whummer in https://github.com/localstack/localstack/pull/5794
- Fix zone-name filter in describe-availability-zones by @viren-nadkarni in https://github.com/localstack/localstack/pull/5800
- Fix S3 download of XML documents with preamble by @whummer in https://github.com/localstack/localstack/pull/5805
- fix dynamodb index query validation by @foxmulder900 in https://github.com/localstack/localstack/pull/5799
- Fix flaky tests: test_dynamodb_stream_records_with_update_item, test_rotate_secret_with_lambda_2 by @steffyP in https://github.com/localstack/localstack/pull/5826
- fix ApiGateway ASF request matching by @alexrashed in https://github.com/localstack/localstack/pull/5827
- Fixed issue with spaces in Windows user names by @us88 in https://github.com/localstack/localstack/pull/5834
- fix ASF operation routing (empty query args, deprecated ops) by @alexrashed in https://github.com/localstack/localstack/pull/5840
- Fix ResourceNotFoundException for BatchGetItem operation by @giograno in https://github.com/localstack/localstack/pull/5848
- fix queries for local secondary index on dynamodb by @steffyP in https://github.com/localstack/localstack/pull/5847
- Fix #5821 - ElasticMQ always downloaded due to incorrect cache path in Dockerfile by @wimax-grapl in https://github.com/localstack/localstack/pull/5822
- Target HttpParameters and Input support and basic auth fix for Events service by @pinzon in https://github.com/localstack/localstack/pull/5738
- fix api detection to apply custom rules and normalize CORS behaviour by @calvernaz in https://github.com/localstack/localstack/pull/5839
- fix extraction of oauth_http_parameters for api destinations by @pinzon in https://github.com/localstack/localstack/pull/5861
- Increment kinesis-mock version to 0.2.4 for validation fix by @afleishaker in https://github.com/localstack/localstack/pull/5884
- add optional .fifo suffix to sqs queue url matcher by @thrau in https://github.com/localstack/localstack/pull/5892
- Fix backdoor API provided on health endpoint by @nao23 in https://github.com/localstack/localstack/pull/5907
- Fix DynamoDB TransactGetItems action by @giograno in https://github.com/localstack/localstack/pull/5909
- Fix ExecuteTransaction action in DynamoDB by @giograno in https://github.com/localstack/localstack/pull/5918
- Minor fix to ensure that /static/ paths are properly served by the proxy by @whummer in https://github.com/localstack/localstack/pull/5917
- Fix BatchExecuteStatement action in DynamoDB by @giograno in https://github.com/localstack/localstack/pull/5919
- fix localstack.http.Request path encoding by @thrau in https://github.com/localstack/localstack/pull/5924
- Fix lambda package type and code response by @dominikschubert in https://github.com/localstack/localstack/pull/5930
- Fix ApiGW: accept yaml format for openapi(swagger) import by @pinzon in https://github.com/localstack/localstack/pull/5871
- fix invalid characters in asf rest-protocol operation router by @alexrashed in https://github.com/localstack/localstack/pull/5948
- [minor] Fix text/html Content-Type for local CloudFormation UI by @whummer in https://github.com/localstack/localstack/pull/5950
- remove Werkzeug pin after bugfix release by @alexrashed in https://github.com/localstack/localstack/pull/5954
- fix get_raw_path to unify wsgi/asgi specs by @thrau in https://github.com/localstack/localstack/pull/5956
- Fix Firehose.PutRecord to extended s3 by @pinzon in https://github.com/localstack/localstack/pull/5967
- fix op router when matching keys with slashes by @thrau in https://github.com/localstack/localstack/pull/5972
- Fix ValidationError for CloudFormation.DescribeStacks by @dominikschubert in https://github.com/localstack/localstack/pull/5978
- fix secretsmanager to use ASF instead of moto exceptions by @thrau in https://github.com/localstack/localstack/pull/5976
- fix HTTP HEAD method operation detection in ASF by @alexrashed in https://github.com/localstack/localstack/pull/5991
- fix test_cloudwatch.py mock patches by @thrau in https://github.com/localstack/localstack/pull/5984
- fix: fix cla bot by @HarshCasper in https://github.com/localstack/localstack/pull/5999
- fixed metric alarm evaluation for data points with value 0 by @steffyP in https://github.com/localstack/localstack/pull/5998
- fix http path encoding in asgi/wsgi adapter by @thrau in https://github.com/localstack/localstack/pull/6012
- fix concurrency issues of cfn and sns tests by @thrau in https://github.com/localstack/localstack/pull/6023
- Provide hotfix for CFn parameter updates and further CFn tests by @dominikschubert in https://github.com/localstack/localstack/pull/6024
- fix CLA assistant allowlist by @alexrashed in https://github.com/localstack/localstack/pull/6032
- Fix bytes size calculation with binary items by @giograno in https://github.com/localstack/localstack/pull/6027
- Fix shutdown error in pytest by waiting for LS to finish correctly by @dfangl in https://github.com/localstack/localstack/pull/6039
- fix ASF docs by sanitizing pandoc results by @alexrashed in https://github.com/localstack/localstack/pull/6045
- fix multiple authorizer creation by @calvernaz in https://github.com/localstack/localstack/pull/6049
- Restructure test fixtures/utilities by @dominikschubert in https://github.com/localstack/localstack/pull/6050
- Fix DynamoDB error injection and re-enable tests by @whummer in https://github.com/localstack/localstack/pull/6063
- Minor fixes in edge forwarder and zip utils for dev/host mode by @whummer in https://github.com/localstack/localstack/pull/6065
- fix request encoding in generic proxy listener chain and forwarding by @alexrashed in https://github.com/localstack/localstack/pull/6070
- Minor fix for CFn deletion of IAM::Role resources by @whummer in https://github.com/localstack/localstack/pull/6072
- fix pycharm unit test debug execution by renaming http package by @alexrashed in https://github.com/localstack/localstack/pull/6071
- fix ARN rewriting for DynamoDB ASF provider by @alexrashed in https://github.com/localstack/localstack/pull/6075
- fix ARN rewriting for incoming requests, fix lambda arn creation by @alexrashed in https://github.com/localstack/localstack/pull/6078
- fix test_get_queue_url_contains_request_host for pro integration by @thrau in https://github.com/localstack/localstack/pull/6079
- ci: fix the stale bot by removing bug from exempted labels by @HarshCasper in https://github.com/localstack/localstack/pull/6082
- Fix CLI usage with python 3.7 by @dfangl in https://github.com/localstack/localstack/pull/6087
- fix cleanup of event source mapping test by @alexrashed in https://github.com/localstack/localstack/pull/6094
- fix message attribute filter for SQS ReceiveMessage by @thrau in https://github.com/localstack/localstack/pull/6097
New Contributors
- @davecardwell made their first contribution in https://github.com/localstack/localstack/pull/5793
- @RodrigoATorres made their first contribution in https://github.com/localstack/localstack/pull/5641
- @foxmulder900 made their first contribution in https://github.com/localstack/localstack/pull/5799
- @us88 made their first contribution in https://github.com/localstack/localstack/pull/5834
- @afleishaker made their first contribution in https://github.com/localstack/localstack/pull/5884
- @tmbobbins made their first contribution in https://github.com/localstack/localstack/pull/5849
- @jops-wtakase made their first contribution in https://github.com/localstack/localstack/pull/5893
- @nao23 made their first contribution in https://github.com/localstack/localstack/pull/5907
- @NickGrantX made their first contribution in https://github.com/localstack/localstack/pull/5920
- @naveensrinivasan made their first contribution in https://github.com/localstack/localstack/pull/6014
Full Changelog: https://github.com/localstack/localstack/compare/v0.14.2...v0.14.3