Why do I get large updates on a freshly installed new Fedora release? (0 day updates)?

When we install a newly released version of Fedora, we immediately tend to get a rather large set of updates. Why is this?

(I couldn’t see this documented anywhere, so writing up a short blurb here).

2 Likes

During the development cycle of a Fedora release, it goes through various steps. These can be seen here in the release calendar (For Fedora 36):

https://fedorapeople.org/groups/schedule/f-36/f-36-key-tasks.html

An important requirement of the new release is that it needs to be bug-free, as much as possible. So, the community needs time to test and validate all our release artefacts. This is called the “release candidate validation”, and the plan can be seen here:

https://fedoraproject.org/wiki/QA:Release_validation_test_plan

To be able to test the set of software packages that is included in the release, it needs to be “frozen”, because if it keeps changing (as we maintainers push more and more updates), we will not be able to pin-point what version of a software package contains a bug (or the fix to a bug).

As you’ll see in the calendar, there are a few “freezes”: e.g.: the beta freeze, and the final freeze. In these freezes, “candidates” are built, and all software packages are frozen to their particular versions. The community then tests/validates the candidate(s) and file bugs and work on bug fixes etc.

Now, while these candidates are frozen, package maintainers continue to push updates. However, because of the freezes, these updates are not “released” to users—they sit in the “updates-testing” repository and wait. Once the freeze is over, they are then allowed to move from the “updates-testing” repository to the “updates” repository so that users get them. (if a package contains an important update that should be included in the candidates, we must request a “freeze exception”).


What this means is that the ISO images that are released on the release day were not actually built on that day. They were built some time ago and then thoroughly tested/validated by the community. Only when the community was satisfied that they pass the release candidates validation steps are they considered ready to be released to users. This is also why you will hear of the release being delayed—it’s because some bugs that were bad enough were not fixed and so the candidate images were not considered fit to be released.

Since the image that is released was built some time ago and the final freeze was in place, this means that all the updates that maintainers pushed during the freeze are waiting in the “updates-testing” repository. On release day, they will finally be moved to the “updates” repository.

This is why, we receive a relatively large update on release day from the “updates” repository—the “0 day updates.”


PS: @kparal @adamwill @mattdm : I hope I have this right, but please correct/clarify bits as required. I also wonder if this should be a magazine post/quick-doc or something that we can point users to each release?

7 Likes

Probably pin in the “common issue” category would be a good way to make visible while releasing F36.
Nice Job @ankursinha

2 Likes

I agree with you and you should go a step further: please include your precise explanation into “Quickdocs” so that everybody could read it and understand the background of the release management. Thank you.

1 Like