[RFC] Introduce semantic versioning 2.0.0 to FreeBSD releases
Minsoo Choo <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.hackers |
|---|---|
| Message-ID | <nRHnJzkCz8rbih3VGPaK3n9M_F4PpHaYnG0nEJi1w5t01pS8rRSkh7nvX6Yi59AhF9Tz_GA82Sxts0VnhiWY-RC949fIU-k-VEYxf7TBmok=@proton.me> |
Greetings, Currently FreeBSD uses a variant of semantic versioning for releases (e.g. 15.0-RELEASE-p1) where backward compatibility can be broken (e.g. deprecation of a utility)in a new major version, new features are added in minor versions, and security fixes are introduced in a new patch version. FreeBSD's git repository reserves semantic versioning style patch version (aka third version) in git tags but it has been unused for a long time (e.g. 15.0.0-p1). This results in having two patch version placeholders where one is unused and might cause confusions for some newcomers. The last git tag that contains patch version in semantic versioning format is 5.2.1. After that, tags for both patch version placeholders are missing until 13.4.0-p2 and 14.1.0-p6 (re@, why are we missing these tags? Can we recover them?), and we cannot track what happened in the past. Thus, I propose using semantic versioning 2.0.0 [1] starting from FreeBSD 16. Major and minor versions will have the same roles as before. For patch versions, I propose including bug fixes as well as security patches. For bugs, I mean existing things that do not produce expected behaviour that has "Fixes: " metadata in git commit message. Many teams need to be involved in discussions and decisions for this change. For now, I can name re@, clusteradm@, secteam@, and probably core@. Once we reach community consensus, I will bring this topic to those teams. [1] https://semver.org -- Minsoo Choo