Skip to content

Commit 218265f

Browse files
Merge branch 'main' into transforms
2 parents 6024c14 + c60f225 commit 218265f

File tree

278 files changed

+188556
-173572
lines changed

Some content is hidden

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

278 files changed

+188556
-173572
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Issues created outside GitHub issue templates (e.g., via API or CLI) receive
2+
# no labels, which causes them to be skipped by the triage pipeline in
3+
# issue-label-assign.yml. This workflow ensures they get 'needs-triage'.
4+
name: "Ensure triage label"
5+
on:
6+
issues:
7+
types: [opened]
8+
9+
jobs:
10+
ensure-triage-label:
11+
if: join(github.event.issue.labels.*.name, '') == ''
12+
runs-on: ubuntu-latest
13+
permissions:
14+
issues: write
15+
steps:
16+
- uses: actions/github-script@v8
17+
with:
18+
script: |
19+
await github.rest.issues.addLabels({
20+
owner: context.repo.owner,
21+
repo: context.repo.repo,
22+
issue_number: context.issue.number,
23+
labels: ['needs-triage']
24+
});

.github/workflows/pr-linter.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
steps:
3737
- name: "Download workflow_run artifact"
3838
if: github.event_name == 'workflow_run'
39-
uses: dawidd6/action-download-artifact@v19
39+
uses: dawidd6/action-download-artifact@v20
4040
continue-on-error: true
4141
with:
4242
run_id: ${{ github.event.workflow_run.id }}

CHANGELOG.v2.alpha.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
44

