That said, my point was: as the author, if you have previously released software S version V under license L1, nothing prevents you from releasing software S version V again under a new license L2 provided all the contributors of significant portions of software S version 1 agree or L1 happens to allow this additional license (because it's permissive, or because it has a "or later" clause or some other means).
Of course, re-release under a new license or not, software S version V can be used under license L1 "forever" and users can choose to ignore the L2 release completely. You cannot remove license L1, you can only offer an additional possibility (using software S version V under the new license, which you didn't allow before the re-release unless the relicensing was allowed by L1).
I've not seen this done, but I can imagine this being useful if someone needs specifically software S version V under the new license. Usually, people can just use newer versions under the new license though.
I admit my comment was terse (and a further edition probably removed important phrasing), I hope this one makes things clearer.
You can totally change the license of already released code, if the change is compatible with the precious license or if you have permission from all the contributors whose code is still present in significant amount. (However, you can't prevent people from using the released code under the former license)