Finalize the versions of the unstable modules in V2
See original GitHub issueTwo main questions:
- Should they be versioned independently of each other, or should they all be released in a single version together, like V1 modules are today?
- What should be the exact version -
2.0.0-<prerelease-tag>
, or0.x.y
?
This issue might also weigh in on that decision.
Issue Analytics
- State:
- Created 2 years ago
- Comments:10 (9 by maintainers)
Top Results From Across the Web
Go Modules: v2 and Beyond - The Go Programming Language
This post explores major version semantics, how to create and publish a new major version, and how to maintain multiple major versions of...
Read more >VCV Manual - Migrating v1 Plugins to v2
For the other 10% of plugins using advanced or unstable API features, updating to v2 is easy and involves following a few search-and-replace...
Read more >The Categories of Unstable Modules and Unstable Algebras ...
In Part I we consider the category U/lgil. We denote the category of ele- mentary abelian p-groups (i.e. of finite dimensional Fp -vector...
Read more >emit@0.0.2 - Deno
This is an unstable module, where the API is likely to change over time. ... Note: the examples below use "unpinned" version of...
Read more >Upgrade GitLab by using the GitLab package
Upgrading versions might need some manual intervention. ... gitlab/unstable : Release candidates and other unstable versions. gitlab/nightly-builds ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
(Summarizing some more offline conversations):
I don’t recall the specific reasons why the
2.x.y-alpha.z
convention was deemed too confusing. I think it needs to be re-evaluated. Briefly, I believe these are the trade-offs for each:2.0.0-alpha.x
: Publish each package with a 2.0.0-alpha.x version, bumping x on every release.2.x.y-alpha
: Publish all packages with a 2.x.y-alpha version, wherex
andy
follow the current aws-cdk-lib version.0.x.y
: Publish each package with a 0.x.y version, bumpingx
on breaking changes andy
on minor changes.Given the above, I continue to believe that the
0.x.y
strategy – combined with a potential package naming change to make the v2 tie-in clearer – is the best solution. However, it’s also prohibitively expensive, with a back-of-the-envelope cost of somewhere around 4x the work of the2.x.y-alpha
solution. Given that cost – combined with the scope-creep that has been a hallmark of the V2 release – the2.x.y-alpha
solution strikes me as the best compromise. I also believe there is a 2-way door here; we can absolutely pivot our alpha versioning strategy in the future if necessary, especially as new alpha modules are created and old ones graduated to stable.Going to post this around for final comments period. Please vote via the following reactions:
VOTING RUBRIC: 👀 -
2.0.0-alpha.x
👍 -2.x.y-alpha
🚀 -0.x.y
⚠️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.