In our Operator metadata for 3.4 and 3.5 we currently use skipRange to control the layout of the update path. This allows users switching from quay-3.3 to the quay-3.4 channel to automatically get updated to the latest 3.4.x version instead of 3.4.0 and then manually updating through each of the released patch releases.
It also has the undesired side effect that previously released 3.4.x patch released will be truncated from the graph. A customer trying to install anything older than the latest release in the quay-3.4 or quay-3.5 channel are going to fail.
To correct that all existing CSV manifests except those for quay-operator.v3.4.0 and quay-operator.v3.5.0 need to their metadata to look like the following:
- keep the current skipRange notification, e.g. for a particular 3.4.n it's always skipRange: >=3.3.x <3.4.n
- add an additional property, e.g. for a particular 3.4.n release: spec.replaces: quay-operator.v3.4.(n-1) (replace n-1 with the actual release number) so the Operator version is also configured to directly replace the previous version
The latter change will avoid non-channel heads from disappearing. We need to do these changes in all existing metadata for all 3.4 and 3.5 patch releases and adhere to the pattern for all future releases as well.