NetBSD Developer Documentation: Release Engineering: The Release Engineering Process

4.4 How to make a NetBSD release

4.4.1 Overview

The NetBSD Release process is an eight week process which is intended to make it possible to generate frequent quality releases without stalling development on the main branch. The goal is to have two NetBSD releases per year.

In the description below, VERSION can have different textual representations depending on context. For instance, if describing the release of NetBSD 1.2, VERSION would be "1-2" when used in a CVS command, "1.2" when talking about the version as announced to the public or defined in src/sys/conf/newvers.sh, or "1_2" when talking about the definition of the NetBSDVERSION constant in src/sys/sys/param.h.

The basic timeline for a release looks like:

Week 0: Beginning of release cycle
The release schedule is sent as a reminder to all NetBSD developers and mirror maintainers.
Week 1: Snapshot sanity check
Port maintainers should try to build full releases, to ensure that the release generation machinery is functional.
Week 2: Creation of release branch and feature freeze
The release branch is created, and developers are disallowed from committing new features to the release branch without permission from the Release Engineer.
Week 3: First beta release
Binary snapshots are released as NetBSD VERSION_ALPHA.
Week 4: Non-critical bug fix freeze
Developers are disallowed from committing any changes other than critical bug fixes to the release branch without permission from the Release Engineer. Mid-week, the release branch is tagged netbsd-VERSION-BETA.
Week 5: Second beta release
Binary snapshots are released as NetBSD VERSION_BETA.
Week 6: Code freeze
Developers are disallowed from committing ANY changes to the release branch without permission from the Release Engineer.
Week 7: Tag final sources
The release branch is tagged netbsd-VERSION-FINAL, and port maintainers begin generating final release binaries.
Week 8: Release
The release is announced to the world.

Yet to be done in this document:

4.4.2 Week 0: Beginning of release cycle

4.4.3 Week 1: Snapshot sanity check

4.4.4 Week 2: Creation of release branch and feature freeze

4.4.5 Week 3: First beta release

4.4.6 Week 4: Non-critical bug fix freeze

At the beginning of the week: At mid-week:

4.4.7 Week 5: Second beta release

4.4.8 Week 6: Code freeze

At the beginning of the week: At mid-week:

4.4.9 Week 7: Tag final sources

At mid-week:

4.4.10 Week 8: Release

Two days later:


NetBSD Home Page
NetBSD Developer Documentation

(Contact us) $NetBSD: release-process.html,v 1.13 2003/09/30 20:22:07 wiz Exp $
Copyright © 1994-2003 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.