@@ -69,48 +69,57 @@ Deployment lifecycle of software:
6969
7070``` mermaid
7171flowchart LR
72- subgraph Development_Phases[Development Phases]
73- Alpha[Alpha Version] --> Beta[Beta Version]
74- Beta --> RC[Release Candidate]
75- RC --> GA[General Availability]
72+ subgraph Versioning[Semantic Versioning]
73+ Major[Major Version: X] --> Minor[Minor Version: X.X]
74+ Minor --> Patch[Patch Version: X.X.X]
7675 end
7776
78- subgraph Feedback_Loop[Feedback & Testing ]
79- InternalTesting[Internal Testing ] --> Alpha
80- BetaTesters[External Beta Testers] --> Beta
81- BugReports[Bug Reports & Metrics] --> Beta
82- UserFeedback[User Feedback] --> RC
77+ subgraph Release_Types[Release Types ]
78+ DevBuild[Development Build ] --> Alpha[Alpha Release]
79+ Alpha --> Beta[Beta Release]
80+ Beta --> RC[Release Candidate]
81+ RC --> Stable[Stable Release]
8382 end
8483
85- subgraph Deployment[Deployment & Release]
86- GA --> Production[Production Environment]
87- Production --> Maintenance[Maintenance & Updates]
84+ subgraph Maintenance[Maintenance & Updates]
85+ Stable --> Hotfix[Hotfix Patch]
86+ Stable --> FeatureUpdate[Feature Update Minor]
87+ Stable --> BreakingChange[Breaking Change Major]
8888 end
8989
90- Alpha --> Beta
91- Beta --> RC
92- RC --> GA
90+ Major --> Minor
91+ Minor --> Patch
92+ Stable --> Versioning
9393```
9494
9595<details >
9696<summary ><b > Details: </b > (Click to expand)</summary >
9797
98- - Alpha:
99- - Internal testing phase.
100- - Features are incomplete or unstable.
101- - Used mainly by developers and sometimes a small internal QA team.
102- - Beta:
103- - Product is more stable and feature-complete.
104- - Released to a limited group of external users (beta testers).
105- - Goal: gather feedback, identify bugs, and test usability in real-world scenarios.
106- - Often comes with disclaimers: “may contain bugs,” “not final,” etc.
107- - Release Candidate (RC):
108- - A version that could be the final product if no major issues are found.
109- - Focus is on fixing critical bugs only.
110- - General Availability (GA):
111- - Official public release.
112- - Considered stable, supported, and ready for production use.
113-
98+ - ** Semantic Versioning (vX.X.X)**
99+ - ** Major (X)** : Introduces breaking changes. Example: ` v2.0.0 ` → incompatible with ` v1.x.x ` .
100+ - ** Minor (X.X)** : Adds new features but remains backward-compatible. E.g: ` v1.3.0 ` .
101+ - ** Patch (X.X.X)** : Bug fixes or small improvements, no new features. E.g: ` v1.3.2 ` .
102+ - ** Release Types**
103+ - ** Development Builds** : Internal, unstable, often nightly builds.
104+ - ** Alpha** : Early testing, incomplete features.
105+ - Internal testing phase.
106+ - Features are incomplete or unstable.
107+ - Used mainly by developers and sometimes a small internal QA team.
108+ - ** Beta** : Feature-complete, external testers provide feedback.
109+ - Product is more stable and feature-complete.
110+ - Released to a limited group of external users (beta testers).
111+ - Goal: gather feedback, identify bugs, and test usability in real-world scenarios.
112+ - Often comes with disclaimers: “may contain bugs,” “not final,” etc.
113+ - ** Release Candidate (RC)** : Candidate for final release, only critical fixes allowed.
114+ - A version that could be the final product if no major issues are found.
115+ - Focus is on fixing critical bugs only.
116+ - General Availability (GA): Official production-ready release.
117+ - Official public release.
118+ - Considered stable, supported, and ready for production use.
119+ - ** Maintenance & Updates**
120+ - ** Hotfix (Patch)** : Urgent bug/security fix, increments patch number.
121+ - ** Feature Update (Minor)** : Adds new functionality without breaking compatibility.
122+ - ** Breaking Change (Major)** : Requires incrementing the major version due to incompatibility.
114123</details >
115124
116125<!-- START BADGE -->
0 commit comments