Skip to content

Fix versioning and start the changelog #44

Description

@iderex

Once there is a downloadable artefact there are people running versions of it, and
the two questions they will ask are which version they have and what changed. Both
need answering before the first release rather than after, because a versioning
scheme adopted at version four leaves three versions nobody can place.

Fix three things.

The version the binary reports comes from the tag it was built from, injected at
build time rather than written in a source file. A hand-maintained version constant
disagrees with the tag eventually, and it disagrees silently, which makes every bug
report from that version misleading.

A changelog with an entry per release, saying what changed and what it means for
somebody upgrading. This board is allowed to break its own tool between versions,
since nothing is supposed to depend on it, and that permission is exactly why the
changelog has to say when it happened.

A stated compatibility position, which is not a promise of stability but a
statement of what it is not. Something along the lines of: the record format may
change, a change that invalidates existing records will not be made silently, and
the changelog is where it is announced. That is honest for an experimental board and
it is more useful than a version number implying guarantees nobody intends to keep.

Done when the binary reports a version derived from its build tag, CHANGELOG.md
exists with an entry for the first release, and the compatibility position is
written in the changelog or the operator guide.

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions