I think there will be a 7.10 before 8.0.
Provided the multi-cpu project actually gets underway, it will probably start with a fairly big refactoring of the header files. The main reason is that a partly new API is necessary to track pointer assignments and to allow for the required changes in refcounting, but of course we'll probably take the opportunity to clean up the macro mess and lots of other old cruft. The plan is to do this work in 7.9, i.e. it will be part of 7.10.
When that is done, the actual multi-cpu development can start, without requiring further API changes in C modules etc. That branch would then become 8.0.
There are several reasons for this split: 1) Allow for gradual migration of C modules - in 7.9/7.10 they can work with both the old and the new API. 2) Split up the instability - both the refactoring and the multi-cpu changes will introduce bugs, and it's good to be able to separate them a bit. 3) To insulate other development from the multi-cpu mess better. 4) To be able to compare performance between the multi-cpu branch and the old one with minimal code differences.