I think the big issue is versioning. Learn it! A.B.C
Changes in C denote bugfixes, small changes, etc.
Changes in B denote feature additions/deprecations, non-API breaking changes, etc.
Changes in A denote major architecture changes and/or backwards incompatibility.
THUS:
Everything with "A.x.x" is compatible with previous versions of A.x.x.
Everything with "A.B.x" is compatible with everything else of A.B.x.
As the author stated, Scala 2.8 should have been Scala 3.0. It seems to me the author is less peeved about the change itself, than the confusion caused by not using version numbers the way many people expect, i.e. with meaning.