Skip to content

Comments

NO-JIRA: Prepare for 4.22-prerelease.1 release#15933

Merged
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
logonoff:4.21-prerelease.1
Jan 21, 2026
Merged

NO-JIRA: Prepare for 4.22-prerelease.1 release#15933
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
logonoff:4.21-prerelease.1

Conversation

@logonoff
Copy link
Member

@logonoff logonoff commented Jan 20, 2026

Summary by CodeRabbit

  • Documentation
    • Updated changelogs with release dates and refined formatting for breaking changes
    • Restructured README to highlight upgrade processes and PatternFly guidance while removing historical version details
    • Added comprehensive release notes for SDK versions 4.14 through 4.22, documenting shared module updates, deprecations, and CSP changes
    • Removed legacy upgrade documentation

✏️ Tip: You can customize this high-level summary in your review settings.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jan 20, 2026
@openshift-ci-robot
Copy link
Contributor

@logonoff: This pull request explicitly references no jira issue.

Details

In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot added component/sdk Related to console-plugin-sdk approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Jan 20, 2026
@logonoff
Copy link
Member Author

/label px-approved
/verified bypass

@openshift-ci openshift-ci bot added the px-approved Signifies that Product Support has signed off on this PR label Jan 20, 2026
@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jan 20, 2026
@openshift-ci-robot
Copy link
Contributor

@logonoff: The verified label has been added.

Details

In response to this:

/label px-approved
/verified bypass

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

@logonoff: This pull request explicitly references no jira issue.

Details

In response to this:

Summary by CodeRabbit

  • Documentation
  • Updated changelogs with release dates and refined formatting for breaking changes
  • Restructured README to highlight upgrade processes and PatternFly guidance while removing historical version details
  • Added comprehensive release notes for SDK versions 4.14 through 4.22, documenting shared module updates, deprecations, and CSP changes
  • Removed legacy upgrade documentation

✏️ Tip: You can customize this high-level summary in your review settings.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Jan 20, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 20, 2026

📝 Walkthrough

Walkthrough

This pull request restructures the console-dynamic-plugin-sdk documentation by consolidating version-specific upgrade and deprecation guidance into individual release notes files (4.14 through 4.22). The main README is substantially simplified by removing extensive version-pattern compatibility tables, CSP change logs, and deprecation details. Changelogs are updated with a concrete prerelease date and TypeScript minimum version requirement. Legacy upgrade guide files are deleted. Release notes now serve as the authoritative source for version-specific changes, PatternFly compatibility, and migration paths.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The PR title accurately reflects the primary objective: preparing documentation and changelogs for the 4.22-prerelease.1 release, with date updates and breaking change documentation.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 11

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-core.md (1)

29-29: Chronological inconsistency in changelog ordering.

This entry shows 4.21.0-prerelease.1 - 2025-12-04, which is chronologically later than the 4.22.0-prerelease.1 - 2025-01-20 entry above (line 13). This violates semantic versioning expectations where 4.22 should come after 4.21 in time.

If the date on line 13 should actually be 2026-01-20, then this would make chronological sense (4.21 in Dec 2025, followed by 4.22 in Jan 2026).

🤖 Fix all issues with AI agents
In `@frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-core.md`:
- Line 13: Update the mistaken changelog header entry: replace the existing
heading "## 4.22.0-prerelease.1 - 2025-01-20" with "## 4.21.0-prerelease.1 -
2026-01-20" in CHANGELOG-core.md (ensure you update the heading text only), and
then check for the existing "4.21.0-prerelease.1" entry later in the file to
decide whether to consolidate or keep both entries as separate prerelease
iterations before committing.

In `@frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md`:
- Line 13: The changelog header currently reads "## 4.22.0-prerelease.1 -
2025-01-20" which mismatches the PR title and current date; update the header in
frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md to the correct
version "4.21-prerelease.1" (matching the PR title) and set the date to today
"2026-01-20", and ensure it matches the corresponding entry in CHANGELOG-core.md
for consistency.
- Line 18: The changelog entry "4.21.0-prerelease.1 - 2025-12-04" is
chronologically out of order relative to "4.22.0-prerelease.1 - 2025-01-20";
update the changelog by correcting the date or moving the "4.21.0-prerelease.1 -
2025-12-04" line so entries are in descending chronological/version order—locate
the string "4.21.0-prerelease.1 - 2025-12-04" in CHANGELOG-webpack.md and either
fix its date to the correct earlier date or reorder it beneath entries for later
versions like "4.22.0-prerelease.1 - 2025-01-20".

