Skip to content

Version Numbering Rules

Michael Descy edited this page Jan 16, 2015 · 1 revision

TodoTxtMac uses the following semantic versioning number system.

Version number components

Version X.Y.Z

  • X: Major version
  • Y: Minor version
  • Z: Point version

Version number increments

Major version number is incremented when:

  • major UI enhancements are made (e.g., adding a sidebar)
  • major refactor that changes how everything works (e.g., switching from a cell-based table view to a view-based table view)
  • major changes to the model (e.g., entire model swapped for a new one, or a change that makes the new model incompatible with the old one)
  • programming language changes (e.g., port from Objective C to Swift)
  • application name changes

Minor version number is incremented when:

  • minor UI enhancements are made (e.g., status bar, menu items, placement of controls)
  • minor changes are made to the model (e.g., addition or refactoring of a small number of methods or properties)
  • changes are made that could break compatibility with existing user preferences (e.g., changing filter and sort preferences)
  • compatibility with older Mac OS X version(s) is dropped
  • application icon changes

Point version number is incremented when:

  • minor bug fixes or enhancements are made that require no changes to the model or major frameworks
  • code is refactored without changing the model or frameworks

Definition of model

  • TTMTask class
  • TTMDate class

Definition of major frameworks

  • Sparkle