Product line versioning (What's New)
Product line versioning (What’s New)
The Ailaaj One product line — the shared timeline on Academy
/whats-new and docs-site/src/data/releases.ts — uses a
four-part scheme. Only new platforms and modules earn a tenth (middle)
segment bump; day-to-day work advances the feature or patch segments.
Per-module semver tracks (Custom Storefront 1.1.0, Accounting 1.0.0, …) are
separate — see Module release setup.
Version shape
MAJOR . MODULE . FEATURE [ . PATCH ]| Segment | Meaning | When it changes |
|---|---|---|
| MAJOR | Platform generation | A new platform surface ships (e.g. Clinic Management System alongside pharmacy POS) |
| MODULE | Product module on the platform | A new major capability area ships (Smart Counsellor, Order Management, …) |
| FEATURE | New staff/customer capability | Users can do something they could not before |
| PATCH | Bug-fix-only release | Defects fixed; no new capability and no UX overhaul |
Display: three segments (1.3.2) until the first patch-only ship, then four
(1.3.2.1).
Bump rules
| Ship type | Version bump | Example |
|---|---|---|
| New platform | MAJOR → next integer; MODULE/FEATURE/PATCH reset | 1.1.1 → 2.0.0 |
| New module | MODULE → next integer; FEATURE/PATCH reset | 1.2.1 → 1.3.0 |
| New feature | FEATURE → next integer | 1.3.1 → 1.3.2 |
| Bug fixes only | PATCH → next integer | 1.3.2.0 → 1.3.2.1 |
Improvements / polish (no new capability)
UX tidying, copy, layout, and performance on existing flows — without a new feature or module — advance the FEATURE segment when the change is user-visible enough to publish on What’s New:
| Ship type | Version bump | Example |
|---|---|---|
| Improvements / polish | FEATURE → next integer (same as a small release on the module line) | 1.3.0 → 1.3.1 |
Example: Smart Counter v1.3.1 (June 2026) — till picker, End Session, and cart polish after Smart Counsellor 1.3; no new module.
Do not use a MODULE bump for polish on an existing surface.
Mapping to release-note sections
| What’s New group | Typical ship type |
|---|---|
| New | New platform, new module, or new feature |
| Improved | Polish / improvements (often a FEATURE-segment bump) |
| Fixed | Bug fixes (PATCH segment when shipped alone) |
Commit types for engineers still follow
Commit messages (feat → feature,
fix → patch, improve → improved section). The product-line version is
chosen when authoring the release note and docs-site/src/data/releases.ts, not
inferred from commit semver alone.
Timeline examples (Ailaaj One)
| Version | Codename | Ship type |
|---|---|---|
1.1 | Smart Counter | New module |
1.2 | Order Management | New module |
1.3 | Smart Counsellor | New module |
1.3.1 | Smart Counter (polish) | Improvements — no new module |
1.3.2 | (future) | New feature on an existing module |
1.3.2.1 | (future) | Bug-fix patch on top of 1.3.2 |
2.0.0 | (future) | New platform (e.g. Clinic Management) |
Where to update when shipping
- Release note —
docs/release-notes/YYYY-MM-<module>-v<x-y-z>.mdx+ row inrelease-notes/README.md - What’s New timeline —
docs-site/src/data/releases.ts(version,groups,current: trueon the new entry) - Guide front-matter — bump
versionon affected docs indocs/<module>/guides/
Append-only history: never rewrite or renumber shipped versions.