Re: [RFC] Introduce semantic versioning 2.0.0 to FreeBSD releases
Philip Paeps <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.hackers |
|---|---|
| Message-ID | <[email protected]> |
On 2026-02-25 14:17:28 (+0800), Minsoo Choo wrote: > 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. We only started adding the -pX tags in Git after 13.4-RELEASE-p2. I never went back in time to create the tags before that. It wouldn't be too difficult to do -- merely tedious. See also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279416 Note that 13.4.1 would be "13.4.1-RELEASE". We have not done a release like that for a very long time. The -pX refer to patches released by the security team. These are not releases. The last time we had to re-do a release was (apparently) 5.2.1-RELEASE. I thought there was a more recent one but my memory is fuzzy. > 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 I have no objection as long as we commit to one system and stick to it. :) I suspect we can't start doing this until freebsd-update is dead and burried. Philip