GNOME Release Calendar: Scheduling Feature Freezes

The GNOME Release Calendar serves as the foundational roadmap for the GNOME desktop environment, establishing a predictable, time-based schedule for every major release. By defining strict milestones months in advance, the calendar dictates precisely when developer feature freezes occur, ensuring that distributed contributors shift their focus from active feature development to system stabilization, testing, and bug fixing.

Predictable Time-Based Milestones

GNOME follows a strict six-month release cycle, typically culminating in major releases every March and September. The GNOME Release Calendar coordinates this cadence by mapping out key development stages, including Alpha, Beta, and Release Candidate (RC) milestones.

Because the schedule is fixed and public, developers know the exact timeline long before coding begins. Instead of waiting for a set of arbitrary features to be completed, the calendar enforces deadlines that determine whether a proposed feature is ready for the upcoming version or must wait for the next cycle.

Enforcing the Feature Freeze

The Feature Freeze is scheduled to coincide with the Beta release milestone. Once the calendar reaches this designated date:

  • Code Locking: Developers are prohibited from adding new major features, APIs, or architectural changes to core modules.
  • Focus on Stabilization: The primary objective shifts entirely to debugging, performance improvements, and resolving regressions introduced during the development cycle.
  • Coordination with Other Freezes: The Feature Freeze triggers concurrent deadlines, such as the UI Freeze and String Freeze, which allow documentation teams and translators to finalize their work without moving targets.

Quality Assurance and Exception Handling

The calendar prevents scope creep, which historically caused delayed software releases in open-source projects. By anchoring the Feature Freeze to an immovable date, the GNOME Release Team maintains control over software quality.

If a critical feature misses the freeze deadline, the calendar establishes the protocol for "Freeze Break Requests." Developers must formally request an exception from the Release Team and relevant teams (such as Documentation or Localization). These exceptions are rarely granted, reinforcing the calendar's role as a hard boundary that protects release stability and guarantees on-time delivery for Linux distributions downstream.