How versions are represented in tags is currently rather inconsistent:
Generally I think we should aim for more consistency, but only as far as the resulting tag is still idiomatic to the people using it. For example Google Maps seems to always be referred to as "v3", so it can be reasonable to also have it as
-v3 in the tag. People developing for Google Maps should decide if
[google-maps-3] would look strange to them.
On the other hand I'd guess that the
[c#3.0] people would also be happy with
[c#-3.0]. But they probably want to keep the
.0, even though it serves no real purpose since there are no C# tags for any versions not ending in ".0". But other parts of .Net use version numbers like 3.5 and the ".0" is generally used when talking about C# 3.0, so it makes sense to have the tag
Java people on the other hand would probably not like
[java-7.0] all that much, since it's been a long time since there were any important minor version number in Java (AFAIK).
And for Python, it is important to have tags that refer to the Python 2 or Python 3 "series", as well as tags that refer to the individual versions. Comparing
[python-2] against tags like
[java-7] is not all that helpful because Java 7 basically doesn't have any sub-versions while Python 2.4 is substantially different from, say, Python 2.7. It needs to be made as clear as possible to the users that the tag should encompass the whole Python 2.x series (as opposed to Python 3.x).
[python-3.x] the meaning is more intuitively clear than for
[python-3]. People are used to refer to their Python version as "2.7" and this maps directly to "2.x". Additionally, it worked pretty well with the ".x" tags in the past.
And as a side note: For weblogic there are also tags like
[weblogic-10.x], but no tags for any specific version numbers. But someone who knows what weblogic is should judge this.