I would prefer the following numbering: 4.2.1 last full patchlevel release of gcc under GPLv2 4.2.1.x patch releases to gcc 4.2.1 where only patches with GPLv2 license are applied 4.2.2 The first GPLv3 patchlevel release of gcc 4.2
Rationale: Because some people want to stay with GPLv2 for the time being, there undoubtably will be patched gcc 4.2.1 versions that are still GPLv2. By having an official branch for such versions, we make version confusion less likely. By having these versions carry a sub-patchlevel off 4.2.1, it is also apparent that these versions are restricted in what patches can be used, while 4.2.2 and later vesions are not restrained in the same way. Moreover, when someone gets to an ftp site to download a gcc tarball, the 4.2.1.1 version will stick out, and with possibly adding a README.GPLv3 and README.4.2.1.x files, that (in addition to the already discussed announcements / release notes) should be sufficient to inform users of the license change, so we can dispese with a painful version renumbering.