Skip to content

Commit 647e3b8

Browse files
authored
Merge branch 'develop' into setparams
2 parents 8a52d21 + 8f55f63 commit 647e3b8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1323
-822
lines changed

.github/scripts/constants.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ module.exports = Object.freeze({
1818
/** @type {string} */
1919
"PR_IS_MERGED": process.env.PR_IS_MERGED || "false",
2020

21+
/** @type {string} */
22+
"PR_LABELS": process.env.PR_LABELS || "",
23+
2124
/** @type {string} */
2225
"LABEL_BLOCK": "do-not-merge",
2326

.github/scripts/label_pr_based_on_title.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { PR_NUMBER, PR_TITLE } = require("./constants")
1+
const { PR_NUMBER, PR_TITLE, PR_LABELS } = require("./constants")
22

33
module.exports = async ({github, context, core}) => {
44
const FEAT_REGEX = /feat(\((.+)\))?(:.+)/
@@ -18,10 +18,9 @@ module.exports = async ({github, context, core}) => {
1818
}
1919

2020
// get PR labels from env
21-
const prLabels = process.env.PR_LABELS.replaceAll("\"", "").split(",");
21+
const prLabels = PR_LABELS.replaceAll("\"", "").split(",");
2222
const labelKeys = Object.keys(labels);
2323

24-
// Maintenance: We should keep track of modified PRs in case their titles change
2524
let miss = 0;
2625
try {
2726
for (const label in labels) {

.github/workflows/dependency-review.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ jobs:
1919
- name: 'Checkout Repository'
2020
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
2121
- name: 'Dependency Review'
22-
uses: actions/dependency-review-action@80f10bf419f34980065523f5efca7ebed17576aa # v4.1.0
22+
uses: actions/dependency-review-action@9129d7d40b8c12c1ed0f60400d00c92d437adcce # v4.1.3

.github/workflows/label_pr_on_title.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ jobs:
5656
env:
5757
PR_NUMBER: ${{ needs.get_pr_details.outputs.prNumber }}
5858
PR_TITLE: ${{ needs.get_pr_details.outputs.prTitle }}
59+
PR_LABELS: ${{ needs.get_pr_details.outputs.prLabels }}
5960
with:
6061
github-token: ${{ secrets.GITHUB_TOKEN }}
6162
# This safely runs in our base repo, not on fork

.github/workflows/publish_v2_layer.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -257,11 +257,12 @@ jobs:
257257
integrity_hash: ${{ inputs.source_code_integrity_hash }}
258258
artifact_name: ${{ inputs.source_code_artifact_name }}
259259

260-
- name: Download CDK layer artifact
260+
- name: Download CDK layer artifacts
261261
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
262262
with:
263-
name: cdk-layer-stack
264-
path: cdk-layer-stack/
263+
path: cdk-layer-stack
264+
pattern: cdk-layer-stack-* # merge all Layer artifacts created per region earlier (reusable_deploy_v2_layer_stack.yml; step "Save Layer ARN artifact")
265+
merge-multiple: true
265266
- name: Replace layer versions in documentation
266267
run: |
267268
ls -la cdk-layer-stack/

.github/workflows/quality_check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ jobs:
7171
- name: Complexity baseline
7272
run: make complexity-baseline
7373
- name: Upload coverage to Codecov
74-
uses: codecov/codecov-action@e0b68c6749509c5f83f984dd99a76a1c1a231044 # 4.0.1
74+
uses: codecov/codecov-action@0cfda1dd0a4ad9efc75517f399d859cd1ea4ced1 # 4.0.2
7575
with:
7676
file: ./coverage.xml
7777
env_vars: PYTHON

.github/workflows/reusable_deploy_v2_layer_stack.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,9 @@ jobs:
199199
if: ${{ inputs.stage == 'PROD' }}
200200
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
201201
with:
202-
name: cdk-layer-stack
202+
name: cdk-layer-stack-${{ matrix.region }}
203203
path: ./layer/cdk-layer-stack/* # NOTE: upload-artifact does not inherit working-directory setting.
204204
if-no-files-found: error
205205
retention-days: 1
206-
overwrite: true
207206
- name: CDK Deploy Canary
208207
run: npx cdk deploy --app cdk.out --context region=${{ matrix.region }} --parameters DeployStage="${{ inputs.stage }}" --parameters HasARM64Support=${{ matrix.has_arm64_support }} 'CanaryV2Stack' --require-approval never --verbose

CHANGELOG.md

Lines changed: 63 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,88 @@
44
<a name="unreleased"></a>
55
# Unreleased
66

7+
8+
<a name="v2.34.2"></a>
9+
## [v2.34.2] - 2024-02-26
10+
## Maintenance
11+
12+
* version bump
13+
* **ci:** remove aws-encryption-sdk from Lambda layer due to cffi being tied to python version ([#3853](https://github.com/aws-powertools/powertools-lambda-python/issues/3853))
14+
15+
16+
<a name="v2.34.1"></a>
17+
## [v2.34.1] - 2024-02-21
718
## Bug Fixes
819

20+
* **ci:** inject PR_LABELS env for PR Label automation ([#3819](https://github.com/aws-powertools/powertools-lambda-python/issues/3819))
21+
* **ci:** revert layer version bump write-only back to append ([#3818](https://github.com/aws-powertools/powertools-lambda-python/issues/3818))
22+
* **event-handler:** return dict on missing multi_value_headers ([#3824](https://github.com/aws-powertools/powertools-lambda-python/issues/3824))
23+
* **idempotency:** validate before saving to cache ([#3822](https://github.com/aws-powertools/powertools-lambda-python/issues/3822))
24+
25+
## Maintenance
26+
27+
* version bump
28+
* **deps-dev:** bump ruff from 0.2.1 to 0.2.2 ([#3802](https://github.com/aws-powertools/powertools-lambda-python/issues/3802))
29+
* **deps-dev:** bump the boto-typing group with 2 updates ([#3810](https://github.com/aws-powertools/powertools-lambda-python/issues/3810))
30+
31+
32+
<a name="v2.34.0"></a>
33+
## [v2.34.0] - 2024-02-21
34+
## Bug Fixes
35+
36+
* **ci:** create one layer artifact per region & merge ([#3808](https://github.com/aws-powertools/powertools-lambda-python/issues/3808))
37+
* **event-handler:** multi-value query string and validation of scalar parameters ([#3795](https://github.com/aws-powertools/powertools-lambda-python/issues/3795))
38+
* **event-handler:** swagger schema respects api stage ([#3796](https://github.com/aws-powertools/powertools-lambda-python/issues/3796))
939
* **event-handler:** handle aliased parameters e.g., Query(alias="categoryType") ([#3766](https://github.com/aws-powertools/powertools-lambda-python/issues/3766))
1040

41+
## Code Refactoring
42+
43+
* **feature-flags:** add intersection tests; structure refinement ([#3775](https://github.com/aws-powertools/powertools-lambda-python/issues/3775))
44+
1145
## Documentation
1246

47+
* **feature_flags:** fix incorrect line markers and envelope name ([#3792](https://github.com/aws-powertools/powertools-lambda-python/issues/3792))
1348
* **home:** update layer version to 62 for package version 2.33.1 ([#3778](https://github.com/aws-powertools/powertools-lambda-python/issues/3778))
1449
* **home:** add note about POWERTOOLS_DEV side effects in CloudWatch Logs ([#3770](https://github.com/aws-powertools/powertools-lambda-python/issues/3770))
15-
* **homepage:** remove leftover announcement banner ([#3783](https://github.com/aws-powertools/powertools-lambda-python/issues/3783))
1650
* **homepage:** discord flat badge style; remove former devax email ([#3768](https://github.com/aws-powertools/powertools-lambda-python/issues/3768))
51+
* **homepage:** remove leftover announcement banner ([#3783](https://github.com/aws-powertools/powertools-lambda-python/issues/3783))
1752
* **roadmap:** latest roadmap update; use new grid to de-clutter homepage ([#3755](https://github.com/aws-powertools/powertools-lambda-python/issues/3755))
53+
* **we-made-this:** add swagger post ([#3799](https://github.com/aws-powertools/powertools-lambda-python/issues/3799))
54+
* **we-made-this:** add reinvent 2023 session ([#3790](https://github.com/aws-powertools/powertools-lambda-python/issues/3790))
1855

1956
## Features
2057

2158
* **feature_flags:** add intersect actions for conditions ([#3692](https://github.com/aws-powertools/powertools-lambda-python/issues/3692))
2259

2360
## Maintenance
2461

25-
* **deps:** bump squidfunk/mkdocs-material from `6a72238` to `62d3668` in /docs ([#3756](https://github.com/aws-powertools/powertools-lambda-python/issues/3756))
26-
* **deps:** bump the layer-balancer group in /layer/scripts/layer-balancer with 3 updates ([#3764](https://github.com/aws-powertools/powertools-lambda-python/issues/3764))
62+
* version bump
63+
* **deps:** bump actions/dependency-review-action from 4.1.2 to 4.1.3 ([#3813](https://github.com/aws-powertools/powertools-lambda-python/issues/3813))
64+
* **deps:** bump actions/dependency-review-action from 4.1.0 to 4.1.2 ([#3800](https://github.com/aws-powertools/powertools-lambda-python/issues/3800))
2765
* **deps:** bump actions/dependency-review-action from 4.0.0 to 4.1.0 ([#3771](https://github.com/aws-powertools/powertools-lambda-python/issues/3771))
28-
* **deps-dev:** bump aws-cdk-lib from 2.126.0 to 2.127.0 ([#3758](https://github.com/aws-powertools/powertools-lambda-python/issues/3758))
66+
* **deps:** bump squidfunk/mkdocs-material from `62d3668` to `43b898a` in /docs ([#3801](https://github.com/aws-powertools/powertools-lambda-python/issues/3801))
67+
* **deps:** bump the layer-balancer group in /layer/scripts/layer-balancer with 3 updates ([#3764](https://github.com/aws-powertools/powertools-lambda-python/issues/3764))
68+
* **deps:** bump squidfunk/mkdocs-material from `6a72238` to `62d3668` in /docs ([#3756](https://github.com/aws-powertools/powertools-lambda-python/issues/3756))
69+
* **deps:** bump the layer-balancer group in /layer/scripts/layer-balancer with 2 updates ([#3814](https://github.com/aws-powertools/powertools-lambda-python/issues/3814))
70+
* **deps:** bump the layer-balancer group in /layer/scripts/layer-balancer with 1 update ([#3784](https://github.com/aws-powertools/powertools-lambda-python/issues/3784))
71+
* **deps-dev:** bump pytest from 8.0.0 to 8.0.1 ([#3812](https://github.com/aws-powertools/powertools-lambda-python/issues/3812))
72+
* **deps-dev:** bump aws-cdk from 2.127.0 to 2.128.0 ([#3776](https://github.com/aws-powertools/powertools-lambda-python/issues/3776))
73+
* **deps-dev:** bump the boto-typing group with 2 updates ([#3797](https://github.com/aws-powertools/powertools-lambda-python/issues/3797))
74+
* **deps-dev:** bump cfn-lint from 0.85.1 to 0.85.2 ([#3786](https://github.com/aws-powertools/powertools-lambda-python/issues/3786))
75+
* **deps-dev:** bump pytest-asyncio from 0.21.1 to 0.23.5 ([#3773](https://github.com/aws-powertools/powertools-lambda-python/issues/3773))
76+
* **deps-dev:** bump aws-cdk-lib from 2.127.0 to 2.128.0 ([#3777](https://github.com/aws-powertools/powertools-lambda-python/issues/3777))
77+
* **deps-dev:** bump sentry-sdk from 1.40.3 to 1.40.4 ([#3765](https://github.com/aws-powertools/powertools-lambda-python/issues/3765))
78+
* **deps-dev:** bump sentry-sdk from 1.40.4 to 1.40.5 ([#3805](https://github.com/aws-powertools/powertools-lambda-python/issues/3805))
79+
* **deps-dev:** bump mkdocs-material from 9.5.9 to 9.5.10 ([#3803](https://github.com/aws-powertools/powertools-lambda-python/issues/3803))
80+
* **deps-dev:** bump types-redis from 4.6.0.20240106 to 4.6.0.20240218 ([#3804](https://github.com/aws-powertools/powertools-lambda-python/issues/3804))
2981
* **deps-dev:** bump the boto-typing group with 1 update ([#3757](https://github.com/aws-powertools/powertools-lambda-python/issues/3757))
82+
* **deps-dev:** bump aws-cdk-lib from 2.126.0 to 2.127.0 ([#3758](https://github.com/aws-powertools/powertools-lambda-python/issues/3758))
3083
* **deps-dev:** bump aws-cdk from 2.126.0 to 2.127.0 ([#3761](https://github.com/aws-powertools/powertools-lambda-python/issues/3761))
3184
* **deps-dev:** bump mkdocs-material from 9.5.8 to 9.5.9 ([#3759](https://github.com/aws-powertools/powertools-lambda-python/issues/3759))
3285
* **deps-dev:** bump sentry-sdk from 1.40.2 to 1.40.3 ([#3750](https://github.com/aws-powertools/powertools-lambda-python/issues/3750))
3386
* **deps-dev:** bump cfn-lint from 0.85.0 to 0.85.1 ([#3749](https://github.com/aws-powertools/powertools-lambda-python/issues/3749))
34-
* **deps-dev:** bump sentry-sdk from 1.40.3 to 1.40.4 ([#3765](https://github.com/aws-powertools/powertools-lambda-python/issues/3765))
35-
* **deps-dev:** bump pytest-asyncio from 0.21.1 to 0.23.5 ([#3773](https://github.com/aws-powertools/powertools-lambda-python/issues/3773))
87+
* **deps-dev:** bump coverage from 7.4.1 to 7.4.2 ([#3811](https://github.com/aws-powertools/powertools-lambda-python/issues/3811))
88+
* **tests:** increase idempotency coverage with nested payload tampering tests ([#3809](https://github.com/aws-powertools/powertools-lambda-python/issues/3809))
3689

3790

3891
<a name="v2.33.1"></a>
@@ -4383,7 +4436,10 @@
43834436
* Merge pull request [#5](https://github.com/aws-powertools/powertools-lambda-python/issues/5) from jfuss/feat/python38
43844437

43854438

4386-
[Unreleased]: https://github.com/aws-powertools/powertools-lambda-python/compare/v2.33.1...HEAD
4439+
[Unreleased]: https://github.com/aws-powertools/powertools-lambda-python/compare/v2.34.2...HEAD
4440+
[v2.34.2]: https://github.com/aws-powertools/powertools-lambda-python/compare/v2.34.1...v2.34.2
4441+
[v2.34.1]: https://github.com/aws-powertools/powertools-lambda-python/compare/v2.34.0...v2.34.1
4442+
[v2.34.0]: https://github.com/aws-powertools/powertools-lambda-python/compare/v2.33.1...v2.34.0
43874443
[v2.33.1]: https://github.com/aws-powertools/powertools-lambda-python/compare/v2.33.0...v2.33.1
43884444
[v2.33.0]: https://github.com/aws-powertools/powertools-lambda-python/compare/v2.32.0...v2.33.0
43894445
[v2.32.0]: https://github.com/aws-powertools/powertools-lambda-python/compare/v2.31.0...v2.32.0

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ dev:
88
pip install --upgrade pip pre-commit poetry
99
poetry config --local virtualenvs.in-project true
1010
@$(MAKE) dev-version-plugin
11-
poetry install --extras "all redis"
11+
poetry install --extras "all redis datamasking"
1212
pre-commit install
1313

1414
dev-gitpod:
1515
pip install --upgrade pip poetry
1616
@$(MAKE) dev-version-plugin
17-
poetry install --extras "all redis"
17+
poetry install --extras "all redis datamasking"
1818
pre-commit install
1919

2020
format:

aws_lambda_powertools/event_handler/middlewares/openapi_validation.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,10 @@ def _get_embed_body(
368368
return received_body, field_alias_omitted
369369

370370

371-
def _normalize_multi_query_string_with_param(query_string: Optional[Dict[str, str]], params: Sequence[ModelField]):
371+
def _normalize_multi_query_string_with_param(
372+
query_string: Dict[str, List[str]],
373+
params: Sequence[ModelField],
374+
) -> Dict[str, Any]:
372375
"""
373376
Extract and normalize resolved_query_string_parameters
374377
@@ -383,15 +386,15 @@ def _normalize_multi_query_string_with_param(query_string: Optional[Dict[str, st
383386
-------
384387
A dictionary containing the processed multi_query_string_parameters.
385388
"""
386-
if query_string:
387-
for param in filter(is_scalar_field, params):
388-
try:
389-
# if the target parameter is a scalar, we keep the first value of the query string
390-
# regardless if there are more in the payload
391-
query_string[param.alias] = query_string[param.alias][0]
392-
except KeyError:
393-
pass
394-
return query_string
389+
resolved_query_string: Dict[str, Any] = query_string
390+
for param in filter(is_scalar_field, params):
391+
try:
392+
# if the target parameter is a scalar, we keep the first value of the query string
393+
# regardless if there are more in the payload
394+
resolved_query_string[param.alias] = query_string[param.alias][0]
395+
except KeyError:
396+
pass
397+
return resolved_query_string
395398

396399

397400
def _normalize_multi_header_values_with_param(headers: Optional[Dict[str, str]], params: Sequence[ModelField]):

0 commit comments

Comments
 (0)