test/system: Prepare for shorter version numbers

Toolbx started out with a MAJOR.MINOR.MICRO versioning scheme.  eg.,
0.0.1, 0.0.2, etc..  A NANO version was reserved for releases to address
brown paper bag bugs [1] or other critical issues, and release
candidates.  eg., a few releases used the MAJOR.MINOR.MICRO.NANO
versioning scheme between 0.0.98 and 0.1.0 to act as an extended set of
release candidates for the dot-zero 0.1.0 release.

The MAJOR.MINOR.MICRO versioning scheme was meant to indicate the
nascent nature of the Toolbx project and the ideas behind it when it
first started in August 2018.  It's been seven years since then, and
both the project and the ideas that it implements are a lot more mature
and widely adopted.  So much so, that there are a few independent
reimplementations today [2,3].

In version 0.0.90, Toolbx switched from a POSIX shell implementation to
a Go implementation.  The practice of bundling and statically linking
the Go dependencies sometimes makes it necessary to update the
dependencies to address security bugs or other critical issues.  It's
more convenient to do this as part of an upstream release than through
downstream patches by distributors.

Hence, it will be helpful for downstream distributors, especially those
that offer long-term support, to have targeted bug-fix releases that
only have the critical dependency updates or other critical fixes, and
nothing else.

To address this situation, future releases will default to not having a
MICRO version and use a MAJOR.MINOR versioning scheme.  A MICRO version
will be reserved for the same purposes that a NANO version was reserved
for until now.

It's easier to read and remember a shorter MAJOR.MINOR version than a
longer one, and appropriately conveys the maturity of the project.  When
a MICRO version is needed, it will also be easier to read and remember
than a longer one with a NANO version.

As per this new scheme, the next release will be version 0.2.

[1] https://www.computer-dictionary-online.org/definitions-b/brown-paper-bag-bug

[2] https://github.com/89luca89/distrobox/

[3] https://github.com/openSUSE/microos-toolbox/

https://github.com/containers/toolbox/pull/1703
This commit is contained in:
Debarshi Ray 2025-08-08 20:11:56 +02:00
parent 7fa23036cd
commit e2dda19349
1 changed files with 1 additions and 1 deletions

View File

@ -29,7 +29,7 @@ setup() {
run --separate-stderr "$TOOLBX" --version
assert_success
assert_output --regexp '^toolbox version [0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?$'
assert_output --regexp '^toolbox version [0-9]+\.[0-9]+(\.[0-9]+)?$'
assert [ ${#lines[@]} -eq 1 ]
# shellcheck disable=SC2154