From c8cf3ba2020e034e48543f2295a1aaf927d7177b Mon Sep 17 00:00:00 2001
From: Bastian Zimmermann <10774221+BastianZim@users.noreply.github.com>
Date: Sun, 22 Aug 2021 14:19:54 +0200
Subject: [PATCH 1/6] chore(license): Add THIRD-PARTY-LICENSES (#641)
---
pyproject.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyproject.toml b/pyproject.toml
index f8f34c7c33d..ad90706b46d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -3,7 +3,7 @@ name = "aws_lambda_powertools"
version = "1.20.1"
description = "A suite of utilities for AWS Lambda functions to ease adopting best practices such as tracing, structured logging, custom metrics, batching, idempotency, feature flags, and more."
authors = ["Amazon Web Services"]
-include = ["aws_lambda_powertools/py.typed"]
+include = ["aws_lambda_powertools/py.typed", "THIRD-PARTY-LICENSES"]
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
From eef22122cf08f805c807d9ef8b63c4f62b2bec4a Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 31 Aug 2021 17:38:56 +0000
Subject: [PATCH 2/6] chore(deps-dev): bump pytest from 6.2.4 to 6.2.5 (#662)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.2.4 to 6.2.5.
Release notes
Sourced from pytest's releases.
6.2.5
pytest 6.2.5 (2021-08-29)
Trivial/Internal Changes
- #8494: Python 3.10 is now supported.
- #9040: Enable compatibility with
pluggy 1.0
or later.
Commits
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
---
poetry.lock | 10 +++++-----
pyproject.toml | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 6b74a886218..0f18c0f3e5c 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -760,7 +760,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]]
name = "pytest"
-version = "6.2.4"
+version = "6.2.5"
description = "pytest: simple powerful testing with Python"
category = "dev"
optional = false
@@ -773,7 +773,7 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""}
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
iniconfig = "*"
packaging = "*"
-pluggy = ">=0.12,<1.0.0a1"
+pluggy = ">=0.12,<2.0"
py = ">=1.8.2"
toml = "*"
@@ -1059,7 +1059,7 @@ pydantic = ["pydantic", "email-validator"]
[metadata]
lock-version = "1.1"
python-versions = "^3.6.1"
-content-hash = "fb53ec392314b8681a5b2c82957b36af88ca1ac9113bfe33bc6239a0c3101853"
+content-hash = "59b37196b7e3c45bf32f418464e037c30442150d165faf8f84e901a0b23cbe19"
[metadata.files]
appdirs = [
@@ -1456,8 +1456,8 @@ pyparsing = [
{file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
]
pytest = [
- {file = "pytest-6.2.4-py3-none-any.whl", hash = "sha256:91ef2131a9bd6be8f76f1f08eac5c5317221d6ad1e143ae03894b862e8976890"},
- {file = "pytest-6.2.4.tar.gz", hash = "sha256:50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b"},
+ {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"},
+ {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"},
]
pytest-asyncio = [
{file = "pytest-asyncio-0.15.1.tar.gz", hash = "sha256:2564ceb9612bbd560d19ca4b41347b54e7835c2f792c504f698e05395ed63f6f"},
diff --git a/pyproject.toml b/pyproject.toml
index ad90706b46d..7966bc56157 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -30,7 +30,7 @@ email-validator = {version = "*", optional = true }
[tool.poetry.dev-dependencies]
coverage = {extras = ["toml"], version = "^5.5"}
-pytest = "^6.2.2"
+pytest = "^6.2.5"
black = "^20.8b1"
flake8 = "^3.9.0"
flake8-black = "^0.2.3"
From 74b66a4885e4bba39f1d030daf4c6f167b8fb436 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 31 Aug 2021 17:40:32 +0000
Subject: [PATCH 3/6] chore(deps): bump boto3 from 1.18.26 to 1.18.32 (#663)
Bumps [boto3](https://github.com/boto/boto3) from 1.18.26 to 1.18.32.
Changelog
Sourced from boto3's changelog.
1.18.32
- api-change:
codebuild
: [botocore
] Documentation updates for CodeBuild
- api-change:
firehose
: [botocore
] This release adds the Dynamic Partitioning feature to Kinesis Data Firehose service for S3 destinations.
- api-change:
kms
: [botocore
] This release has changes to KMS nomenclature to remove the word master from both the "Customer master key" and "CMK" abbreviation and replace those naming conventions with "KMS key".
- api-change:
cloudformation
: [botocore
] AWS CloudFormation allows you to iteratively develop your applications when failures are encountered without rolling back successfully provisioned resources. By specifying stack failure options, you can troubleshoot resources in a CREATE_FAILED or UPDATE_FAILED status.
1.18.31
- api-change:
s3
: [botocore
] Documentation updates for Amazon S3.
- api-change:
emr
: [botocore
] Update emr client to latest version
- api-change:
ec2
: [botocore
] This release adds the BootMode flag to the ImportImage API and showing the detected BootMode of an ImportImage task.
1.18.30
- api-change:
transcribe
: [botocore
] This release adds support for batch transcription in six new languages - Afrikaans, Danish, Mandarin Chinese (Taiwan), New Zealand English, South African English, and Thai.
- api-change:
rekognition
: [botocore
] This release added new attributes to Rekognition RecognizeCelebities and GetCelebrityInfo API operations.
- api-change:
ec2
: [botocore
] Support added for resizing VPC prefix lists
- api-change:
compute-optimizer
: [botocore
] Adds support for 1) the AWS Graviton (AWS_ARM64) recommendation preference for Amazon EC2 instance and Auto Scaling group recommendations, and 2) the ability to get the enrollment statuses for all member accounts of an organization.
1.18.29
- api-change:
fms
: [botocore
] AWS Firewall Manager now supports triggering resource cleanup workflow when account or resource goes out of policy scope for AWS WAF, Security group, AWS Network Firewall, and Amazon Route 53 Resolver DNS Firewall policies.
- api-change:
ec2
: [botocore
] Support added for IMDS IPv6 endpoint
- api-change:
datasync
: [botocore
] Added include filters to CreateTask and UpdateTask, and added exclude filters to StartTaskExecution, giving customers more granular control over how DataSync transfers files, folders, and objects.
- api-change:
events
: [botocore
] AWS CWEvents adds an enum of EXTERNAL for EcsParameters LaunchType for PutTargets API
1.18.28
- api-change:
mediaconvert
: [botocore
] AWS Elemental MediaConvert SDK has added MBAFF encoding support for AVC video and the ability to pass encryption context from the job settings to S3.
- api-change:
polly
: [botocore
] Amazon Polly adds new New Zealand English voice - Aria. Aria is available as Neural voice only.
- api-change:
transcribe
: [botocore
] This release adds support for feature tagging with Amazon Transcribe batch jobs.
- api-change:
ssm
: [botocore
] Updated Parameter Store property for logging improvements.
- api-change:
iot-data
: [botocore
] Updated Publish with support for new Retain flag and added two new API operations: GetRetainedMessage, ListRetainedMessages.
1.18.27
- api-change:
dms
: [botocore
] Amazon AWS DMS service now support Redis target endpoint migration. Now S3 endpoint setting is capable to setup features which are used to be configurable only in extract connection attributes.
- api-change:
frauddetector
: [botocore
] Updated an element of the DescribeModelVersion API response (LogitMetrics -> logOddsMetrics) for clarity. Added new exceptions to several APIs to protect against unlikely scenarios.
... (truncated)
Commits
44d6c6e
Merge branch 'release-1.18.32'
51d5260
Bumping version to 1.18.32
7102ea3
Add changelog entries from botocore
23593c3
Merge branch 'release-1.18.31'
64ed0b1
Merge branch 'release-1.18.31' into develop
95549f4
Bumping version to 1.18.31
cd3066e
Add changelog entries from botocore
efdcad0
Merge branch 'release-1.18.30'
42319f5
Merge branch 'release-1.18.30' into develop
d37401c
Bumping version to 1.18.30
- Additional commits viewable in compare view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
---
poetry.lock | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 0f18c0f3e5c..48fb3730368 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -81,14 +81,14 @@ d = ["aiohttp (>=3.3.2)", "aiohttp-cors"]
[[package]]
name = "boto3"
-version = "1.18.26"
+version = "1.18.32"
description = "The AWS SDK for Python"
category = "main"
optional = false
python-versions = ">= 3.6"
[package.dependencies]
-botocore = ">=1.21.26,<1.22.0"
+botocore = ">=1.21.32,<1.22.0"
jmespath = ">=0.7.1,<1.0.0"
s3transfer = ">=0.5.0,<0.6.0"
@@ -97,7 +97,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
[[package]]
name = "botocore"
-version = "1.21.26"
+version = "1.21.32"
description = "Low-level, data-driven core of boto 3."
category = "main"
optional = false
@@ -1086,12 +1086,12 @@ black = [
{file = "black-20.8b1.tar.gz", hash = "sha256:1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea"},
]
boto3 = [
- {file = "boto3-1.18.26-py3-none-any.whl", hash = "sha256:3eedef0719639892dc263bed7adfc00821544388e3d86a6fa31d82f936a6b613"},
- {file = "boto3-1.18.26.tar.gz", hash = "sha256:39ed0f5004b671e4a4241ae23023ad63674cd25f766bfe1617cfc809728bc3e0"},
+ {file = "boto3-1.18.32-py3-none-any.whl", hash = "sha256:a299d0c6b5a30dc2e823944286ec782aec415d83965a51f97fc9a779a04ff194"},
+ {file = "boto3-1.18.32.tar.gz", hash = "sha256:f4b17a2b6e04e5ec6f494e643d05b06dd60c88943f33d6f9650dd9e7f89a7022"},
]
botocore = [
- {file = "botocore-1.21.26-py3-none-any.whl", hash = "sha256:37f77bf5f72c86d9b5f38e107c3822da66dbf0ef123768a6e80a58590c2796bf"},
- {file = "botocore-1.21.26.tar.gz", hash = "sha256:911246faac450e13a3ef0e81993dd9bd9c282a7c0f4546bfe8cccf9649364cef"},
+ {file = "botocore-1.21.32-py3-none-any.whl", hash = "sha256:5803bf852304a301de41dccc3c0431053354144f3aefc7571dbe240a4288d3c5"},
+ {file = "botocore-1.21.32.tar.gz", hash = "sha256:95ff61534b2a423d0e70067c39615e4e70c119773d2180d7254bf4025c54396d"},
]
certifi = [
{file = "certifi-2020.12.5-py2.py3-none-any.whl", hash = "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"},
From 7b214c3791374c6eff0c78b0732421021d21a75c Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 1 Sep 2021 20:24:19 +0000
Subject: [PATCH 4/6] chore(deps-dev): bump mkdocs-material from 7.2.4 to 7.2.6
(#665)
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.2.4 to 7.2.6.
Release notes
Sourced from mkdocs-material's releases.
mkdocs-material-7.2.6
- Fixed rendering of
blockquote
elements (7.0.0 regression)
- Fixed #2973: Custom search worker setting ignored
mkdocs-material-7.2.5
- Updated Portuguese translations
- Fixed execution of RxJS teardown logic (7.2.3 regression)
- Fixed #2970: Search results show escaped characters (7.2.2 regression)
Changelog
Sourced from mkdocs-material's changelog.
7.2.6 _ September 1, 2021
- Fixed rendering of
blockquote
elements (7.0.0 regression)
- Fixed #2973: Custom search worker setting ignored
7.2.5 _ August 25, 2021
- Updated Portuguese translations
- Fixed execution of RxJS teardown logic (7.2.3 regression)
- Fixed #2970: Search results show escaped characters (7.2.2 regression)
Commits
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
---
poetry.lock | 8 ++++----
pyproject.toml | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 48fb3730368..db58802632b 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -588,7 +588,7 @@ mkdocs = ">=0.17"
[[package]]
name = "mkdocs-material"
-version = "7.2.4"
+version = "7.2.6"
description = "A Material Design theme for MkDocs"
category = "dev"
optional = false
@@ -1059,7 +1059,7 @@ pydantic = ["pydantic", "email-validator"]
[metadata]
lock-version = "1.1"
python-versions = "^3.6.1"
-content-hash = "59b37196b7e3c45bf32f418464e037c30442150d165faf8f84e901a0b23cbe19"
+content-hash = "405d8f2eb75f911de58f5a57331a48ee6800a0c4065abe6c647fc8c7f0c25b87"
[metadata.files]
appdirs = [
@@ -1352,8 +1352,8 @@ mkdocs-git-revision-date-plugin = [
{file = "mkdocs_git_revision_date_plugin-0.3.1-py3-none-any.whl", hash = "sha256:8ae50b45eb75d07b150a69726041860801615aae5f4adbd6b1cf4d51abaa03d5"},
]
mkdocs-material = [
- {file = "mkdocs-material-7.2.4.tar.gz", hash = "sha256:0e19402480a80add9b0fe777e9be80fafb9583ec2c91e43deaef29d1a432d018"},
- {file = "mkdocs_material-7.2.4-py2.py3-none-any.whl", hash = "sha256:f554c84286b485c7d47e89c14c2fc062fc57b65f9c26fa1687720fe4f569b837"},
+ {file = "mkdocs-material-7.2.6.tar.gz", hash = "sha256:4bdeff63904680865676ceb3193216934de0b33fa5b2446e0a84ade60929ee54"},
+ {file = "mkdocs_material-7.2.6-py2.py3-none-any.whl", hash = "sha256:4c6939b9d7d5c6db948ab02df8525c64211828ddf33286acea8b9d2115cec369"},
]
mkdocs-material-extensions = [
{file = "mkdocs-material-extensions-1.0.1.tar.gz", hash = "sha256:6947fb7f5e4291e3c61405bad3539d81e0b3cd62ae0d66ced018128af509c68f"},
diff --git a/pyproject.toml b/pyproject.toml
index 7966bc56157..53cbcfc31d0 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -50,7 +50,7 @@ radon = "^4.5.0"
xenon = "^0.7.3"
flake8-eradicate = "^1.1.0"
flake8-bugbear = "^21.3.2"
-mkdocs-material = "^7.2.4"
+mkdocs-material = "^7.2.6"
mkdocs-git-revision-date-plugin = "^0.3.1"
mike = "^0.6.0"
mypy = "^0.910"
From 6dee33a658791b7cbb9a49d6fe4983a8bb91d827 Mon Sep 17 00:00:00 2001
From: BVMiko
Date: Thu, 2 Sep 2021 12:48:33 -0500
Subject: [PATCH 5/6] fix: Fix issue with strip_prefixes (#647)
* Fix issue with strip_prefixes
* Add test
* Update docs to clarify usage
Co-authored-by: Brian Villemarette
---
.../event_handler/api_gateway.py | 2 ++
docs/core/event_handler/api_gateway.md | 2 ++
.../event_handler/test_api_gateway.py | 18 ++++++++++++++++++
3 files changed, 22 insertions(+)
diff --git a/aws_lambda_powertools/event_handler/api_gateway.py b/aws_lambda_powertools/event_handler/api_gateway.py
index c1cdde63db9..754cc24710d 100644
--- a/aws_lambda_powertools/event_handler/api_gateway.py
+++ b/aws_lambda_powertools/event_handler/api_gateway.py
@@ -546,6 +546,8 @@ def _remove_prefix(self, path: str) -> str:
return path
for prefix in self._strip_prefixes:
+ if path == prefix:
+ return "/"
if self._path_starts_with(path, prefix):
return path[len(prefix) :]
diff --git a/docs/core/event_handler/api_gateway.md b/docs/core/event_handler/api_gateway.md
index 7186e8412d1..76a72fd03c7 100644
--- a/docs/core/event_handler/api_gateway.md
+++ b/docs/core/event_handler/api_gateway.md
@@ -476,6 +476,8 @@ This will lead to a HTTP 404 despite having your Lambda configured correctly. Se
}
```
+Note: After removing a path prefix with `strip_prefixes`, the new root path will automatically be mapped to the path argument of `/`. For example, when using `strip_prefixes` value of `/pay`, there is no difference between a request path of `/pay` and `/pay/`; and the path argument would be defined as `/`.
+
## Advanced
### CORS
diff --git a/tests/functional/event_handler/test_api_gateway.py b/tests/functional/event_handler/test_api_gateway.py
index 683e1aa6c91..21700ec09dd 100644
--- a/tests/functional/event_handler/test_api_gateway.py
+++ b/tests/functional/event_handler/test_api_gateway.py
@@ -842,3 +842,21 @@ def foo():
# THEN process event correctly
assert result["statusCode"] == 200
assert result["headers"]["Content-Type"] == content_types.APPLICATION_JSON
+
+
+def test_api_gateway_request_path_equals_strip_prefix():
+ # GIVEN a strip_prefix matches the request path
+ app = ApiGatewayResolver(strip_prefixes=["/foo"])
+ event = {"httpMethod": "GET", "path": "/foo"}
+
+ @app.get("/")
+ def base():
+ return {}
+
+ # WHEN calling the event handler
+ # WITH a route "/"
+ result = app(event, {})
+
+ # THEN process event correctly
+ assert result["statusCode"] == 200
+ assert result["headers"]["Content-Type"] == content_types.APPLICATION_JSON
From e54263ec16402fa3d3aed50c72b78b1e81d3d6d3 Mon Sep 17 00:00:00 2001
From: Tom McCarthy
Date: Thu, 2 Sep 2021 18:58:33 +0100
Subject: [PATCH 6/6] chore: bump to 1.20.2
---
CHANGELOG.md | 14 ++++++++++++++
pyproject.toml | 2 +-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a24786a6ce9..f8993c40c73 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,20 @@ This project follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) fo
## [Unreleased]
+## 1.20.2 - 2021-09-02
+
+### Bug Fixes
+
+* **event-handler:** fix issue with strip_prefixes and root level resolvers ([#646](https://github.com/awslabs/aws-lambda-powertools-python/issues/646))
+
+### Maintenance
+
+* **deps:** bump boto3 from 1.18.26 to 1.18.32 ([#663](https://github.com/awslabs/aws-lambda-powertools-python/issues/663))
+* **deps-dev:** bump mkdocs-material from 7.2.4 to 7.2.6 ([#665](https://github.com/awslabs/aws-lambda-powertools-python/issues/665))
+* **deps-dev:** bump pytest from 6.2.4 to 6.2.5 ([#662](https://github.com/awslabs/aws-lambda-powertools-python/issues/662))
+* **deps-dev:** bump mike from 0.6.0 to 1.0.1 ([#453](https://github.com/awslabs/aws-lambda-powertools-python/issues/453))
+* **license:** add third party license to pyproject.toml ([#641](https://github.com/awslabs/aws-lambda-powertools-python/issues/641))
+
## 1.20.1 - 2021-08-22
### Bug Fixes
diff --git a/pyproject.toml b/pyproject.toml
index 53cbcfc31d0..a54704d652e 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "aws_lambda_powertools"
-version = "1.20.1"
+version = "1.20.2"
description = "A suite of utilities for AWS Lambda functions to ease adopting best practices such as tracing, structured logging, custom metrics, batching, idempotency, feature flags, and more."
authors = ["Amazon Web Services"]
include = ["aws_lambda_powertools/py.typed", "THIRD-PARTY-LICENSES"]