In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.14.md`:
- Around line 9-16: Update the "PatternFly 4" block in the release notes by
removing the incorrect shared-module entries `@patternfly/react-core`,
`@patternfly/react-table`, and `@patternfly/quickstarts` and either delete the
entire PatternFly 4 section or replace it with a single, accurate statement that
Console only shares `@patternfly/react-topology` (as declared in
shared-modules-meta.ts) and that plugins must bundle any other PatternFly
packages themselves; locate the "PatternFly 4" heading and the listed bullet
items in the release-notes content and make the change there.

In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.15.md`:
- Line 1: The release note heading is wrong: in release-notes/4.15.md the
markdown header reads "# 4.14 Release Notes"; update that header to "# 4.15
Release Notes" so the file name and top-level heading match (search for the
header string "4.14 Release Notes" and replace it with "4.15 Release Notes").
- Line 13: Replace the unhyphenated phrase "PatternFly related" in the release
note sentence "Any PatternFly related code should be imported via the
corresponding package index:" with the grammatically correct hyphenated form
"PatternFly-related" so the sentence reads "Any PatternFly-related code should
be imported via the corresponding package index:"; update the text in the
release-notes/4.15.md file where that exact phrase appears.

In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.16.md`:
- Around line 6-7: Update the two deprecation lines to use the hyphenated
compound adjective "Console-provided" instead of "Console provided";
specifically change the PatternFly 4.x deprecation line ("All Console provided
PatternFly 4.x shared modules are deprecated...") and the React Router v5
deprecation line ("All Console provided React Router v5 shared modules are
deprecated...") so both read "All Console-provided ... shared modules are
deprecated and will be removed in the future."

In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.18.md`:
- Around line 29-30: Update the sentence containing "CSP related issues in
future" to read "CSP-related issues in the future": add the hyphen to form the
compound adjective "CSP-related" and insert "the" before "future" to match US
English usage, replacing the original phrase exactly.

In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.19.md`:
- Around line 55-58: Split the combined bullet into two separate bullets: one
stating "Removed styling for generic HTML heading elements (e.g., <h1>). Use
PatternFly components to achieve correct styling." and a second stating "Removed
styling for generic HTML description list elements (e.g., <dl>, <dt>, <dd>). Use
PatternFly components to achieve correct styling.", making sure each removal is
its own list item so headings (<h1>) and description list tags (<dl>, <dt>,
<dd>) are clearly separated.

In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.20.md`:
- Line 12: Update the 4.20 release notes entry for the removed `co-disabled`
styling to include concise migration guidance: mention using PatternFly
component props like isDisabled (e.g., Button, Form controls) and relevant
PatternFly utility classes for disabled visuals, provide one or two short
example patterns (prop usage and an equivalent utility-class approach), and add
a brief note for plugin authors to audit custom CSS that targeted `.co-disabled`
and replace it with the PatternFly alternatives.

In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.21.md`:
- Around line 1-3: The release notes file is missing detailed 4.21 deprecations,
breaking changes, features, PatternFly guidance, and prerelease metadata; update
release-notes/4.21.md to mirror the structure used in 4.19/4.20 by adding a
"Deprecations" section noting that setPluginStore is now a noop and will be
removed, a "Type breaking changes" section documenting the popupComponent prop
type fix in console.dashboards/overview/health/resource and the removal of
AlwaysOnExtension and ModelDefinition from api/common-types, a "New features and
enhancements" section describing async function support for
topology/data/factory resources, the fetch property for health/url extension,
and color theme & font size customization in ResourceYAMLEditor, a "PatternFly 6
guidance" note recommending plugin targeting of PatternFly 6, and prerelease
metadata (version number and prerelease date) consistent with
4.21.0-prerelease.1; keep headings and upgrade guidance consistent with the
4.19/4.20 format so consumers can find deprecations, breaking changes, and
upgrade steps easily.
🧹 Nitpick comments (4)
frontend/packages/console-dynamic-plugin-sdk/release-notes/4.19.md (2)

9-10: Consider simplifying phrasing (optional).

"in order to consume" can be simplified to "to consume" for conciseness.

✏️ Optional simplification
 - `react-router-dom-v5-compat` shared module is deprecated and will be removed in the future. Plugins
-  should continue using `react-router-dom-v5-compat` module in order to consume React Router v6 APIs.
+  should continue using `react-router-dom-v5-compat` module to consume React Router v6 APIs.

5-6: Consider clarifying PatternFly migration timeline (optional).

The notes mention that Console uses PF 6.x while providing PF 5.x styles for compatibility, recommend upgrading to PF 6.x, and deprecate PF 5.x support. Plugin developers might benefit from understanding what happens to PF 5.x-based plugins after the deprecation period ends—whether they'll break or degrade gracefully.

Also applies to: 35-37, 46-46

frontend/packages/console-dynamic-plugin-sdk/README.md (1)

129-143: Strong improvement: Consolidated upgrade guidance.

Replacing scattered version tables and deprecation notes with clear "How to upgrade" and "PatternFly" sections significantly improves developer experience. Directing users to release notes for version-specific guidance is a better pattern than maintaining duplicate documentation.

This aligns with architectural best practices for documentation maintenance and reduces the burden of keeping multiple sources of truth synchronized.

Consider adding a brief example or link showing the typical upgrade workflow (e.g., "update package.json → check release notes → run migrations") to help first-time upgraders.

frontend/packages/console-dynamic-plugin-sdk/release-notes/4.14.md (1)

17-24: LGTM — Consider enhancing with rationale for better developer understanding.

The import guidance correctly discourages deep imports in favor of package-root imports, which aligns with PatternFly best practices and enables optimal tree-shaking.

Consider optionally adding a brief explanation of the benefits (tree-shaking, smaller bundles, resilience to internal package restructuring) to help plugin developers understand the performance and maintainability implications.

📚 Optional enhancement: Add rationale to import guidance
 When using code from these packages, make sure to import directly from the package index:
+This ensures optimal tree-shaking and reduces bundle size while avoiding coupling to internal package structure.
 
 ```ts
 // Do _not_ do this:
 import { Button } from '@patternfly/react-core/dist/esm/components/Button';
 // Instead, do this:
 import { Button } from '@patternfly/react-core';
</details>

</blockquote></details>

</blockquote></details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

table in [Console dynamic plugins README](./README.md).

## 4.22.0-prerelease.1 - TBD
## 4.22.0-prerelease.1 - 2025-01-20
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# Search for PR metadata and git information
cd frontend/packages/console-dynamic-plugin-sdk
pwd
git log --oneline -n 20 -- CHANGELOG-core.md

Repository: openshift/console

Length of output: 178


🏁 Script executed:

# Read the full CHANGELOG-core.md to understand context and version patterns
head -50 frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-core.md

Repository: openshift/console

Length of output: 178


🏁 Script executed:

# Check if there's any PR title or branch info available
cd frontend/packages/console-dynamic-plugin-sdk
git branch -v 2>/dev/null || echo "No branch info"
git log -1 --format="%s%n%b" -- CHANGELOG-core.md 2>/dev/null || echo "No commit message"

Repository: openshift/console

Length of output: 430


🏁 Script executed:

head -60 frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-core.md

Repository: openshift/console

Length of output: 4251


Critical: Fix version and date in changelog entry.

The changelog shows 4.22.0-prerelease.1 with date 2025-01-20, but the commit message indicates this PR prepares for 4.21-prerelease.1, and today's date is 2026-01-20.

Update line 13 to: ## 4.21.0-prerelease.1 - 2026-01-20

Note: The changelog already contains a 4.21.0-prerelease.1 entry dated 2025-12-04 below this one. Verify whether you need to consolidate entries or if this is a new prerelease iteration.

🤖 Prompt for AI Agents
In `@frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-core.md` at line 13,
Update the mistaken changelog header entry: replace the existing heading "##
4.22.0-prerelease.1 - 2025-01-20" with "## 4.21.0-prerelease.1 - 2026-01-20" in
CHANGELOG-core.md (ensure you update the heading text only), and then check for
the existing "4.21.0-prerelease.1" entry later in the file to decide whether to
consolidate or keep both entries as separate prerelease iterations before
committing.

table in [Console dynamic plugins README](./README.md).

## 4.22.0-prerelease.1 - TBD
## 4.22.0-prerelease.1 - 2025-01-20
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Critical: Version and date mismatch with PR title.

Same issue as in CHANGELOG-core.md: the PR title indicates 4.21-prerelease.1, but this shows 4.22.0-prerelease.1, and the date 2025-01-20 appears to be one year in the past (today is 2026-01-20).

🤖 Prompt for AI Agents
In `@frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md` at line
13, The changelog header currently reads "## 4.22.0-prerelease.1 - 2025-01-20"
which mismatches the PR title and current date; update the header in
frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md to the correct
version "4.21-prerelease.1" (matching the PR title) and set the date to today
"2026-01-20", and ensure it matches the corresponding entry in CHANGELOG-core.md
for consistency.

- **Breaking**: Minimum compatible version of `webpack` increased to `^5.100.0` ([CONSOLE-3769], [#15945])
- **Breaking**: Minimum compatible version of `typescript` increased to `^5.9.3` ([CONSOLE-3769], [#15945])

## 4.21.0-prerelease.1 - 2025-12-04
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Chronological inconsistency in changelog ordering.

Same issue as CHANGELOG-core.md: 4.21.0-prerelease.1 - 2025-12-04 is dated after 4.22.0-prerelease.1 - 2025-01-20, which violates expected version chronology.

🤖 Prompt for AI Agents
In `@frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md` at line
18, The changelog entry "4.21.0-prerelease.1 - 2025-12-04" is chronologically
out of order relative to "4.22.0-prerelease.1 - 2025-01-20"; update the
changelog by correcting the date or moving the "4.21.0-prerelease.1 -
2025-12-04" line so entries are in descending chronological/version order—locate
the string "4.21.0-prerelease.1 - 2025-12-04" in CHANGELOG-webpack.md and either
fix its date to the correct earlier date or reorder it beneath entries for later
versions like "4.22.0-prerelease.1 - 2025-01-20".

Comment on lines +9 to +16
### PatternFly 4

Console provides the following PatternFly 4.x shared modules to plugins:

- `@patternfly/react-core`
- `@patternfly/react-table`
- `@patternfly/quickstarts`

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# Find webpack, federation, or shared module configuration files
fd -e 'js' -e 'ts' -e 'json' . frontend/packages/console-dynamic-plugin-sdk --type f | grep -E '(webpack|federation|shared|plugin)' | head -20

Repository: openshift/console

Length of output: 178


🏁 Script executed:

# Search for PatternFly package references in configuration context
rg -l '@patternfly' frontend/packages/console-dynamic-plugin-sdk --type=js --type=ts --type=json | head -20

Repository: openshift/console

Length of output: 1413


🏁 Script executed:

# Look specifically for shared module declarations in webpack or federation configs
rg -n 'shared.*:.*{' -A 10 --type=ts --type=js | grep -E '(patternfly|react-core|react-table|quickstarts)' -B 5 -A 2 | head -50

Repository: openshift/console

Length of output: 148


🏁 Script executed:

# Check the actual file structure of the console-dynamic-plugin-sdk package
ls -la frontend/packages/console-dynamic-plugin-sdk/

Repository: openshift/console

Length of output: 1207


🏁 Script executed:

# Examine the shared modules metadata file
cat -n frontend/packages/console-dynamic-plugin-sdk/src/shared-modules/shared-modules-meta.ts

Repository: openshift/console

Length of output: 2399


🏁 Script executed:

# Check the ConsoleRemotePlugin for webpack shared module configuration
head -200 frontend/packages/console-dynamic-plugin-sdk/src/webpack/ConsoleRemotePlugin.ts | cat -n

Repository: openshift/console

Length of output: 8499


🏁 Script executed:

# Look at the 4.14 release notes file directly
cat -n frontend/packages/console-dynamic-plugin-sdk/release-notes/4.14.md

Repository: openshift/console

Length of output: 991


Remove inaccurate PatternFly 4 shared module claims from release notes.

Lines 9-16 incorrectly list @patternfly/react-core, @patternfly/react-table, and @patternfly/quickstarts as shared modules. According to shared-modules-meta.ts, only @patternfly/react-topology is actually shared by Console with plugins. The release notes must be corrected to prevent plugin developers from relying on unavailable modules. Either remove this section entirely or clarify that only @patternfly/react-topology is provided, while other PatternFly packages must be bundled by plugins themselves.

🤖 Prompt for AI Agents
In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.14.md` around
lines 9 - 16, Update the "PatternFly 4" block in the release notes by removing
the incorrect shared-module entries `@patternfly/react-core`,
`@patternfly/react-table`, and `@patternfly/quickstarts` and either delete the
entire PatternFly 4 section or replace it with a single, accurate statement that
Console only shares `@patternfly/react-topology` (as declared in
shared-modules-meta.ts) and that plugins must bundle any other PatternFly
packages themselves; locate the "PatternFly 4" heading and the listed bullet
items in the release-notes content and make the change there.

@@ -0,0 +1,34 @@
# 4.14 Release Notes
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix release note header version to match file name.
The file is 4.15.md but the heading says “4.14 Release Notes,” which is likely to confuse readers.

🔧 Suggested fix
-# 4.14 Release Notes
+# 4.15 Release Notes
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# 4.14 Release Notes
# 4.15 Release Notes
🤖 Prompt for AI Agents
In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.15.md` at line
1, The release note heading is wrong: in release-notes/4.15.md the markdown
header reads "# 4.14 Release Notes"; update that header to "# 4.15 Release
Notes" so the file name and top-level heading match (search for the header
string "4.14 Release Notes" and replace it with "4.15 Release Notes").

Comment on lines +6 to +7
- All Console provided PatternFly 4.x shared modules are deprecated and will be removed in the future.
- All Console provided React Router v5 shared modules are deprecated and will be removed in the future.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix hyphenation in compound adjectives.

Both lines use "Console provided" but should use "Console-provided" (hyphenated) when modifying a noun. This applies to both the PatternFly 4.x and React Router v5 deprecation notices.

📝 Proposed fix
-- All Console provided PatternFly 4.x shared modules are deprecated and will be removed in the future.
-- All Console provided React Router v5 shared modules are deprecated and will be removed in the future.
+- All Console-provided PatternFly 4.x shared modules are deprecated and will be removed in the future.
+- All Console-provided React Router v5 shared modules are deprecated and will be removed in the future.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- All Console provided PatternFly 4.x shared modules are deprecated and will be removed in the future.
- All Console provided React Router v5 shared modules are deprecated and will be removed in the future.
- All Console-provided PatternFly 4.x shared modules are deprecated and will be removed in the future.
- All Console-provided React Router v5 shared modules are deprecated and will be removed in the future.
🧰 Tools
🪛 LanguageTool

[grammar] ~6-~6: Use a hyphen to join words.
Context: ...act-helmet` shared module. - All Console provided PatternFly 4.x shared modules a...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.16.md` around
lines 6 - 7, Update the two deprecation lines to use the hyphenated compound
adjective "Console-provided" instead of "Console provided"; specifically change
the PatternFly 4.x deprecation line ("All Console provided PatternFly 4.x shared
modules are deprecated...") and the React Router v5 deprecation line ("All
Console provided React Router v5 shared modules are deprecated...") so both read
"All Console-provided ... shared modules are deprecated and will be removed in
the future."

Comment on lines +29 to +30
In a future release, Console will begin enforcing CSP. Consider testing and preparing your
plugins now to avoid CSP related issues in future.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammar for professional documentation.

"CSP related issues in future" should be "CSP-related issues in the future" (hyphenate compound adjective, use US English).

📝 Proposed grammar fix
 In a future release, Console will begin enforcing CSP. Consider testing and preparing your
-plugins now to avoid CSP related issues in future.
+plugins now to avoid CSP-related issues in the future.
🧰 Tools
🪛 LanguageTool

[grammar] ~30-~30: Use a hyphen to join words.
Context: ... preparing your plugins now to avoid CSP related issues in future.

(QB_NEW_EN_HYPHEN)


[locale-violation] ~30-~30: The phrase ‘in future’ is British English. Did you mean: “in the future”?
Context: ...plugins now to avoid CSP related issues in future.

(IN_FUTURE)

🤖 Prompt for AI Agents
In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.18.md` around
lines 29 - 30, Update the sentence containing "CSP related issues in future" to
read "CSP-related issues in the future": add the hyphen to form the compound
adjective "CSP-related" and insert "the" before "future" to match US English
usage, replacing the original phrase exactly.

Comment on lines 55 to 58
- Removed styling for generic HTML heading elements (e.g., `<h1>`). Use PatternFly components to achieve
correct styling.
Removed styling for generic HTML description list elements (e.g., `<dl>`, `<dt>`, `<dd>`). Use PatternFly
components to achieve correct styling.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix formatting: separate bullet points.

Lines 57-58 contain two distinct removals concatenated into a single bullet. Split into separate bullets for clarity.

📝 Proposed formatting fix
 - Removed styling for generic HTML heading elements (e.g., `<h1>`). Use PatternFly components to achieve
   correct styling.
-  Removed styling for generic HTML description list elements (e.g., `<dl>`, `<dt>`, `<dd>`). Use PatternFly
-  components to achieve correct styling.
+- Removed styling for generic HTML description list elements (e.g., `<dl>`, `<dt>`, `<dd>`). Use PatternFly
+  components to achieve correct styling.
 - Removed `co-m-horizontal-nav` styling. Use [PatternFly Tabs](https://www.patternfly.org/components/tabs/)
   instead.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Removed styling for generic HTML heading elements (e.g., `<h1>`). Use PatternFly components to achieve
correct styling.
Removed styling for generic HTML description list elements (e.g., `<dl>`, `<dt>`, `<dd>`). Use PatternFly
components to achieve correct styling.
- Removed styling for generic HTML heading elements (e.g., `<h1>`). Use PatternFly components to achieve
correct styling.
- Removed styling for generic HTML description list elements (e.g., `<dl>`, `<dt>`, `<dd>`). Use PatternFly
components to achieve correct styling.
🤖 Prompt for AI Agents
In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.19.md` around
lines 55 - 58, Split the combined bullet into two separate bullets: one stating
"Removed styling for generic HTML heading elements (e.g., <h1>). Use PatternFly
components to achieve correct styling." and a second stating "Removed styling
for generic HTML description list elements (e.g., <dl>, <dt>, <dd>). Use
PatternFly components to achieve correct styling.", making sure each removal is
its own list item so headings (<h1>) and description list tags (<dl>, <dt>,
<dd>) are clearly separated.

- Removed support for the Bootstrap Grid system (`.row`, `.col-*`, etc.). Use
[PatternFly Grid](https://www.patternfly.org/layouts/grid) instead.
- Removed `co-external-link` styling. Use PatternFly Buttons with `variant="link"` instead.
- Removed `co-disabled` styling.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Provide migration guidance for co-disabled removal.

Unlike the other removed CSS features, co-disabled lacks migration guidance. Plugin developers who relied on this styling will need direction on the recommended PatternFly alternative (e.g., using isDisabled props on PatternFly components, or PatternFly utility classes).

📝 Suggested enhancement
-- Removed `co-disabled` styling.
+- Removed `co-disabled` styling. Use the `isDisabled` prop on PatternFly components or PatternFly utility classes instead.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Removed `co-disabled` styling.
- Removed `co-disabled` styling. Use the `isDisabled` prop on PatternFly components or PatternFly utility classes instead.
🤖 Prompt for AI Agents
In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.20.md` at line
12, Update the 4.20 release notes entry for the removed `co-disabled` styling to
include concise migration guidance: mention using PatternFly component props
like isDisabled (e.g., Button, Form controls) and relevant PatternFly utility
classes for disabled visuals, provide one or two short example patterns (prop
usage and an equivalent utility-class approach), and add a brief note for plugin
authors to audit custom CSS that targeted `.co-disabled` and replace it with the
PatternFly alternatives.

Comment on lines 1 to 3
# 4.21 Release Notes

This release contains no breaking changes. Existing plugins remain fully compatible without modification.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Explore release notes structure
echo "=== Release notes files in the directory ==="
fd -e md . frontend/packages/console-dynamic-plugin-sdk/release-notes/ 2>/dev/null | head -20

echo -e "\n=== Content of nearby release notes (4.20, 4.19, 4.17) ==="
for file in frontend/packages/console-dynamic-plugin-sdk/release-notes/{4.20,4.19,4.17}.md; do
  if [ -f "$file" ]; then
    echo "--- $file ---"
    cat "$file"
    echo ""
  fi
done

echo -e "\n=== CHANGELOG check for 4.21 entries ==="
fd -g "CHANGELOG*" frontend/packages/console-dynamic-plugin-sdk/ 2>/dev/null | while read f; do
  echo "File: $f"
  head -50 "$f"
done

Repository: openshift/console

Length of output: 11073


🏁 Script executed:

#!/bin/bash
# Check package.json for TypeScript version and dependencies
echo "=== Package.json info for console-dynamic-plugin-sdk ==="
fd -g "package.json" frontend/packages/console-dynamic-plugin-sdk/ -x cat 2>/dev/null | jq '{
  name,
  version,
  engines,
  peerDependencies,
  devDependencies: (if has("devDependencies") then {typescript: .devDependencies.typescript, "@types/react": .devDependencies."@types/react"} else {} end)
}'

Repository: openshift/console

Length of output: 313


🌐 Web query:

OpenShift Console 4.21 PatternFly version compatibility

💡 Result:

OpenShift Console 4.21 uses PatternFly 6 as the primary design system. Plugins and custom console UI should target PatternFly 6; older PatternFly 5 compatibility may be provided by the console for legacy plugins, but new/updated plugins should use PF6. References: Red Hat docs and OpenShift Console plugin guidance. [1][2]

Sources

  • Red Hat OpenShift Web Console (PatternFly guidance). [1]
  • openshift/console (dynamic plugin SDK / notes on PF6 + PF5 compatibility). [2]

🌐 Web query:

console-dynamic-plugin-sdk 4.21 TypeScript minimum version requirements

💡 Result:

I couldn't find any explicit "minimum TypeScript version" stated for console-dynamic-plugin-sdk (Console 4.21) in the SDK docs or package manifests I searched. Would you like me to fetch the release-4.21 package.json / tsconfig files from the OpenShift Console repo and check peerDependencies/devDependencies and tsconfig targets for an explicit TypeScript requirement?


Expand release notes with actual 4.21 deprecations, breaking changes, and features.

The release notes are incomplete relative to the 4.21.0-prerelease.1 CHANGELOG entries. The CHANGELOG-core.md documents deprecations (setPluginStore), type breaking changes (popupComponent, AlwaysOnExtension, ModelDefinition removal), and new features (async resources, color theme customization, etc.), but the release notes file omits all of this.

Add sections documenting:

  • Deprecations: setPluginStore is now a noop and will be removed in a future release
  • Type breaking changes: popupComponent prop type fix in console.dashboards/overview/health/resource, removal of AlwaysOnExtension and ModelDefinition from api/common-types
  • New features and enhancements: async function support for topology/data/factory resources, fetch property for health/url extension, color theme and font size customization in ResourceYAMLEditor
  • PatternFly 6 guidance: Confirm plugins should target PatternFly 6
  • Prerelease metadata: Include prerelease date and version number for developer reference

Follow the structure established in 4.19 and 4.20 release notes, which document breaking changes, deprecations, and upgrade paths. For a 4.21 prerelease with type breaking changes, this level of detail is essential for plugin developers.

🤖 Prompt for AI Agents
In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.21.md` around
lines 1 - 3, The release notes file is missing detailed 4.21 deprecations,
breaking changes, features, PatternFly guidance, and prerelease metadata; update
release-notes/4.21.md to mirror the structure used in 4.19/4.20 by adding a
"Deprecations" section noting that setPluginStore is now a noop and will be
removed, a "Type breaking changes" section documenting the popupComponent prop
type fix in console.dashboards/overview/health/resource and the removal of
AlwaysOnExtension and ModelDefinition from api/common-types, a "New features and
enhancements" section describing async function support for
topology/data/factory resources, the fetch property for health/url extension,
and color theme & font size customization in ResourceYAMLEditor, a "PatternFly 6
guidance" note recommending plugin targeting of PatternFly 6, and prerelease
metadata (version number and prerelease date) consistent with
4.21.0-prerelease.1; keep headings and upgrade guidance consistent with the
4.19/4.20 format so consumers can find deprecations, breaking changes, and
upgrade steps easily.

@krishagarwal278
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 20, 2026
@logonoff
Copy link
Member Author

/uncc cajieh krishagarwal278
/assign @vojtechszocs @jseseCCS

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 20, 2026

@logonoff: GitHub didn't allow me to assign the following users: jseseCCS.

Note that only openshift members with read permissions, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time.
For more information please see the contributor guide

Details

In response to this:

/uncc cajieh krishagarwal278
/assign @vojtechszocs @jseseCCS

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Jan 20, 2026
@logonoff logonoff changed the title NO-JIRA: Prepare for 4.21-prerelease.1 release NO-JIRA: Prepare for 4.22-prerelease.1 release Jan 20, 2026
Copy link

@jseseCCS jseseCCS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed user-facing release notes for 4.19 and 4.22 only per guidance from @logonoff.

Edits focus on:

  • Clarifying deprecation/removal language to avoid ambiguity
  • Aligning future-facing statements w/style guidance
  • Improving accuracy, clarity, concision
  • Ensuring consistent product naming/version-style compliance

If any of these comments apply to other release note versions in this PR, please make the same updates there for consistency.


## Changes to shared modules

> [!WARNING]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate [!WARNING] blocks? Please keep warning at lines 3–5 under title, remove second warning at lines 9–11 to avoid redundant messaging.

Also please revise for clarity and style. Suggested rewrite:

[!WARNING]
These 4.22 release notes describe features and behavior that are still in progress and might change before general availability.

## Changes to shared modules

> [!WARNING]
> There will be further upgrades to these shared modules during the development

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lines 10–11: Sentence about “further upgrades” is vague/adds little user value. Please either remove or replace w/more concise, user-focused statement. Suggested rewrite:

Additional updates to these shared modules might occur before the 4.22 release becomes generally available.

> There will be further upgrades to these shared modules during the development
> of 4.22.

- Upgraded from `react-redux` v7 to v8. Plugins must use `react-redux` v8 to be compatible

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lines 13–17: Clarify that these dependency upgrades are required for compatibility. The current wording understates breaking impact. Suggested rewrite:

  • Upgraded from react-redux v7 to v8. Plugins must use react-redux v8 to remain compatible with the Hybrid Cloud Console.
  • Upgraded from react v17 to v18. Plugins must use React 18 to remain compatible with the Hybrid Cloud Console.
  • Upgraded from react-i18next v11 to v15. Plugins must use react-i18next v15 to remain compatible with the Hybrid Cloud Console.

^^ Replace “Console” with “Hybrid Cloud Console” in this section. For user-facing content (and under most circumstances), we have to use full product name.

- Upgraded from `react-i18next` v11 to v15. Plugins must use `react-i18next` v15 to be compatible
with Console.

## React 18 upgrade tips

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lines 19–21: Revise intro sentence to distinguish React 18 change from optional guidance. Suggested rewrite:

The Hybrid Cloud Console now uses React 18. The following guidance highlights common update considerations for plugin authors.

## React 18 upgrade tips

React 18 contains several breaking changes that may affect plugins.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lines 22–24: Revise guidance to avoid implying requirement. This section is informational, no? Suggested rewrite:

When updating plugins for React 18, plugin authors might need to review and update custom hooks and effects to align with the new rendering behavior.

target OpenShift Console 4.19 and newer should upgrade to PatternFly 6.x or newer due to the design
changes made in PatternFly 6.

### Addition of `DocumentTitle` to replace `react-helmet`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

39–43: Please revise this section to remove directive language, tighten guidance. Suggested rewrite:

The react-helmet shared module was removed in OpenShift 4.16. Plugins that require document title management can use the DocumentTitle component from @openshift-console/dynamic-plugin-sdk.


- Support for PatternFly 5.x within Console is deprecated and will be removed in the future.

> [!WARNING]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

48–50: Tighten warning language for clarity/tone. Suggested rewrite:

[!WARNING]
The Hybrid Cloud Console does not support non-PatternFly CSS in plugins. The following information is provided for reference only.

- Removed `@fortawesome/font-awesome` and `openshift-logos-icon`. Plugins should use PatternFly icons
from `@patternfly/react-icons` instead. The `fa-spin` class remains but is deprecated and will be
removed in the future. Plugins should provide their own CSS to spin icons if needed.
- Removed styling for generic HTML heading elements (e.g., `<h1>`). Use PatternFly components to achieve

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

55–58: Please split into separate bullets; clarify what “Removed” refers to by making actor explicit. Suggested rewrite:

  • The Hybrid Cloud Console no longer applies styling to generic HTML heading elements (for example, <h1>). Use PatternFly components for correct styling.
  • The Hybrid Cloud Console no longer applies styling to generic HTML description list elements (for example, <dl>, <dt>, <dd>). Use PatternFly components for correct styling.

correct styling.
Removed styling for generic HTML description list elements (e.g., `<dl>`, `<dt>`, `<dd>`). Use PatternFly
components to achieve correct styling.
- Removed `co-m-horizontal-nav` styling. Use [PatternFly Tabs](https://www.patternfly.org/components/tabs/)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

59–69: These bullets repeat ambiguous “Removed …” phrasing from earlier. For user-facing clarity, please make actor explicit. Suggested pattern (global):

The Hybrid Cloud Console no longer applies styling to <element/class>. Use instead.

[PatternFly PageSection](https://www.patternfly.org/components/page#pagesection) instead.
- Removed `co-m-nav-title` spacing styling. Use
[PatternFly PageSection](https://www.patternfly.org/components/page#pagesection) instead.
- Removed `co-button-help-icon`, `co-inline`, `co-resource-list*`, `co-toolbar*` styling.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

66–67: Please make actor explicit; add consistent guidance for these bullets. Suggested rewrite:

  • The Hybrid Cloud Console no longer applies styling to co-button-help-icon, co-inline, co-resource-list, and co-toolbar. Use PatternFly components instead.
  • The Hybrid Cloud Console no longer applies styling to Bootstrap table, text-muted, and text-secondary classes. Use PatternFly components instead.

@jseseCCS
Copy link

/label docs-approved

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 21, 2026
@openshift-ci openshift-ci bot added the docs-approved Signifies that Docs has signed off on this PR label Jan 21, 2026
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 21, 2026
@logonoff logonoff force-pushed the 4.21-prerelease.1 branch 3 times, most recently from 49ec791 to 71fa6ee Compare January 21, 2026 16:57
@logonoff
Copy link
Member Author

/verified bypass

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jan 21, 2026
@openshift-ci-robot
Copy link
Contributor

@logonoff: The verified label has been added.

Details

In response to this:

/verified bypass

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Jan 21, 2026
@logonoff logonoff force-pushed the 4.21-prerelease.1 branch 5 times, most recently from 9a06ad1 to 0770da6 Compare January 21, 2026 17:23
Co-Authored-By: Vojtech Szocs <vojtech.szocs@gmail.com>
@vojtechszocs
Copy link
Contributor

/lgtm

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 21, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jseseCCS, krishagarwal278, logonoff, vojtechszocs

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 21, 2026
@logonoff
Copy link
Member Author

/verified bypass

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jan 21, 2026
@openshift-ci-robot
Copy link
Contributor

@logonoff: The verified label has been added.

Details

In response to this:

/verified bypass

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 21, 2026

@logonoff: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot openshift-merge-bot bot merged commit 2998cf8 into openshift:main Jan 21, 2026
4 checks passed
@logonoff logonoff deleted the 4.21-prerelease.1 branch January 21, 2026 17:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. component/sdk Related to console-plugin-sdk docs-approved Signifies that Docs has signed off on this PR jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. px-approved Signifies that Product Support has signed off on this PR verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants