Skip to content

Foundation

Versioningv1.5.0 · 2026-04-08

The Nodus Design System uses semantic versioning for individual component stability, sprint labels to communicate when each component was introduced, and an explicit deprecation policy to give consumers time to migrate.

01 — Semantic Versioning Rules

Every component carries a version field in the registry. The design system as a whole follows semver 2.0 with these bump rules:

x.x.N
Patch
Bug fixes, WCAG contrast corrections, token alignment fixes
e.g. Fix text contrast ratio, align spacing token usage
x.N.0
Minor
New props, new variants, new sizes — all backwards-compatible
e.g. Add `size="xl"` to Button, add `ghost` variant to Badge
N.0.0
Major
Breaking changes: prop renames, removed variants, API rewrites
e.g. Rename `variant="primary"` to `variant="filled"`, remove deprecated flag

02 — Sprint Labels (since)

The since field records which sprint first introduced a component. Component pages link back here so consumers can trace the component's provenance.

SprintLabelThemeRepresentative Components
S1FoundationCore UI primitivesButton, Badge, Input, Typography, Chip, Divider, Spinner
S2StructureLayout + navigationAccordion, Table, Tabs, Modal, Pagination, Sidebar, Skeleton
S3AgencyAgentic pattern layerAgentMessage, ApprovalQueue, ConsentFlow, AgentIdentityBadge
S4FinanceFinance domain primitivesCashPositionCard, FXRateCard, LiquidityGauge, TradeTicket
S5Edge StatesFailure + timeout patternsAgentUnavailable, PartialCompletion, TimeoutIndicator, StaleProvenance
S6ReasoningAgent reasoning UIReasoningTrace, LearningLog, AvatarStack, ConflictLayout
S7VisualizationToken Explorer + data vizTokenExplorer, ChartPrimitive, PortfolioRiskOverview
S8MotionMotion tokens + light mode parityMotion system, light mode WCAG AA audit across all 35 patterns
S9IdentityIconography + type exportsIcon (16 icons), TypeScript barrel, dataviz chart primitives
S10Releasev1.0 release artifactsRelease Notes page, Intercompany Netting template
S11VersioningComponent versioning systemDeprecationBanner, version badges, this page

03 — Deprecation Policy

Deprecation Guarantee

A deprecated component is never removed in the same sprint it is marked deprecated. Consumers have at least one full sprint to migrate before removal.

01
Mark in registry

Set deprecated: true and deprecationNote in the component's registry entry. The DeprecationBanner renders automatically on the component page.

02
Migration note

The deprecationNote must specify the replacement component or link to a migration guide. Vague notes like "use something else" are not acceptable.

03
One-sprint grace period

The component stays in the codebase and builds for at least one sprint after deprecation. No runtime errors — existing consumers continue to work.

04
Removal

Remove the component source, registry entry, and demo in a subsequent sprint. Record the removal in CHANGELOG.md with the final sprint label.

04 — Registry Fields

FieldTypeRequiredDescription
versionstringoptionalSemver string. Defaults to "1.0.0" for existing stable components.
sincestringoptionalSprint label such as "S1" or "S9". Auto-assigned by category if omitted.
deprecatedbooleanoptionalSet true to trigger DeprecationBanner on the component page.
deprecationNotestringconditionalRequired when deprecated=true. Describes the replacement or migration path.
← Release NotesAccessibility →