Milestones
- : (used to be called feature freeze) No new externally visible functionality is to be added to the current release of TF. All provisional APIs are at least functional (at a beta-quality level) if not yet fully tested.
- API Freeze (M3): All externally accessible APIs (Stable and Provisional) may not be modified. An API exception process will allow for critical changes to APIs after API freeze with the consent of the consuming projects.
- Code Freeze (M4): No new features/functionality are to be allowed into the current release. Only errors/bugs identified in the bug system are allowed. The exceptions to this include new tests, and documentation. Distribution packaging must be complete. Errors/bugs found after Code Freeze are still bugs and they may be created and worked on. This includes packaging bugs found as well.
- String Freeze (M4): All text strings used within TF may not be changed. Final documentation and localization teams may rely on these strings not changing for the current release.
- Release Candidate (RC): A fully-built, complete version of the current TF release. This includes all code, documentation, and packaging that make up the final user-deliverable set of artifacts. After RC0, new RCs will be continually built, e.g., once per day, to enable rapid testing and fixing of bugs.
- Note that this definition makes the dates for RCs and the final release as targets, but they may need to be adjusted based on project readiness and any remaining blocking bugs.
- While we will build daily release candidates, the notion of RC#s (increasing in number at a longer cadence, e.g., weekly) will remain to aid in planning when bug fixes are expected.
- During the RC process blocking bugs will be tracked both on a spreadsheet and in .
- During the RC process regular, e.g., daily, meetings may be held on IRC to identify and address critical issues as they arise.
- Projects not in the autorelease and the distribution feature index by RC0 cutoff will be dropped from the release.