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

Graduate @aws-cdk/aws-kinesis to stable #5874

Closed
9 tasks done
iliapolo opened this issue Jan 20, 2020 · 2 comments · Fixed by #7349
Closed
9 tasks done

Graduate @aws-cdk/aws-kinesis to stable #5874

iliapolo opened this issue Jan 20, 2020 · 2 comments · Fixed by #7349
Assignees
Labels
@aws-cdk/aws-kinesis Related to Amazon Kinesis

Comments

@iliapolo
Copy link
Contributor

iliapolo commented Jan 20, 2020

We plan on graduating this module to stable.

What does it mean?

It means we will start providing semantic versioning guarantees on the existing API's.

Use this issue to provide feedback about the current API and any changes you think are warranted.

Following are the tasks needed to complete before flipping the switch:

@iliapolo iliapolo self-assigned this Jan 20, 2020
@iliapolo iliapolo added the @aws-cdk/aws-kinesis Related to Amazon Kinesis label Jan 20, 2020
@richardhboyd
Copy link
Contributor

I would recommend that we graduate specific Constructs to Stable. My biggest concern with Stable packages are two-fold:
(1) If someone wants to add a new Construct to a package, it has to go from 0 to Stable in one PR without the benefit of an experimental period to test-drive the API. We're already seeing this in API Gateway
(2) the L1 Constructs are the most stable resources that exist in CDK. They should be marked as stable as soon as the cfn spec is processed.

@iliapolo
Copy link
Contributor Author

iliapolo commented Feb 3, 2020

@richardhboyd Wrote:

I would recommend that we graduate specific Constructs to Stable. My biggest concern with Stable packages are two-fold:
(1) If someone wants to add a new Construct to a package, it has to go from 0 to Stable in one PR without the benefit of an experimental period to test-drive the API. We're already seeing this in API Gateway

You definitely make a good point.

However, this graduation process reflects libraries we want to mark as stable given the current methodology, which is package wide. As it stands now, we allow for experimental Constructs or API to exist inside stable packages, by using the @experimental annotation. This means that stability can be reached over a long period of time, with several PR's.

We are aware of the confusion this might create, and are already considering ways of resolving this. One way would be Construct level maturity, another is splitting experimental constructs to its own "*-experimental" package.

In fact, we already have a pending RFC that addresses this problem.
It would be great if you voice your concerns and provided feedback about this in the RFC.

@richardhboyd Wrote:

(2) the L1 Constructs are the most stable resources that exist in CDK. They should be marked as stable as soon as the cfn spec is processed.

This depends on the maturity methodology we choose. L1 constructs are always auto-generated, and are therefore stable by nature. Do you feel this needs better clarification? Are users reluctant to use L1 constructs inside experimental packages for fear of API breakage?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@aws-cdk/aws-kinesis Related to Amazon Kinesis
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants