Versioning and OpenShift compatibility

August 11, 2026 ยท View on GitHub

OpenShift Console provides React, React Router, react-i18next, Redux, PatternFly Topology and the SDK to dynamic plugins as Module Federation singletons. These modules use allowFallback: false; the plugin cannot ship a second copy.

The versions in package.json provide TypeScript types and federation version requirements at build time. ConsoleRemotePlugin derives requiredVersion from the SDK's peerDependencies. SDK 4.22.0 was the first release to declare the shared modules as peers.

OCP 4.22 moved React from 17 to 18 and React Router from 5 to 7. A 4.22 plugin build fails on a 4.21 console because it receives the older singletons. We keep separate branches for the two console generations.

Loading checks

SettingEffect
consolePlugin.dependencies["@console/pluginAPI"]Hard gate. The console rejects a plugin outside this range.
Federation requiredVersionLogs a warning on mismatch, then loads the host singleton.
consolePlugin.latestSupportedOpenshiftVersionMetadata written to the ConsolePlugin resource. It does not gate loading.

Console runtimes

The values below come from the matching SDK package manifests.

OCPSDKReactReact RouterPF Topologyreact-i18next
4.171.6.0175.3.x5.3.011.x
4.184.18.0175.3.x (+ v5-compat 6.x)5.3.011.x
4.194.19.1175.3.x (+ v5-compat 6.x)6.2.x11.x
4.204.20.0175.3.x (+ v5-compat 6.x)6.2.x11.x
4.214.21.0175.3.x (+ v5-compat 6.x)6.2.x11.x
4.224.22.0187.13.x6.4.x16.5.x
4.23 / 5.04.23.0-prerelease.5187.18.x6.6.x16.5.x

react-router-dom-v5-compat is still shared by the 4.23 and 5.0 console branches, but is deprecated. Support ends when the console removes that share name.

Plugin streams

StreamOCPBranchReleaseImage tagspluginAPIlatestSupportedOpenshiftVersion
Current4.22+mainnone yetlatest, <git sha>>=4.22.0-04.22
Legacy4.21 and earlierrelease-0.xv0.6.0v0.6.0, release-0.x-latest, release-0.x-<git sha>*4.21

main builds against React Router 7.13.x, matching OCP 4.22.