I don't know if that's fair. I mean, if you have a program that needs to parse out the Linux kernel version then you could very plausibly have assumed the format vX.X.X[-something|.X], given it's been that way consistently for 15 years (since 2.1.0 in '96). Even the kernel's own scripts do that, as Linus mentions in the email. Now it's going to have format vX.X for the first time since 2.0.
I can't actually think of the use case for needing to parse the complete version string outside the kernel, but it doesn't sound stupid to me that you'd assume a canonical format that's been there for a decade and a half. Apparently wrong, and decidedly unimportant & bikesheddy, but not necessarily stupid.