\documentclass{article}

\usepackage[a4paper]{geometry}

\title{ Where to store the version number }

\author{ Sam Wilson }

\date{ 2024 March 6 (Wednesday), 1:37AM }

\begin{document}
\maketitle
\tableofcontents

It's Wednesday morning, coffee is made, and SVG Translate\footnote{\url{https://svgtranslate.toolforge.org/}} is being upgraded to 2.0.0. I think that bumping major version numbers for underlying platform upgrades is slightly controversial, but I do it. My reasoning is that a major version primarily indicates that "something" must be done when you upgrade, and that's definitely true when dropping support for old versions of PHP.

A few of the tools that use the ToolforgeBundle\footnote{\url{https://github.com/wikimedia/ToolforgeBundle}} for Symfony display their current version number in the footer, and they do so by running \texttt{git describe} to get the current tag. This is proving to be silly when the filesystem is slow, and is timing out. It'd be better to have the current version number within the codebase somewhere — the trouble with that is remembering to keep it in sync. Ideally, I think, it'd be in a \texttt{VERSION} file, and would get updated every time a change is made so that there's only ever one commit with a given version (other than \texttt{-dev} ones; i.e. the next commit after a release would add that).

\end{document}
