Fedora Linux Release Life Cycle
The Fedora Project releases a new version of Fedora Linux approximately every six months and provides updated packages (maintenance) to these releases for approximately 13 months. This allows users to "skip a release" while still being able to always have a system that is still receiving updates.
Release Dates
Our release schedule intentionally includes some "buffer" weeks, with early and later release targets. Predictable release dates benefit end users planning on upgrades, downstream distros making their schedules based on our work, and of course our own developers working on getting features to users. End users (and the press!) should plan on the release being available by the "Target date #1" milestone.
But you know that "trick" where to keep yourself from being late you set all of your clocks ahead by five minutes? For a month or two, it works—you’re on time everywhere!—but then you start to compensate because you know that extra time is built in. We’ve put out Fedora Linux releases on time for the past few years, and in order to keep doing that, we need to keep seriously aiming for the early target. That way, when we do need it, we can actually use the built in time. Fedora contributors should plan on having the release done by the "Early target" milestone.
Development Schedule
We say ''approximately every six months'' because like many things, releases don’t always go exactly as planned. The schedule is not strictly time-based, but a hybrid of time and quality. The milestone releases are tested for compliance with the Fedora Release Criteria, and releases will be delayed if this is not the case.
The schedule for the release currently under development is on its release schedule page. Beta and General Availability (final) releases happen at approximately 14:00 UTC.
Development Planning
Fedora development planning is handled by the Release Planning Process. So-called ''Changes'' are proposed, initially reviewed, and monitored through the development process by the Fedora Engineering Steering Committee (FESCo) and Fedora Program Manager.
Development Process
Fedora uses a system involving two 'development' trees. Rawhide is a constantly rolling development tree. No releases are built directly from Rawhide. Approximately 10 weeks before the planned date of a Fedora release, a tree for that release is "branched" from the Rawhide tree. At that point the Rawhide tree is moving towards the release ''after'' the new Branched release, and the pending release is stabilized in the Branched tree.
This means that development of a Fedora release is considered to begin at the time its ''predecessor'' branches from Rawhide. For instance, development on Fedora Linux 31 began the day after Fedora Linux 30 branched from Rawhide and entered the stabilization process. |
After the Bodhi activation point , the Bodhi system is permanently active on the Branched release (all the way until it goes end of life), and requirements for updates to be marked as ''stable'' are set out in the Updates Policy. Packages must go through the ''updates-testing'' repository for the release before entering its ''stable'' repository, according to rules defined in the updates policy. These rules tighten gradually from Beta through to post-GA (Final), but the basic process does not change.
For some time prior to a milestone (Beta, Final) release a freeze is in effect which prevents packages moving from ''updates-testing'' to ''stable'' except in accordance with the blocker and freeze exception bug policies. This freeze is lifted once the milestone is finished, and so packages begin to move from ''updates-testing'' to ''stable'' as normal again, until the next milestone’s freeze date.
Schedule Methodology
Fedora Linux release schedules repeat ad infinitum with "early target" dates of the third Tuesday in April and October. Significant changes to the release schedule must be approved by FESCo. The Fedora Program Manager works with teams across the project to incorporate their activities into the overall schedule and will make updates that do not affect release milestones.
Development Schedule Rationale
Fedora generally develops new releases over a six month period to provide a regular and predictable release schedule. The bi-annual targeted release dates are the third Tuesday of April and October, making them easy to remember and avoid significant holiday breaks. Changes to this standard must be approved by FESCo.
A six month release schedule also follows the precedence of Red Hat Linux (precursor to Fedora). Former Red Hat software engineer Havoc Pennington offers a historical perspective. GNOME started following a time based release based on the ideas and success of Red Hat Linux and other distributions following Fedora having adopted a similar release cycle. Several other major components have started following a time-based release schedule. While the exact release schedules vary between these components and other upstream projects, the interactions between these components and Fedora Linux makes a six month, time-based release schedule a good balance.
Schedule Contingency Planning
If ''Mass rebuild'' is not completed on time, all the subsequent milestones starting with ''Branch point'' are pushed back for one week until the ''Mass rebuild'' is completed.
If the Beta Go/No-Go_Meeting results in a "No Go" determination, rescheduling of the milestone and subsequent milestones follows these rules:
-
Slip of the Beta from the Early Target to Target #1 does not affect Final Release (GA) date. The Final Release (GA) date remains on ''Early Final Target''.
-
Slip of the Beta to Target #1 adds a new ''Beta Target #2''
-
Slip of the Beta past Target #N (where N >= 2) adds a new ''Beta Target #(N+1)'' and also adds a new ''Final Target #N''
If the Final Go/No-Go_Meeting results in a "No Go" determination, that milestone and subsequent milestones will be pushed back by one week.
One week is added to the schedule to maintain the practice of releasing on Tuesdays. Tuesdays are the designated release day because they are good days for news coverage and correspond to the established day we synchronize our content with the mirrors that carry our releases. Be aware of holidays and of possible PR conflicts with the new proposed final date.
Go/No-Go Meetings receive input from representatives of FESCo, Release Engineering, and Quality Assurance.
Maintenance Schedule
We say maintained for ''approximately 13 months'' because the supported period for releases is dependent on the date the release under development goes final. As a result, ''Release N'' is supported until four weeks after the release of ''Release N+2''.
Maintenance Schedule Rationale
Fedora Linux is focused on free and open source software innovations and moves quickly. If you want a distribution that moves slower, but has a longer lifecycle, CentOS Stream or Red Hat Enterprise Linux, which are downstream of Fedora might be more suitable for you.
Historically, the Fedora Project has found that supporting two releases plus Rawhide and the pre-release Branched code to be a manageable work load.
End of Life (EOL)
When a release reaches the point where it is no longer supported when no updates are created for it, then it is considered End of Life (EOL). Branches for new packages in the SCM are not allowed for distribution N after the Fedora N+2 release and new builds are no longer allowed.
The tasks performed at EOL are documented in the End of life SOP.
Information about EOL releases is available.
Want to help? Learn how to contribute to Fedora Docs ›