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

aws-sns: Topic.grantPublish(...) creates identity policy assuming grantee is local to aws account. #29999

Closed
wbertore opened this issue Apr 29, 2024 · 4 comments · Fixed by #30023
Labels
@aws-cdk/aws-sns Related to Amazon Simple Notification Service bug This issue is a bug. effort/medium Medium work item – several days of effort p1

Comments

@wbertore
Copy link

wbertore commented Apr 29, 2024

Describe the bug

When creating an external iam user such as with User.fromArn(...) and adding it to a topic resource policy with grantPublish, the underlying constructs will create an identity policy assuming the iam user exists already in the stack.

This fails on cloudformation deployment.

Expected Behavior

It should create a resource policy on the SNS Topic and skip the identity policy if the grantee is from an external aws account.

Current Behavior

Topic.grantPublish, Grant.addToPrincipleOrResource, and User.addtoPrinciplePolicy will create a policy for the iam user, assuming it is part of the stack's aws account.

This fails on cloudformation deployment.

Reproduction Steps

Make a test app and stack:

import { App, Stack, StackProps } from 'aws-cdk-lib';
import { User } from 'aws-cdk-lib/aws-iam';
import { ITopic, Topic } from 'aws-cdk-lib/aws-sns';

const externalIamUser = 'arn:aws:iam::123456789012:user/OthersExternalIamUser';
export class TestSnsExternalIamUserStack extends Stack {
  public readonly myTopic: ITopic;

  constructor(scope: App, props: StackProps) {
    super(scope, 'TestSnsExternalIamUserStack', props);

    this.myTopic = new Topic(this, 'MyTopic');
    this.myTopic.grantPublish(User.fromUserArn(this, `OthersExternalIamUser`, externalIamUser));
  }
}

const app = new App();

// eslint-disable-next-line @typescript-eslint/no-unused-vars
const testSnsExternalIamUserStack = new TestSnsExternalIamUserStack(app, {
  description: 'test stack for aws-cdk bug report',
  env: { account: '234567890123', region: 'us-west-2' },
});

app.synth();

synthesize the stack:

cdk synth

see cloudformation output:

Description: test stack for aws-cdk bug report
Resources:
  MyTopic86869434:
    Type: AWS::SNS::Topic
    Metadata:
      aws:cdk:path: TestSnsExternalIamUserStack/MyTopic/Resource
  MyTopicPolicy12A5EC17:
    Type: AWS::SNS::TopicPolicy
    Properties:
      PolicyDocument:
        Statement:
          - Action: sns:Publish
            Effect: Allow
            Principal:
              AWS: arn:aws:iam::123456789012:user/OthersExternalIamUser
            Resource:
              Ref: MyTopic86869434
            Sid: "0"
        Version: "2012-10-17"
      Topics:
        - Ref: MyTopic86869434
    Metadata:
      aws:cdk:path: TestSnsExternalIamUserStack/MyTopic/Policy/Resource
  OthersExternalIamUserPolicyB3CCA1EB:
    Type: AWS::IAM::Policy
    Properties:
      PolicyDocument:
        Statement:
          - Action: sns:Publish
            Effect: Allow
            Resource:
              Ref: MyTopic86869434
        Version: "2012-10-17"
      PolicyName: OthersExternalIamUserPolicyB3CCA1EB
      Users:
        - OthersExternalIamUser
    Metadata:
      aws:cdk:path: TestSnsExternalIamUserStack/OthersExternalIamUser/Policy/Resource
  CDKMetadata:
    Type: AWS::CDK::Metadata
    Properties:
      Analytics: v2:deflate64:H4sIAAAAAAAA/0WJyw6CMBBFv4X9dKSsYO0PGHRvylCS4dEaBjSm6b/7KOjm3nPPLbDSmGfmIYraQY3cYDgvhgZ4q2sQJxgu/sYEx84l+ObJj0zPn0wzApsJw//bdITail9nsh+5cwTnW4u9HO66xCJHnfXCrObVLTxZrFO/AJt/vFuiAAAA
    Metadata:
      aws:cdk:path: TestSnsExternalIamUserStack/CDKMetadata/Default
Parameters:
  BootstrapVersion:
    Type: AWS::SSM::Parameter::Value<String>
    Default: /cdk-bootstrap/hnb659fds/version
    Description: Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]
Rules:
  CheckBootstrapVersion:
    Assertions:
      - Assert:
          Fn::Not:
            - Fn::Contains:
                - - "1"
                  - "2"
                  - "3"
                  - "4"
                  - "5"
                - Ref: BootstrapVersion
        AssertDescription: CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.

Notice that CDK generates a Policy that references a user that doesn't exist in the cloudformation stack.

Possible Solution

Add intelligence to the grantPublish procedure or underlying calls in Grant or User to compare the stack aws account against the user aws account to skip the identity policy creation.

Additional Information/Context

I am using an internal version of cdk for my company and cannot upgrade to the latest due to company library dependencies. It's possible this is fixed in the latest version (but unlikely after reading the source code and revision history in aws-cdk).

CDK CLI Version

2.77.0

Framework Version

No response

Node.js Version

18

OS

MacOS Sonoma 14.4.1

Language

TypeScript

Language Version

5.0.4

Other information

No response

@wbertore wbertore added bug This issue is a bug. needs-triage This issue or PR still needs to be triaged. labels Apr 29, 2024
@github-actions github-actions bot added the @aws-cdk/aws-sns Related to Amazon Simple Notification Service label Apr 29, 2024
@khushail khushail added the needs-reproduction This issue needs reproduction. label Apr 29, 2024
@khushail khushail self-assigned this Apr 29, 2024
@khushail khushail added investigating This issue is being investigated and/or work is in progress to resolve the issue. and removed needs-triage This issue or PR still needs to be triaged. needs-reproduction This issue needs reproduction. labels Apr 29, 2024
@khushail
Copy link
Contributor

khushail commented Apr 30, 2024

Hi @wbertore , Thanks for reaching out. It is highly suggested to use the latest CDK version. Neverthelss, Looks like with the latest cdk version 2.139 and with cdk 2.77, I am able to successfully synth and deploy the code with external user policy created .

export class GrantPublishStack extends cdk.Stack {
  public readonly mytopic : ITopic;
  constructor(scope: Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    this.mytopic = new Topic(this, 'MyTopic', {
      displayName: 'MyTopic',
    });

    this.mytopic.grantPublish(User.fromUserArn(this, 'OtherExternaluser', 'arn:aws:iam::55**********:user/admin'));
  }
}

This is the synth template which has the policy for the external user mentioned in the code -


