Now that the system module is back, is there any compelling reason not to change the 'global' variables love._version, love._version_codename and their ilk back into a nice, clean, API-nated set of functions like getVersion and getCodename?
I've always preferred the naming style major.minor.patch to major.minor.revision re: semantic versioning. If you think about it, every new release is a revision, but a patch fixes a minor release of a major version.
One thing to keep in mind: it's useful to be able to see the current LÖVE version inside conf.lua (which is executed before almost every LÖVE module is loaded), so even if/when the version can be retrieved via love.system, it would be good to keep it easily accessible from conf.lua one way or another.
love.system.getVersion()=="0.9.1"love.system.getVersion("major")==0love.system.getVersion("minor")==9love.system.getVersion("revision")==1-- or getVersion("patch")?love.system.getVersion("codename")=="Baby Inspector"
On the other hand it doesn't solve the issue I mentioned above, and having a function return multiple types of values is a little weird.