Skip to content

Conversation

rix0rrr
Copy link
Contributor

@rix0rrr rix0rrr commented Aug 11, 2025

The way it's currently specified, the unconfiguredBehavesLike field that's in the Cloud Assembly Schema requires the CLI to know the current major version of the CDK Library to properly evaluate:

It looks like unconfiguredBehavesLike: { v1: ..., v2: ... } subfields, and that requires the CLI to know whether to look in the v1 or v2 subfield (and in the future v3, v4, etc...).

That is unnecessary: since the CDK Library knows its own current version so it could just have communicated unconfiguredBehavesLike: true to accurately reflect its current behavior, without the consumer needing to know anything about the version.

The CLI code right now is only reading the v2 field, but that will become inaccurate if we ever release CDKv3.

In this PR, we're saying that the v2 subfield is the "official" location of this value going forward. v1 should be ignored if present (but is still included to not trip up any JSON Schema validation).

This leads to the least amount of interference with the existing ecosystem (no forced upgrade by CDK users and no backwards compatibility path in the CLI to potentially read 2 fields).


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

…sions

The way it's currently specified, the `unconfiguredBehavesLike` field
that's in the Cloud Assembly Schema requires the CLI to know the current
major version of the CDK Library to properly evaluate:

It looks like `unconfiguredBehavesLike: { v1: ..., v2: ... }` subfields,
and that requires the CLI to know whether to look in the `v1` or `v2`
subfield (and in the future `v3`, `v4`, etc...).

That is unnecessary: since the CDK Library knows its own current version
so it could just have communicated `unconfiguredBehavesLike: true` to
accurately reflect its current behavior, without the consumer needing
to know anything about the version.

The CLI code right now is only reading the `v2` field, but that will
become inaccurate if we ever release CDKv3.

In this PR, we're saying that the `v2` subfield is the "official"
location of this value going forward. `v1` should be ignored if
present (but is still included to not trip up any JSON Schema
validation).

This leads to the least amount of interference with the existing ecosystem
(no forced upgrade by CDK users and no backwards compatibility path
in the CLI to potentially read 2 fields).
@rix0rrr rix0rrr requested a review from a team August 11, 2025 13:31
@github-actions github-actions bot added the p2 label Aug 11, 2025
@aws-cdk-automation aws-cdk-automation requested a review from a team August 11, 2025 13:32
@codecov-commenter
Copy link

codecov-commenter commented Aug 11, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.81%. Comparing base (8e53a08) to head (928fdec).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #782   +/-   ##
=======================================
  Coverage   80.81%   80.81%           
=======================================
  Files          63       63           
  Lines        8554     8554           
  Branches     1025     1026    +1     
=======================================
  Hits         6913     6913           
+ Misses       1612     1611    -1     
- Partials       29       30    +1     
Flag Coverage Δ
suite.unit 80.81% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Signed-off-by: github-actions <[email protected]>
rix0rrr added a commit to aws/aws-cdk that referenced this pull request Aug 12, 2025
…ry versions

This change goes together with
aws/aws-cdk-cli#782, to undo some decisions made
in https://github.com/aws/aws-cdk/pull/35108/files and
aws/aws-cdk-cli#742.

We used to store `unconfiguredBehavesLike` values for both `v1` and `v2`
(and `v3`, `v4`, etc) into the feature flag report, but we only needed to
store the value for the *current* library version. We are now defining
the "v2" field to hold the current version information, and are updating
the feature flag generation code to not emit `v1` data, and stay correct
if we ever start releasing `v3`.
mergify bot pushed a commit to aws/aws-cdk that referenced this pull request Aug 12, 2025
…ry versions (#35215)

This change goes together with
aws/aws-cdk-cli#782, to undo some decisions made in https://github.com/aws/aws-cdk/pull/35108/files and aws/aws-cdk-cli#742.

We used to store `unconfiguredBehavesLike` values for both `v1` and `v2` (and `v3`, `v4`, etc) into the feature flag report, but we only needed to store the value for the *current* library version. We are now defining the "v2" field to hold the current version information, and are updating the feature flag generation code to not emit `v1` data, and stay correct if we ever start releasing `v3`.

This is labeled as a `chore` and not a `fix` because it doesn't really fix user-visible behavior.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
djglaser pushed a commit to djglaser/aws-cdk that referenced this pull request Aug 13, 2025
…ry versions (aws#35215)

This change goes together with
aws/aws-cdk-cli#782, to undo some decisions made in https://github.com/aws/aws-cdk/pull/35108/files and aws/aws-cdk-cli#742.

We used to store `unconfiguredBehavesLike` values for both `v1` and `v2` (and `v3`, `v4`, etc) into the feature flag report, but we only needed to store the value for the *current* library version. We are now defining the "v2" field to hold the current version information, and are updating the feature flag generation code to not emit `v1` data, and stay correct if we ever start releasing `v3`.

This is labeled as a `chore` and not a `fix` because it doesn't really fix user-visible behavior.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@rix0rrr rix0rrr marked this pull request as ready for review August 18, 2025 08:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants