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 CDK v1 will enter Maintenance Mode after June 1, 2022 #19836

Closed
madeline-k opened this issue Apr 8, 2022 · 15 comments
Closed

AWS CDK v1 will enter Maintenance Mode after June 1, 2022 #19836

madeline-k opened this issue Apr 8, 2022 · 15 comments

Comments

@madeline-k
Copy link
Contributor

madeline-k commented Apr 8, 2022

AWS CDK v1 will enter Maintenance Mode after June 1, 2022. After this date, v1 releases will contain new and updated resource level “L1” constructs, critical bug fixes, and security updates only. We will not publish new features or minor bug fixes to v1. See the AWS SDKs and Tools maintenance policy for more detail on what this means.

Maintenance mode has a duration of 12 months. On June 1, 2023, CDK v1 will reach end-of-support. After this date, the AWS CDK v1 will no longer receive updates or releases. Previously published releases will continue to be available via public package managers and the code will remain on GitHub. Use of a CDK version which has reached end-of-support is done at your own discretion. We recommend you upgrade to the new major version.

To continue to get new AWS CDK features, migrate your CDK apps and construct libraries to AWS CDK v2. See this guide for details and instructions.

You can also use this tool to help you identify stacks in your account that were deployed with AWS CDK v1:

# Preload your shell with AWS credentials
npx awscdk-v1-stack-finder

# Use a profile
AWS_SDK_LOAD_CONFIG=1 AWS_PROFILE=<name> npx awscdk-v1-stack-finder
@madeline-k madeline-k added feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged. labels Apr 8, 2022
@github-actions github-actions bot added the @aws-cdk/aws-iam Related to AWS Identity and Access Management label Apr 8, 2022
@madeline-k madeline-k removed feature-request A feature should be added or improved. @aws-cdk/aws-iam Related to AWS Identity and Access Management needs-triage This issue or PR still needs to be triaged. labels Apr 8, 2022
@robertd
Copy link
Contributor

robertd commented Apr 9, 2022

This issue/notice should be pinned. :)

@rix0rrr rix0rrr pinned this issue Apr 9, 2022
@rix0rrr rix0rrr unpinned this issue Apr 9, 2022
@jmiumv
Copy link

jmiumv commented Apr 15, 2022

Couple of questions regarding monocdk

  1. What does this mean for monocdk ? With a weekly download rate hovering at ~13.5k, I am guessing you are going to publish a monocdk v2 as well ? If so what is the timeline for that ?
  2. monocdk has been experimental, for nearly two years now, wondering why it is still marked as such (almost 2 years now based on git blame) and as a follow up, when would it be stable ?

@madeline-k
Copy link
Contributor Author

@JoeNonExotic thanks for your questions!

  1. monocdk is considered a part of AWS CDK v1, and monocdk users should migrate to v2 (aws-cdk-lib). You can follow the same migration guide linked in the issue above.
  2. We have no plans to stabilize monocdk. It is essentially the experimental version of aws-cdk-lib. You can read more in this RFC about how monocdk was the basically a proof of concept for aws-cdk-lib.

@chejef
Copy link

chejef commented Apr 19, 2022

Regarding to cdk 2.x, wondering when to move away from cloudformation resources, e.g. the CfnJobDefinition with aws_batch while cdk 1.x has its own constructs.

@madeline-k
Copy link
Contributor Author

madeline-k commented Apr 22, 2022

Hey, @chejef, the aws-batch L2 constructs are currently experimental. In AWS CDK v2, the experimental modules are separated from the main library (aws-cdk-lib) and published separately. You can find the aws-batch L2 constructs for v2 in the aws-batch-alpha module.

@girisaidinakar
Copy link

girisaidinakar commented Jun 6, 2022

@madeline-k, how can we find who is using cdk v1 in aws org which is having 850 accounts ?

Thanks in advance

@indrora
Copy link
Contributor

indrora commented Jun 6, 2022

@girisaidinakar I'm not sure if there's a good way to tell if someone's using CDKv1 purely from the CloudFormation output, but, there are some potential signs if you have access to the CDK stack definitions that are very easy to start with. These all come from the CDKv1 vs v2 migration page in the CDK docs:

  • Not using the aws-cdk-lib and instead relying on @aws/...
  • Using deprecated properties and APIs that were deprecated between CDKv1 and v2.
  • Not using the Constructs library -- This is the most likely hint that you're on V1 if I'm reading everything right.

However, there is another indicator that can determine a bare minimum version that it could have been deployed using V1: there is a Metadata resource that is added to each stack that contains some analytics data, AWS::CDK::Metadata. If you haven't opted out of it, a quick check will tell you:

  • If the AWS::CDK::Metadata contains a property called Analytics, it was deployed using a CDK released after 1.93. The CDK contains an encoder for this format, but I don't have a good decoder for it.
  • If it has a Modules property, it was deployed before CDKv2 was released.

@comcalvi comcalvi unpinned this issue Jun 8, 2022
@comcalvi comcalvi pinned this issue Jun 8, 2022
@girisaidinakar
Copy link

@girisaidinakar I'm not sure if there's a good way to tell if someone's using CDKv1 purely from the CloudFormation output, but, there are some potential signs if you have access to the CDK stack definitions that are very easy to start with. These all come from the CDKv1 vs v2 migration page in the CDK docs:

  • Not using the aws-cdk-lib and instead relying on @aws/...
  • Using deprecated properties and APIs that were deprecated between CDKv1 and v2.
  • Not using the Constructs library -- This is the most likely hint that you're on V1 if I'm reading everything right.

However, there is another indicator that can determine a bare minimum version that it could have been deployed using V1: there is a Metadata resource that is added to each stack that contains some analytics data, AWS::CDK::Metadata. If you haven't opted out of it, a quick check will tell you:

  • If the AWS::CDK::Metadata contains a property called Analytics, it was deployed using a CDK released after 1.93. The CDK contains an encoder for this format, but I don't have a good decoder for it.
  • If it has a Modules property, it was deployed before CDKv2 was released.

@indrora , thanks for update in detailed

@awspsgithub
Copy link

Command line tool to identify stacks that were deployed with AWS CDK V1 (as opposed to V2). We can use this to help with the migration process from V1 to V2.

@github-actions
Copy link

github-actions bot commented Aug 1, 2022

⚠️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.

@robertd
Copy link
Contributor

robertd commented Feb 20, 2023 via email

@Mickael-van-der-Beek
Copy link

We're seeing issues with CDKv2 producing different hashes for exported cross-stack references preventing us from migrating.

Any tips on how to handle this? This currently prevents us from migrating to CDKv2.

cf: #20650

@Aarbel
Copy link

Aarbel commented Jun 12, 2023

This is a big problem as V2 does only run on recent version of node, on which not all of javascript packages run.

AWS should be less pressed to change versions like that.

Node V14 with V1 was LTS in 2021... only two years.

@GreatEarl
Copy link

is CDK v1 still deployable?

(deployment doesn't pick up changes)

@ArsalanDotMe
Copy link

It is still deployable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests