Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

How version numbers work

What the numbers in Exponential versions mean, why 6.0.10 comes after 6.0.9, why the last position keeps counting (0.0.4.9 then 0.0.4.10), how tags, branches and Composer constraints relate, and how to sort versions…

Download as PDF

Address: https://doc.exponential.earth/learninminutes/exphelp/viewer/help/press/how-version-numbers-work.md

On this page

How version numbers work

This page is for reporters, editors and creators who need to write version numbers correctly. Exponential and the packages around it use numbers whose last position keeps counting upward, which surprises people used to other schemes. Getting the order wrong is one of the easiest mistakes to make in release coverage.

Contents

  1. The parts of a version
  2. The last position keeps counting
  3. Tags, branches and the development line
  4. Sorting versions correctly
  5. Composer constraints in one table

The parts of a version

ExampleWhere you see itHow to write it in text
v6.0.14The Git tag of a release"Exponential 6.0.14" (no v in running text)
6.0.14Changelogs, Packagist"Exponential 6.0.14"
6.0.15stablelib/version.php on the main branch"the 6.0.15 line", never "6.0.15 stable"
dev-main, 6.0.x-devComposer names for the main branch"the development branch"
v0.0.4.50A Velocity release tag"Exponential Velocity 0.0.4.50"

The rule "Versions have no v in running text; the v belongs to the Git tag" is from the Brand and naming rules. The 6.0.15stable and 6.0.x-dev details are from Getting the code.

The last position keeps counting

Exponential versions do not roll over at nine. After 6.0.9 came 6.0.10 (28 August 2025), not 6.1.0 (release overview). The same holds for extensions and for Velocity:

So do not read a jump in the last position as a small or large release. The number says the order, not the size. What a release contains is in its changelog (Reading a changelog).

Tags, branches and the development line

NameWhat it isSource
Release tags v6.0.0 to v6.0.14Exact, permanent releases of the 6.0 lineGetting the code
Older tags such as 4.4.0Lines from the eZ Publish years, tagged without vSame page
Branch main"the current development of the 6.0 line, today 6.0.15"Same page
Release branches 6.0.7 to 6.0.14"the state of each release line"Same page

Only a tag is a release. A branch moves every day; a tag never does (Published versions never change).

Sorting versions correctly

A plain alphabetical sort puts v6.0.10 before v6.0.8, so a list sorted by name shows the wrong newest version. The documentation warns: "Always sort by version (--sort=version:refname or sort -V), never by name" (Getting the code).

git tag -l 'v6.0.*'                              # by name: v6.0.10 appears before v6.0.8 - misleading
git tag -l 'v6.0.*' --sort=version:refname       # by version: v6.0.14 is last - correct

The same applies to your own tables: order rows by release date or by version, never alphabetically.

Composer constraints in one table

You will meet these in composer.json and in changelogs that list required packages.

ConstraintMeansExample and source
~0.0.4.57>=0.0.4.57 <0.0.5.0, so every later 0.0.4.xVelocity, Getting the code
~2.4.11>=2.4.11 <2.5.0eztags, Getting the code
^8.0PHP 8.0 or any later 8.xThe 6.0.15 line's PHP requirement, same page, section 3.1

When a changelog says a package "requires ~1.4.39", write "requires version 1.4.39 or a later 1.4.x", not "uses version 1.4.39".

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x