Re: [RFC] Introduce semantic versioning 2.0.0 to FreeBSD releases
Tomoaki AOKI <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.hackers |
|---|---|
| Organization | Junchoon corps |
| Message-ID | <[email protected]> |
On Wed, 25 Feb 2026 20:26:29 +0100 vermaden <[email protected]> wrote: > Hi, > > I would prefer staying with what we have ... for consistency. > > All the tools/scripts/everything have already been 'taught' to interpret 14.3-RELEASE-p7 format. > > Switching *now* after more then 30 years of FreeBSD releases would only cause this: https://xkcd.com/927/ > > No one wants that confusion. +1. > ... but I have better idea. > > We already have these: > > % sysctl kern | grep -e kern.osrelease -e kern.version > kern.osrelease: 14.3-RELEASE-p7 > kern.version: FreeBSD 14.3-RELEASE-p7 GENERIC > > Adding additional 'kern.dotrelease' which would be in 0.0.0 format will not hurt anyone - yet you will have your version. > > % sysctl kern | grep -e kern.osrelease -e kern.version > kern.osrelease: 14.3-RELEASE-p7 > kern.version: FreeBSD 14.3-RELEASE-p7 GENERIC > kern.dotrelease: 14.3.7 Historically, there were 1.1.5.1, 2.1.6.1 and 2.1.7.1. https://github.com/freebsd/freebsd-src/blob/main/share/misc/bsd-family-tree Not sure about 1.1.5.1 (as at the moment I didn't know the exixtence of FreeBSD yet), but IIRC, 2.1.6.1 and 2.1.7.1 were something like current -p* point releases. So, if introducing 2 or more dot format as kern.dotrelease sysctl, what I recommend here would be "kern.dotrelease: 14.3.0.7" corresponding to "kern.osrelease: 14.3-RELEASE-p7". And if there happenes to require any security update breaking backward compatibilities next to 14.3-RELEASE-p7, use irregular 14.3.1-RELEASE with __FreeBSD_version bump. The next patch release for 14.3.1-RELEASE should be 14.3.1-RELEASE-p1. I think this doesn't hurt current semantics of release tags and would be safe for 4 2-dots release. (I imagine __FreeBSD_version 1403100 for 14.3.1-RELEASE and following point releases. Stable restarts from 1403500 after 14.3-RELEASE, so using 1403100, 1403200, 1403300 and 1403400 would be safe.) Regards. > ... and I would also add '-d' flag for freebsd-version(*) to print FreeBSD version in '0.0.0' format. > > Regards, > vermaden > > > > Temat: Re: [RFC] Introduce semantic versioning 2.0.0 to FreeBSD releases > Data: 2026-02-25 17:42 > Nadawca: "Tomek CEDRO" <[email protected]> > Adresat: "Minsoo Choo" <[email protected]>; > DW: "freebsd-hackers" <[email protected]>; > > >> On Wed, Feb 25, 2026 at 7:17 AM 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. > >> (..) > > > > +1 for simpler numbering like standard major.minor.patch: > > 16.0-RELEASE -> 16.0.0. > > 16.0-RELEASE-p1 -> 16.0.1. > > 16.1-RELEASE -> 16.1.0. > > 16.1-RELEASE-p1 -> 16.1.1. > > > > X.Y.Z numbering would imply release, maybe 16.0.0-RELEASE for clarity. > > > > 15-STABLE and 17-CURRENT could be left untouched or something like > > 17.0.20260225-CURRENT to mark snapshot? > > > > :-) > > > > -- > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info -- Tomoaki AOKI <[email protected]>