Discourse does not follow the SemVer spec. Every 2.X release was also a major release.
We ship the Discourse Docker image, and we ensure it’s compatible with both the default release channel (Discourse 3.1 at the moment) and the stable release channel (Discourse 3.0 at the moment). This image isn’t compatible with Discourse 2.x anymore, and pinning to an old image is not recommended as it contains EOL software in it.