FreeBSD Release Engineering

Legal Notice
Last modified on 2020-09-30 18:54:17 by gjb.
Abstract

This article describes the release engineering process of the FreeBSD Project.

[ Split HTML / Single HTML ]

Table of Contents
1. Introduction to the FreeBSD Release Engineering Process
2. General Information and Preparation
3. Release Engineering Terminology
4. Website Changes During the Release Cycle
5. Release from head/
6. Release from stable/
7. Building FreeBSD Installation Media
8. Publishing FreeBSD Installation Media to Project Mirrors
9. Wrapping up the Release Cycle
10. Release End-of-Life

1. Introduction to the FreeBSD Release Engineering Process

Development of FreeBSD has a very specific workflow. In general, all changes to the FreeBSD base system are committed to the head/ branch, which reflects the top of the source tree.

After a reasonable testing period, changes can then be merged to the stable/ branches. The default minimum timeframe before merging to stable/ branches is three (3) days.

Although a general rule to wait a minimum of three days before merging from head/, there are a few special circumstances where an immediate merge may be necessary, such as a critical security fix, or a bug fix that directly inhibits the release build process.

After several months, and the number of changes in the stable/ branch have grown significantly, it is time to release the next version of FreeBSD. These releases have been historically referred to as point releases.

In between releases from the stable/ branches, approximately every two (2) years, a release will be cut directly from head/. These releases have been historically referred to as dot-zero releases.

This article will highlight the workflow and responsibilities of the FreeBSD Release Engineering Team for both dot-zero and point' releases.

The following sections of this article describe:

Section 2, “General Information and Preparation”

General information and preparation before starting the release cycle.

Section 4, “Website Changes During the Release Cycle”

Website Changes During the Release Cycle

Section 3, “Release Engineering Terminology”

Terminology and general information, such as the code slush and code freeze, used throughout this document.

Section 5, “Release from head/

The Release Engineering process for a dot-zero release.

Section 6, “Release from stable/

The Release Engineering process for a point release.

Section 7, “Building FreeBSD Installation Media”

Information related to the specific procedures to build installation medium.

Section 8, “Publishing FreeBSD Installation Media to Project Mirrors”

Procedures to publish installation medium.

Section 9, “Wrapping up the Release Cycle”

Wrapping up the release cycle.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.