# Overview Two topics, since the relevant functionality was delivered in two parts 1. support for a new `olm.csv.metadata` FBC object to convery packagemanifest information; and 2. support to update old FBC catalogs to use the new metadata, as `opm render --migrate` # 1. packagemanifest data formats served by opm `opm serve` facilitates operator console visibility, provided by the grpc packagemanifest API. `opm` was updated to provide a more efficient FBC representation of the data in [`olm.csv.metadata`](https://olm.operatorframework.io/docs/reference/file-based-catalogs/#olmcsvmetadata), versus old [`olm.bundle.object`](https://olm.operatorframework.io/docs/reference/file-based-catalogs/#olmbundleobject-deprecated). The change was part of - [17ee584](https://github.com/openshift/operator-framework-olm/commit/17ee5843088164756281d2dba2d25726859a6461) (downstream OCP, 20July2023) - v1.28.0 [2ee231b](https://github.com/operator-framework/operator-registry/commit/2ee231b3235cb38aeb045845627a7d7ffb98d1b4) (upstream github, 6 June 2023) We maintain backwards compatibility, so all future versions can serve old/new packagemanifest data. *Older `opm` versions do not know how to serve the new format and discard it.* **Therefore, operators contributing new-format metadata in catalogsources served by older versions of opm are not visible to the console or `oc get packagemanifests cli`.** OLM does not rely on the packagemanifest data, so `opm validate` does not fail if it is missing. The current 4.15 build of ose-operator-registry provides opm 59aa935eb (correlating to [this](https://github.com/openshift/operator-framework-olm/commit/59aa935ebbe6948921ea3292603cbdce898e0091)). It is newer than [17ee584](https://github.com/openshift/operator-framework-olm/commit/17ee5843088164756281d2dba2d25726859a6461), so they generate the new `olm.csv.metadata` packagemanifest info (but can serve older `olm.bundle.object`). ## Availability - upstream - [v1.28.0](https://github.com/operator-framework/operator-registry/releases/tag/v1.28.0) or later - downstream - [ose-operator-registry:v4.14](registry.redhat.io/openshift4/ose-operator-registry:v4.14) - [ose-operator-registry-rhel9:v4.15](registry.redhat.io/openshift4/ose-operator-registry-rhel9:v4.15) # 2. opm render migrate support This was a separate PR to support `opm render --migrate` command to convert an existing FBC to the latest format. ## Availability - upstream - [operator-framework/operator-registry#1144](https://github.com/operator-framework/operator-registry/pull/1144) - [v1.30.0](https://github.com/operator-framework/operator-registry/releases/tag/v1.30.0) or later - downstream - [openshift/operator-framework-olm#581](https://github.com/openshift/operator-framework-olm/pull/581) - commit [34b7beee8caddb0256733f2f3fa79fae0f8ef163](https://github.com/openshift/operator-framework-olm/commit/34b7beee8caddb0256733f2f3fa79fae0f8ef163) - [ose-operator-registry-rhel9:v4.15](registry.redhat.io/openshift4/ose-operator-registry-rhel9:v4.15)