Recent threads discuss how D should incorporate a mechanism to version symbols/modules. E.g. std.xml[2], std.io vs. std.stdio and std.regex[p]. My question is WHY?
D *already* employes Git and there is no point in reimplementing it inside the D language/tools. I suggest this simple zero-implementation scheme [KISS!]: use git tags to tag Phobos releases and advertise the decided upon version scheme in the docs. Make sure to document APIs with the minimum required Phobos release version [git tag!] and add a "Releases" web-page that documents API changes. If someone needs a specific (older) version of e.g. std.xml he/she will simply download the specific version of Phobos already available publicly online. PS I think that std.stdio is not KISS and should be deprecated in favor of std.io