And add a program to do this semiautomatically.
% \begin{meta-comment} <Package preamble>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{at}
-%<+package> [1996/05/02 1.3 @-command support]
+%<+package> [2020/09/06 1.14.0 @-command support]
% \end{meta-comment}
%
% \CheckSum{355}
% \begin{meta-comment} <Package preambles>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{centre}
-%<+package> [2003/08/24 1.0 center, only spelt correctly]
+%<+package> [2020/09/06 1.14.0 center, only spelt correctly]
% \end{meta-comment}
%
% \CheckSum{21}
%<+sty>\ProvidesPackage{cmtt}
%<+fd>\ProvidesFile{mttcmtt.fd}
%<+def>\ProvidesFile{mttcmtt.def}
-%<+sty|fd|def> [1996/05/25 1.1 Handing of the cmtt font]
+%<+sty|fd|def> [2020/09/06 1.14.0 Handing of the cmtt font]
% \end{meta-comment}
%
% \CheckSum{174}
% \begin{meta-comment} <Package preambles>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{colour}
-%<+package> [2003/08/24 1.0 color, only spelt correctly]
+%<+package> [2020/09/06 1.14.0 color, only spelt correctly]
% \end{meta-comment}
%
% \CheckSum{26}
% \begin{meta-comment} <Package preambles>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{crypto}
-%<+package> [2001/09/16 1.0 Crypto typesetting]
+%<+package> [2020/09/06 1.14.0 Crypto typesetting]
% \end{meta-comment}
%
% \CheckSum{258}
% \begin{meta-comment} <Package preamble>
%<+latex2e>\NeedsTeXFormat{LaTeX2e}
%<+latex2e>\ProvidesPackage{doafter}
-%<+latex2e> [1996/05/08 1.2 Aftergroup hacking]
+%<+latex2e> [2020/09/06 1.14.0 Aftergroup hacking]
% \end{meta-comment}
%
% \CheckSum{259}
% \begin{meta-comment} <Package preambles>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{exercise}
-%<+package> [2003/08/25 1.1 Exercies with answers]
+%<+package> [2020/09/06 1.14.0 Exercies with answers]
% \end{meta-comment}
%
% \CheckSum{271}
% \begin{meta-comment} <Package preamble>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{footnote}
-%<+package> [1997/01/28 1.13 Save footnotes around boxes]
+%<+package> [2020/09/06 1.14.0 Save footnotes around boxes]
% \end{meta-comment}
%
% \CheckSum{329}
% \begin{meta-comment} <Package preamble>
%<+package&!plain>\NeedsTeXFormat{LaTeX2e}
%<+package&!plain>\ProvidesPackage{mdwkey}
-%<+package&!plain> [2003/08/21 1.0 Key/value parser]
+%<+package&!plain> [2020/09/06 1.14.0 Key/value parser]
% \end{meta-comment}
%
% \CheckSum{316}
% \begin{meta-comment} <Package preambles>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{mdwlist}
-%<+package> [1996/05/02 1.1 Various list-related things]
+%<+package> [2020/09/06 1.14.0 Various list-related things]
% \end{meta-comment}
%
% \CheckSum{183}
% \begin{meta-comment} <Package preamble>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{mdwmath}
-%<+package> [2003/08/25 1.3 Nice mathematical things]
+%<+package> [2020/09/06 1.14.0 Nice mathematical things]
%<+oldeqnarray>\NeedsTeXFormat{LaTeX2e}
%<+oldeqnarray>\ProvidesPackage{eqnarray}
-%<+oldeqnarray> [1996/04/11 1.1 Old enhanced eqnarray]
+%<+oldeqnarray> [2020/09/06 1.14.0 Old enhanced eqnarray]
% \end{meta-comment}
%
% \CheckSum{740}
% \begin{meta-comment} <Package preambles>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{mdwref}
-%<+package> [2007/04/09 1.01 Cross-referencing]
+%<+package> [2020/09/06 1.14.0 Cross-referencing]
% \end{meta-comment}
%
% ^^A\CheckSum{96}
% \begin{meta-comment} <Package preambles>
%<+mdwtab>\NeedsTeXFormat{LaTeX2e}
%<+mdwtab>\ProvidesPackage{mdwtab}
-%<+mdwtab> [2003/08/24 1.10 Table typesetting with style]
+%<+mdwtab> [2020/09/06 1.14.0 Table typesetting with style]
%<+mathenv>\NeedsTeXFormat{LaTeX2e}
%<+mathenv>\ProvidesPackage{mathenv}
-%<+mathenv> [2003/08/24 1.10 Various maths environments]
+%<+mathenv> [2020/09/06 1.14.0 Various maths environments]
%<+colour>\NeedsTeXFormat{LaTeX2e}
%<+colour>\ProvidesPackage{mtcolour}
-%<+colour> [2003/08/24 1.10 Colour support for mdwtab]
+%<+colour> [2020/09/06 1.14.0 Colour support for mdwtab]
%<+color>\NeedsTeXFormat{LaTeX2e}
%<+color>\ProvidesPackage{mtcolor}
-%<+color> [2003/08/24 1.10 Fix for people who can't spell]
+%<+color> [2020/09/06 1.14.0 Fix for people who can't spell]
% \end{meta-comment}
%
% \CheckSum{3424}
% \begin{meta-comment} <Package preambles>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{mdwthm}
-%<+package> [2001/09/16 1.0 Theorem typesetting]
+%<+package> [2020/09/06 1.14.0 Theorem typesetting]
%<+thmstyle>\ProvidesFile{mdwmargin.thm}
-%<+thmstyle> [2001/09/16 1.0 Numbers-in-the-margin theorem style]
+%<+thmstyle> [2020/09/06 1.14.0 Numbers-in-the-margin theorem style]
% \end{meta-comment}
%
% \CheckSum{204}
% \begin{meta-comment} <file preamble>
%<*mdwtools>
\ProvidesFile{mdwtools.tex}
- [1996/05/10 1.4 Shared definitions for mdwtools .dtx files]
+ [2020/09/06 1.14.0 Shared definitions for mdwtools .dtx files]
%</mdwtools>
% \end{meta-comment}
%
% \begin{meta-comment} <Package preambles>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{poetry}
-%<+package> [1996/05/28 1.00 Poetry typesetting]
+%<+package> [2016/01/24 1.8.0 Poetry typesetting]
% \end{meta-comment}
%
% \CheckSum{593}
% \begin{meta-comment} <Package preambles>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{slowbox}
-%<+package> [2003/08/27 1.0 Skipping of slow boxes]
+%<+package> [2020/09/06 1.14.0 Skipping of slow boxes]
% \end{meta-comment}
%
% \CheckSum{223}
% \begin{meta-comment} <Package preamble>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{sverb}
-%<+package> [2003/09/04 1.4 Verbatim typesetting]
+%<+package> [2020/09/06 1.14.0 Verbatim typesetting]
%<+colour>\NeedsTeXFormat{LaTeX2e}
%<+colour>\ProvidesPackage{svcolour}
-%<+colour> [2003/09/04 1.4 Colour support for sverb]
+%<+colour> [2020/09/06 1.14.0 Colour support for sverb]
%<+color>\NeedsTeXFormat{LaTeX2e}
%<+color>\ProvidesPackage{svcolor}
-%<+color> [2003/09/04 1.4 Fix for people who can't spell]
+%<+color> [2020/09/06 1.14.0 Fix for people who can't spell]
%<+split>\NeedsTeXFormat{LaTeX2e}
%<+split>\ProvidesPackage{svsplit}
-%<+split> [2003/09/04 1.4 Verbatim, but with line breaking]
+%<+split> [2020/09/06 1.14.0 Verbatim, but with line breaking]
% \end{meta-comment}
%
% \CheckSum{1012}
% \begin{meta-comment} <Package preamble>
%<+package>\NeedsTeXFormat{LaTeX2e}
%<+package>\ProvidesPackage{syntax}
-%<+package> [2003/08/25 1.08 Syntax typesetting]
+%<+package> [2020/09/06 1.14.0 Syntax typesetting]
% \end{meta-comment}
%
% \CheckSum{1628}
--- /dev/null
+#! /bin/sh -e
+
+case $# in 0 | 1) echo >&2 "usage: $0 NEWVER FILE ..."; exit 2 ;; esac
+newver=$1; shift
+
+for i; do
+ t=$(git log -n1 --date="format:%Y/%m/%d" --format="%H %cd" "$i")
+ read h d <<EOF
+$t
+EOF
+ set +e
+ if ! v=$(git describe 2>/dev/null --contains $h); then v=$newver
+ else v=${v%[~^]*}
+ fi
+ set -e
+ perl -i -pe"s!^((?:\\%\<\\+[^>]*\\>)?\\s*\\[)[\\d/]+ [\\d.]+( .*$)!\${1}$d $v\${2}!" "$i"
+done