FreezeExceptionProcess

Differences between revisions 30 and 62 (spanning 32 versions)
Revision 30 as of 2008-02-16 20:33:19
Size: 6927
Editor: static-72-81-252-22
Comment:
Revision 62 as of 2025-09-19 15:25:44
Size: 8169
Editor: sally-makin
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#refresh 0 https://canonical-ubuntu-project.readthedocs-hosted.com/release-team/freeze-exceptions/
Line 3: Line 5:
[[TableOfContents()]] <<TableOfContents>>
Line 7: Line 9:
Requests for freeze exceptions for `main` should be filed as bugs in launchpad against the relevant package (or just "Ubuntu" if the package is not available yet). Once the bug is filed and the necessary information is available, subscribe [https://launchpad.net/~ubuntu-release ubuntu-release] (main, restricted) or [https://launchpad.net/~motu-release motu-release] (universe, multiverse). All freeze exceptions must include the following information, in order to provide them with enough information to weigh the risk of regressions against the benefit of the changes: Requests for freeze exceptions should be filed as bugs in launchpad against the relevant package (or just "Ubuntu" if the package is not available yet). The bug should be set to status of "New" when requesting a freeze exception, to ensure the release team sees the request. Once the bug is filed and the necessary information is available, subscribe [[https://launchpad.net/~ubuntu-release|ubuntu-release]]. All freeze exceptions must include the following information, in order to provide them with enough information to weigh the risk of regressions against the benefit of the changes:
Line 19: Line 21:
 * `diffstat` output showing the magnitude of code changes relative to the current version in Ubuntu
Line 26: Line 27:
=== FeatureFreeze for new upstream versions ===

If you want to introduce a new upstream version with new features and/or ABI/API changes, please

 * If you do not have a bug, create a new bug under your package. ex: https://bugs.launchpad.net/ubuntu/+source/<PACKAGE>/+filebug
 * If the exception is related to an existing bug, you may reuse the bug.
  * add [FFE] to the bug summary (large title)
  * add an FFE stanza to the description starting with ## FFE ##
  * add the information below
 * '''state the reason why you feel it is necessary'''
  * (other bugs it fixes, etc.)
 * attach (as files)
  * diff of the '''Upstream''' ChangeLog ''(not `debian/changelog`)'' {{{
diff -u <package>-{old-version,new-version}/ChangeLog > changelog.diff
}}}
  * note that the `ChangeLog` sometimes is called `CHANGES`, is missing or the tarball merely has a `NEWS` file.
  * the `NEWS` file, if you think that this information helps reviewing your request (true for most gnome packages)
  * build log (as file)
   * `pbuilder` has the `--logfile` option.
   * `pbuilder-dist` and `cowbuilder-dist` automatically save it as `last_operation.log`.
  * install log
   * for instance a copy and paste of the install messages from console when installing
  * mention what testing you've done to see that it works
   * a screenshot showing the main features could also be nice
 * subscribe (do not assign to) the '`ubuntu-release`' team.

Please note that we expect requesters to have an updated package already prepared and tested! You will need this anyway to provide proper build logs.

Once the Feature Freeze Exception has been ACK'd by a member of the [[https://launchpad.net/~ubuntu-release|Release Team]], the status will be changed to '''TRIAGED'''. You can then either upload the package (in case you're in [[http://launchpad.net/~motu|motu]] or [[http://launchpad.net/~ubuntu-core-dev|ubuntu-core-dev]]), or follow the [[SponsorshipProcess]]. Please close the bug from the upload, where possible.

References:
 * [[https://bugs.launchpad.net/~ubuntu-release/+subscribedbugs|Open requests]]
 * [[https://lists.ubuntu.com/archives/ubuntu-motu/2006-February/000545.html|Original announcement]]

=== FeatureFreeze for bugfix-only updates ===

Up through RC, if a developer believes an upload of a new upstream release that just has bug fixes in it is warranted, they may upload it. The developer should explicitly document that this is a bugfix-only upload in the changelog or sync request.

If you have doubts about if something qualifies, check with a member of ubuntu-release (or subscribe ubuntu-release to the bug) and if one person from ubuntu-release agrees it's a bug fix update, you're good for upload.

=== FeatureFreeze for new packages ===

New source packages in the archive do not require feature freeze exceptions, as they must be explicitly opted into by users. For NEW uploads which are not syncs from Debian, please make sure you have the agreement of a member of ~ubuntu-archive to perform the necessary queue reviews before you upload.

However, at the point where you integrate the new package into an existing one (e.g. adding a dependency or turning on a feature) or add it to a seed, feature freeze begins to apply and you must seek an exception. This is the point at which risk is added to people who didn't explicitly choose it.
Line 28: Line 75:
The exception request bug report needs to have a justification why the user interface needs to be changed at that point, and give a rationale why the benefits of it are worth breaking existing documenation and translations. The exception request bug report needs to have a justification why the user interface needs to be changed at that point, and give a rationale why the benefits of it are worth breaking existing documentation and translations.
Line 30: Line 77:
Every change of the user interface (either a string or the layout) requires you to notify the [https://lists.ubuntu.com/mailman/listinfo/ubuntu-doc documentation] and [https://lists.ubuntu.com/mailman/listinfo/ubuntu-translators translation] teams. Please include a link to these posts in the mailing list archives of [https://lists.ubuntu.com/archives/ubuntu-doc/ ubuntu-doc@] and [https://lists.ubuntu.com/archives/ubuntu-translators/ ubuntu-translators@]. Every change of the user interface (either a string or the layout) requires you to notify the [[https://lists.ubuntu.com/mailman/listinfo/ubuntu-doc|documentation]] and [[https://lists.ubuntu.com/mailman/listinfo/ubuntu-translators|translation]] teams. Please add links to your posts in the [[https://lists.ubuntu.com/archives/ubuntu-doc/|ubuntu-doc@]] and [[https://lists.ubuntu.com/archives/ubuntu-translators/|ubuntu-translators@]] mailing list archives to the bug.
Line 43: Line 90:
== Packageset FFe Delegations ==

From time to time the `ubuntu-release` team will delegate the responsibility of reviewing Feature Freeze exceptions for a packageset to one or more designated individuals that are not members of the Release Team. Delegates are expected to be Ubuntu Developers with upload rights to the packageset in question who have a good working relationship with the Release Team and have demonstrated a clear understanding of the freeze guidelines.

For the `kubuntu-desktop` packageset in Ubuntu 20.04, the Release Team delegates FFe-granting authority to
[[https://launchpad.net/~rikmills|Rik Mills (~rikmills)]] and [[https://launchpad.net/~tsimonq2|Simon Quigley (~tsimonq2)]].
Line 44: Line 98:

=== FeatureFreeze for new upstream versions ===

If you want to introduce a new upstream version with new features and/or ABI/API changes, please

 * [https://launchpad.net/ubuntu/+filebug file a bug]
 * '''state the reason why you feel it is necessary'''
  * (other bugs it fixes, etc.)
 * attach (as files)
  * diffstat of the upstream tarballs {{{
diff -ruN <package>-{old-version,new-version} | diffstat > diffstat.txt
}}}
  * diff of the '''Upstream''' ChangeLog ''(not `debian/changelog`)'' {{{
diff -u <package>-{old-version,new-version}/ChangeLog > changelog.diff
}}}
  * note that the `ChangeLog` sometimes is called `CHANGES`, is missing or the tarball merely has a `NEWS` file.
  * this does not mean `debian/changelog`
  * the `NEWS` file, if you think that this information helps reviewing your request (true for most gnome packages)
  * build log (as file)
   * `pbuilder` has the `--logfile` option.
  * install log
   * for instance a copy and paste of the install messages from console when installing
  * mention what testing you've done to see that it works
   * a screenshot showing the main features could also be nice
 * subscribe (not assign) it to the '`motu-release`' team.
 * In some cases a standing freeze exception for multiple uploads is the most efficient way to manage the freeze process. Standing freeze exceptions should be requested in bugs using the normal process, although not all elements of a standard FFe request will apply. Once a standing FFe is approved (2 motu-release acks), it must be documented on the [wiki:StandingFeatureFreeze Standing Feature Freeze Exception] page.

Please note that we expect requesters to have an updated package already prepared and tested! You will need this anyway to provide proper diffstats and buildlogs.

Once one of the [https://launchpad.net/~motu-release team members] marks the bug as `Confirmed` you can either proceed with uploading (in case you're in [http://launchpad.net/~motu motu] or [http://launchpad.net/~ubuntu-core-dev ubuntu-core-dev]), else please follow ["SponsorshipProcess"].

References:
 * [https://bugs.launchpad.net/~motu-release/+subscribedbugs Open requests]
 * [https://lists.ubuntu.com/archives/ubuntu-motu/2006-February/000545.html Original announcement]
 * UniverseFreeze


=== FeatureFreeze for new packages ===

The `motu-release` team will consider exceptions, where additions of packages are worthwhile (up until BetaFreeze). Please note: the `motu-release` team will not review the package for you. You should have followed [:UbuntuDevelopment/NewPackages] before asking for an exception.

Process:
 * Follow [:UbuntuDevelopment#NewPackages].
 * File a bug, attach the source package to it (or link to it).
 * subscribe (not assign) the bug to `motu-release`.
 * State '''why''' the addition of the package should get considered.

Decision: ["MOTU/Council/Meetings/2007-02-23"].
The FreezeExceptionProcess is the same for Universe/Multiverse as for Main/Restricted, except where explained below.
Line 95: Line 102:
During the last week of development before the release, all uploads need to get approved by the release team. Usually they ask a MOTU team for approval of Universe and Multiverse packages. During the last week of development before the release, all uploads need to get approved by the release team.
Line 98: Line 105:
 * Either file a bug with the debdiff and assign it to `motu-release` and get approval for it.
 * Or ask a member of the `motu-release` [http://launchpad.net/~motu-release team] on IRC of approval for the debdiff.
 * Either file a bug with the debdiff and assign it to `ubuntu-release` and get approval for it.
 * Or ask a member of the `ubuntu-release` [[http://launchpad.net/~ubuntu-release|team]] on IRC of approval for the debdiff.
Line 101: Line 108:
Decision: ["MOTU/Council/Meetings/2007-02-23"]. Decision: [[MOTU/Council/Meetings/2007-02-23]].
Line 104: Line 111:
["CategoryProcess"] [[CategoryProcess]]

As with most rules, there are occasional exceptions to the restrictions imposed by the various stages of the Ubuntu release process. These exceptions are granted by the release team based on information provided by the developer who proposes the change.

General Instructions

Requests for freeze exceptions should be filed as bugs in launchpad against the relevant package (or just "Ubuntu" if the package is not available yet). The bug should be set to status of "New" when requesting a freeze exception, to ensure the release team sees the request. Once the bug is filed and the necessary information is available, subscribe ubuntu-release. All freeze exceptions must include the following information, in order to provide them with enough information to weigh the risk of regressions against the benefit of the changes:

  • A description of the proposed changes, with sufficient detail to estimate their potential impact on the distribution
  • A rationale for the exception, explaining the benefit of the change
  • Any additional information which would be helpful in considering the decision

FeatureFreeze Exceptions

A request for an exception to FeatureFreeze should demonstrate that the benefit of new functionality, or the total benefit of a new upstream release which includes it, outweighs the risk of regressions and other potential disruption of the release process.

Exception requests must include the following additional details:

  • If the upload is a new upstream microrelease, the relevant part of the upstream changelog and/or release notes
  • An explanation of the testing which has been performed on the new version in Ubuntu, including verification that the new package:
    • builds,
    • installs and upgrades,
    • does not break packages which depend on it, or that corresponding updates have been prepared.

FeatureFreeze for new upstream versions

If you want to introduce a new upstream version with new features and/or ABI/API changes, please

  • If you do not have a bug, create a new bug under your package. ex: https://bugs.launchpad.net/ubuntu/+source/<PACKAGE>/+filebug

  • If the exception is related to an existing bug, you may reuse the bug.
    • add [FFE] to the bug summary (large title)
    • add an FFE stanza to the description starting with ## FFE ##
    • add the information below
  • state the reason why you feel it is necessary

    • (other bugs it fixes, etc.)
  • attach (as files)
    • diff of the Upstream ChangeLog (not debian/changelog)

      diff -u <package>-{old-version,new-version}/ChangeLog > changelog.diff
    • note that the ChangeLog sometimes is called CHANGES, is missing or the tarball merely has a NEWS file.

    • the NEWS file, if you think that this information helps reviewing your request (true for most gnome packages)

    • build log (as file)
      • pbuilder has the --logfile option.

      • pbuilder-dist and cowbuilder-dist automatically save it as last_operation.log.

    • install log
      • for instance a copy and paste of the install messages from console when installing
    • mention what testing you've done to see that it works
      • a screenshot showing the main features could also be nice
  • subscribe (do not assign to) the 'ubuntu-release' team.

Please note that we expect requesters to have an updated package already prepared and tested! You will need this anyway to provide proper build logs.

Once the Feature Freeze Exception has been ACK'd by a member of the Release Team, the status will be changed to TRIAGED. You can then either upload the package (in case you're in motu or ubuntu-core-dev), or follow the SponsorshipProcess. Please close the bug from the upload, where possible.

References:

FeatureFreeze for bugfix-only updates

Up through RC, if a developer believes an upload of a new upstream release that just has bug fixes in it is warranted, they may upload it. The developer should explicitly document that this is a bugfix-only upload in the changelog or sync request.

If you have doubts about if something qualifies, check with a member of ubuntu-release (or subscribe ubuntu-release to the bug) and if one person from ubuntu-release agrees it's a bug fix update, you're good for upload.

FeatureFreeze for new packages

New source packages in the archive do not require feature freeze exceptions, as they must be explicitly opted into by users. For NEW uploads which are not syncs from Debian, please make sure you have the agreement of a member of ~ubuntu-archive to perform the necessary queue reviews before you upload.

However, at the point where you integrate the new package into an existing one (e.g. adding a dependency or turning on a feature) or add it to a seed, feature freeze begins to apply and you must seek an exception. This is the point at which risk is added to people who didn't explicitly choose it.

UserInterfaceFreeze Exceptions

The exception request bug report needs to have a justification why the user interface needs to be changed at that point, and give a rationale why the benefits of it are worth breaking existing documentation and translations.

Every change of the user interface (either a string or the layout) requires you to notify the documentation and translation teams. Please add links to your posts in the ubuntu-doc@ and ubuntu-translators@ mailing list archives to the bug.

After that, subscribe the release team, as usual.

Milestone freeze Exceptions (like BetaFreeze)

During milestone/final release freeze periods, extreme caution is exercised when considering exceptions, as a regression could cause a deadline to be missed, or a build to receive less testing than desired. A request for an exception must demonstrate strong rationale and minimal risk for the update to be considered.

Exception requests must include the following additional details:

  • It must fix a bug milestoned for that particular milestone.
  • A complete debdiff of the proposed upload must be provided (preferably as bug attachment).

Packageset FFe Delegations

From time to time the ubuntu-release team will delegate the responsibility of reviewing Feature Freeze exceptions for a packageset to one or more designated individuals that are not members of the Release Team. Delegates are expected to be Ubuntu Developers with upload rights to the packageset in question who have a good working relationship with the Release Team and have demonstrated a clear understanding of the freeze guidelines.

For the kubuntu-desktop packageset in Ubuntu 20.04, the Release Team delegates FFe-granting authority to Rik Mills (~rikmills) and Simon Quigley (~tsimonq2).

Exceptions for Universe/Multiverse

The FreezeExceptionProcess is the same for Universe/Multiverse as for Main/Restricted, except where explained below.

Milestone Freeze

During the last week of development before the release, all uploads need to get approved by the release team.

Process:

  • Either file a bug with the debdiff and assign it to ubuntu-release and get approval for it.

  • Or ask a member of the ubuntu-release team on IRC of approval for the debdiff.

Decision: MOTU/Council/Meetings/2007-02-23.


CategoryProcess

FreezeExceptionProcess (last edited 2025-09-19 15:25:44 by sally-makin)