-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Open
Labels
enhancementRequest for a new feature that's not currently supportedRequest for a new feature that's not currently supported
Description
Summary
Define and document the branching strategy for v2 development to ensure clean separation between stable v1 releases and breaking v2 changes.
Motivation and Context
With v2 development underway, we need a clear branching strategy to:
- Keep
mainstable for v1.x releases and patches - Allow v2 breaking changes to be developed in parallel
- Enable alpha/beta releases of v2 without disrupting v1 users
Proposed Approach
Branch Structure
main- stable v1.x releases, bug fixes, non-breaking featuresv2- v2 development branch with breaking changes
Workflow
- v1 bug fixes and non-breaking changes go to
main - v2 features and breaking changes go to
v2branch - Periodically merge
mainintov2to pick up bug fixes - When v2 is ready for GA, merge
v2intomain
Release Tagging
- v1.x.x releases from
main - v2.0.0-alpha.x / v2.0.0-beta.x releases from
v2branch
Open Questions
- Should we use
nextinstead ofv2as the branch name? - npm dist-tags: publish v2 prereleases under
nexttag? - When to create the v2 branch? (now vs after initial planning)
Additional context
This should be set up early in v2 development to avoid confusion and merge conflicts.
Metadata
Metadata
Assignees
Labels
enhancementRequest for a new feature that's not currently supportedRequest for a new feature that's not currently supported