5+
## [2.248.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.247.0-alpha.0...v2.248.0-alpha.0) (2026-04-02)
6+
7+
## [2.247.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.246.0-alpha.0...v2.247.0-alpha.0) (2026-04-02)
8+
9+
10+
### Features
11+
12+
* **mediapackagev2-alpha:** new L2 construct ([#37279](https://github.com/aws/aws-cdk/issues/37279)) ([7debfb9](https://github.com/aws/aws-cdk/commit/7debfb9c5e807fac5df6e9e0ea3097d72325ffbc))
13+
514
## [2.246.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.245.0-alpha.0...v2.246.0-alpha.0) (2026-03-31)
615

716
## [2.245.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.244.0-alpha.0...v2.245.0-alpha.0) (2026-03-27)

CHANGELOG.v2.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,38 @@
22

33
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
44

5+
## [2.248.0](https://github.com/aws/aws-cdk/compare/v2.247.0...v2.248.0) (2026-04-02)
6+
7+
8+
### Bug Fixes
9+
10+
* **eks:** downgrade isolated subnet validation from error to warning ([#37500](https://github.com/aws/aws-cdk/issues/37500)) ([470856c](https://github.com/aws/aws-cdk/commit/470856cadcee34b2ec5e0620fab63838c223fd97)), closes [#37491](https://github.com/aws/aws-cdk/issues/37491)
11+
12+
## [2.247.0](https://github.com/aws/aws-cdk/compare/v2.246.0...v2.247.0) (2026-04-02)
13+
14+
15+
### ⚠ BREAKING CHANGES
16+
17+
* ** L1 resources are automatically generated from public CloudFormation Resource Schemas. They are built to closely reflect the real state of CloudFormation. Sometimes these updates can contain changes that are incompatible with previous types, but more accurately reflect reality. In this release we have changed:
18+
19+
aws-bedrockagentcore: AWS::BedrockAgentCore::OnlineEvaluationConfig: ExecutionStatus attribute removed.
20+
aws-appstream: AWS::AppStream::ImageBuilder: Name property is now immutable.
21+
aws-eks: AWS::EKS::Capability: EKS_CAPABILITY_ACK_S3_LOGS vended log type removed.
22+
23+
### Features
24+
25+
* update L1 CloudFormation resource definitions ([#37410](https://github.com/aws/aws-cdk/issues/37410)) ([bd2c318](https://github.com/aws/aws-cdk/commit/bd2c3187323c7bcf8a19943f86682c14c601d1a9))
26+
* **apigatewayv2:** add role support for lambda authorizers ([#35706](https://github.com/aws/aws-cdk/issues/35706)) ([2fb2f16](https://github.com/aws/aws-cdk/commit/2fb2f1650e957979e5ebf8292df3a95d41baa4ff)), closes [#35696](https://github.com/aws/aws-cdk/issues/35696)
27+
* **batch:** skip unregister job definition on update ([#36011](https://github.com/aws/aws-cdk/issues/36011)) ([2fb2240](https://github.com/aws/aws-cdk/commit/2fb2240d2b2ca922e0603c3e341bb61ce9131155))
28+
* **elasticloadbalancingv2:** jwt verification for application load balancer ([#36099](https://github.com/aws/aws-cdk/issues/36099)) ([aacd28a](https://github.com/aws/aws-cdk/commit/aacd28aac59dbf42973302e3165140d944356b32)), closes [#36096](https://github.com/aws/aws-cdk/issues/36096)
29+
30+
31+
### Bug Fixes
32+
33+
* bump brace-expansion from 5.0.3 to 5.0.5 to address CVE-2026-33750 ([#37379](https://github.com/aws/aws-cdk/issues/37379)) ([69cf4c9](https://github.com/aws/aws-cdk/commit/69cf4c9c44c610eb029d92e355efcf6e7f931ed2))
34+
* prevent prototype pollution in 2 APIs ([#37453](https://github.com/aws/aws-cdk/issues/37453)) ([1016537](https://github.com/aws/aws-cdk/commit/101653766cab8a8112608e170f5e07f5b962ba49))
35+
* **aws-cdk-lib:** condensed stack trace hides namespaced package name ([#37413](https://github.com/aws/aws-cdk/issues/37413)) ([cb8e7fb](https://github.com/aws/aws-cdk/commit/cb8e7fbc9fc10682d505b2cdba1a7ce173b0dfd3))
36+
537
## [2.246.0](https://github.com/aws/aws-cdk/compare/v2.245.0...v2.246.0) (2026-03-31)
638

739

docs/MIXINS_DESIGN_GUIDELINES.md

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,24 @@ Mixins are appropriate when:
2323
- You want to allow users to compose features independently of the L2
2424
construct's props.
2525

26-
Mixins are _not_ appropriate when the feature serves an external consumer rather
27-
than the target resource (use a Facade). For example, granting a role access to
28-
a bucket is about the role's needs, not the bucket's behavior.
26+
Mixins are _not_ appropriate when:
27+
28+
- The feature serves an external consumer rather than the target resource (use
29+
a Facade). For example, granting a role access to a bucket is about the
30+
role's needs, not the bucket's behavior.
31+
- The feature advertises a capability to other constructs (use a Trait).
32+
- You need to change the optionality of construct properties or change construct defaults.
33+
- The feature should remain a normal construct property and the implementation
34+
is primarily passing values through to the L1 resource. In that case, use
35+
`CfnPropsMixin` in the L2 glue code instead of writing a standalone mixin.
2936

3037
Mixins are _not_ a replacement for construct properties. They cannot change the
31-
optionality of properties or change defaults.
38+
optionality of construct properties or change construct defaults.
39+
Applying a mixin is an explicit user action. A mixin may, however, define
40+
its own inputs/props with default values that control the mixin's behavior
41+
once applied. For example, `BucketVersioning` defaults to enabling versioning
42+
when constructed without an explicit argument, but it does not change the
43+
`Bucket` construct's own default behavior.
3244

3345
## Base Class
3446

@@ -136,6 +148,21 @@ supports(construct: IConstruct): construct is CfnBucket {
136148
When applied to an L2 construct via `.with()`, the mixin framework
137149
automatically delegates to the L1 default child.
138150

151+
### Auxiliary Resources
152+
153+
A mixin may create auxiliary resources when the feature requires additional
154+
infrastructure beyond directly configuring the target resource.
155+
An auxiliary resource is any construct created by the mixin whose sole purpose
156+
is to support the target resource's own behavior or lifecycle.
157+
158+
Examples include:
159+
- Custom resource handlers (e.g., auto-delete objects handler in `BucketAutoDeleteObjects`)
160+
- Delivery sources and destinations (e.g., vended log delivery configuration in LogsDelivery Mixins)
161+
- Policy resources (e.g., bucket policy statements in `BucketPolicyStatements`)
162+
163+
Auxiliary resources must serve the primary resource itself. If the additional
164+
resource primarily serves an external consumer, the feature belongs in a Facade, not a Mixin.
165+
139166
### Validation
140167

141168
Mixins have two distinct phases: initialization and application. During
@@ -304,4 +331,13 @@ Mixins are accessed through the `mixins` namespace export:
304331
## README Documentation
305332

306333
Each service module with mixins must include a `## Mixins` section in its
307-
README documenting each mixin with a brief description and usage example.
334+
README documenting each mixin with:
335+
336+
- a brief description of what the mixin does
337+
- a usage code example
338+
- the behavioral impact of applying the mixin
339+
340+
The documented impact must describe what changes occur when the
341+
mixin is applied, including any modified L1 properties, lifecycle
342+
or deletion behavior changes, validation constraints, and any
343+
permissions, policy, or deployment-time implications.

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.cross-account-pipeline-cfn-action.js.snapshot/CdkPipelineCfnActionStack.assets.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)