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 [[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: * 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 * [[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) * diff of the '''Upstream''' ChangeLog ''(not `debian/changelog`)'' {{{ diff -u -{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. == 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 [[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. 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 [[https://launchpad.net/~rikmills|Rik Mills (~rikmills)]] and [[https://launchpad.net/~tsimonq2|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` [[http://launchpad.net/~ubuntu-release|team]] on IRC of approval for the debdiff. Decision: [[MOTU/Council/Meetings/2007-02-23]]. ---- [[CategoryProcess]]