FreeBSD Release Engineering process
Post an announcement to developers@FreeBSD.org as well as the general public announcing the code freeze time
When that day comes, the release engineer commits to svnadmin/conf/approvers to implement the hard freeze
- The release engineer commits to bump the name of X.Y-STABLE to X.$(Y+1)-PRERELEASE, and post a note
- After a few days, post BETA1, ask the community for testing
Once BETA1 is built, notify security-officer@FreeBSD.org for freebsd-update build.
- Decide whether we want to go with BETA2 here.
A date is set for RC1, at RC1, create release branch, bump FreeBSDversion on stable/ and releng/ trees (releng/ is now named as
- '-RC1'), and unfreeze stable/ saying it's back to "code slush" and at this stage, release notes shall be finalized.
- A date is set for RC2 (typically, one week per RC), bump version, build, announce, etc. All installation related bugs must be shaken
- out at this stage. For each RC, notify so@ for new freebsd-update build.
- Final release: bump version, do final test build, tag, checkout from tag, do the real final build.
File to update
Before the final release can be tagged, built, and released, the following files need to be modified to reflect the correct version of FreeBSD:
The release notes and errata files also need to be adjusted for the new release (on the release branch) and truncated appropriately (on the stable/current branch):
Sysinstall should be updated to note the number of available ports and the amount of disk space required for the Ports Collection. This information is currently kept in src/usr.sbin/sysinstall/dist.c.
After the release has been built, a number of files should be updated to announce the release to the world. These files are relative to head/ within the doc/ subversion tree.
Additionally, update the “BSD Family Tree” file:
MurrayStokely provided a lot of the content on this page from an earlier article which he wrote on FreeBSD Release Engineering
XinLi provided many of the items on this page.