Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(release): 2.96.0 #27132

Merged
merged 39 commits into from
Sep 13, 2023
Merged

chore(release): 2.96.0 #27132

merged 39 commits into from
Sep 13, 2023

Conversation

aws-cdk-automation
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation commented Sep 13, 2023

See CHANGELOG

mergify bot and others added 30 commits September 7, 2023 23:11
Use the `error.name` field to disambiguate errors in custom resource handlers. Instanceof has errors if the service team has not correctly modeled their errors which leads to ambiguity when detecting and handling specific errors returned from the service.

In addition to running integ tests (besides eks), I verified that all of the error class constructors we were previously referencing do in fact have the matching hardcoded `name` field defined. IE

<img width="538" alt="image" src="https://github.com/aws/aws-cdk/assets/7221111/5495d744-592c-4332-bbc1-2fa3f6527bdd">

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…#27049)

It will be easier to reuse SDKv3 related code from this other location.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Currently, the description regarding default value for `completionWindow` is incorrect.
https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_backup.BackupPlanRuleProps.html#completionwindow
> Type: Duration (optional, default: 8 hours)

Correct value is 7 days (10080 minutes).

Closes #27050

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…t8Array (#27065)

The SDKv3 has changed the input representation of `blob` types from `string | Buffer | Uint8Array` to `Uint8Array`. That means all places where customers were passing in `strings` now fail to pass the right kind of value.

Similar to #27034, but for `AwsCustomResource`.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…it time (#27068)

This PR updates the wait time of the `delete-existing-record-set-handler` from 60 to 1800 seconds.

Commit 399b6bb upgraded the handler to use the AWS SDK V3 (was V2) and made the following change:

```
-  await route53.waitFor('resourceRecordSetsChanged', { Id: changeResourceRecordSets.ChangeInfo.Id }).promise();
+  await waitUntilResourceRecordSetsChanged({ client: route53, maxWaitTime: 60 }, { Id: changeResourceRecordSets?.ChangeInfo?.Id })
```

The V2 `route53.waitFor` waits for 1800 seconds (see [reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Route53.html#waitFor-property))
> `Waits for the resourceRecordSetsChanged state by periodically calling the underlying [Route53.getChange()](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Route53.html#getChange-property) operation every 30 seconds (at most 60 times).` 

The new explicit configuration was set to 60 seconds which is too short and caused timeouts and failure in our cloudformation stacks

Supersedes and closes #27060 

Co-authored-by: Tom Roshko [hi@pistazie.rocks](mailto:hi@pistazie.rocks)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…is instead of scope (#27075)

`CfnGlobalTable` in the constructor of `TableV2` was incorrectly using `scope` instead of `this`. As a result, `TableV2` was not generating correct logical IDs.

Closes #27062

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…onds (#27076)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
graduates the alpha module.

All users of any `ManagedComputeEnvironment` who left `updateToLatestImageVersion` unspecified will see it default to `undefined` instead of `true`. *If you use `FargateComputeEnvironment`, this upgrade may cause deployment errors; destroy the Fargate CE and recreate it to resolve this, if encountered.* 


Related: #27054.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Add support for selecting Amazon Linux 2023 ECS Optimized images.

Reference: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_AMI.html

Closes #26988.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
… contributing guide (#27072)

The new markdown syntax is from [here](https://github.com/orgs/community/discussions/16925)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…gate (#27081)

Currently, CDK document includes the following description.
https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ecs-readme.html#environment-variables
> Support for environment files is restricted to the EC2 launch type for files hosted on S3. 

However, this is out of date. Fargate has been [supported environment files](https://aws.amazon.com/jp/blogs/containers/latest-updates-to-aws-fargate-for-amazon-ecs/), and this restriction on CDK had been already removed by #11820. 

This PR removes the out of date description from document.

Closes #18226

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Updated the type annotations to use the primitive `boolean` type instead of the object wrapper `Boolean`. 
This change aligns with TypeScript's recommended naming conventions and provides clearer type indications.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
We were finding blob parameter types in structures and lists, but had forgotten about maps and unions (such as used in DynamoDB).

Include those as well.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Since the conversion of SDKv2 to SDKv3 of the `AwsCustomResource`, this custom resource was broken with the following error:

```
SerializationException: STRING_VALUE can not be converted to an Integer
```

The reason is that SDKv2 used to accept strings and coerce them to numbers wherever necessary, but SDKv3 does not do this anymore.

Update the Custom Resource usage to no longer stringify the numbers.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 38.2.1 to 39.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tj-actions/changed-files/releases">tj-actions/changed-files's releases</a>.</em></p>
<blockquote>
<h2>v39.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Upgraded to v39 by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1536">tj-actions/changed-files#1536</a></li>
<li>chore: Update sync-release-version.yml by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1537">tj-actions/changed-files#1537</a></li>
<li>chore(deps): update dependency <code>@​types/lodash</code> to v4.14.198 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1538">tj-actions/changed-files#1538</a></li>
<li>chore(deps): update tj-actions/eslint-changed-files action to v21 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1539">tj-actions/changed-files#1539</a></li>
<li>chore(deps): update dependency <code>@​vercel/ncc</code> to ^0.38.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1541">tj-actions/changed-files#1541</a></li>
<li>chore(deps): update reviewdog/action-shellcheck action to v1.19 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1542">tj-actions/changed-files#1542</a></li>
<li>chore: add warning on valid output keys by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1544">tj-actions/changed-files#1544</a></li>
<li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1545">tj-actions/changed-files#1545</a></li>
<li>Updated README.md by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1546">tj-actions/changed-files#1546</a></li>
<li>chore: Update docs to site example by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1547">tj-actions/changed-files#1547</a></li>
<li>Updated README.md by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1548">tj-actions/changed-files#1548</a></li>
<li>fix: raise errors when unable to locate the previous commit in local history by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1551">tj-actions/changed-files#1551</a></li>
<li>chore(deps): update dependency <code>@​types/node</code> to v20.6.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1552">tj-actions/changed-files#1552</a></li>
<li>chore(deps): update dependency eslint to v8.49.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1553">tj-actions/changed-files#1553</a></li>
<li>fix: raise error when the previous sha cannot be determined and since_last_remote_commit is true by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1554">tj-actions/changed-files#1554</a></li>
<li>chore: update check by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1555">tj-actions/changed-files#1555</a></li>
<li>fix: bug returning empty output for pull request close event by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1556">tj-actions/changed-files#1556</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/tj-actions/changed-files/compare/v39...v39.0.1">https://github.com/tj-actions/changed-files/compare/v39...v39.0.1</a></p>
<h2>v39.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Upgraded to v38.2.2 by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1533">tj-actions/changed-files#1533</a></li>
<li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1534">tj-actions/changed-files#1534</a></li>
<li>upgrade: nodejs to v20 by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1535">tj-actions/changed-files#1535</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/tj-actions/changed-files/compare/v38...v39.0.0">https://github.com/tj-actions/changed-files/compare/v38...v39.0.0</a></p>
<h2>v39</h2>
<h1>Changes in v39.0.1</h1>
<h2>What's Changed</h2>
<ul>
<li>Upgraded to v39 by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1536">tj-actions/changed-files#1536</a></li>
<li>chore: Update sync-release-version.yml by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1537">tj-actions/changed-files#1537</a></li>
<li>chore(deps): update dependency <code>@​types/lodash</code> to v4.14.198 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1538">tj-actions/changed-files#1538</a></li>
<li>chore(deps): update tj-actions/eslint-changed-files action to v21 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1539">tj-actions/changed-files#1539</a></li>
<li>chore(deps): update dependency <code>@​vercel/ncc</code> to ^0.38.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1541">tj-actions/changed-files#1541</a></li>
<li>chore(deps): update reviewdog/action-shellcheck action to v1.19 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1542">tj-actions/changed-files#1542</a></li>
<li>chore: add warning on valid output keys by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1544">tj-actions/changed-files#1544</a></li>
<li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1545">tj-actions/changed-files#1545</a></li>
<li>Updated README.md by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1546">tj-actions/changed-files#1546</a></li>
<li>chore: Update docs to site example by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1547">tj-actions/changed-files#1547</a></li>
<li>Updated README.md by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1548">tj-actions/changed-files#1548</a></li>
<li>fix: raise errors when unable to locate the previous commit in local history by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1551">tj-actions/changed-files#1551</a></li>
<li>chore(deps): update dependency <code>@​types/node</code> to v20.6.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1552">tj-actions/changed-files#1552</a></li>
<li>chore(deps): update dependency eslint to v8.49.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1553">tj-actions/changed-files#1553</a></li>
<li>fix: raise error when the previous sha cannot be determined and since_last_remote_commit is true by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1554">tj-actions/changed-files#1554</a></li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/tj-actions/changed-files/blob/main/HISTORY.md">tj-actions/changed-files's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h1><a href="https://github.com/tj-actions/changed-files/compare/v39.0.0...v39.0.1">39.0.1</a> - (2023-09-09)</h1>
<h2>🐛 Bug Fixes</h2>
<ul>
<li>Bug returning empty output for pull request close event (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1556">#1556</a>) (<a href="https://github.com/tj-actions/changed-files/commit/246636f5fa148b5ad8e65ca4c57b18af3123e5f6">246636f</a>)  - (Tonye Jack)</li>
<li>Raise error when the previous sha cannot be determined and since_last_remote_commit is true (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1554">#1554</a>) (<a href="https://github.com/tj-actions/changed-files/commit/523e8b6f11215082522b8e62c274b358f64422fa">523e8b6</a>)  - (Tonye Jack)</li>
<li>Raise errors when unable to locate the previous commit in local history (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1551">#1551</a>) (<a href="https://github.com/tj-actions/changed-files/commit/796ac2d08f9344cd0602d9bfe4a0393cdfda6ff7">796ac2d</a>)  - (Tonye Jack)</li>
</ul>
<h2>🔄 Update</h2>
<ul>
<li>Update README.md (<a href="https://github.com/tj-actions/changed-files/commit/fe0fb71961c75e134247bf312ee383e33bc06156">fe0fb71</a>)  - (Tonye Jack)</li>
<li>Update README.md (<a href="https://github.com/tj-actions/changed-files/commit/e60a7a9173bef6e97132058dd044b946b197f9b6">e60a7a9</a>)  - (Tonye Jack)</li>
<li>Updated README.md (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1548">#1548</a>)</li>
</ul>
<p>Co-authored-by: repo-ranger[bot]  (<a href="https://github.com/tj-actions/changed-files/commit/534262e0b262de5c56969bb66d47df047cba50ff">534262e</a>)  - (tj-actions[bot])</p>
<ul>
<li>Updated README.md (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1546">#1546</a>)</li>
</ul>
<p>Co-authored-by: renovate[bot]  (<a href="https://github.com/tj-actions/changed-files/commit/89cb9ea919269ab73a63fbafb7aed58174e5e411">89cb9ea</a>)  - (tj-actions[bot])</p>
<h2>⚙️ Miscellaneous Tasks</h2>
<ul>
<li>Update check (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1555">#1555</a>) (<a href="https://github.com/tj-actions/changed-files/commit/81bb5d895445a08f2e12fa348b88cd6aea2e94c4">81bb5d8</a>)  - (Tonye Jack)</li>
<li><strong>deps:</strong> Update dependency eslint to v8.49.0 (<a href="https://github.com/tj-actions/changed-files/commit/4a0a3c4aa538c8f49477d4306b29b349031685d8">4a0a3c4</a>)  - (renovate[bot])</li>
<li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v20.6.0 (<a href="https://github.com/tj-actions/changed-files/commit/9dfd3f686b90dc76c07e414be407ec7d43bf9e7f">9dfd3f6</a>)  - (renovate[bot])</li>
<li>Update docs to site example (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1547">#1547</a>) (<a href="https://github.com/tj-actions/changed-files/commit/673189f77bde91f43ac9301ef8ebcc4ce105358e">673189f</a>)  - (Tonye Jack)</li>
<li><strong>deps:</strong> Lock file maintenance (<a href="https://github.com/tj-actions/changed-files/commit/711320618723bac63c2926a9710f091acbbe736e">7113206</a>)  - (renovate[bot])</li>
<li>Add warning on valid output keys (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1544">#1544</a>) (<a href="https://github.com/tj-actions/changed-files/commit/926a3fd7779d0f54baac89dbb55d6302825ae6f9">926a3fd</a>)  - (Tonye Jack)</li>
<li><strong>deps:</strong> Update reviewdog/action-shellcheck action to v1.19 (<a href="https://github.com/tj-actions/changed-files/commit/de23f62d1eecad9116a04783c7f26d8885f0733b">de23f62</a>)  - (renovate[bot])</li>
<li><strong>deps:</strong> Update dependency <code>@​vercel/ncc</code> to ^0.38.0 (<a href="https://github.com/tj-actions/changed-files/commit/afbabc4364fff08a6b98f3d686abae4217a7123f">afbabc4</a>)  - (renovate[bot])</li>
<li><strong>deps:</strong> Update tj-actions/eslint-changed-files action to v21 (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1539">#1539</a>) (<a href="https://github.com/tj-actions/changed-files/commit/eda0811ed2364c6ea09da7989ab0e572f2f5fd61">eda0811</a>)  - (renovate[bot])</li>
<li><strong>deps:</strong> Update dependency <code>@​types/lodash</code> to v4.14.198 (<a href="https://github.com/tj-actions/changed-files/commit/bda67fc879fa09a72253e0ed6b5cffeac9f14f44">bda67fc</a>)  - (renovate[bot])</li>
<li>Update sync-release-version.yml (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1537">#1537</a>) (<a href="https://github.com/tj-actions/changed-files/commit/5a5d398e5fb9b4d2776feb62de64e396ecb74de8">5a5d398</a>)  - (Tonye Jack)</li>
</ul>
<h2>⬆️ Upgrades</h2>
<ul>
<li>Upgraded to v39 (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1536">#1536</a>)</li>
</ul>
<p>Co-authored-by: jackton1 <a href="mailto:jackton1@users.noreply.github.com">jackton1@users.noreply.github.com</a> (<a href="https://github.com/tj-actions/changed-files/commit/f699bde5ad428fbc4281b9ca6865153f4b1e7a55">f699bde</a>)  - (tj-actions[bot])</p>
<h1><a href="https://github.com/tj-actions/changed-files/compare/v38.2.2...v39.0.0">39.0.0</a> - (2023-09-04)</h1>
<h2>🔄 Update</h2>
<ul>
<li>Update README.md (<a href="https://github.com/tj-actions/changed-files/commit/632c84dcca8d5cbc35825d0cddfd0c2870886adc">632c84d</a>)  - (Tonye Jack)</li>
</ul>
<h2>⚙️ Miscellaneous Tasks</h2>
<ul>
<li><strong>deps:</strong> Lock file maintenance (<a href="https://github.com/tj-actions/changed-files/commit/d68a6666bebcffa866de06e2468374eda79f6187">d68a666</a>)  - (renovate[bot])</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/tj-actions/changed-files/commit/246636f5fa148b5ad8e65ca4c57b18af3123e5f6"><code>246636f</code></a> fix: bug returning empty output for pull request close event (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1556">#1556</a>)</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/fe0fb71961c75e134247bf312ee383e33bc06156"><code>fe0fb71</code></a> Update README.md</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/e60a7a9173bef6e97132058dd044b946b197f9b6"><code>e60a7a9</code></a> Update README.md</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/81bb5d895445a08f2e12fa348b88cd6aea2e94c4"><code>81bb5d8</code></a> chore: update check (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1555">#1555</a>)</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/523e8b6f11215082522b8e62c274b358f64422fa"><code>523e8b6</code></a> fix: raise error when the previous sha cannot be determined and since_last_re...</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/4a0a3c4aa538c8f49477d4306b29b349031685d8"><code>4a0a3c4</code></a> chore(deps): update dependency eslint to v8.49.0</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/9dfd3f686b90dc76c07e414be407ec7d43bf9e7f"><code>9dfd3f6</code></a> chore(deps): update dependency <code>@​types/node</code> to v20.6.0</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/796ac2d08f9344cd0602d9bfe4a0393cdfda6ff7"><code>796ac2d</code></a> fix: raise errors when unable to locate the previous commit in local history ...</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/534262e0b262de5c56969bb66d47df047cba50ff"><code>534262e</code></a> Updated README.md (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1548">#1548</a>)</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/673189f77bde91f43ac9301ef8ebcc4ce105358e"><code>673189f</code></a> chore: Update docs to site example (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1547">#1547</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tj-actions/changed-files/compare/2f7246cb26e8bb6709b6cbfc1fec7febfe82e96a...246636f5fa148b5ad8e65ca4c57b18af3123e5f6">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tj-actions/changed-files&package-manager=github_actions&previous-version=38.2.1&new-version=39.0.1)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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)


</details>
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node20 by <a href="https://github.com/takost"><code>@​takost</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li>Support fetching without the --progress option by <a href="https://github.com/simonbaird"><code>@​simonbaird</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
<li>Release 4.0.0 by <a href="https://github.com/takost"><code>@​takost</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1447">actions/checkout#1447</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li><a href="https://github.com/simonbaird"><code>@​simonbaird</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v4.0.0">https://github.com/actions/checkout/compare/v3...v4.0.0</a></p>
<h2>v3.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Mark test scripts with Bash'isms to be run via Bash by <a href="https://github.com/dscho"><code>@​dscho</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1377">actions/checkout#1377</a></li>
<li>Add option to fetch tags even if fetch-depth &gt; 0 by <a href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li>Release 3.6.0 by <a href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li><a href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.5.3...v3.6.0">https://github.com/actions/checkout/compare/v3.5.3...v3.6.0</a></p>
<h2>v3.5.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Checkout Issue in self hosted runner due to faulty submodule check-ins by <a href="https://github.com/megamanics"><code>@​megamanics</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li>Fix typos found by codespell by <a href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li>Add support for sparse checkouts by <a href="https://github.com/dscho"><code>@​dscho</code></a> and <a href="https://github.com/dfdez"><code>@​dfdez</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
<li>Release v3.5.3 by <a href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1376">actions/checkout#1376</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/megamanics"><code>@​megamanics</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li><a href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li><a href="https://github.com/dfdez"><code>@​dfdez</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v3.5.3">https://github.com/actions/checkout/compare/v3...v3.5.3</a></p>
<h2>v3.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Use correct API url / endpoint in GHES by <a href="https://github.com/fhammerl"><code>@​fhammerl</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1289">actions/checkout#1289</a> based on <a href="https://redirect.github.com/actions/checkout/issues/1286">#1286</a> by <a href="https://github.com/1newsr"><code>@​1newsr</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.5.1...v3.5.2">https://github.com/actions/checkout/compare/v3.5.1...v3.5.2</a></p>
<h2>v3.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Improve checkout performance on Windows runners by upgrading <code>@​actions/github</code> dependency by <a href="https://github.com/BrettDong"><code>@​BrettDong</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/BrettDong"><code>@​BrettDong</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.0.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1067">Support fetching without the --progress option</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1436">Update to node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark test scripts with Bash'isms to be run via Bash</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/579">Add option to fetch tags even if fetch-depth &gt; 0</a></li>
</ul>
<h2>v3.5.3</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1196">Fix: Checkout fail in self-hosted runners when faulty submodule are checked-in</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix typos found by codespell</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add support for sparse checkouts</a></li>
</ul>
<h2>v3.5.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix api endpoint for GHES</a></li>
</ul>
<h2>v3.5.1</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix slow checkout on Windows</a></li>
</ul>
<h2>v3.5.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add new public key for known_hosts</a></li>
</ul>
<h2>v3.4.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade codeql actions to v2</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade dependencies</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade <code>@​actions/io</code></a></li>
</ul>
<h2>v3.3.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1045">Implement branch list using callbacks from exec function</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1050">Add in explicit reference to private checkout options</a></li>
<li>[Fix comment typos (that got added in <a href="https://redirect.github.com/actions/checkout/issues/770">#770</a>)](<a href="https://redirect.github.com/actions/checkout/pull/1057">actions/checkout#1057</a>)</li>
</ul>
<h2>v3.2.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/942">Add GitHub Action to perform release</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/967">Fix status badge</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1002">Replace datadog/squid with ubuntu/squid Docker image</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/964">Wrap pipeline commands for submoduleForeach in quotes</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1029">Update <code>@​actions/io</code> to 1.1.2</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1039">Upgrading version to 3.2.0</a></li>
</ul>
<h2>v3.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/939">Use <code>@​actions/core</code> <code>saveState</code> and <code>getState</code></a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/922">Add <code>github-server-url</code> input</a></li>
</ul>
<h2>v3.0.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/770">Add input <code>set-safe-directory</code></a></li>
</ul>
<h2>v3.0.1</h2>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/checkout/commit/3df4ab11eba7bda6032a0b82a6bb43b11571feac"><code>3df4ab1</code></a> Release 4.0.0 (<a href="https://redirect.github.com/actions/checkout/issues/1447">#1447</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/8b5e8b768746b50394015010d25e690bfab9dfbc"><code>8b5e8b7</code></a> Support fetching without the --progress option (<a href="https://redirect.github.com/actions/checkout/issues/1067">#1067</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/97a652b80035363df47baee5031ec8670b8878ac"><code>97a652b</code></a> Update default runtime to node20 (<a href="https://redirect.github.com/actions/checkout/issues/1436">#1436</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v3...v4">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3&new-version=4)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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)


</details>
…ry (#27092)

#27009 introduced support for `Uint8Array` if users want to send data with the same types as those declared in the SDK v3 API. But existing tests, that use strings, will break.

Apply type coercion when necessary.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…Endpoints (#27093)

This also tests the usage of AwsCustomResource to describe security groups. Manually tested the unhappy path: If not SG can be found, the stack deployment fails as expected.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Changing the table structure to include an initial `TableBase` abstract class, allowing different tables of different data sources to be created from. Initially there are two, `S3Table` and `ExternalTable`.

- `S3Table`: The current table structure that has been used throughout the previous versions of the CDK
- `ExternalTable`: The new glue table that will be used to store metadata about external data sources. This subclass will contain an `externalDataLocation` property to explicitly specify the `Location` property of the underlying `CfnTable` L1 construct
- `Table`: This is now `@deprecated` to shift the usage towards `S3Table`

Closes #24741.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
AWS Service Spec packages to latest versions.
…27096)

The source code in `custom-resource-handlers` was not included in the `npm pack` and thus unavailable to customers. This PR includes it. Tested by running `npm pack` and confirming its existence and also testing it the resulting package on a local cdk app.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Upgrades remaining runtime versions from `NODEJS_16_X` (which enters EOL on 2023-09-11 and will enter Lambda's Deprecation Phase 1 on Mar 11 2024) to NODEJS_18_X.

Also updates remaining unit & integration tests to use NODEJS_LATEST or NODEJS_18_X.
Most tests will reference the lambda runtime version via a new centralized configuration.
Updated a number of test handlers to use SDKv3 and cleaned-up some duplicated, unused handler files.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Adding an integ test for this custom resource with our new rule that each custom resource needs at least one integ test. There is nothing to assert here, since the custom resource calls an AWS api to return a string. Asserting it with the same api call seems redundant. Instead, I'm going with supplying a cfnOutput to the console, which shows the string is zookeeper related.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
)

Experimental custom resource handlers should be airlifted to their experimental modules only.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…rce (#27106)

Adding an integ test for this custom resource with our new rule that each custom resource needs at least one integ test. This integ test is asserting that one scram secret per user is being registered with the cluster when SASL/SCRAM authentication is used.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…of aws-stepfunctions (#27110)

`definition` in Construct Props of `sfn.StateMachine` is already deprecated and `definitionBody` is recommended.
README and docs still use `definition` in examples, and it's misleading for users.

I replaced `definition` with `definitionBody` and `sfn.DefinitionBody.fromChainable(...)` in them.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
clueleaf and others added 9 commits September 12, 2023 13:25
…itory (#27115)

It is not clear whether we can use image digest on `ContainerImage.fromEcrRepository`.
Change the property name from `tag` to `tagOrDigest` to clarify the ability to use image digest.
Also add document about the parameter format.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Adding an integ test for this custom resource with our new rule that each custom resource needs at least one integ test. Adding this test for the custom resource to test out AWS Amplify app.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Adds integration test for using cross-region reference custom resource handlers. Currently cross region multi-stack tests in `IntegTest` are not super well supported so assertions aren't a great option but a successful stack deploy and delete does indicate success of the CRs currently.

Closes #27069

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
For technical reasons, the way we were importing `minimatch` works in the current version of TypeScript, but is actually illegal according to the ESM spec. This poses problems when running `aws-cdk-lib` through `esbuild`.

Update to a different import style that is correct in both.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
I found a legit zip [here](https://github.com/aws/aws-cdk/blob/d8acc8aa07867be1b1b3cad05b67dab2d7bc3252/packages/%40aws-cdk/aws-codepipeline-actions/test/assets/nodejs.zip). 

Closes #27117.

<img width="1211" alt="Screenshot 2023-09-12 at 6 46 22 PM" src="https://github.com/aws/aws-cdk/assets/3310356/1de56fcf-1f99-4095-b2d9-1668bd443a9f">

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
With Triggers a user can invoke a Lambda Function during every stack deployment.

When we migrated the handler code to SDKv3, we overlooked that the return payload from the invoked lambda function is now a `Uint8Array`, and not a string anymore.
In the error case, we attempt to `JSON.parse()` the error payload which then resulted in a list of bytes being returned to the user.

Updated the handler test case to use correct mocks, including returning a payload that is a Uint8Array.

Closes #27113

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…runtime (#27109)

This PR addresses an issue encountered when setting up an AWS CDK pipeline where unresolved token values for the `repoString` parameter led to a runtime error. The updated docstring now explicitly mentions that the `repoString` must be resolvable at runtime and that unresolved tokens are intended to be a runtime error

Closes #27100.

Thanks to @peterwoodworth for the quick assessment and the proposed solution to the problem.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…7122)

This PR fixes an issue where our assertions handler will fail when logging the response of an API call if the response body is a Blob. Specifically, the following error is thrown:

```
Converting circular structure to JSON
    --> starting at object with constructor 'TLSSocket'
    |     property 'parser' -> object with constructor 'HTTPParser'
    --- property 'socket' closes the circle (RequestId: 50c1b6cd-47d2-494f-baf1-d22646cd4e5f)
```

The fix for this issue was to call the `transformToString` method on the response body. This is mentioned in aws-sdk-js-v3 [`UPGRADE.md`](https://github.com/aws/aws-sdk-js-v3/blob/main/UPGRADING.md?plain=1#L573-L576) as the solution for `Lambda::Invoke`. Its unclear why `S3::GetObject` isn't mentioned as well, but it works for that too. 

However, instead of explicitly extracting the `Body` property from a response, we now recursively traverse the response and detect any such blob types that should be converted to strings - this should protect us against any other APIs that may exhibit this behavior. 

> `transformToString` is implemented as part of the [`SdkStreamMixin` interface](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-types/Interface/SdkStreamMixin/).

Included in this PR is a fix for `aws-s3-deployment/test/integ.bucket-deployment-substitution.ts` which was previously failing with the error shown above.

Co-authored by: @iliapolo
Co-authored by: @vinayak-kukreja 
Co-authored by: @scanlonp 

Closes #27114

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@aws-cdk-automation aws-cdk-automation added auto-approve pr/no-squash This PR should be merged instead of squash-merging it labels Sep 13, 2023
@github-actions github-actions bot added the p2 label Sep 13, 2023
@aws-cdk-automation aws-cdk-automation requested a review from a team September 13, 2023 15:41
@aws-cdk-automation
Copy link
Collaborator Author

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: 4c2130c
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@mergify
Copy link
Contributor

mergify bot commented Sep 13, 2023

Thank you for contributing! Your pull request will be automatically updated and merged without squashing (do not update manually, and be sure to allow changes to be pushed to your fork).

@mergify mergify bot merged commit e6322aa into v2-release Sep 13, 2023
25 of 26 checks passed
@mergify mergify bot deleted the bump/2.96.0 branch September 13, 2023 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auto-approve p2 pr/no-squash This PR should be merged instead of squash-merging it
Projects
None yet
Development

Successfully merging this pull request may close these issues.