{
 "Resources": {
  "MyTopic86869434": {
   "Type": "AWS::SNS::Topic",
   "Properties": {
    "DisplayName": "MyTopic"
   },
   "Metadata": {
    "aws:cdk:path": "GrantPublishStack/MyTopic/Resource"
   }
  },
  "OtherExternaluserPolicyCD96E322": {
   "Type": "AWS::IAM::Policy",
   "Properties": {
    "PolicyDocument": {
     "Statement": [
      {
       "Action": "sns:Publish",
       "Effect": "Allow",
       "Resource": {
        "Ref": "MyTopic86869434"
       }
      }
     ],
     "Version": "2012-10-17"
    },
    "PolicyName": "OtherExternaluserPolicyCD96E322",
    "Users": [
     "admin"
    ]
   },
   "Metadata": {
    "aws:cdk:path": "GrantPublishStack/OtherExternaluser/Policy/Resource"
   }
  },
  "CDKMetadata": {
   "Type": "AWS::CDK::Metadata",
   "Properties": {
    "Analytics": "v2:deflate64:H4sIAAAAAAAA/03IPQ7CMAxA4bN0TwwpC8y9ACrdUXCC5P7YqE5BKMrdoXRhep9eDe5wgn3lX2oxDHakG+RL8jiY77pmZYXcyYPQNHf+oRjyE+SzjITv9W4qxbRRZZkxrvPfjXCgRMLFsIQIve6e7giuBlf1SmTnhRNNEdqtH+S0s/2VAAAA"
   },
   "Metadata": {
    "aws:cdk:path": "GrantPublishStack/CDKMetadata/Default"
   },
   "Condition": "CDKMetadataAvailable"
  }
 },

Snippet for the successful deployment with CDK 2.77 -
Screenshot 2024-04-30 at 1 35 39 PM

However I see some policy missing in the console, despite being successful. Diving deep to get to the root cause of what could be going wrong.

@khushail khushail added response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 7 days. investigating This issue is being investigated and/or work is in progress to resolve the issue. p2 and removed investigating This issue is being investigated and/or work is in progress to resolve the issue. response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 7 days. labels Apr 30, 2024
@pahud
Copy link
Contributor

pahud commented Apr 30, 2024

This is because iam.User.fromUserArn() does not return the principalAccount correctly.

PoC

export class DummyStack extends Stack {
  constructor(scope: Construct, id: string, props: StackProps) {
    super(scope, id, props);

    const externalIamUser = 'arn:aws:iam::123456789012:user/OthersExternalIamUser';
    const externalIamRole = 'arn:aws:iam::123456789012:role/OthersExternalIamUser';
    const granteeUser = iam.User.fromUserArn(this, 'OthersExternalIamUser', externalIamUser)
    const granteeRole = iam.Role.fromRoleArn(this, 'OthersExternalIamRole', externalIamRole)
    new CfnOutput(this, 'principalAccountUser', { value: granteeUser.grantPrincipal.principalAccount! })
    new CfnOutput(this, 'principalAccountRole', { value: granteeRole.grantPrincipal.principalAccount! })
  }
}

Outputs:
dummy-stack2.principalAccountRole = 123456789012
dummy-stack2.principalAccountUser = <your_own_account>

see the different implementation between fromUserArn() and fromRoleArn().

We are getting the pricipal account with the Aws.ACCOUNT_ID which presumes always the same account and that is the root cause of this bug.

Making this a p1 bug.

@pahud pahud added p1 effort/medium Medium work item – several days of effort and removed p2 investigating This issue is being investigated and/or work is in progress to resolve the issue. labels Apr 30, 2024
@pahud
Copy link
Contributor

pahud commented Apr 30, 2024

By the way, it's generally not recommended using IAM user like that but IAM role is always recommended. While this is a bug we need to fix, is there any reason you have to use iam.User rather than iam.Role?

@khushail khushail removed their assignment Apr 30, 2024
@mergify mergify bot closed this as completed in #30023 May 9, 2024
mergify bot pushed a commit that referenced this issue May 9, 2024
### Issue # (if applicable)

Closes #29999

### Reason for this change

As described in the issue [comment](#29999 (comment)).

### Description of changes



### Description of how you validated changes

1. added more unit tests.
2. added a new integ test
3. I have deployed this in my AWS account

```ts
import {
  App, Stack, CfnParameter,
  aws_iam as iam,
  CfnOutput,
} from 'aws-cdk-lib';

const app = new App();
const stack = new Stack(app, 'dummy-stack');

const userArn = 'arn:aws:iam::123456789012:user/OthersExternalIamUser';

const userparam = new CfnParameter(stack, 'UserParameter', {
  default: userArn,
});

const imported = iam.User.fromUserArn(stack, 'imported-user', userArn);
const imported2 = iam.User.fromUserArn(stack, 'imported-user2', userparam.valueAsString );

new CfnOutput(stack, 'User', { value: imported.principalAccount! });
new CfnOutput(stack, 'User2', { value: imported2.principalAccount! });
```
And the output is correct:

```
Outputs:
dummy-stack.User = 123456789012
dummy-stack.User2 = 123456789012
```




### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

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

github-actions bot commented May 9, 2024

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

mergify bot pushed a commit to SvenKirschbaum/share.kirschbaum.cloud that referenced this issue May 18, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|---|---|
|  |  | lockFileMaintenance | All locks refreshed |  |  |  |  |
| [@aws-lambda-powertools/logger](https://togithub.com/aws-powertools/powertools-lambda-typescript/tree/main/packages/logger#readme) ([source](https://togithub.com/aws-powertools/powertools-lambda-typescript)) | dependencies | patch | [`2.1.0` -> `2.1.1`](https://renovatebot.com/diffs/npm/@aws-lambda-powertools%2flogger/2.1.0/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-lambda-powertools%2flogger/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-lambda-powertools%2flogger/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-lambda-powertools%2flogger/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-lambda-powertools%2flogger/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@aws-lambda-powertools/tracer](https://togithub.com/aws-powertools/powertools-lambda-typescript/tree/main/packages/tracer#readme) ([source](https://togithub.com/aws-powertools/powertools-lambda-typescript)) | dependencies | patch | [`2.1.0` -> `2.1.1`](https://renovatebot.com/diffs/npm/@aws-lambda-powertools%2ftracer/2.1.0/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-lambda-powertools%2ftracer/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-lambda-powertools%2ftracer/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-lambda-powertools%2ftracer/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-lambda-powertools%2ftracer/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@aws-sdk/client-dynamodb](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-dynamodb) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-dynamodb)) | dependencies | minor | [`3.574.0` -> `3.577.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-dynamodb/3.574.0/3.577.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-dynamodb/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-dynamodb/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-dynamodb/3.574.0/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-dynamodb/3.574.0/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | dependencies | minor | [`3.574.0` -> `3.577.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.574.0/3.577.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.574.0/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.574.0/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@aws-sdk/client-sesv2](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-sesv2) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sesv2)) | dependencies | minor | [`3.574.0` -> `3.577.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-sesv2/3.574.0/3.577.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-sesv2/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-sesv2/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-sesv2/3.574.0/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-sesv2/3.574.0/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@aws-sdk/client-sfn](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-sfn) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sfn)) | dependencies | minor | [`3.574.0` -> `3.577.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-sfn/3.574.0/3.577.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-sfn/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-sfn/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-sfn/3.574.0/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-sfn/3.574.0/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@aws-sdk/s3-request-presigner](https://togithub.com/aws/aws-sdk-js-v3/tree/main/packages/s3-request-presigner) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner)) | dependencies | minor | [`3.574.0` -> `3.577.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fs3-request-presigner/3.574.0/3.577.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fs3-request-presigner/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fs3-request-presigner/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fs3-request-presigner/3.574.0/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fs3-request-presigner/3.574.0/3.577.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@fallobst22/cdk-cross-account-route53](https://togithub.com/SvenKirschbaum/cdk-cross-account-route53) | dependencies | patch | [`0.0.19` -> `0.0.20`](https://renovatebot.com/diffs/npm/@fallobst22%2fcdk-cross-account-route53/0.0.19/0.0.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fallobst22%2fcdk-cross-account-route53/0.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fallobst22%2fcdk-cross-account-route53/0.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fallobst22%2fcdk-cross-account-route53/0.0.19/0.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fallobst22%2fcdk-cross-account-route53/0.0.19/0.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/core](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/core)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fcore/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fcore/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fcore/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fcore/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fcore/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/error-logger](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/error-logger)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2ferror-logger/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2ferror-logger/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2ferror-logger/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2ferror-logger/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2ferror-logger/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-content-negotiation](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/http-content-negotiation)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fhttp-content-negotiation/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-content-negotiation/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-content-negotiation/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-content-negotiation/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-content-negotiation/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-error-handler](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/http-error-handler)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fhttp-error-handler/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-error-handler/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-error-handler/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-error-handler/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-error-handler/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-header-normalizer](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/http-header-normalizer)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fhttp-header-normalizer/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-header-normalizer/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-header-normalizer/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-header-normalizer/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-header-normalizer/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-json-body-parser](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/http-json-body-parser)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fhttp-json-body-parser/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-json-body-parser/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-json-body-parser/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-json-body-parser/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-json-body-parser/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-response-serializer](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/http-response-serializer)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fhttp-response-serializer/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-response-serializer/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-response-serializer/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-response-serializer/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-response-serializer/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/validator](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/validator)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fvalidator/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fvalidator/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fvalidator/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fvalidator/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fvalidator/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@mui/icons-material](https://mui.com/material-ui/material-icons/) ([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-icons-material)) | dependencies | patch | [`5.15.17` -> `5.15.18`](https://renovatebot.com/diffs/npm/@mui%2ficons-material/5.15.17/5.15.18) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2ficons-material/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2ficons-material/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2ficons-material/5.15.17/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2ficons-material/5.15.17/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@mui/material](https://mui.com/material-ui/) ([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-material)) | dependencies | patch | [`5.15.17` -> `5.15.18`](https://renovatebot.com/diffs/npm/@mui%2fmaterial/5.15.17/5.15.18) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2fmaterial/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2fmaterial/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2fmaterial/5.15.17/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2fmaterial/5.15.17/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@mui/x-date-pickers](https://mui.com/x/react-date-pickers/) ([source](https://togithub.com/mui/mui-x/tree/HEAD/packages/x-date-pickers)) | dependencies | minor | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@mui%2fx-date-pickers/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2fx-date-pickers/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2fx-date-pickers/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2fx-date-pickers/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2fx-date-pickers/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@reduxjs/toolkit](https://redux-toolkit.js.org) ([source](https://togithub.com/reduxjs/redux-toolkit)) | dependencies | patch | [`2.2.4` -> `2.2.5`](https://renovatebot.com/diffs/npm/@reduxjs%2ftoolkit/2.2.4/2.2.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@reduxjs%2ftoolkit/2.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@reduxjs%2ftoolkit/2.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@reduxjs%2ftoolkit/2.2.4/2.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@reduxjs%2ftoolkit/2.2.4/2.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/aws-lambda](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/aws-lambda) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/aws-lambda)) | devDependencies | patch | [`8.10.137` -> `8.10.138`](https://renovatebot.com/diffs/npm/@types%2faws-lambda/8.10.137/8.10.138) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2faws-lambda/8.10.138?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2faws-lambda/8.10.138?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2faws-lambda/8.10.137/8.10.138?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2faws-lambda/8.10.137/8.10.138?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | patch | [`20.12.11` -> `20.12.12`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.11/20.12.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.12.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.12.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.11/20.12.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.11/20.12.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`7.8.0` -> `7.9.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/7.8.0/7.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`7.8.0` -> `7.9.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/7.8.0/7.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [aws-cdk](https://togithub.com/aws/aws-cdk) ([source](https://togithub.com/aws/aws-cdk/tree/HEAD/packages/aws-cdk)) | devDependencies | minor | [`2.141.0` -> `2.142.1`](https://renovatebot.com/diffs/npm/aws-cdk/2.141.0/2.142.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/aws-cdk/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/aws-cdk/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/aws-cdk/2.141.0/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/aws-cdk/2.141.0/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [aws-cdk-lib](https://togithub.com/aws/aws-cdk) ([source](https://togithub.com/aws/aws-cdk/tree/HEAD/packages/aws-cdk-lib)) | dependencies | minor | [`2.141.0` -> `2.142.1`](https://renovatebot.com/diffs/npm/aws-cdk-lib/2.141.0/2.142.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/aws-cdk-lib/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/aws-cdk-lib/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/aws-cdk-lib/2.141.0/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/aws-cdk-lib/2.141.0/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [aws-sdk](https://togithub.com/aws/aws-sdk-js) | dependencies | minor | [`2.1618.0` -> `2.1623.0`](https://renovatebot.com/diffs/npm/aws-sdk/2.1618.0/2.1623.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/aws-sdk/2.1623.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/aws-sdk/2.1623.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/aws-sdk/2.1618.0/2.1623.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/aws-sdk/2.1618.0/2.1623.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [esbuild](https://togithub.com/evanw/esbuild) | dependencies | patch | [`0.21.1` -> `0.21.3`](https://renovatebot.com/diffs/npm/esbuild/0.21.1/0.21.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.21.1/0.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.21.1/0.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [glob](https://togithub.com/isaacs/node-glob) | devDependencies | patch | [`10.3.14` -> `10.3.15`](https://renovatebot.com/diffs/npm/glob/10.3.14/10.3.15) | [![age](https://developer.mend.io/api/mc/badges/age/npm/glob/10.3.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/glob/10.3.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/glob/10.3.14/10.3.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/glob/10.3.14/10.3.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Release Notes

<details>
<summary>aws-powertools/powertools-lambda-typescript (@&#8203;aws-lambda-powertools/logger)</summary>

### [`v2.1.1`](https://togithub.com/aws-powertools/powertools-lambda-typescript/blob/HEAD/CHANGELOG.md#211-2024-05-14)

[Compare Source](https://togithub.com/aws-powertools/powertools-lambda-typescript/compare/v2.1.0...v2.1.1)

##### Bug Fixes

-   **parser:** lambda function url cognitoIdentity and principalOrgId nullable ([#&#8203;2430](https://togithub.com/aws-powertools/powertools-lambda-typescript/issues/2430)) ([3c3e393](https://togithub.com/aws-powertools/powertools-lambda-typescript/commit/3c3e393df47d28a6bddb2a9d01cd6fefea3db15e))
-   **parser:** set APIGatewayProxyEventSchema body and query string keys to be nullable ([#&#8203;2465](https://togithub.com/aws-powertools/powertools-lambda-typescript/issues/2465)) ([7ce5b3c](https://togithub.com/aws-powertools/powertools-lambda-typescript/commit/7ce5b3cff88b6eadeda1041b4eb076af2ebd848d))
-   **parser:** set etag optional for delete object notifications ([#&#8203;2429](https://togithub.com/aws-powertools/powertools-lambda-typescript/issues/2429)) ([100e223](https://togithub.com/aws-powertools/powertools-lambda-typescript/commit/100e2238b45e224a369cc7a349f78cafda3f94b7))

</details>

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-dynamodb)</summary>

### [`v3.577.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-dynamodb/CHANGELOG.md#35770-2024-05-15)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.576.0...v3.577.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-dynamodb](https://togithub.com/aws-sdk/client-dynamodb)

### [`v3.576.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-dynamodb/CHANGELOG.md#35760-2024-05-14)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.575.0...v3.576.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-dynamodb](https://togithub.com/aws-sdk/client-dynamodb)

### [`v3.575.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-dynamodb/CHANGELOG.md#35750-2024-05-13)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.574.0...v3.575.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-dynamodb](https://togithub.com/aws-sdk/client-dynamodb)

</details>

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.577.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35770-2024-05-15)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.576.0...v3.577.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.576.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35760-2024-05-14)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.575.0...v3.576.0)

##### Features

-   **client-s3:** Updated a few x-id in the http uri traits ([dcde25a](https://togithub.com/aws/aws-sdk-js-v3/commit/dcde25ac4c25ee86c8c5c781b4b7a6db26c97db2))

### [`v3.575.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35750-2024-05-13)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.574.0...v3.575.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-sesv2)</summary>

### [`v3.577.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-sesv2/CHANGELOG.md#35770-2024-05-15)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.576.0...v3.577.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-sesv2](https://togithub.com/aws-sdk/client-sesv2)

### [`v3.576.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-sesv2/CHANGELOG.md#35760-2024-05-14)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.575.0...v3.576.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-sesv2](https://togithub.com/aws-sdk/client-sesv2)

### [`v3.575.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-sesv2/CHANGELOG.md#35750-2024-05-13)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.574.0...v3.575.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-sesv2](https://togithub.com/aws-sdk/client-sesv2)

</details>

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-sfn)</summary>

### [`v3.577.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-sfn/CHANGELOG.md#35770-2024-05-15)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.576.0...v3.577.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-sfn](https://togithub.com/aws-sdk/client-sfn)

### [`v3.576.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-sfn/CHANGELOG.md#35760-2024-05-14)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.575.0...v3.576.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-sfn](https://togithub.com/aws-sdk/client-sfn)

### [`v3.575.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-sfn/CHANGELOG.md#35750-2024-05-13)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.574.0...v3.575.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-sfn](https://togithub.com/aws-sdk/client-sfn)

</details>

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/s3-request-presigner)</summary>

### [`v3.577.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/packages/s3-request-presigner/CHANGELOG.md#35770-2024-05-15)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.576.0...v3.577.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/s3-request-presigner](https://togithub.com/aws-sdk/s3-request-presigner)

### [`v3.576.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/packages/s3-request-presigner/CHANGELOG.md#35760-2024-05-14)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.575.0...v3.576.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/s3-request-presigner](https://togithub.com/aws-sdk/s3-request-presigner)

### [`v3.575.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/packages/s3-request-presigner/CHANGELOG.md#35750-2024-05-13)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.574.0...v3.575.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/s3-request-presigner](https://togithub.com/aws-sdk/s3-request-presigner)

</details>

<details>
<summary>SvenKirschbaum/cdk-cross-account-route53 (@&#8203;fallobst22/cdk-cross-account-route53)</summary>

### [`v0.0.20`](https://togithub.com/SvenKirschbaum/cdk-cross-account-route53/releases/tag/v0.0.20)

[Compare Source](https://togithub.com/SvenKirschbaum/cdk-cross-account-route53/compare/v0.0.19...v0.0.20)

##### [0.0.20](https://togithub.com/SvenKirschbaum/cdk-cross-account-route53/compare/v0.0.19...v0.0.20) (2024-05-18)

</details>

<details>
<summary>middyjs/middy (@&#8203;middy/core)</summary>

### [`v5.3.5`](https://togithub.com/middyjs/middy/releases/tag/5.3.5)

[Compare Source](https://togithub.com/middyjs/middy/compare/5.3.4...5.3.5)

##### What's Changed

-   fix(packages/http-router): refine return type to include event and response by [@&#8203;naorpeled](https://togithub.com/naorpeled) in [https://github.com/middyjs/middy/pull/1212](https://togithub.com/middyjs/middy/pull/1212)

**Full Changelog**: https://github.com/middyjs/middy/compare/5.3.4...5.3.5

</details>

<details>
<summary>mui/material-ui (@&#8203;mui/icons-material)</summary>

### [`v5.15.18`](https://togithub.com/mui/material-ui/releases/tag/v5.15.18)

[Compare Source](https://togithub.com/mui/material-ui/compare/v5.15.17...v5.15.18)



*May 14, 2024*

A big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:

##### `@mui/material@5.15.18`

-   ​\[Autocomplete] Improve design when there's a start adornment for small autocomplete ([@&#8203;TahaRhidouani](https://togithub.com/TahaRhidouani)) ([#&#8203;42176](https://togithub.com/mui/material-ui/issues/42176)) [@&#8203;github-actions](https://togithub.com/github-actions)\[bot]
-   ​\[ToggleButtonGroup] Add missing `selected` class in ToggleButtonGroupClasses type ([@&#8203;tarunrajput](https://togithub.com/tarunrajput)) ([#&#8203;42250](https://togithub.com/mui/material-ui/issues/42250)) [@&#8203;github-actions](https://togithub.com/github-actions)\[bot]

##### Docs

-   ​\[docs] Fix 301 to Figma [@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)

##### Core

-   ​\[blog] Introducing Pigment CSS blog post ([#&#8203;42198](https://togithub.com/mui/material-ui/issues/42198)) ([#&#8203;42255](https://togithub.com/mui/material-ui/issues/42255)) [@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)
-   ​\[website] Add redirection for talk [@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
-   ​\[website] Adds Arthur Balduini team info ([@&#8203;arthurbalduini](https://togithub.com/arthurbalduini)) ([#&#8203;42226](https://togithub.com/mui/material-ui/issues/42226)) [@&#8203;github-actions](https://togithub.com/github-actions)\[bot]

All contributors of this release in alphabetical order: [@&#8203;arthurbalduini](https://togithub.com/arthurbalduini), [@&#8203;oliviertassinari](https://togithub.com/oliviertassinari), [@&#8203;samuelsycamore](https://togithub.com/samuelsycamore), [@&#8203;TahaRhidouani](https://togithub.com/TahaRhidouani), [@&#8203;tarunrajput](https://togithub.com/tarunrajput)

</details>

<details>
<summary>mui/mui-x (@&#8203;mui/x-date-pickers)</summary>

### [`v7.5.0`](https://togithub.com/mui/mui-x/blob/HEAD/CHANGELOG.md#v750)

[Compare Source](https://togithub.com/mui/mui-x/compare/v7.4.0...v7.5.0)

*May 17, 2024*

We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:

-   🎁 Add support for checkbox selection on the Tree View components
-   🌍 Improve Norwegian (nb-NO) and Spanish (es-ES) locales on the Data Grid
-   🐞 Bugfixes
-   📚 Documentation improvements

##### Data Grid

##### `@mui/x-data-grid@7.5.0`

-   \[DataGrid] Fix `rowModesModel` controlled prop ([#&#8203;13056](https://togithub.com/mui/mui-x/issues/13056)) [@&#8203;Janpot](https://togithub.com/Janpot)
-   \[DataGrid] Reduce bundle size with error messages ([#&#8203;12992](https://togithub.com/mui/mui-x/issues/12992)) [@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
-   \[l10n] Improve Norwegian (nb-NO) locale ([#&#8203;13106](https://togithub.com/mui/mui-x/issues/13106)) [@&#8203;oliverlaidma](https://togithub.com/oliverlaidma)
-   \[l10n] Improve Spanish (es-ES) locale ([#&#8203;13133](https://togithub.com/mui/mui-x/issues/13133)) [@&#8203;Jucabel](https://togithub.com/Jucabel)

##### `@mui/x-data-grid-pro@7.5.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/x-data-grid@7.5.0`.

##### `@mui/x-data-grid-premium@7.5.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/x-data-grid-pro@7.5.0`.

##### Date and Time Pickers

##### `@mui/x-date-pickers@7.5.0`

-   \[fields] Allow empty `textField` slot placeholder value ([#&#8203;13148](https://togithub.com/mui/mui-x/issues/13148)) [@&#8203;arthurbalduini](https://togithub.com/arthurbalduini)
-   \[pickers] Fix `AdapterMomentJalaali` regression ([#&#8203;13144](https://togithub.com/mui/mui-x/issues/13144)) [@&#8203;LukasTy](https://togithub.com/LukasTy)
-   \[pickers] Fix field focusing when switching to view without a renderer ([#&#8203;13112](https://togithub.com/mui/mui-x/issues/13112)) [@&#8203;LukasTy](https://togithub.com/LukasTy)
-   \[pickers] Reuse `AdapterDateFnsBase` in Jalali adapters ([#&#8203;13075](https://togithub.com/mui/mui-x/issues/13075)) [@&#8203;LukasTy](https://togithub.com/LukasTy)

##### `@mui/x-date-pickers-pro@7.5.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/x-date-pickers@7.5.0`.

##### Charts

##### `@mui/x-charts@7.5.0`

-   \[charts] Tooltip with `trigger=axis` now follow touch on mobile ([#&#8203;13043](https://togithub.com/mui/mui-x/issues/13043)) [@&#8203;wzdorowa](https://togithub.com/wzdorowa)
-   \[charts] Allow `series.label` property to receive a function with the "location" it is going to be displayed on ([#&#8203;12830](https://togithub.com/mui/mui-x/issues/12830)) [@&#8203;JCQuintas](https://togithub.com/JCQuintas)
-   \[charts] Improve TypeScript performance ([#&#8203;13137](https://togithub.com/mui/mui-x/issues/13137)) [@&#8203;alexfauquette](https://togithub.com/alexfauquette)
-   \[charts] Fix area order when overlapping ([#&#8203;13121](https://togithub.com/mui/mui-x/issues/13121)) [@&#8203;alexfauquette](https://togithub.com/alexfauquette)
-   \[charts] Improve `useSlotProps` types ([#&#8203;13141](https://togithub.com/mui/mui-x/issues/13141)) [@&#8203;alexfauquette](https://togithub.com/alexfauquette)
-   \[charts] Fix using the theme's font in the Overlay ([#&#8203;13107](https://togithub.com/mui/mui-x/issues/13107)) [@&#8203;alexfauquette](https://togithub.com/alexfauquette)

##### Tree View

##### `@mui/x-tree-view@7.5.0`

-   \[TreeView] Add support for checkbox selection ([#&#8203;11452](https://togithub.com/mui/mui-x/issues/11452)) [@&#8203;flaviendelangle](https://togithub.com/flaviendelangle)
-   \[TreeView] Remove unused code ([#&#8203;12917](https://togithub.com/mui/mui-x/issues/12917)) [@&#8203;flaviendelangle](https://togithub.com/flaviendelangle)

##### Docs

-   \[docs] Document missing Charts API's ([#&#8203;12875](https://togithub.com/mui/mui-x/issues/12875)) [@&#8203;alexfauquette](https://togithub.com/alexfauquette)

##### Core

-   \[core] Avoid root level `@mui/x-date-pickers` imports ([#&#8203;13120](https://togithub.com/mui/mui-x/issues/13120)) [@&#8203;LukasTy](https://togithub.com/LukasTy)
-   \[core] Refactor ESLint config to disallow root level imports ([#&#8203;13130](https://togithub.com/mui/mui-x/issues/13130)) [@&#8203;LukasTy](https://togithub.com/LukasTy)
-   \[core] Simplify Danger's config ([#&#8203;13062](https://togithub.com/mui/mui-x/issues/13062)) [@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
-   \[core] Shift aliasing from babel to webpack ([#&#8203;13051](https://togithub.com/mui/mui-x/issues/13051)) [@&#8203;Janpot](https://togithub.com/Janpot)
-   \[core] Reuse the `SectionTitle` component in the doc ([#&#8203;13139](https://togithub.com/mui/mui-x/issues/13139)) [@&#8203;alexfauquette](https://togithub.com/alexfauquette)

</details>

<details>
<summary>reduxjs/redux-toolkit (@&#8203;reduxjs/toolkit)</summary>

### [`v2.2.5`](https://togithub.com/reduxjs/redux-toolkit/releases/tag/v2.2.5)

[Compare Source](https://togithub.com/reduxjs/redux-toolkit/compare/v2.2.4...v2.2.5)

This **bugfix release** fixes an issue in the recent `createEntityAdapter` sorting perf improvements that could (in specific cases) cause Immer to throw an error when trying to read a plain JS value instead of a proxy-wrapped value.

#### What's Changed

-   Fix missed spot where use of `current` may fail if the value is not a draft by [@&#8203;markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/4412](https://togithub.com/reduxjs/redux-toolkit/pull/4412)

**Full Changelog**: https://github.com/reduxjs/redux-toolkit/compare/v2.2.4...v2.2.5

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v7.9.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#790-2024-05-13)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.8.0...v7.9.0)

##### 🩹 Fixes

-   **eslint-plugin:** \[explicit-function-return-types] fix false positive on default parameters

##### ❤️  Thank You

-   Kirk Waiblinger
-   Sheetal Nandi
-   Vinccool96

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v7.9.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#790-2024-05-13)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.8.0...v7.9.0)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

<details>
<summary>aws/aws-cdk (aws-cdk)</summary>

### [`v2.142.1`](https://togithub.com/aws/aws-cdk/releases/tag/v2.142.1)

[Compare Source](https://togithub.com/aws/aws-cdk/compare/v2.142.0...v2.142.1)

##### Reverts

-   fix(diff): properties from ChangeSet diff were ignored ([#&#8203;30243](https://togithub.com/aws/aws-cdk/issues/30243)) ([3748472](https://togithub.com/aws/aws-cdk/commit/37484726f235013ec0e71cefb9e1fc35caf12e74))

***

#### Alpha modules (2.142.1-alpha.0)

### [`v2.142.0`](https://togithub.com/aws/aws-cdk/releases/tag/v2.142.0)

[Compare Source](https://togithub.com/aws/aws-cdk/compare/v2.141.0...v2.142.0)

##### Features

-   **asg:** support keypair functionality for asg ([#&#8203;29679](https://togithub.com/aws/aws-cdk/issues/29679)) ([f6b649d](https://togithub.com/aws/aws-cdk/commit/f6b649d47f8bc30ca741fbb7a4852d51e8275002)), closes [#&#8203;29237](https://togithub.com/aws/aws-cdk/issues/29237)
-   **codepipeline:** `GitPullRequestFilter` for pipeline trigger ([#&#8203;29128](https://togithub.com/aws/aws-cdk/issues/29128)) ([5ce1b64](https://togithub.com/aws/aws-cdk/commit/5ce1b6485eb4336634f4f14bfe3d0b17b071e83b)), closes [#&#8203;29126](https://togithub.com/aws/aws-cdk/issues/29126)
-   **docdb:** add copyTagsToSnapshot property to the DatabaseCluster Construct ([#&#8203;30120](https://togithub.com/aws/aws-cdk/issues/30120)) ([30f0db6](https://togithub.com/aws/aws-cdk/commit/30f0db6ad810f0e93187082bd50ddb46726d8f5f)), closes [#&#8203;30090](https://togithub.com/aws/aws-cdk/issues/30090)
-   **docdb:** support CA certificate for cluster instances ([#&#8203;28791](https://togithub.com/aws/aws-cdk/issues/28791)) ([e87f25e](https://togithub.com/aws/aws-cdk/commit/e87f25e1e93350e53aadb15e19ed7a9bf378c315)), closes [#&#8203;27138](https://togithub.com/aws/aws-cdk/issues/27138) [#&#8203;28356](https://togithub.com/aws/aws-cdk/issues/28356)
-   **events-targets:** add support for AppSync as an EventBridge rule target  ([#&#8203;29584](https://togithub.com/aws/aws-cdk/issues/29584)) ([5be88a3](https://togithub.com/aws/aws-cdk/commit/5be88a3055fe1e6b55884847d1b8a75b03341b39)), closes [#&#8203;29884](https://togithub.com/aws/aws-cdk/issues/29884)
-   **servicecatalog:** `ProductStack` memoryLimit prop ([#&#8203;30105](https://togithub.com/aws/aws-cdk/issues/30105)) ([4b6dc8c](https://togithub.com/aws/aws-cdk/commit/4b6dc8c650822bcd0231c8890bd94a934a0cd34d)), closes [#&#8203;29862](https://togithub.com/aws/aws-cdk/issues/29862)

##### Bug Fixes

-   **apigateway:** set authorization scope when authorization type is Cognito ([#&#8203;30035](https://togithub.com/aws/aws-cdk/issues/30035)) ([38a2284](https://togithub.com/aws/aws-cdk/commit/38a2284bccd9119f3bcc8d0baef8525ab416bb67))
-   **autoscaling:** cooldown cannot be set with step scaling actions ([#&#8203;30150](https://togithub.com/aws/aws-cdk/issues/30150)) ([6810762](https://togithub.com/aws/aws-cdk/commit/68107624e50d738be7e10fd22072b5a40983e720)), closes [#&#8203;29779](https://togithub.com/aws/aws-cdk/issues/29779)
-   **cli:** cdk bootstrap --help does not show some options ([#&#8203;30113](https://togithub.com/aws/aws-cdk/issues/30113)) ([8debd20](https://togithub.com/aws/aws-cdk/commit/8debd205b1f52e172de844f349d4e76e39df269d))
-   **cli:** handle attributes of AWS::KMS::Key when hotswapping ([#&#8203;30112](https://togithub.com/aws/aws-cdk/issues/30112)) ([a1dcaa6](https://togithub.com/aws/aws-cdk/commit/a1dcaa6c4a3db245d1becf0e9ace1d488b6d528d)), closes [#&#8203;25418](https://togithub.com/aws/aws-cdk/issues/25418)
-   **cli:** template created during import should be written to assets folder ([#&#8203;29830](https://togithub.com/aws/aws-cdk/issues/29830)) ([a96cf55](https://togithub.com/aws/aws-cdk/commit/a96cf5500242890cddbbaa46af7f7228c7126d98)), closes [#&#8203;22928](https://togithub.com/aws/aws-cdk/issues/22928) [#&#8203;22530](https://togithub.com/aws/aws-cdk/issues/22530)
-   **diff:** properties from ChangeSet diff were ignored ([#&#8203;30093](https://togithub.com/aws/aws-cdk/issues/30093)) ([9c3f3f5](https://togithub.com/aws/aws-cdk/commit/9c3f3f5dbb9b4b9f86911d9cd7c056a9fc0432b3)), closes [#&#8203;29731](https://togithub.com/aws/aws-cdk/issues/29731)
-   **ecs:** require task pidMode for Linux-based Fargate tasks, not host ([#&#8203;30020](https://togithub.com/aws/aws-cdk/issues/30020)) ([3e9e0a8](https://togithub.com/aws/aws-cdk/commit/3e9e0a8696630c9368adf012aff1fb919e398164)), closes [#&#8203;29995](https://togithub.com/aws/aws-cdk/issues/29995)
-   **eks:** in place updates for EKS security group and Subnets ([#&#8203;30114](https://togithub.com/aws/aws-cdk/issues/30114)) ([eb39d9e](https://togithub.com/aws/aws-cdk/commit/eb39d9e1924240d433dc91b7f8d98ebcf5cd87c8)), closes [#&#8203;28584](https://togithub.com/aws/aws-cdk/issues/28584)
-   **iam:** fromUserArn returns incorrect principalAccount ([#&#8203;30023](https://togithub.com/aws/aws-cdk/issues/30023)) ([f9f3681](https://togithub.com/aws/aws-cdk/commit/f9f3681be9fc6a0c998cd26119053c5832ef9806)), closes [/github.com/aws/aws-cdk/issues/29999#issuecomment-2087672380](https://togithub.com/aws//github.com/aws/aws-cdk/issues/29999/issues/issuecomment-2087672380)
-   **s3:** add bucket policy dependency to notification resource ([#&#8203;30053](https://togithub.com/aws/aws-cdk/issues/30053)) ([71986ff](https://togithub.com/aws/aws-cdk/commit/71986ff986d13bbb496b33c0554f657e77dbb2d0)), closes [#&#8203;27600](https://togithub.com/aws/aws-cdk/issues/27600) [#&#8203;16811](https://togithub.com/aws/aws-cdk/issues/16811)
-   **stepfunctions-tasks:** documentation fix for retryOnServiceExceptions ([#&#8203;30077](https://togithub.com/aws/aws-cdk/issues/30077)) ([205163f](https://togithub.com/aws/aws-cdk/commit/205163fc0d2cac84d3d746a98c393e137f0e2388))

***

#### Alpha modules (2.142.0-alpha.0)

##### Features

-   **pipes-targets:** add step function target ([#&#8203;29987](https://togithub.com/aws/aws-cdk/issues/29987)) ([b0975e4](https://togithub.com/aws/aws-cdk/commit/b0975e410a404d07952e01303af01224ccfad864)), closes [#&#8203;29665](https://togithub.com/aws/aws-cdk/issues/29665) [#&#8203;29665](https://togithub.com/aws/aws-cdk/issues/29665)
-   **redshift:** multi AZ cluster ([#&#8203;29976](https://togithub.com/aws/aws-cdk/issues/29976)) ([a53517c](https://togithub.com/aws/aws-cdk/commit/a53517c6772332cc2a15c9b38e964a933e9c8355))

</details>

<details>
<summary>aws/aws-sdk-js (aws-sdk)</summary>

### [`v2.1623.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216230)

[Compare Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1622.0...v2.1623.0)

-   feature: ApplicationAutoScaling: add v2 smoke tests and smithy smokeTests trait for SDK testing.
-   feature: CodeBuild: Aws CodeBuild now supports 36 hours build timeout
-   feature: ELBv2: This release adds dualstack-without-public-ipv4 IP address type for ALB.
-   feature: LakeFormation: Introduces a new API, GetDataLakePrincipal, that returns the identity of the invoking principal
-   feature: Transfer: Enable use of CloudFormation traits in Smithy model to improve generated CloudFormation schema from the Smithy API model.

### [`v2.1622.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216220)

[Compare Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1621.0...v2.1622.0)

-   feature: ACMPCA: This release adds support for waiters to fail on AccessDeniedException when having insufficient permissions
-   feature: Kafka: AWS MSK support for Broker Removal.
-   feature: MWAA: Amazon MWAA now supports Airflow web server auto scaling to automatically handle increased demand from REST APIs, Command Line Interface (CLI), or more Airflow User Interface (UI) users. Customers can specify maximum and minimum web server instances during environment creation and update workflow.
-   feature: QuickSight: This release adds DescribeKeyRegistration and UpdateKeyRegistration APIs to manage QuickSight Customer Managed Keys (CMK).
-   feature: SageMaker: Introduced WorkerAccessConfiguration to SageMaker Workteam. This allows customers to configure resource access for workers in a workteam.

### [`v2.1621.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216210)

[Compare Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1620.0...v2.1621.0)

-   feature: BedrockAgentRuntime: Updating Bedrock Knowledge Base Metadata & Filters feature with two new filters listContains and stringContains
-   feature: CodeBuild: CodeBuild Reserved Capacity VPC Support
-   feature: DataSync: Task executions now display a CANCELLING status when an execution is in the process of being cancelled.
-   feature: Grafana: This release adds new ServiceAccount and ServiceAccountToken APIs.
-   feature: MedicalImaging: Added support for importing medical imaging data from Amazon S3 buckets across accounts and regions.

### [`v2.1620.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216200)

[Compare Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1619.0...v2.1620.0)

-   feature: Connect: Amazon Connect provides enhanced search capabilities for flows & flow modules on the Connect admin website and programmatically using APIs. You can search for flows and flow modules by name, description, type, status, and tags, to filter and identify a specific flow in your Connect instances.
-   feature: S3: Updated a few x-id in the http uri traits

### [`v2.1619.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216190)

[Compare Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1618.0...v2.1619.0)

-   feature: EventBridge: Amazon EventBridge introduces KMS customer-managed key (CMK) encryption support for custom and partner events published on EventBridge Event Bus (including default bus) and UpdateEventBus API.
-   feature: VPCLattice: This release adds TLS Passthrough support. It also increases max number of target group per rule to 10.

</details>

<details>
<summary>evanw/esbuild (esbuild)</summary>

### [`v0.21.3`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0213)

[Compare Source](https://togithub.com/evanw/esbuild/compare/v0.21.2...v0.21.3)

-   Implement the decorator metadata proposal ([#&#8203;3760](https://togithub.com/evanw/esbuild/issues/3760))

    This release implements the [decorator metadata proposal](https://togithub.com/tc39/proposal-decorator-metadata), which is a sub-proposal of the [decorators proposal](https://togithub.com/tc39/proposal-decorators). Microsoft shipped the decorators proposal in [TypeScript 5.0](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#decorators) and the decorator metadata proposal in [TypeScript 5.2](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/#decorator-metadata), so it's important that esbuild also supports both of these features. Here's a quick example:

    ```js
    // Shim the "Symbol.metadata" symbol
    Symbol.metadata ??= Symbol('Symbol.metadata')

    const track = (_, context) => {
      (context.metadata.names ||= []).push(context.name)
    }

    class Foo {
      @&#8203;track foo = 1
      @&#8203;track bar = 2
    }

    // Prints ["foo", "bar"]
    console.log(Foo[Symbol.metadata].names)
    ```

    **⚠️ WARNING ⚠️**

    This proposal has been marked as "stage 3" which means "recommended for implementation". However, it's still a work in progress and isn't a part of JavaScript yet, so keep in mind that any code that uses JavaScript decorator metadata may need to be updated as the feature continues to evolve. If/when that happens, I will update esbuild's implementation to match the specification. I will not be supporting old versions of the specification.

-   Fix bundled decorators in derived classes ([#&#8203;3768](https://togithub.com/evanw/esbuild/issues/3768))

    In certain cases, bundling code that uses decorators in a derived class with a class body that references its own class name could previously generate code that crashes at run-time due to an incorrect variable name. This problem has been fixed. Here is an example of code that was compiled incorrectly before this fix:

    ```js
    class Foo extends Object {
      @&#8203;(x => x) foo() {
        return Foo
      }
    }
    console.log(new Foo().foo())
    ```

-   Fix `tsconfig.json` files inside symlinked directories ([#&#8203;3767](https://togithub.com/evanw/esbuild/issues/3767))

    This release fixes an issue with a scenario involving a `tsconfig.json` file that `extends` another file from within a symlinked directory that uses the `paths` feature. In that case, the implicit `baseURL` value should be based on the real path (i.e. after expanding all symbolic links) instead of the original path. This was already done for other files that esbuild resolves but was not yet done for `tsconfig.json` because it's special-cased (the regular path resolver can't be used because the information inside `tsconfig.json` is involved in path resolution). Note that this fix no longer applies if the `--preserve-symlinks` setting is enabled.

### [`v0.21.2`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0212)

[Compare Source](https://togithub.com/evanw/esbuild/compare/v0.21.1...v0.21.2)

-   Correct `this` in field and accessor decorators ([#&#8203;3761](https://togithub.com/evanw/esbuild/issues/3761))

    This release changes the value of `this` in initializers for class field and accessor decorators from the module-level `this` value to the appropriate `this` value for the decorated element (either the class or the instance). It was previously incorrect due to lack of test coverage. Here's an example of a decorator that doesn't work without this change:

    ```js
    const dec = () => function() { this.bar = true }
    class Foo { @&#8203;dec static foo }
    console.log(Foo.bar) // Should be "true"
    ```

-   Allow `es2023` as a target environment ([#&#8203;3762](https://togithub.com/evanw/esbuild/issues/3762))

    TypeScript recently [added `es2023`](https://togithub.com/microsoft/TypeScript/pull/58140) as a compilation target, so esbuild now supports this too. There is no difference between a target of `es2022` and `es2023` as far as esbuild is concerned since the 2023 edition of JavaScript doesn't introduce any new syntax features.

</details>

<details>
<summary>isaacs/node-glob (glob)</summary>

### [`v10.3.15`](https://togithub.com/isaacs/node-glob/compare/v10.3.14...921c4b91d49a8b38c48087279bad42785503cfbb)

[Compare Source](https://togithub.com/isaacs/node-glob/compare/v10.3.14...v10.3.15)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on sunday" in timezone Europe/Berlin, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/SvenKirschbaum/share.kirschbaum.cloud).
mergify bot pushed a commit to SvenKirschbaum/aws-utils that referenced this issue May 18, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|---|---|
|  |  | lockFileMaintenance | All locks refreshed |  |  |  |  |
| [@aws-lambda-powertools/logger](https://togithub.com/aws-powertools/powertools-lambda-typescript/tree/main/packages/logger#readme) ([source](https://togithub.com/aws-powertools/powertools-lambda-typescript)) | dependencies | patch | [`2.1.0` -> `2.1.1`](https://renovatebot.com/diffs/npm/@aws-lambda-powertools%2flogger/2.1.0/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-lambda-powertools%2flogger/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-lambda-powertools%2flogger/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-lambda-powertools%2flogger/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-lambda-powertools%2flogger/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@aws-lambda-powertools/tracer](https://togithub.com/aws-powertools/powertools-lambda-typescript/tree/main/packages/tracer#readme) ([source](https://togithub.com/aws-powertools/powertools-lambda-typescript)) | dependencies | patch | [`2.1.0` -> `2.1.1`](https://renovatebot.com/diffs/npm/@aws-lambda-powertools%2ftracer/2.1.0/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-lambda-powertools%2ftracer/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-lambda-powertools%2ftracer/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-lambda-powertools%2ftracer/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-lambda-powertools%2ftracer/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@aws-sdk/client-secrets-manager](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-secrets-manager) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-secrets-manager)) | dependencies | minor | [`3.574.0` -> `3.578.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-secrets-manager/3.574.0/3.578.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-secrets-manager/3.578.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-secrets-manager/3.578.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-secrets-manager/3.574.0/3.578.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-secrets-manager/3.574.0/3.578.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@fallobst22/cdk-cross-account-route53](https://togithub.com/SvenKirschbaum/cdk-cross-account-route53) | dependencies | patch | [`^0.0.19` -> `^0.0.20`](https://renovatebot.com/diffs/npm/@fallobst22%2fcdk-cross-account-route53/0.0.19/0.0.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fallobst22%2fcdk-cross-account-route53/0.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fallobst22%2fcdk-cross-account-route53/0.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fallobst22%2fcdk-cross-account-route53/0.0.19/0.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fallobst22%2fcdk-cross-account-route53/0.0.19/0.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/core](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/core)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fcore/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fcore/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fcore/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fcore/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fcore/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/error-logger](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/error-logger)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2ferror-logger/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2ferror-logger/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2ferror-logger/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2ferror-logger/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2ferror-logger/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-content-negotiation](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/http-content-negotiation)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fhttp-content-negotiation/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-content-negotiation/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-content-negotiation/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-content-negotiation/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-content-negotiation/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-error-handler](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/http-error-handler)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fhttp-error-handler/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-error-handler/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-error-handler/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-error-handler/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-error-handler/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-header-normalizer](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/http-header-normalizer)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fhttp-header-normalizer/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-header-normalizer/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-header-normalizer/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-header-normalizer/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-header-normalizer/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-json-body-parser](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/http-json-body-parser)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fhttp-json-body-parser/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-json-body-parser/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-json-body-parser/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-json-body-parser/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-json-body-parser/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@middy/http-response-serializer](https://middy.js.org) ([source](https://togithub.com/middyjs/middy/tree/HEAD/packages/http-response-serializer)) | dependencies | patch | [`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/@middy%2fhttp-response-serializer/5.3.4/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@middy%2fhttp-response-serializer/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@middy%2fhttp-response-serializer/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@middy%2fhttp-response-serializer/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@middy%2fhttp-response-serializer/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@mui/icons-material](https://mui.com/material-ui/material-icons/) ([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-icons-material)) | dependencies | patch | [`5.15.17` -> `5.15.18`](https://renovatebot.com/diffs/npm/@mui%2ficons-material/5.15.17/5.15.18) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2ficons-material/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2ficons-material/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2ficons-material/5.15.17/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2ficons-material/5.15.17/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@mui/material](https://mui.com/material-ui/) ([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-material)) | dependencies | patch | [`5.15.17` -> `5.15.18`](https://renovatebot.com/diffs/npm/@mui%2fmaterial/5.15.17/5.15.18) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2fmaterial/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2fmaterial/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2fmaterial/5.15.17/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2fmaterial/5.15.17/5.15.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@mui/x-data-grid](https://mui.com/x/react-data-grid/) ([source](https://togithub.com/mui/mui-x/tree/HEAD/packages/x-data-grid)) | dependencies | minor | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@mui%2fx-data-grid/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2fx-data-grid/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2fx-data-grid/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2fx-data-grid/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2fx-data-grid/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/aws-lambda](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/aws-lambda) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/aws-lambda)) | devDependencies | patch | [`8.10.137` -> `8.10.138`](https://renovatebot.com/diffs/npm/@types%2faws-lambda/8.10.137/8.10.138) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2faws-lambda/8.10.138?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2faws-lambda/8.10.138?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2faws-lambda/8.10.137/8.10.138?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2faws-lambda/8.10.137/8.10.138?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | patch | [`20.12.11` -> `20.12.12`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.11/20.12.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.12.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.12.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.11/20.12.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.11/20.12.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`7.8.0` -> `7.9.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/7.8.0/7.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [aws-cdk](https://togithub.com/aws/aws-cdk) ([source](https://togithub.com/aws/aws-cdk/tree/HEAD/packages/aws-cdk)) | devDependencies | minor | [`2.141.0` -> `2.142.1`](https://renovatebot.com/diffs/npm/aws-cdk/2.141.0/2.142.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/aws-cdk/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/aws-cdk/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/aws-cdk/2.141.0/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/aws-cdk/2.141.0/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [aws-cdk-lib](https://togithub.com/aws/aws-cdk) ([source](https://togithub.com/aws/aws-cdk/tree/HEAD/packages/aws-cdk-lib)) | dependencies | minor | [`2.141.0` -> `2.142.1`](https://renovatebot.com/diffs/npm/aws-cdk-lib/2.141.0/2.142.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/aws-cdk-lib/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/aws-cdk-lib/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/aws-cdk-lib/2.141.0/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/aws-cdk-lib/2.141.0/2.142.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [esbuild](https://togithub.com/evanw/esbuild) | devDependencies | patch | [`0.21.1` -> `0.21.3`](https://renovatebot.com/diffs/npm/esbuild/0.21.1/0.21.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.21.1/0.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.21.1/0.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`7.8.0` -> `7.9.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/7.8.0/7.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Release Notes

<details>
<summary>aws-powertools/powertools-lambda-typescript (@&#8203;aws-lambda-powertools/logger)</summary>

### [`v2.1.1`](https://togithub.com/aws-powertools/powertools-lambda-typescript/blob/HEAD/CHANGELOG.md#211-2024-05-14)

[Compare Source](https://togithub.com/aws-powertools/powertools-lambda-typescript/compare/v2.1.0...v2.1.1)

##### Bug Fixes

-   **parser:** lambda function url cognitoIdentity and principalOrgId nullable ([#&#8203;2430](https://togithub.com/aws-powertools/powertools-lambda-typescript/issues/2430)) ([3c3e393](https://togithub.com/aws-powertools/powertools-lambda-typescript/commit/3c3e393df47d28a6bddb2a9d01cd6fefea3db15e))
-   **parser:** set APIGatewayProxyEventSchema body and query string keys to be nullable ([#&#8203;2465](https://togithub.com/aws-powertools/powertools-lambda-typescript/issues/2465)) ([7ce5b3c](https://togithub.com/aws-powertools/powertools-lambda-typescript/commit/7ce5b3cff88b6eadeda1041b4eb076af2ebd848d))
-   **parser:** set etag optional for delete object notifications ([#&#8203;2429](https://togithub.com/aws-powertools/powertools-lambda-typescript/issues/2429)) ([100e223](https://togithub.com/aws-powertools/powertools-lambda-typescript/commit/100e2238b45e224a369cc7a349f78cafda3f94b7))

</details>

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-secrets-manager)</summary>

### [`v3.578.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-secrets-manager/CHANGELOG.md#35780-2024-05-16)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.577.0...v3.578.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-secrets-manager](https://togithub.com/aws-sdk/client-secrets-manager)

### [`v3.577.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-secrets-manager/CHANGELOG.md#35770-2024-05-15)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.576.0...v3.577.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-secrets-manager](https://togithub.com/aws-sdk/client-secrets-manager)

### [`v3.576.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-secrets-manager/CHANGELOG.md#35760-2024-05-14)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.575.0...v3.576.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-secrets-manager](https://togithub.com/aws-sdk/client-secrets-manager)

### [`v3.575.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-secrets-manager/CHANGELOG.md#35750-2024-05-13)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.574.0...v3.575.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-secrets-manager](https://togithub.com/aws-sdk/client-secrets-manager)

</details>

<details>
<summary>SvenKirschbaum/cdk-cross-account-route53 (@&#8203;fallobst22/cdk-cross-account-route53)</summary>

### [`v0.0.20`](https://togithub.com/SvenKirschbaum/cdk-cross-account-route53/releases/tag/v0.0.20)

[Compare Source](https://togithub.com/SvenKirschbaum/cdk-cross-account-route53/compare/v0.0.19...v0.0.20)

##### [0.0.20](https://togithub.com/SvenKirschbaum/cdk-cross-account-route53/compare/v0.0.19...v0.0.20) (2024-05-18)

</details>

<details>
<summary>middyjs/middy (@&#8203;middy/core)</summary>

### [`v5.3.5`](https://togithub.com/middyjs/middy/releases/tag/5.3.5)

[Compare Source](https://togithub.com/middyjs/middy/compare/5.3.4...5.3.5)

##### What's Changed

-   fix(packages/http-router): refine return type to include event and response by [@&#8203;naorpeled](https://togithub.com/naorpeled) in [middyjs/middy#1212

**Full Changelog**: middyjs/middy@5.3.4...5.3.5

</details>

<details>
<summary>mui/material-ui (@&#8203;mui/icons-material)</summary>

### [`v5.15.18`](https://togithub.com/mui/material-ui/releases/tag/v5.15.18)

[Compare Source](https://togithub.com/mui/material-ui/compare/v5.15.17...v5.15.18)



*May 14, 2024*

A big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:

##### `@mui/material@5.15.18`

-   ​\[Autocomplete] Improve design when there's a start adornment for small autocomplete ([@&#8203;TahaRhidouani](https://togithub.com/TahaRhidouani)) ([#&#8203;42176](https://togithub.com/mui/material-ui/issues/42176)) [@&#8203;github-actions](https://togithub.com/github-actions)\[bot]
-   ​\[ToggleButtonGroup] Add missing `selected` class in ToggleButtonGroupClasses type ([@&#8203;tarunrajput](https://togithub.com/tarunrajput)) ([#&#8203;42250](https://togithub.com/mui/material-ui/issues/42250)) [@&#8203;github-actions](https://togithub.com/github-actions)\[bot]

##### Docs

-   ​\[docs] Fix 301 to Figma [@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)

##### Core

-   ​\[blog] Introducing Pigment CSS blog post ([#&#8203;42198](https://togithub.com/mui/material-ui/issues/42198)) ([#&#8203;42255](https://togithub.com/mui/material-ui/issues/42255)) [@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)
-   ​\[website] Add redirection for talk [@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
-   ​\[website] Adds Arthur Balduini team info ([@&#8203;arthurbalduini](https://togithub.com/arthurbalduini)) ([#&#8203;42226](https://togithub.com/mui/material-ui/issues/42226)) [@&#8203;github-actions](https://togithub.com/github-actions)\[bot]

All contributors of this release in alphabetical order: [@&#8203;arthurbalduini](https://togithub.com/arthurbalduini), [@&#8203;oliviertassinari](https://togithub.com/oliviertassinari), [@&#8203;samuelsycamore](https://togithub.com/samuelsycamore), [@&#8203;TahaRhidouani](https://togithub.com/TahaRhidouani), [@&#8203;tarunrajput](https://togithub.com/tarunrajput)

</details>

<details>
<summary>mui/mui-x (@&#8203;mui/x-data-grid)</summary>

### [`v7.5.0`](https://togithub.com/mui/mui-x/blob/HEAD/CHANGELOG.md#v750)

[Compare Source](https://togithub.com/mui/mui-x/compare/v7.4.0...v7.5.0)

*May 17, 2024*

We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:

-   🎁 Add support for checkbox selection on the Tree View components
-   🌍 Improve Norwegian (nb-NO) and Spanish (es-ES) locales on the Data Grid
-   🐞 Bugfixes
-   📚 Documentation improvements

##### Data Grid

##### `@mui/x-data-grid@7.5.0`

-   \[DataGrid] Fix `rowModesModel` controlled prop ([#&#8203;13056](https://togithub.com/mui/mui-x/issues/13056)) [@&#8203;Janpot](https://togithub.com/Janpot)
-   \[DataGrid] Reduce bundle size with error messages ([#&#8203;12992](https://togithub.com/mui/mui-x/issues/12992)) [@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
-   \[l10n] Improve Norwegian (nb-NO) locale ([#&#8203;13106](https://togithub.com/mui/mui-x/issues/13106)) [@&#8203;oliverlaidma](https://togithub.com/oliverlaidma)
-   \[l10n] Improve Spanish (es-ES) locale ([#&#8203;13133](https://togithub.com/mui/mui-x/issues/13133)) [@&#8203;Jucabel](https://togithub.com/Jucabel)

##### `@mui/x-data-grid-pro@7.5.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/x-data-grid@7.5.0`.

##### `@mui/x-data-grid-premium@7.5.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/x-data-grid-pro@7.5.0`.

##### Date and Time Pickers

##### `@mui/x-date-pickers@7.5.0`

-   \[fields] Allow empty `textField` slot placeholder value ([#&#8203;13148](https://togithub.com/mui/mui-x/issues/13148)) [@&#8203;arthurbalduini](https://togithub.com/arthurbalduini)
-   \[pickers] Fix `AdapterMomentJalaali` regression ([#&#8203;13144](https://togithub.com/mui/mui-x/issues/13144)) [@&#8203;LukasTy](https://togithub.com/LukasTy)
-   \[pickers] Fix field focusing when switching to view without a renderer ([#&#8203;13112](https://togithub.com/mui/mui-x/issues/13112)) [@&#8203;LukasTy](https://togithub.com/LukasTy)
-   \[pickers] Reuse `AdapterDateFnsBase` in Jalali adapters ([#&#8203;13075](https://togithub.com/mui/mui-x/issues/13075)) [@&#8203;LukasTy](https://togithub.com/LukasTy)

##### `@mui/x-date-pickers-pro@7.5.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/x-date-pickers@7.5.0`.

##### Charts

##### `@mui/x-charts@7.5.0`

-   \[charts] Tooltip with `trigger=axis` now follow touch on mobile ([#&#8203;13043](https://togithub.com/mui/mui-x/issues/13043)) [@&#8203;wzdorowa](https://togithub.com/wzdorowa)
-   \[charts] Allow `series.label` property to receive a function with the "location" it is going to be displayed on ([#&#8203;12830](https://togithub.com/mui/mui-x/issues/12830)) [@&#8203;JCQuintas](https://togithub.com/JCQuintas)
-   \[charts] Improve TypeScript performance ([#&#8203;13137](https://togithub.com/mui/mui-x/issues/13137)) [@&#8203;alexfauquette](https://togithub.com/alexfauquette)
-   \[charts] Fix area order when overlapping ([#&#8203;13121](https://togithub.com/mui/mui-x/issues/13121)) [@&#8203;alexfauquette](https://togithub.com/alexfauquette)
-   \[charts] Improve `useSlotProps` types ([#&#8203;13141](https://togithub.com/mui/mui-x/issues/13141)) [@&#8203;alexfauquette](https://togithub.com/alexfauquette)
-   \[charts] Fix using the theme's font in the Overlay ([#&#8203;13107](https://togithub.com/mui/mui-x/issues/13107)) [@&#8203;alexfauquette](https://togithub.com/alexfauquette)

##### Tree View

##### `@mui/x-tree-view@7.5.0`

-   \[TreeView] Add support for checkbox selection ([#&#8203;11452](https://togithub.com/mui/mui-x/issues/11452)) [@&#8203;flaviendelangle](https://togithub.com/flaviendelangle)
-   \[TreeView] Remove unused code ([#&#8203;12917](https://togithub.com/mui/mui-x/issues/12917)) [@&#8203;flaviendelangle](https://togithub.com/flaviendelangle)

##### Docs

-   \[docs] Document missing Charts API's ([#&#8203;12875](https://togithub.com/mui/mui-x/issues/12875)) [@&#8203;alexfauquette](https://togithub.com/alexfauquette)

##### Core

-   \[core] Avoid root level `@mui/x-date-pickers` imports ([#&#8203;13120](https://togithub.com/mui/mui-x/issues/13120)) [@&#8203;LukasTy](https://togithub.com/LukasTy)
-   \[core] Refactor ESLint config to disallow root level imports ([#&#8203;13130](https://togithub.com/mui/mui-x/issues/13130)) [@&#8203;LukasTy](https://togithub.com/LukasTy)
-   \[core] Simplify Danger's config ([#&#8203;13062](https://togithub.com/mui/mui-x/issues/13062)) [@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
-   \[core] Shift aliasing from babel to webpack ([#&#8203;13051](https://togithub.com/mui/mui-x/issues/13051)) [@&#8203;Janpot](https://togithub.com/Janpot)
-   \[core] Reuse the `SectionTitle` component in the doc ([#&#8203;13139](https://togithub.com/mui/mui-x/issues/13139)) [@&#8203;alexfauquette](https://togithub.com/alexfauquette)

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v7.9.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#790-2024-05-13)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.8.0...v7.9.0)

##### 🩹 Fixes

-   **eslint-plugin:** \[explicit-function-return-types] fix false positive on default parameters

##### ❤️  Thank You

-   Kirk Waiblinger
-   Sheetal Nandi
-   Vinccool96

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

<details>
<summary>aws/aws-cdk (aws-cdk)</summary>

### [`v2.142.1`](https://togithub.com/aws/aws-cdk/releases/tag/v2.142.1)

[Compare Source](https://togithub.com/aws/aws-cdk/compare/v2.142.0...v2.142.1)

##### Reverts

-   fix(diff): properties from ChangeSet diff were ignored ([#&#8203;30243](https://togithub.com/aws/aws-cdk/issues/30243)) ([3748472](https://togithub.com/aws/aws-cdk/commit/37484726f235013ec0e71cefb9e1fc35caf12e74))

***

#### Alpha modules (2.142.1-alpha.0)

### [`v2.142.0`](https://togithub.com/aws/aws-cdk/releases/tag/v2.142.0)

[Compare Source](https://togithub.com/aws/aws-cdk/compare/v2.141.0...v2.142.0)

##### Features

-   **asg:** support keypair functionality for asg ([#&#8203;29679](https://togithub.com/aws/aws-cdk/issues/29679)) ([f6b649d](https://togithub.com/aws/aws-cdk/commit/f6b649d47f8bc30ca741fbb7a4852d51e8275002)), closes [#&#8203;29237](https://togithub.com/aws/aws-cdk/issues/29237)
-   **codepipeline:** `GitPullRequestFilter` for pipeline trigger ([#&#8203;29128](https://togithub.com/aws/aws-cdk/issues/29128)) ([5ce1b64](https://togithub.com/aws/aws-cdk/commit/5ce1b6485eb4336634f4f14bfe3d0b17b071e83b)), closes [#&#8203;29126](https://togithub.com/aws/aws-cdk/issues/29126)
-   **docdb:** add copyTagsToSnapshot property to the DatabaseCluster Construct ([#&#8203;30120](https://togithub.com/aws/aws-cdk/issues/30120)) ([30f0db6](https://togithub.com/aws/aws-cdk/commit/30f0db6ad810f0e93187082bd50ddb46726d8f5f)), closes [#&#8203;30090](https://togithub.com/aws/aws-cdk/issues/30090)
-   **docdb:** support CA certificate for cluster instances ([#&#8203;28791](https://togithub.com/aws/aws-cdk/issues/28791)) ([e87f25e](https://togithub.com/aws/aws-cdk/commit/e87f25e1e93350e53aadb15e19ed7a9bf378c315)), closes [#&#8203;27138](https://togithub.com/aws/aws-cdk/issues/27138) [#&#8203;28356](https://togithub.com/aws/aws-cdk/issues/28356)
-   **events-targets:** add support for AppSync as an EventBridge rule target  ([#&#8203;29584](https://togithub.com/aws/aws-cdk/issues/29584)) ([5be88a3](https://togithub.com/aws/aws-cdk/commit/5be88a3055fe1e6b55884847d1b8a75b03341b39)), closes [#&#8203;29884](https://togithub.com/aws/aws-cdk/issues/29884)
-   **servicecatalog:** `ProductStack` memoryLimit prop ([#&#8203;30105](https://togithub.com/aws/aws-cdk/issues/30105)) ([4b6dc8c](https://togithub.com/aws/aws-cdk/commit/4b6dc8c650822bcd0231c8890bd94a934a0cd34d)), closes [#&#8203;29862](https://togithub.com/aws/aws-cdk/issues/29862)

##### Bug Fixes

-   **apigateway:** set authorization scope when authorization type is Cognito ([#&#8203;30035](https://togithub.com/aws/aws-cdk/issues/30035)) ([38a2284](https://togithub.com/aws/aws-cdk/commit/38a2284bccd9119f3bcc8d0baef8525ab416bb67))
-   **autoscaling:** cooldown cannot be set with step scaling actions ([#&#8203;30150](https://togithub.com/aws/aws-cdk/issues/30150)) ([6810762](https://togithub.com/aws/aws-cdk/commit/68107624e50d738be7e10fd22072b5a40983e720)), closes [#&#8203;29779](https://togithub.com/aws/aws-cdk/issues/29779)
-   **cli:** cdk bootstrap --help does not show some options ([#&#8203;30113](https://togithub.com/aws/aws-cdk/issues/30113)) ([8debd20](https://togithub.com/aws/aws-cdk/commit/8debd205b1f52e172de844f349d4e76e39df269d))
-   **cli:** handle attributes of AWS::KMS::Key when hotswapping ([#&#8203;30112](https://togithub.com/aws/aws-cdk/issues/30112)) ([a1dcaa6](https://togithub.com/aws/aws-cdk/commit/a1dcaa6c4a3db245d1becf0e9ace1d488b6d528d)), closes [#&#8203;25418](https://togithub.com/aws/aws-cdk/issues/25418)
-   **cli:** template created during import should be written to assets folder ([#&#8203;29830](https://togithub.com/aws/aws-cdk/issues/29830)) ([a96cf55](https://togithub.com/aws/aws-cdk/commit/a96cf5500242890cddbbaa46af7f7228c7126d98)), closes [#&#8203;22928](https://togithub.com/aws/aws-cdk/issues/22928) [#&#8203;22530](https://togithub.com/aws/aws-cdk/issues/22530)
-   **diff:** properties from ChangeSet diff were ignored ([#&#8203;30093](https://togithub.com/aws/aws-cdk/issues/30093)) ([9c3f3f5](https://togithub.com/aws/aws-cdk/commit/9c3f3f5dbb9b4b9f86911d9cd7c056a9fc0432b3)), closes [#&#8203;29731](https://togithub.com/aws/aws-cdk/issues/29731)
-   **ecs:** require task pidMode for Linux-based Fargate tasks, not host ([#&#8203;30020](https://togithub.com/aws/aws-cdk/issues/30020)) ([3e9e0a8](https://togithub.com/aws/aws-cdk/commit/3e9e0a8696630c9368adf012aff1fb919e398164)), closes [#&#8203;29995](https://togithub.com/aws/aws-cdk/issues/29995)
-   **eks:** in place updates for EKS security group and Subnets ([#&#8203;30114](https://togithub.com/aws/aws-cdk/issues/30114)) ([eb39d9e](https://togithub.com/aws/aws-cdk/commit/eb39d9e1924240d433dc91b7f8d98ebcf5cd87c8)), closes [#&#8203;28584](https://togithub.com/aws/aws-cdk/issues/28584)
-   **iam:** fromUserArn returns incorrect principalAccount ([#&#8203;30023](https://togithub.com/aws/aws-cdk/issues/30023)) ([f9f3681](https://togithub.com/aws/aws-cdk/commit/f9f3681be9fc6a0c998cd26119053c5832ef9806)), closes [/github.com/aws/aws-cdk/issues/29999#issuecomment-2087672380](https://togithub.com/aws//github.com/aws/aws-cdk/issues/29999/issues/issuecomment-2087672380)
-   **s3:** add bucket policy dependency to notification resource ([#&#8203;30053](https://togithub.com/aws/aws-cdk/issues/30053)) ([71986ff](https://togithub.com/aws/aws-cdk/commit/71986ff986d13bbb496b33c0554f657e77dbb2d0)), closes [#&#8203;27600](https://togithub.com/aws/aws-cdk/issues/27600) [#&#8203;16811](https://togithub.com/aws/aws-cdk/issues/16811)
-   **stepfunctions-tasks:** documentation fix for retryOnServiceExceptions ([#&#8203;30077](https://togithub.com/aws/aws-cdk/issues/30077)) ([205163f](https://togithub.com/aws/aws-cdk/commit/205163fc0d2cac84d3d746a98c393e137f0e2388))

***

#### Alpha modules (2.142.0-alpha.0)

##### Features

-   **pipes-targets:** add step function target ([#&#8203;29987](https://togithub.com/aws/aws-cdk/issues/29987)) ([b0975e4](https://togithub.com/aws/aws-cdk/commit/b0975e410a404d07952e01303af01224ccfad864)), closes [#&#8203;29665](https://togithub.com/aws/aws-cdk/issues/29665) [#&#8203;29665](https://togithub.com/aws/aws-cdk/issues/29665)
-   **redshift:** multi AZ cluster ([#&#8203;29976](https://togithub.com/aws/aws-cdk/issues/29976)) ([a53517c](https://togithub.com/aws/aws-cdk/commit/a53517c6772332cc2a15c9b38e964a933e9c8355))

</details>

<details>
<summary>evanw/esbuild (esbuild)</summary>

### [`v0.21.3`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0213)

[Compare Source](https://togithub.com/evanw/esbuild/compare/v0.21.2...v0.21.3)

-   Implement the decorator metadata proposal ([#&#8203;3760](https://togithub.com/evanw/esbuild/issues/3760))

    This release implements the [decorator metadata proposal](https://togithub.com/tc39/proposal-decorator-metadata), which is a sub-proposal of the [decorators proposal](https://togithub.com/tc39/proposal-decorators). Microsoft shipped the decorators proposal in [TypeScript 5.0](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#decorators) and the decorator metadata proposal in [TypeScript 5.2](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/#decorator-metadata), so it's important that esbuild also supports both of these features. Here's a quick example:

    ```js
    // Shim the "Symbol.metadata" symbol
    Symbol.metadata ??= Symbol('Symbol.metadata')

    const track = (_, context) => {
      (context.metadata.names ||= []).push(context.name)
    }

    class Foo {
      @&#8203;track foo = 1
      @&#8203;track bar = 2
    }

    // Prints ["foo", "bar"]
    console.log(Foo[Symbol.metadata].names)
    ```

    **⚠️ WARNING ⚠️**

    This proposal has been marked as "stage 3" which means "recommended for implementation". However, it's still a work in progress and isn't a part of JavaScript yet, so keep in mind that any code that uses JavaScript decorator metadata may need to be updated as the feature continues to evolve. If/when that happens, I will update esbuild's implementation to match the specification. I will not be supporting old versions of the specification.

-   Fix bundled decorators in derived classes ([#&#8203;3768](https://togithub.com/evanw/esbuild/issues/3768))

    In certain cases, bundling code that uses decorators in a derived class with a class body that references its own class name could previously generate code that crashes at run-time due to an incorrect variable name. This problem has been fixed. Here is an example of code that was compiled incorrectly before this fix:

    ```js
    class Foo extends Object {
      @&#8203;(x => x) foo() {
        return Foo
      }
    }
    console.log(new Foo().foo())
    ```

-   Fix `tsconfig.json` files inside symlinked directories ([#&#8203;3767](https://togithub.com/evanw/esbuild/issues/3767))

    This release fixes an issue with a scenario involving a `tsconfig.json` file that `extends` another file from within a symlinked directory that uses the `paths` feature. In that case, the implicit `baseURL` value should be based on the real path (i.e. after expanding all symbolic links) instead of the original path. This was already done for other files that esbuild resolves but was not yet done for `tsconfig.json` because it's special-cased (the regular path resolver can't be used because the information inside `tsconfig.json` is involved in path resolution). Note that this fix no longer applies if the `--preserve-symlinks` setting is enabled.

### [`v0.21.2`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0212)

[Compare Source](https://togithub.com/evanw/esbuild/compare/v0.21.1...v0.21.2)

-   Correct `this` in field and accessor decorators ([#&#8203;3761](https://togithub.com/evanw/esbuild/issues/3761))

    This release changes the value of `this` in initializers for class field and accessor decorators from the module-level `this` value to the appropriate `this` value for the decorated element (either the class or the instance). It was previously incorrect due to lack of test coverage. Here's an example of a decorator that doesn't work without this change:

    ```js
    const dec = () => function() { this.bar = true }
    class Foo { @&#8203;dec static foo }
    console.log(Foo.bar) // Should be "true"
    ```

-   Allow `es2023` as a target environment ([#&#8203;3762](https://togithub.com/evanw/esbuild/issues/3762))

    TypeScript recently [added `es2023`](https://togithub.com/microsoft/TypeScript/pull/58140) as a compilation target, so esbuild now supports this too. There is no difference between a target of `es2022` and `es2023` as far as esbuild is concerned since the 2023 edition of JavaScript doesn't introduce any new syntax features.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v7.9.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#790-2024-05-13)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.8.0...v7.9.0)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on sunday" in timezone Europe/Berlin, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/SvenKirschbaum/aws-utils).
ahammond pushed a commit to time-loop/cdk-log-parser that referenced this issue May 27, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [aws-cdk-lib](https://togithub.com/aws/aws-cdk)
([source](https://togithub.com/aws/aws-cdk/tree/HEAD/packages/aws-cdk-lib))
| [`^2.135.0` ->
`^2.143.0`](https://renovatebot.com/diffs/npm/aws-cdk-lib/2.141.0/2.143.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/aws-cdk-lib/2.143.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/aws-cdk-lib/2.143.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/aws-cdk-lib/2.141.0/2.143.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/aws-cdk-lib/2.141.0/2.143.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [aws-sdk](https://togithub.com/aws/aws-sdk-js) | [`^2.1593.0` ->
`^2.1628.0`](https://renovatebot.com/diffs/npm/aws-sdk/2.1618.0/2.1628.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/aws-sdk/2.1628.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/aws-sdk/2.1628.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/aws-sdk/2.1618.0/2.1628.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/aws-sdk/2.1618.0/2.1628.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [esbuild](https://togithub.com/evanw/esbuild) | [`^0.20.2` ->
`^0.21.4`](https://renovatebot.com/diffs/npm/esbuild/0.20.2/0.21.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.21.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.21.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.20.2/0.21.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.20.2/0.21.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [jsii-release](https://togithub.com/cdklabs/publib) | [`^0.2.813` ->
`^0.2.838`](https://renovatebot.com/diffs/npm/jsii-release/0.2.832/0.2.838)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/jsii-release/0.2.838?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jsii-release/0.2.838?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jsii-release/0.2.832/0.2.838?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jsii-release/0.2.832/0.2.838?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [ts-jest](https://kulshekhar.github.io/ts-jest)
([source](https://togithub.com/kulshekhar/ts-jest)) | [`^29.1.2` ->
`^29.1.3`](https://renovatebot.com/diffs/npm/ts-jest/29.1.2/29.1.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/ts-jest/29.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ts-jest/29.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ts-jest/29.1.2/29.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ts-jest/29.1.2/29.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [typedoc](https://typedoc.org)
([source](https://togithub.com/TypeStrong/TypeDoc)) | [`^0.25.12` ->
`^0.25.13`](https://renovatebot.com/diffs/npm/typedoc/0.25.13/0.25.13) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/typedoc/0.25.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typedoc/0.25.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typedoc/0.25.13/0.25.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typedoc/0.25.13/0.25.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://togithub.com/Microsoft/TypeScript)) | [`^5.4.4` ->
`^5.4.5`](https://renovatebot.com/diffs/npm/typescript/5.4.5/5.4.5) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.4.5/5.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.4.5/5.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>aws/aws-cdk (aws-cdk-lib)</summary>

### [`v2.143.0`](https://togithub.com/aws/aws-cdk/releases/tag/v2.143.0)

[Compare
Source](https://togithub.com/aws/aws-cdk/compare/v2.142.1...v2.143.0)

##### Features

- **codebuild:** add deleteReports property to the ReportGroup Construct
([#&#8203;30141](https://togithub.com/aws/aws-cdk/issues/30141))
([c3003ab](https://togithub.com/aws/aws-cdk/commit/c3003ab41f0efc763f39eb2cab490c8a005e146b))
- update L1 CloudFormation resource definitions
([#&#8203;30182](https://togithub.com/aws/aws-cdk/issues/30182))
([555d1c7](https://togithub.com/aws/aws-cdk/commit/555d1c7f3d355ff98501539a7ec6e34fac1feb09))
- **batch:** jobStateTimeLimitActions property added
([#&#8203;30158](https://togithub.com/aws/aws-cdk/issues/30158))
([411a58c](https://togithub.com/aws/aws-cdk/commit/411a58cb427c2794dad889127a613d0999b707bb)),
closes [#&#8203;30142](https://togithub.com/aws/aws-cdk/issues/30142)
- **cognito:** add enablePropagateAdditionalUserContextData to
UserClient Construct
([#&#8203;30178](https://togithub.com/aws/aws-cdk/issues/30178))
([e00c0ca](https://togithub.com/aws/aws-cdk/commit/e00c0ca6f98b6137a9f14deaef123c9daefe95e7))
- **ec2:** support placementGroup for ec2.Instance
([#&#8203;30293](https://togithub.com/aws/aws-cdk/issues/30293))
([f4b1d5a](https://togithub.com/aws/aws-cdk/commit/f4b1d5a94f49bd8dd607a11a94ff27895c8417ec)),
closes [#&#8203;30292](https://togithub.com/aws/aws-cdk/issues/30292)
- **ecs-patterns:** dualstack NLB
([#&#8203;30069](https://togithub.com/aws/aws-cdk/issues/30069))
([623cedb](https://togithub.com/aws/aws-cdk/commit/623cedb429fba5bcf6ecdf2bb8277fcc2b88eba4)),
closes [#&#8203;29614](https://togithub.com/aws/aws-cdk/issues/29614)

##### Bug Fixes

- **ecs:** add feature flag and remove ecs default deployment alarm
settings
([#&#8203;30217](https://togithub.com/aws/aws-cdk/issues/30217))
([1e94267](https://togithub.com/aws/aws-cdk/commit/1e942675b2971a45be7a537183ee04296fd4ee67))
- **elbv2:** unable to deploy template with IPv4 load balancer when
denyAllIgwTraffic set
([#&#8203;29956](https://togithub.com/aws/aws-cdk/issues/29956))
([42d424e](https://togithub.com/aws/aws-cdk/commit/42d424ed0d931f312c5ee69c6aef634e80e83065)),
closes [#&#8203;30247](https://togithub.com/aws/aws-cdk/issues/30247)
- **events_targets:** kinesisfirehosestream not accepting
ideliverystream for imported deliverystream
([#&#8203;30189](https://togithub.com/aws/aws-cdk/issues/30189))
([d7e6a10](https://togithub.com/aws/aws-cdk/commit/d7e6a10a618074cf0db7412a4525e28fc47cd7f7))
- **rds:** readers not always be created after the writer
([#&#8203;30277](https://togithub.com/aws/aws-cdk/issues/30277))
([e8676cb](https://togithub.com/aws/aws-cdk/commit/e8676cbed76905c879bdb0981a6464b683074632)),
closes [#&#8203;30260](https://togithub.com/aws/aws-cdk/issues/30260)
- **s3:** bucketKey does not support SSE-S3
([#&#8203;30184](https://togithub.com/aws/aws-cdk/issues/30184))
([c7c75f8](https://togithub.com/aws/aws-cdk/commit/c7c75f8069ea10006853c32bd95ea9d3f70f8a05)),
closes [#&#8203;30183](https://togithub.com/aws/aws-cdk/issues/30183)
- **stepfunctions-tasks:** runtime language used to evaluate expressions
is ignored
([#&#8203;30302](https://togithub.com/aws/aws-cdk/issues/30302))
([dfea721](https://togithub.com/aws/aws-cdk/commit/dfea72118790ea591d9de720f337c1e14eb11411))

***

#### Alpha modules (2.143.0-alpha.0)

### [`v2.142.1`](https://togithub.com/aws/aws-cdk/releases/tag/v2.142.1)

[Compare
Source](https://togithub.com/aws/aws-cdk/compare/v2.142.0...v2.142.1)

##### Reverts

- fix(diff): properties from ChangeSet diff were ignored
([#&#8203;30243](https://togithub.com/aws/aws-cdk/issues/30243))
([3748472](https://togithub.com/aws/aws-cdk/commit/37484726f235013ec0e71cefb9e1fc35caf12e74))

***

#### Alpha modules (2.142.1-alpha.0)

### [`v2.142.0`](https://togithub.com/aws/aws-cdk/releases/tag/v2.142.0)

[Compare
Source](https://togithub.com/aws/aws-cdk/compare/v2.141.0...v2.142.0)

##### Features

- **asg:** support keypair functionality for asg
([#&#8203;29679](https://togithub.com/aws/aws-cdk/issues/29679))
([f6b649d](https://togithub.com/aws/aws-cdk/commit/f6b649d47f8bc30ca741fbb7a4852d51e8275002)),
closes [#&#8203;29237](https://togithub.com/aws/aws-cdk/issues/29237)
- **codepipeline:** `GitPullRequestFilter` for pipeline trigger
([#&#8203;29128](https://togithub.com/aws/aws-cdk/issues/29128))
([5ce1b64](https://togithub.com/aws/aws-cdk/commit/5ce1b6485eb4336634f4f14bfe3d0b17b071e83b)),
closes [#&#8203;29126](https://togithub.com/aws/aws-cdk/issues/29126)
- **docdb:** add copyTagsToSnapshot property to the DatabaseCluster
Construct
([#&#8203;30120](https://togithub.com/aws/aws-cdk/issues/30120))
([30f0db6](https://togithub.com/aws/aws-cdk/commit/30f0db6ad810f0e93187082bd50ddb46726d8f5f)),
closes [#&#8203;30090](https://togithub.com/aws/aws-cdk/issues/30090)
- **docdb:** support CA certificate for cluster instances
([#&#8203;28791](https://togithub.com/aws/aws-cdk/issues/28791))
([e87f25e](https://togithub.com/aws/aws-cdk/commit/e87f25e1e93350e53aadb15e19ed7a9bf378c315)),
closes [#&#8203;27138](https://togithub.com/aws/aws-cdk/issues/27138)
[#&#8203;28356](https://togithub.com/aws/aws-cdk/issues/28356)
- **events-targets:** add support for AppSync as an EventBridge rule
target ([#&#8203;29584](https://togithub.com/aws/aws-cdk/issues/29584))
([5be88a3](https://togithub.com/aws/aws-cdk/commit/5be88a3055fe1e6b55884847d1b8a75b03341b39)),
closes [#&#8203;29884](https://togithub.com/aws/aws-cdk/issues/29884)
- **servicecatalog:** `ProductStack` memoryLimit prop
([#&#8203;30105](https://togithub.com/aws/aws-cdk/issues/30105))
([4b6dc8c](https://togithub.com/aws/aws-cdk/commit/4b6dc8c650822bcd0231c8890bd94a934a0cd34d)),
closes [#&#8203;29862](https://togithub.com/aws/aws-cdk/issues/29862)

##### Bug Fixes

- **apigateway:** set authorization scope when authorization type is
Cognito ([#&#8203;30035](https://togithub.com/aws/aws-cdk/issues/30035))
([38a2284](https://togithub.com/aws/aws-cdk/commit/38a2284bccd9119f3bcc8d0baef8525ab416bb67))
- **autoscaling:** cooldown cannot be set with step scaling actions
([#&#8203;30150](https://togithub.com/aws/aws-cdk/issues/30150))
([6810762](https://togithub.com/aws/aws-cdk/commit/68107624e50d738be7e10fd22072b5a40983e720)),
closes [#&#8203;29779](https://togithub.com/aws/aws-cdk/issues/29779)
- **cli:** cdk bootstrap --help does not show some options
([#&#8203;30113](https://togithub.com/aws/aws-cdk/issues/30113))
([8debd20](https://togithub.com/aws/aws-cdk/commit/8debd205b1f52e172de844f349d4e76e39df269d))
- **cli:** handle attributes of AWS::KMS::Key when hotswapping
([#&#8203;30112](https://togithub.com/aws/aws-cdk/issues/30112))
([a1dcaa6](https://togithub.com/aws/aws-cdk/commit/a1dcaa6c4a3db245d1becf0e9ace1d488b6d528d)),
closes [#&#8203;25418](https://togithub.com/aws/aws-cdk/issues/25418)
- **cli:** template created during import should be written to assets
folder ([#&#8203;29830](https://togithub.com/aws/aws-cdk/issues/29830))
([a96cf55](https://togithub.com/aws/aws-cdk/commit/a96cf5500242890cddbbaa46af7f7228c7126d98)),
closes [#&#8203;22928](https://togithub.com/aws/aws-cdk/issues/22928)
[#&#8203;22530](https://togithub.com/aws/aws-cdk/issues/22530)
- **diff:** properties from ChangeSet diff were ignored
([#&#8203;30093](https://togithub.com/aws/aws-cdk/issues/30093))
([9c3f3f5](https://togithub.com/aws/aws-cdk/commit/9c3f3f5dbb9b4b9f86911d9cd7c056a9fc0432b3)),
closes [#&#8203;29731](https://togithub.com/aws/aws-cdk/issues/29731)
- **ecs:** require task pidMode for Linux-based Fargate tasks, not host
([#&#8203;30020](https://togithub.com/aws/aws-cdk/issues/30020))
([3e9e0a8](https://togithub.com/aws/aws-cdk/commit/3e9e0a8696630c9368adf012aff1fb919e398164)),
closes [#&#8203;29995](https://togithub.com/aws/aws-cdk/issues/29995)
- **eks:** in place updates for EKS security group and Subnets
([#&#8203;30114](https://togithub.com/aws/aws-cdk/issues/30114))
([eb39d9e](https://togithub.com/aws/aws-cdk/commit/eb39d9e1924240d433dc91b7f8d98ebcf5cd87c8)),
closes [#&#8203;28584](https://togithub.com/aws/aws-cdk/issues/28584)
- **iam:** fromUserArn returns incorrect principalAccount
([#&#8203;30023](https://togithub.com/aws/aws-cdk/issues/30023))
([f9f3681](https://togithub.com/aws/aws-cdk/commit/f9f3681be9fc6a0c998cd26119053c5832ef9806)),
closes
[/github.com/aws/aws-cdk/issues/29999#issuecomment-2087672380](https://togithub.com/aws//github.com/aws/aws-cdk/issues/29999/issues/issuecomment-2087672380)
- **s3:** add bucket policy dependency to notification resource
([#&#8203;30053](https://togithub.com/aws/aws-cdk/issues/30053))
([71986ff](https://togithub.com/aws/aws-cdk/commit/71986ff986d13bbb496b33c0554f657e77dbb2d0)),
closes [#&#8203;27600](https://togithub.com/aws/aws-cdk/issues/27600)
[#&#8203;16811](https://togithub.com/aws/aws-cdk/issues/16811)
- **stepfunctions-tasks:** documentation fix for
retryOnServiceExceptions
([#&#8203;30077](https://togithub.com/aws/aws-cdk/issues/30077))
([205163f](https://togithub.com/aws/aws-cdk/commit/205163fc0d2cac84d3d746a98c393e137f0e2388))

***

#### Alpha modules (2.142.0-alpha.0)

##### Features

- **pipes-targets:** add step function target
([#&#8203;29987](https://togithub.com/aws/aws-cdk/issues/29987))
([b0975e4](https://togithub.com/aws/aws-cdk/commit/b0975e410a404d07952e01303af01224ccfad864)),
closes [#&#8203;29665](https://togithub.com/aws/aws-cdk/issues/29665)
[#&#8203;29665](https://togithub.com/aws/aws-cdk/issues/29665)
- **redshift:** multi AZ cluster
([#&#8203;29976](https://togithub.com/aws/aws-cdk/issues/29976))
([a53517c](https://togithub.com/aws/aws-cdk/commit/a53517c6772332cc2a15c9b38e964a933e9c8355))

</details>

<details>
<summary>aws/aws-sdk-js (aws-sdk)</summary>

###
[`v2.1628.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216280)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1627.0...v2.1628.0)

- feature: IoTFleetWise: AWS IoT FleetWise now supports listing vehicles
with attributes filter, ListVehicles API is updated to support
additional attributes filter.

###
[`v2.1627.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216270)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1626.0...v2.1627.0)

- bugfix: SSO: fix sso credential resolution failure when sso-session
access token requires a refresh
- bugfix: Typing: Align the typing for constructor param of
TokenFileWebIdentityCredentials with STS client
- bugfix: rest-json: use rules.payload when extracting data for event
stream
- feature: EMRServerless: This release adds the capability to run
interactive workloads using Apache Livy Endpoint.
- feature: MetadataService: Update AWS.MetadataService to expose the
fetchMetadataToken function.

###
[`v2.1626.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216260)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1625.0...v2.1626.0)

-   bugfix: EC2: do not serialize empty lists for EC2
- feature: Chatbot: This change adds support for tagging Chatbot
configurations.
- feature: CloudFormation: Added DeletionMode FORCE_DELETE_STACK for
deleting a stack that is stuck in DELETE_FAILED state due to resource
deletion failure.
- feature: KMS: This release includes feature to import customer's
asymmetric (RSA, ECC and SM2) and HMAC keys into KMS in China.
- feature: OpenSearch: This release adds support for enabling or
disabling a data source configured as part of Zero-ETL integration with
Amazon S3, by setting its status.
- feature: WAFV2: You can now use Security Lake to collect web ACL
traffic data.

###
[`v2.1625.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216250)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1624.0...v2.1625.0)

-   feature: CloudFront: Model update; no change to SDK functionality.
- feature: Glue: Add Maintenance window to CreateJob and UpdateJob APIs
and JobRun response. Add a new Job Run State for EXPIRED.
- feature: Lightsail: This release adds support for Amazon Lightsail
instances to switch between dual-stack or IPv4 only and IPv6-only public
IP address types.
- feature: MailManager: This release includes a new Amazon SES feature
called Mail Manager, which is a set of email gateway capabilities
designed to help customers strengthen their organization's email
infrastructure, simplify email workflow management, and streamline email
compliance control.
- feature: PI: Performance Insights added a new input parameter called
AuthorizedActions to support the fine-grained access feature.
Performance Insights also restricted the acceptable input characters.
- feature: StorageGateway: Added new SMBSecurityStrategy enum named
MandatoryEncryptionNoAes128, new mode enforces encryption and disables
AES 128-bit algorithums.

###
[`v2.1624.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216240)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1623.0...v2.1624.0)

- feature: BedrockAgent: This release adds support for using Guardrails
with Bedrock Agents.
- feature: BedrockAgentRuntime: This release adds support for using
Guardrails with Bedrock Agents.
- feature: ControlTower: Added ListControlOperations API and filtering
support for ListEnabledControls API. Updates also includes added
metadata for enabled controls and control operations.
- feature: OSIS: Add support for creating an OpenSearch Ingestion
pipeline that is attached to a provided VPC. Add information about the
destinations of an OpenSearch Ingestion pipeline to the GetPipeline and
ListPipelines APIs.
- feature: RDS: This release adds support for EngineLifecycleSupport on
DBInstances, DBClusters, and GlobalClusters.
- feature: SecretsManager: add v2 smoke tests and smithy smokeTests
trait for SDK testing

###
[`v2.1623.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216230)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1622.0...v2.1623.0)

- feature: ApplicationAutoScaling: add v2 smoke tests and smithy
smokeTests trait for SDK testing.
- feature: CodeBuild: Aws CodeBuild now supports 36 hours build timeout
- feature: ELBv2: This release adds dualstack-without-public-ipv4 IP
address type for ALB.
- feature: LakeFormation: Introduces a new API, GetDataLakePrincipal,
that returns the identity of the invoking principal
- feature: Transfer: Enable use of CloudFormation traits in Smithy model
to improve generated CloudFormation schema from the Smithy API model.

###
[`v2.1622.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216220)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1621.0...v2.1622.0)

- feature: ACMPCA: This release adds support for waiters to fail on
AccessDeniedException when having insufficient permissions
-   feature: Kafka: AWS MSK support for Broker Removal.
- feature: MWAA: Amazon MWAA now supports Airflow web server auto
scaling to automatically handle increased demand from REST APIs, Command
Line Interface (CLI), or more Airflow User Interface (UI) users.
Customers can specify maximum and minimum web server instances during
environment creation and update workflow.
- feature: QuickSight: This release adds DescribeKeyRegistration and
UpdateKeyRegistration APIs to manage QuickSight Customer Managed Keys
(CMK).
- feature: SageMaker: Introduced WorkerAccessConfiguration to SageMaker
Workteam. This allows customers to configure resource access for workers
in a workteam.

###
[`v2.1621.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216210)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1620.0...v2.1621.0)

- feature: BedrockAgentRuntime: Updating Bedrock Knowledge Base Metadata
& Filters feature with two new filters listContains and stringContains
-   feature: CodeBuild: CodeBuild Reserved Capacity VPC Support
- feature: DataSync: Task executions now display a CANCELLING status
when an execution is in the process of being cancelled.
- feature: Grafana: This release adds new ServiceAccount and
ServiceAccountToken APIs.
- feature: MedicalImaging: Added support for importing medical imaging
data from Amazon S3 buckets across accounts and regions.

###
[`v2.1620.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216200)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1619.0...v2.1620.0)

- feature: Connect: Amazon Connect provides enhanced search capabilities
for flows & flow modules on the Connect admin website and
programmatically using APIs. You can search for flows and flow modules
by name, description, type, status, and tags, to filter and identify a
specific flow in your Connect instances.
-   feature: S3: Updated a few x-id in the http uri traits

###
[`v2.1619.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#216190)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1618.0...v2.1619.0)

- feature: EventBridge: Amazon EventBridge introduces KMS
customer-managed key (CMK) encryption support for custom and partner
events published on EventBridge Event Bus (including default bus) and
UpdateEventBus API.
- feature: VPCLattice: This release adds TLS Passthrough support. It
also increases max number of target group per rule to 10.

</details>

<details>
<summary>evanw/esbuild (esbuild)</summary>

###
[`v0.21.4`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0214)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.21.3...v0.21.4)

- Update support for import assertions and import attributes in node
([#&#8203;3778](https://togithub.com/evanw/esbuild/issues/3778))

Import assertions (the `assert` keyword) have been removed from node
starting in v22.0.0. So esbuild will now strip them and generate a
warning with `--target=node22` or above:

▲ [WARNING] The "assert" keyword is not supported in the configured
target environment ("node22") [assert-to-with]

            example.mjs:1:40:
1 │ import json from "esbuild/package.json" assert { type: "json" }
                │                                         ~~~~~~
                ╵                                         with

          Did you mean to use "with" instead of "assert"?

Import attributes (the `with` keyword) have been backported to node 18
starting in v18.20.0. So esbuild will no longer strip them with
`--target=node18.N` if `N` is 20 or greater.

-   Fix `for await` transform when a label is present

This release fixes a bug where the `for await` transform, which wraps
the loop in a `try` statement, previously failed to also move the loop's
label into the `try` statement. This bug only affects code that uses
both of these features in combination. Here's an example of some
affected code:

    ```js
    // Original code
    async function test() {
      outer: for await (const x of [Promise.resolve([0, 1])]) {
        for (const y of x) if (y) break outer
        throw 'fail'
      }
    }

    // Old output (with --target=es6)
    function test() {
      return __async(this, null, function* () {
        outer: try {
for (var iter = __forAwait([Promise.resolve([0, 1])]), more, temp,
error; more = !(temp = yield iter.next()).done; more = false) {
            const x = temp.value;
            for (const y of x) if (y) break outer;
            throw "fail";
          }
        } catch (temp) {
          error = [temp];
        } finally {
          try {
            more && (temp = iter.return) && (yield temp.call(iter));
          } finally {
            if (error)
              throw error[0];
          }
        }
      });
    }

    // New output (with --target=es6)
    function test() {
      return __async(this, null, function* () {
        try {
outer: for (var iter = __forAwait([Promise.resolve([0, 1])]), more,
temp, error; more = !(temp = yield iter.next()).done; more = false) {
            const x = temp.value;
            for (const y of x) if (y) break outer;
            throw "fail";
          }
        } catch (temp) {
          error = [temp];
        } finally {
          try {
            more && (temp = iter.return) && (yield temp.call(iter));
          } finally {
            if (error)
              throw error[0];
          }
        }
      });
    }
    ```

- Do additional constant folding after cross-module enum inlining
([#&#8203;3416](https://togithub.com/evanw/esbuild/issues/3416),
[#&#8203;3425](https://togithub.com/evanw/esbuild/issues/3425))

This release adds a few more cases where esbuild does constant folding
after cross-module enum inlining.

    ```ts
    // Original code: enum.ts
    export enum Platform {
      WINDOWS = 'windows',
      MACOS = 'macos',
      LINUX = 'linux',
    }

    // Original code: main.ts
    import { Platform } from './enum';
    declare const PLATFORM: string;
    export function logPlatform() {
      if (PLATFORM == Platform.WINDOWS) console.log('Windows');
      else if (PLATFORM == Platform.MACOS) console.log('macOS');
      else if (PLATFORM == Platform.LINUX) console.log('Linux');
      else console.log('Other');
    }

// Old output (with --bundle '--define:PLATFORM="macos"' --minify
--format=esm)
function
n(){"windows"=="macos"?console.log("Windows"):"macos"=="macos"?console.log("macOS"):"linux"=="macos"?console.log("Linux"):console.log("Other")}export{n
as logPlatform};

// New output (with --bundle '--define:PLATFORM="macos"' --minify
--format=esm)
    function n(){console.log("macOS")}export{n as logPlatform};
    ```

- Pass import attributes to on-resolve plugins
([#&#8203;3384](https://togithub.com/evanw/esbuild/issues/3384),
[#&#8203;3639](https://togithub.com/evanw/esbuild/issues/3639),
[#&#8203;3646](https://togithub.com/evanw/esbuild/issues/3646))

With this release, on-resolve plugins will now have access to the import
attributes on the import via the `with` property of the arguments
object. This mirrors the `with` property of the arguments object that's
already passed to on-load plugins. In addition, you can now pass `with`
to the `resolve()` API call which will then forward that value on to all
relevant plugins. Here's an example of a plugin that can now be written:

    ```js
    const examplePlugin = {
      name: 'Example plugin',
      setup(build) {
        build.onResolve({ filter: /.*/ }, args => {
          if (args.with.type === 'external')
            return { external: true }
        })
      }
    }

    require('esbuild').build({
      stdin: {
        contents: `
          import foo from "./foo" with { type: "external" }
          foo()
        `,
      },
      bundle: true,
      format: 'esm',
      write: false,
      plugins: [examplePlugin],
    }).then(result => {
      console.log(result.outputFiles[0].text)
    })
    ```

- Formatting support for the `@position-try` rule
([#&#8203;3773](https://togithub.com/evanw/esbuild/issues/3773))

Chrome shipped this new CSS at-rule in version 125 as part of the [CSS
anchor positioning
API](https://developer.chrome.com/blog/anchor-positioning-api). With
this release, esbuild now knows to expect a declaration list inside of
the `@position-try` body block and will format it appropriately.

- Always allow internal string import and export aliases
([#&#8203;3343](https://togithub.com/evanw/esbuild/issues/3343))

Import and export names can be string literals in ES2022+. Previously
esbuild forbid any usage of these aliases when the target was below
ES2022. Starting with this release, esbuild will only forbid such usage
when the alias would otherwise end up in output as a string literal.
String literal aliases that are only used internally in the bundle and
are "compiled away" are no longer errors. This makes it possible to use
string literal aliases with esbuild's `inject` feature even when the
target is earlier than ES2022.

###
[`v0.21.3`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0213)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.21.2...v0.21.3)

- Implement the decorator metadata proposal
([#&#8203;3760](https://togithub.com/evanw/esbuild/issues/3760))

This release implements the [decorator metadata
proposal](https://togithub.com/tc39/proposal-decorator-metadata), which
is a sub-proposal of the [decorators
proposal](https://togithub.com/tc39/proposal-decorators). Microsoft
shipped the decorators proposal in [TypeScript
5.0](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#decorators)
and the decorator metadata proposal in [TypeScript
5.2](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/#decorator-metadata),
so it's important that esbuild also supports both of these features.
Here's a quick example:

    ```js
    // Shim the "Symbol.metadata" symbol
    Symbol.metadata ??= Symbol('Symbol.metadata')

    const track = (_, context) => {
      (context.metadata.names ||= []).push(context.name)
    }

    class Foo {
      @&#8203;track foo = 1
      @&#8203;track bar = 2
    }

    // Prints ["foo", "bar"]
    console.log(Foo[Symbol.metadata].names)
    ```

    **⚠️ WARNING ⚠️**

This proposal has been marked as "stage 3" which means "recommended for
implementation". However, it's still a work in progress and isn't a part
of JavaScript yet, so keep in mind that any code that uses JavaScript
decorator metadata may need to be updated as the feature continues to
evolve. If/when that happens, I will update esbuild's implementation to
match the specification. I will not be supporting old versions of the
specification.

- Fix bundled decorators in derived classes
([#&#8203;3768](https://togithub.com/evanw/esbuild/issues/3768))

In certain cases, bundling code that uses decorators in a derived class
with a class body that references its own class name could previously
generate code that crashes at run-time due to an incorrect variable
name. This problem has been fixed. Here is an example of code that was
compiled incorrectly before this fix:

    ```js
    class Foo extends Object {
      @&#8203;(x => x) foo() {
        return Foo
      }
    }
    console.log(new Foo().foo())
    ```

- Fix `tsconfig.json` files inside symlinked directories
([#&#8203;3767](https://togithub.com/evanw/esbuild/issues/3767))

This release fixes an issue with a scenario involving a `tsconfig.json`
file that `extends` another file from within a symlinked directory that
uses the `paths` feature. In that case, the implicit `baseURL` value
should be based on the real path (i.e. after expanding all symbolic
links) instead of the original path. This was already done for other
files that esbuild resolves but was not yet done for `tsconfig.json`
because it's special-cased (the regular path resolver can't be used
because the information inside `tsconfig.json` is involved in path
resolution). Note that this fix no longer applies if the
`--preserve-symlinks` setting is enabled.

###
[`v0.21.2`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0212)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.21.1...v0.21.2)

- Correct `this` in field and accessor decorators
([#&#8203;3761](https://togithub.com/evanw/esbuild/issues/3761))

This release changes the value of `this` in initializers for class field
and accessor decorators from the module-level `this` value to the
appropriate `this` value for the decorated element (either the class or
the instance). It was previously incorrect due to lack of test coverage.
Here's an example of a decorator that doesn't work without this change:

    ```js
    const dec = () => function() { this.bar = true }
    class Foo { @&#8203;dec static foo }
    console.log(Foo.bar) // Should be "true"
    ```

- Allow `es2023` as a target environment
([#&#8203;3762](https://togithub.com/evanw/esbuild/issues/3762))

TypeScript recently [added
`es2023`](https://togithub.com/microsoft/TypeScript/pull/58140) as a
compilation target, so esbuild now supports this too. There is no
difference between a target of `es2022` and `es2023` as far as esbuild
is concerned since the 2023 edition of JavaScript doesn't introduce any
new syntax features.

###
[`v0.21.1`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0211)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.21.0...v0.21.1)

- Fix a regression with `--keep-names`
([#&#8203;3756](https://togithub.com/evanw/esbuild/issues/3756))

The previous release introduced a regression with the `--keep-names`
setting and object literals with `get`/`set` accessor methods, in which
case the generated code contained syntax errors. This release fixes the
regression:

    ```js
    // Original code
    x = { get y() {} }

    // Output from version 0.21.0 (with --keep-names)
    x = { get y: /* @&#8203;__PURE__ */ __name(function() {
    }, "y") };

    // Output from this version (with --keep-names)
    x = { get y() {
    } };
    ```

###
[`v0.21.0`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0210)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.20.2...v0.21.0)

This release doesn't contain any deliberately-breaking changes. However,
it contains a very complex new feature and while all of esbuild's tests
pass, I would not be surprised if an important edge case turns out to be
broken. So I'm releasing this as a breaking change release to avoid
causing any trouble. As usual, make sure to test your code when you
upgrade.

- Implement the JavaScript decorators proposal
([#&#8203;104](https://togithub.com/evanw/esbuild/issues/104))

With this release, esbuild now contains an implementation of the
upcoming [JavaScript decorators
proposal](https://togithub.com/tc39/proposal-decorators). This is the
same feature that shipped in [TypeScript
5.0](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#decorators)
and has been highly-requested on esbuild's issue tracker. You can read
more about them in that blog post and in this other (now slightly
outdated) extensive blog post here:
https://2ality.com/2022/10/javascript-decorators.html. Here's a quick
example:

    ```js
    const log = (fn, context) => function() {
      console.log(`before ${context.name}`)
      const it = fn.apply(this, arguments)
      console.log(`after ${context.name}`)
      return it
    }

    class Foo {
      @&#8203;log static foo() {
        console.log('in foo')
      }
    }

    // Logs "before foo", "in foo", "after foo"
    Foo.foo()
    ```

Note that this feature is different than the existing "TypeScript
experimental decorators" feature that esbuild already implements. It
uses similar syntax but behaves very differently, and the two are not
compatible (although it's sometimes possible to write decorators that
work with both). TypeScript experimental decorators will still be
supported by esbuild going forward as they have been around for a long
time, are very widely used, and let you do certain things that are not
possible with JavaScript decorators (such as decorating function
parameters). By default esbuild will parse and transform JavaScript
decorators, but you can tell esbuild to parse and transform TypeScript
experimental decorators instead by setting `"experimentalDecorators":
true` in your `tsconfig.json` file.

Probably at least half of the work for this feature went into creating a
test suite that exercises many of the proposal's edge cases:
https://github.com/evanw/decorator-tests. It has given me a reasonable
level of confidence that esbuild's initial implementation is acceptable.
However, I don't have access to a significant sample of real code that
uses JavaScript decorators. If you're currently using JavaScript
decorators in a real code base, please try out esbuild's implementation
and let me know if anything seems off.

    **⚠️ WARNING ⚠️**

This proposal has been in the works for a very long time (work began
around 10 years ago in 2014) and it is finally getting close to becoming
part of the JavaScript language. However, it's still a work in progress
and isn't a part of JavaScript yet, so keep in mind that any code that
uses JavaScript decorators may need to be updated as the feature
continues to evolve. The decorators proposal is pretty close to its
final form but it can and likely will undergo some small behavioral
adjustments before it ends up becoming a part of the standard. If/when
that happens, I will update esbuild's implementation to match the
specification. I will not be supporting old versions of the
specification.

-   Optimize the generated code for private methods

Previously when lowering private methods for old browsers, esbuild would
generate one `WeakSet` for each private method. This mirrors similar
logic for generating one `WeakSet` for each private field. Using a
separate `WeakMap` for private fields is necessary as their assignment
can be observable:

    ```js
    let it
    class Bar {
      constructor() {
        it = this
      }
    }
    class Foo extends Bar {
      #x = 1
      #y = null.foo
      static check() {
        console.log(#x in it, #y in it)
      }
    }
    try { new Foo } catch {}
    Foo.check()
    ```

This prints `true false` because this partially-initialized instance has
`#x` but not `#y`. In other words, it's not true that all class
instances will always have all of their private fields. However, the
assignment of private methods to a class instance is not observable. In
other words, it's true that all class instances will always have all of
their private methods. This means esbuild can lower private methods into
code where all methods share a single `WeakSet`, which is smaller,
faster, and uses less memory. Other JavaScript processing tools such as
the TypeScript compiler already make this optimization. Here's what this
change looks like:

    ```js
    // Original code
    class Foo {
      #x() { return this.#x() }
      #y() { return this.#y() }
      #z() { return this.#z() }
    }

    // Old output (--supported:class-private-method=false)
    var _x, x_fn, _y, y_fn, _z, z_fn;
    class Foo {
      constructor() {
        __privateAdd(this, _x);
        __privateAdd(this, _y);
        __privateAdd(this, _z);
      }
    }
    _x = new WeakSet();
    x_fn = function() {
      return __privateMethod(this, _x, x_fn).call(this);
    };
    _y = new WeakSet();
    y_fn = function() {
      return __privateMethod(this, _y, y_fn).call(this);
    };
    _z = new WeakSet();
    z_fn = function() {
      return __privateMethod(this, _z, z_fn).call(this);
    };

    // New output (--supported:class-private-method=false)
    var _Foo_instances, x_fn, y_fn, z_fn;
    class Foo {
      constructor() {
        __privateAdd(this, _Foo_instances);
      }
    }
    _Foo_instances = new WeakSet();
    x_fn = function() {
      return __privateMethod(this, _Foo_instances, x_fn).call(this);
    };
    y_fn = function() {
      return __privateMethod(this, _Foo_instances, y_fn).call(this);
    };
    z_fn = function() {
      return __privateMethod(this, _Foo_instances, z_fn).call(this);
    };
    ```

- Fix an obscure bug with lowering class members with computed property
keys

When class members that use newer syntax features are transformed for
older target environments, they sometimes need to be relocated. However,
care must be taken to not reorder any side effects caused by computed
property keys. For example, the following code must evaluate `a()` then
`b()` then `c()`:

    ```js
    class Foo {
      [a()]() {}
      [b()];
      static { c() }
    }
    ```

Previously esbuild did this by shifting the computed property key
*forward* to the next spot in the evaluation order. Classes evaluate all
computed keys first and then all static class elements, so if the last
computed key needs to be shifted, esbuild previously inserted a static
block at start of the class body, ensuring it came before all other
static class elements:

    ```js
    var _a;
    class Foo {
      constructor() {
        __publicField(this, _a);
      }
      static {
        _a = b();
      }
      [a()]() {
      }
      static {
        c();
      }
    }
    ```

However, this could cause esbuild to accidentally generate a syntax
error if the computed property key contains code that isn't allowed in a
static block, such as an `await` expression. With this release, esbuild
fixes this problem by shifting the computed property key *backward* to
the previous spot in the evaluation order instead, which may push it
into the `extends` clause or even before the class itself:

    ```js
    // Original code
    class Foo {
      [a()]() {}
      [await b()];
      static { c() }
    }

    // Old output (with --supported:class-field=false)
    var _a;
    class Foo {
      constructor() {
        __publicField(this, _a);
      }
      static {
        _a = await b();
      }
      [a()]() {
      }
      static {
        c();
      }
    }

    // New output (with --supported:class-field=false)
    var _a, _b;
    class Foo {
      constructor() {
        __publicField(this, _a);
      }
      [(_b = a(), _a = await b(), _b)]() {
      }
      static {
        c();
      }
    }
    ```

-   Fix some `--keep-names` edge cases

The [`NamedEvaluation` syntax-directed
operation](https://tc39.es/ecma262/#sec-runtime-semantics-namedevaluation)
in the JavaScript specification gives certain anonymous expressions a
`name` property depending on where they are in the syntax tree. For
example, the following initializers convey a `name` value:

    ```js
    var foo = function() {}
    var bar = class {}
    console.log(foo.name, bar.name)
    ```

When you enable esbuild's `--keep-names` setting, esbuild generates
additional code to represent this `NamedEvaluation` operation so that
the value of the `name` property persists even when the identifiers are
renamed (e.g. due to minification).

However, I recently learned that esbuild's implementation of
`NamedEvaluation` is missing a few cases. Specifically esbuild was
missing property definitions, class initializers, logical-assignment
operators. These cases should now all be handled:

    ```js
    var obj = { foo: function() {} }
    class Foo0 { foo = function() {} }
    class Foo1 { static foo = function() {} }
    class Foo2 { accessor foo = function() {} }
    class Foo3 { static accessor foo = function() {} }
    foo ||= function() {}
    foo &&= function() {}
    foo ??= function() {}
    ```

</details>

<details>
<summary>cdklabs/publib (jsii-release)</summary>

###
[`v0.2.838`](https://togithub.com/cdklabs/publib/releases/tag/v0.2.838)

[Compare
Source](https://togithub.com/cdklabs/publib/compare/v0.2.837...v0.2.838)

#####
[0.2.838](https://togithub.com/cdklabs/publib/compare/v0.2.837...v0.2.838)
(2024-05-24)

##### Bug Fixes

- **deps:** upgrade dependencies
([#&#8203;1206](https://togithub.com/cdklabs/publib/issues/1206))
([56d277a](https://togithub.com/cdklabs/publib/commit/56d277a0c589ffd506d3f29426806fa0a9f1ae35))

###
[`v0.2.837`](https://togithub.com/cdklabs/publib/releases/tag/v0.2.837)

[Compare
Source](https://togithub.com/cdklabs/publib/compare/v0.2.836...v0.2.837)

#####
[0.2.837](https://togithub.com/cdklabs/publib/compare/v0.2.836...v0.2.837)
(2024-05-23)

##### Bug Fixes

- **deps:** upgrade dependencies
([#&#8203;1204](https://togithub.com/cdklabs/publib/issues/1204))
([8acb3b1](https://togithub.com/cdklabs/publib/commit/8acb3b15d287502a4528266276c39822d348628c))

###
[`v0.2.836`](https://togithub.com/cdklabs/publib/releases/tag/v0.2.836)

[Compare
Source](https://togithub.com/cdklabs/publib/compare/v0.2.835...v0.2.836)

#####
[0.2.836](https://togithub.com/cdklabs/publib/compare/v0.2.835...v0.2.836)
(2024-05-16)

##### Bug Fixes

- **deps:** upgrade dependencies
([#&#8203;1198](https://togithub.com/cdklabs/publib/issues/1198))
([317eb4e](https://togithub.com/cdklabs/publib/commit/317eb4e556442f3a7f26121b9dff202052e2d05b))

###
[`v0.2.835`](https://togithub.com/cdklabs/publib/releases/tag/v0.2.835)

[Compare
Source](https://togithub.com/cdklabs/publib/compare/v0.2.834...v0.2.835)

#####
[0.2.835](https://togithub.com/cdklabs/publib/compare/v0.2.834...v0.2.835)
(2024-05-15)

##### Bug Fixes

- **deps:** upgrade dependencies
([#&#8203;1196](https://togithub.com/cdklabs/publib/issues/1196))
([659f379](https://togithub.com/cdklabs/publib/commit/659f37944660532b3b69b7dc497fb022344a3b0c))

###
[`v0.2.834`](https://togithub.com/cdklabs/publib/releases/tag/v0.2.834)

[Compare
Source](https://togithub.com/cdklabs/publib/compare/v0.2.833...v0.2.834)

#####
[0.2.834](https://togithub.com/cdklabs/publib/compare/v0.2.833...v0.2.834)
(2024-05-14)

##### Bug Fixes

- **deps:** upgrade dependencies
([#&#8203;1194](https://togithub.com/cdklabs/publib/issues/1194))
([e028b01](https://togithub.com/cdklabs/publib/commit/e028b012d32568cfc8c24c70144ed83d9eb1221f))

###
[`v0.2.833`](https://togithub.com/cdklabs/publib/releases/tag/v0.2.833)

[Compare
Source](https://togithub.com/cdklabs/publib/compare/v0.2.832...v0.2.833)

#####
[0.2.833](https://togithub.com/cdklabs/publib/compare/v0.2.832...v0.2.833)
(2024-05-12)

##### Bug Fixes

- **deps:** upgrade dependencies
([#&#8203;1192](https://togithub.com/cdklabs/publib/issues/1192))
([a3355fc](https://togithub.com/cdklabs/publib/commit/a3355fcd8e19c5f2a53152ec4aa7099b8b82c0e0))

</details>

<details>
<summary>kulshekhar/ts-jest (ts-jest)</summary>

###
[`v29.1.3`](https://togithub.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#2913-2024-05-21)

[Compare
Source](https://togithub.com/kulshekhar/ts-jest/compare/v29.1.2...v29.1.3)

##### Bug Fixes

- add `@jest/transform` as an optional peer dependency
([0ba7f86](https://togithub.com/kulshekhar/ts-jest/commit/0ba7f861c3e1905de5627b4e5d2a2cadad011b67))
- bring back Node 14 support
([eda56a7](https://togithub.com/kulshekhar/ts-jest/commit/eda56a779789d70963b7572e2914b2a3a25ac43a))

##### Performance Improvements

- remove ts resolved module cache file
([4c88da5](https://togithub.com/kulshekhar/ts-jest/commit/4c88da58991b000aa90ea489acfa6aed39b36120))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 2am on Monday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yODAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM3Ny43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@aws-cdk/aws-sns Related to Amazon Simple Notification Service bug This issue is a bug. effort/medium Medium work item – several days of effort p1
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants