...to continue the above substitution idea - it can of course be much smarter than my simple description.
The version number could actually be picked from the compiled executable; substitution variables could carry formatting specifiers, something like %date{format="yyyy-mm-dd"}% (the syntax doesn't matter), they could support recurrency, etc. Template syntax could support simple formatting markup as well, which the builder would turn into html, bbcode, wiki markups or other types depending on project specs. That way you could use the same template both for a plain text readme file, and for a website page that describes the software.
Does anyone use anything like that? Does it even exist?
In general, what does everyone do when releasing a build? When you increment the version number, do you manually update it everywhere in the docs, readmes, help, PAD files and on the website? It's not just the version number of course, there are tons of little details that change, and in the end I always forget do update a couple of places. What do you do?
Just last night I was designing an xml format for a "documentation compiler" that could do what I listed above, but I'm sure this wheel must have been invented a dozen times already.