Skip to content

Semantic Versioning Policy

James Maes edited this page Sep 24, 2026 · 5 revisions

Semantic Versioning Policy

QQQ 4.0 release. Final 4.0.0 is available. See QQQ 4.0 for release scope and migration guidance.

QQQ follows Semantic Versioning 2.0.0 to ensure predictable releases and safe upgrades for users.

Quick Links

Version Bump Criteria

PATCH (X.Y.Z+1)

When: Backward-compatible bug fixes and minor improvements.

Examples:

  • Bug fixes that don't change public APIs
  • Security patches and vulnerability fixes
  • Performance optimizations with no behavior changes
  • Documentation corrections and clarifications
  • Dependency updates that don't break compatibility

MINOR (X.Y+1.0)

When: New backward-compatible functionality.

Examples:

  • New features that extend existing APIs
  • New backend modules, middleware components
  • New dashboard widgets and UI components
  • Enhanced configuration options
  • New utility classes and helper methods

MAJOR (X+1.0.0)

When: Incompatible API changes or breaking modifications.

Examples:

  • Breaking changes to public APIs
  • Removal of deprecated features
  • Incompatible configuration changes
  • Database schema changes that break existing data
  • Major architectural changes

Public API Surfaces

SemVer applies to these public interfaces that users depend on:

  • Java APIs: Public classes, methods, interfaces, constants, exceptions
  • Configuration: Environment variables, config files, database parameters
  • Network Interfaces: REST endpoints, other network contracts where provided
  • CLI Commands: Command names, arguments, output formats
  • Database Schemas: Table structures, indexes, stored procedures

Backward Compatibility Guidelines

Breaking Changes

  • Method signature changes (parameters, return types, exceptions)
  • Required new configuration properties
  • Different output formats or behavior
  • Removal of public APIs or features

Safe Changes

  • Internal implementation refactoring
  • Performance improvements with same results
  • New optional features with defaults
  • Documentation updates and clarifications

Deprecation Policy

Deprecate ordinary public API removals, supply an alternative, and document the approved removal release. Follow the specific source annotation and migration guide; see Deprecation Policy.

See Also

Clone this wiki locally