Versioning Policy

Last updated: 2026-04-27

UnitCrunch follows Semantic Versioning (SemVer) adapted for a hosted Software as a Service (SaaS) application. This policy explains how version numbers are assigned and what each version change means for users.

Version format

UnitCrunch uses the standard SemVer format: MAJOR.MINOR.PATCH

  • MAJOR (X.0.0): Significant changes that may require user adaptation
  • MINOR (1.Y.0): New features and backward-compatible improvements
  • PATCH (1.0.Z): Bug fixes and internal improvements

SaaS context

As a hosted web application, all users are always on the latest version. Unlike traditional software where users choose when to update, UnitCrunch updates are applied automatically.

This means version numbers primarily serve as communication tools to help users understand the scale and impact of changes.

Major versions (X.0.0)

Major versions are rare and intentional. They mark significant changes to user experience, data models, pricing, or core behaviour that may require users to adapt their workflows.

Examples of major version changes

  • Breaking data or migration guarantees: Users must re-import, reconfigure, or re-model data
  • Fundamental workflow changes: Changes to how users think about or interact with the product
  • Removal of core features: Removing features that users actively rely on
  • Auth or identity model changes: Changes to account structure, permissions, or tenancy
  • Pricing model changes: Significant changes to billing units, limits, or commercial terms
  • External contract changes: Breaking compatibility with import/export formats or other integrations

What does NOT justify a major version

  • Adding new features
  • Redesigning the UI (even significant redesigns)
  • Performance improvements
  • Internal technology changes
  • Adding premium features
  • Incremental auth or permission enhancements

If users can keep doing what they were doing without changing behaviour, it's not a major version change.

Minor versions (1.Y.0)

Minor versions introduce new features and capabilities in a backward-compatible way.

Examples of minor version changes

  • New simulation features or modifiers
  • Expanded profile management capabilities
  • New premium-only functionality
  • UI improvements that don't change core workflows
  • Additional data import/export options
  • Enhanced reporting or visualisation features

Patch versions (1.0.Z)

Patch versions include fixes and internal improvements with no noticeable behaviour change.

Examples of patch version changes

  • Bug fixes
  • Performance optimisations
  • Internal refactoring
  • Security updates
  • Accessibility improvements