Description
This is a work-in-progress Roadmap issue that will be updated as we go along (so definitely subject to change).
High-level plan/status
Currently we are preparing for the stable version release as a new major version v1
. It's been developed in the beta
branch (and there are and will be more PRs targeting the beta
branch). Some of the work already prepares for future v2
/v3
releases.
You can already test the beta release via:
npm i -D @alma-cdk/project@beta
… but consider there might be issues that have not yet been fixed/merged into the beta
branch.
Once we have achieved the V1 goals (see below), we will merge beta
branch to main
and do a new major version production release.
V1
Timeline: November 2024
- No CloudFormation diff from migration from
v0
tov1
- except one minor (old) bug related diff that can be controlled via feature flag
- Update all the build system & development related dependencies to latest major version
- Use TypeScript for projen configuration
- Improve existing test suites and add more tests
- Provide migration guide from
v0
tov1
(should be minor, as with exception of 1-2 feature flags, there shouldn't be any changes to usage) - Configure formatter (Prettier) and format the source code
- Move from
experimental
stability level tostable
- Release new major version (1)
- Start properly following SemVer
Future
Planning visions/roadmap will start taking place in December 2024 most likely. During that time the future roadmap will become more clear. We may introduce some (non-breaking of course) things via minor or patch features, but most likely during H1/25 there will be one or two major versions (due to heavy changes under the hood).
As part of the roadmap planning, we may utilize GitHub discussions for RFCs. More info on that later.
V2 goals/visions
Timeline estimate: January 2025
- Consider: Separate (prose) documentation site (starlight)
- Consider: Change test suite to Vitest (for faster tests)
- Consider: Change min NodeJS version to 20 (LTS maintenance version)
- Consider: Matrix build to test with default/min/max Nodejs versions
- Add some new (requested) features
- Deprecate support of some legacy feature flags (this requires a bit more investigation still)
- Refactor the internals
- some things can be simplified internally
- restructuring/rearchitecting of the internal code base
- introducing a tool like Zod makes sense for validations etc
- memoization could be used to speed things up
- Improve documentation
- Preparation work for V3 (might include feature flags)
- Add proper integration tests using tools like cdk-integ (so far we've manually tested things out)
V3 goals/visions
Timeline estimate: Q1/25
- Consider: Change min NodeJS version to 22 (active LTS version)
- Strongly consider moving to use CDK Stages behind the scenes:
- this would require heavy testing
- No breaking changes to CloudFormation: It shouldn't change the CloudFormation logical IDs (i.e. existing projects need to be able to have an upgrade path without CloudFormation diff)
- Breaking changes to CDK source code: How the library/construct is used and the project configuration defined can be changed
- Pending (core): Ability to set Stack termination protection on Stage level (and inherit by Stacks within it) aws/aws-cdk#31449
- Some construct/function names can be renamed if makes sense
Activity