But can't you continue to run older bytecode versions on newer JVMs? I think you can also specify the source version separately.
Maintaining binary compatibility is a principal goal of the platform which continues to constrain design decisions for all future changes.