AFAIK, they were considering to change the versioning scheme because the old scheme is becoming too confusing.
The old scheme (PyPy 2.x) resembles Python 2 versioning too much (PyPy 2.6 vs. Python 2.7) and may cause confusion that PyPy version correspond to Python version it implements (while in fact it is not). Say, if the next release is PyPy 2.7, some may assume it is a PyPy implementation of Python 2.7 (even though PyPy 2.6 is already Python 2.7). The situation is also confusing with Python 3 as well (PyPy3 2.6 for Python 3.2.)
I think PyPy's initial plan was to use YY.MM for versioning, so the tentative version was 15.11 but now looks like they decided to follow the old scheme but with major version > 3 instead (so the next release is PyPy 4.0.0 and PyPy3 4.0.0).
2.6.1 is the previous release version. 15.11 is just year.month of the next release version, apparently they are moving to a new numbering scheme.
Not sure about 4.0, but I think it was the working number for the next release (to avoid confusion with Python 3, I guess they call that pypy3 and have a version number also).
The old scheme (PyPy 2.x) resembles Python 2 versioning too much (PyPy 2.6 vs. Python 2.7) and may cause confusion that PyPy version correspond to Python version it implements (while in fact it is not). Say, if the next release is PyPy 2.7, some may assume it is a PyPy implementation of Python 2.7 (even though PyPy 2.6 is already Python 2.7). The situation is also confusing with Python 3 as well (PyPy3 2.6 for Python 3.2.)
I think PyPy's initial plan was to use YY.MM for versioning, so the tentative version was 15.11 but now looks like they decided to follow the old scheme but with major version > 3 instead (so the next release is PyPy 4.0.0 and PyPy3 4.0.0).