Repository: redhat-developer/rhdh
Pull request #2808: chore(docs): add script to generate versions.md in dynamic plugins doc
Author: login: kadel
Labels: name: approved
name: lgtm
Created: 2025-04-25T12:03:28Z | Merged: 2025-05-26T14:38:56Z


## Description

- add script to generate versions.md in dynamic plugins doc
- adds github workflow that runs every time `backstage.json`, `packages/app/package.json` or `packages/backend/package.json` is updated. Workflow opens PR with updated versions.md file

## Which issue(s) does this PR fix

- Fixes https://issues.redhat.com/browse/RHIDP-7158

## PR acceptance criteria

Please make sure that the following steps are complete:

- [ ] GitHub Actions are completed and successful
- [ ] Unit Tests are updated and passing
- [ ] E2E Tests are updated and passing
- [ ] Documentation is updated if necessary (requirement for new features)
- [ ] Add a screenshot if the change is UX/UI related

## How to test changes / Special notes to the reviewer



Diff:
diff --git a/.github/workflows/update-versions.yaml b/.github/workflows/update-versions.yaml
new file mode 100644
index 0000000000..2ff3937c89
--- /dev/null
+++ b/.github/workflows/update-versions.yaml
@@ -0,0 +1,45 @@
+name: Update versions.md in Dynamic Plugins Documentation
+
+on:
+  workflow_dispatch:
+  push:
+    paths:
+      - "backstage.json"
+      - "packages/app/package.json"
+      - "packages/backend/package.json"
+
+jobs:
+  update-versions-md:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Generate token
+        id: generate-token
+        uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1.12.0
+        with:
+          app-id: ${{ secrets.RHDH_GITHUB_APP_ID }}
+          private-key: ${{ secrets.RHDH_GITHUB_APP_PRIVATE_KEY }}
+
+      - name: Checkout repository
+        uses: actions/checkout@v4
+
+      - name: Set up Node.js
+        uses: actions/setup-node@v4
+        with:
+          node-version-file: ".nvmrc"
+
+      - name: Run update-versions-doc script
+        run: node scripts/update-versions-doc.mjs docs/dynamic-plugins/versions.md
+        env:
+          GITHUB_REPOSITORY: ${{ github.repository }}
+
+      - name: Create Pull Request
+        uses: peter-evans/create-pull-request@v7
+        with:
+          token: ${{ steps.generate-token.outputs.token }}
+          commit-message: "chore(docs): Update versions.md in dynamic plugin documentation"
+          branch: update-versions-doc-${{ github.ref_name }}
+          title: "chore(docs): [${{ github.ref_name }}] Update versions.md in dynamic plugin documentation"
+          body: "Updates Version Compatibility Matrix in dynamic plugin documentation"
+          labels: "documentation"
+          signoff: true
+          delete-branch: true
diff --git a/docs/dynamic-plugins/versions.md b/docs/dynamic-plugins/versions.md
index 856518ed69..99901326fe 100644
--- a/docs/dynamic-plugins/versions.md
+++ b/docs/dynamic-plugins/versions.md
@@ -1,132 +1,270 @@
-# Version Compatibility Matrix
 
-## RHDH 1.4 (pre-release, versions can change for final release)
+## RHDH next (pre-release, versions can change for final release)
 
 <!-- source
 https://github.com/redhat-developer/rhdh/blob/main/backstage.json
 -->
 
-Based on [Backstage 1.31.3](https://backstage.io/docs/releases/v1.31.0)
+Based on [Backstage 1.36.1](https://backstage.io/docs/releases/v1.36.0)
 
 To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
 
 ```bash
-npx @backstage/create-app@0.5.17
+npx @backstage/create-app@0.5.25
 ```
 
 ### Frontend packages
 
+
 | **Package**                    | **Version** |
 | ------------------------------ | ----------- |
-| `@backstage/catalog-model`     | `1.7.0`     |
-| `@backstage/config`            | `1.2.0`     |
-| `@backstage/core-app-api`      | `1.15.0`    |
-| `@backstage/core-components`   | `0.15.0`    |
-| `@backstage/core-plugin-api`   | `1.9.4`     |
-| `@backstage/integration-react` | `1.1.32`    |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.5` |
+| `@backstage/core-components` | `0.16.4` |
+| `@backstage/core-plugin-api` | `1.10.4` |
+| `@backstage/integration-react` | `1.2.4` |
+
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/app/package.json) in the [`app`](https://github.com/redhat-developer/rhdh/tree/main/packages/app) package in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/main/packages/app) package 
+in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
 
 ### Backend packages
 
-| **Package**                                  | **Version** |
-| -------------------------------------------- | ----------- |
-| `@backstage/backend-app-api`                 | `1.0.0`     |
-| `@backstage/backend-defaults`                | `0.5.0`     |
-| `@backstage/backend-dynamic-feature-service` | `0.4.1`     |
-| `@backstage/backend-plugin-api`              | `1.0.0`     |
-| `@backstage/catalog-model`                   | `1.7.0`     |
-| `@backstage/cli-node`                        | `0.2.8`     |
-| `@backstage/config`                          | `1.2.0`     |
-| `@backstage/config-loader`                   | `1.9.1`     |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/backend/package.json) in the [`backend`](https://github.com/redhat-developer/rhdh/tree/main/packages/backend) package in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.2.0` |
+| `@backstage/backend-defaults` | `0.8.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.6.0` |
+| `@backstage/backend-plugin-api` | `1.2.0` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.13` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.6` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/main/packages/backend) package
+in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
 
-## RHDH 1.3
+## RHDH 1.6 
 
 <!-- source
-https://github.com/redhat-developer/rhdh/blob/release-1.3/backstage.json
+https://github.com/redhat-developer/rhdh/blob/release-1.6/backstage.json
 -->
 
-Based on [Backstage 1.29.2](https://backstage.io/docs/releases/v1.29.0)
+Based on [Backstage 1.36.1](https://backstage.io/docs/releases/v1.36.0)
 
-To bootstrap Backstage app that is compatible with RHDH 1.3, you can use:
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
 
 ```bash
-npx @backstage/create-app@0.5.17
+npx @backstage/create-app@0.5.25
 ```
 
 ### Frontend packages
 
+
 | **Package**                    | **Version** |
 | ------------------------------ | ----------- |
-| `@backstage/catalog-model`     | `1.5.0`     |
-| `@backstage/config`            | `1.2.0`     |
-| `@backstage/core-app-api`      | `1.14.1`    |
-| `@backstage/core-components`   | `0.14.9`    |
-| `@backstage/core-plugin-api`   | `1.9.3`     |
-| `@backstage/integration-react` | `1.1.29`    |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.5` |
+| `@backstage/core-components` | `0.16.4` |
+| `@backstage/core-plugin-api` | `1.10.4` |
+| `@backstage/integration-react` | `1.2.4` |
+
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/app/package.json) in the [`app`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/app) package in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.6/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.6/packages/app) package 
+in the `release-1.6` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.6).
 
 ### Backend packages
 
-| **Package**                                  | **Version** |
-| -------------------------------------------- | ----------- |
-| `@backstage/backend-app-api`                 | `0.8.0`     |
-| `@backstage/backend-common`                  | `0.23.3`    |
-| `@backstage/backend-defaults`                | `0.4.1`     |
-| `@backstage/backend-dynamic-feature-service` | `0.2.15`    |
-| `@backstage/backend-plugin-api`              | `0.7.0`     |
-| `@backstage/catalog-model`                   | `1.5.0`     |
-| `@backstage/cli-node`                        | `0.2.7`     |
-| `@backstage/config`                          | `1.2.0`     |
-| `@backstage/config-loader`                   | `1.8.1`     |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/backend/package.json) in the [`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/backend) package in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.2.0` |
+| `@backstage/backend-defaults` | `0.8.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.6.0` |
+| `@backstage/backend-plugin-api` | `1.2.0` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.13` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.6` |
 
-## RHDH 1.2
 
-Based on Backstage 1.26.5
-@backstage/create-app 0.5.14
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.6/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.6/packages/backend) package
+in the `release-1.6` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.6).
+
+## RHDH 1.5 
 
 <!-- source
-https://github.com/redhat-developer/rhdh/blob/1.2.x/backstage.json
+https://github.com/redhat-developer/rhdh/blob/release-1.5/backstage.json
 -->
 
-Based on [Backstage 1.26.5](https://backstage.io/docs/releases/v1.26.0)
+Based on [Backstage 1.35.1](https://backstage.io/docs/releases/v1.35.0)
 
-To bootstrap Backstage app that is compatible with RHDH 1.2, you can use:
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
 
 ```bash
-npx @backstage/create-app@0.5.14
+npx @backstage/create-app@0.5.24
 ```
 
 ### Frontend packages
 
+
 | **Package**                    | **Version** |
 | ------------------------------ | ----------- |
-| `@backstage/catalog-model`     | `1.4.5`     |
-| `@backstage/config`            | `1.2.0`     |
-| `@backstage/core-app-api`      | `1.12.4`    |
-| `@backstage/core-components`   | `0.14.6`    |
-| `@backstage/core-plugin-api`   | `1.9.2`     |
-| `@backstage/integration-react` | `1.1.26`    |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.4` |
+| `@backstage/core-components` | `0.16.3` |
+| `@backstage/core-plugin-api` | `1.10.3` |
+| `@backstage/integration-react` | `1.2.3` |
+
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/1.2.x/packages/app/package.json) in the [`app`](https://github.com/redhat-developer/rhdh/tree/1.2.x/packages/app) package in the `1.2.x` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/1.2.x).
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.5/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.5/packages/app) package 
+in the `release-1.5` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.5).
 
 ### Backend packages
 
-| **Package**                                  | **Version** |
-| -------------------------------------------- | ----------- |
-| `@backstage/backend-app-api`                 | `0.7.2`     |
-| `@backstage/backend-common`                  | `0.21.7`    |
-| `@backstage/backend-defaults`                | `0.2.17`    |
-| `@backstage/backend-dynamic-feature-service` | `0.2.9`     |
-| `@backstage/backend-plugin-api`              | `0.6.17`    |
-| `@backstage/catalog-model`                   | `1.4.5`     |
-| `@backstage/cli-node`                        | `0.2.5`     |
-| `@backstage/config`                          | `1.2.0`     |
-| `@backstage/config-loader`                   | `1.8.0`     |
-
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/1.2.x/packages/backend/package.json) in the [`backend`](https://github.com/redhat-developer/rhdh/tree/1.2.x/packages/backend) package in the `1.2.x` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/1.2.x).
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.1.1` |
+| `@backstage/backend-defaults` | `0.7.0` |
+| `@backstage/backend-dynamic-feature-service` | `0.5.3` |
+| `@backstage/backend-plugin-api` | `1.1.1` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.12` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.5` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.5/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.5/packages/backend) package
+in the `release-1.5` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.5).
+
+## RHDH 1.4 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.4/backstage.json
+-->
+
+Based on [Backstage 1.32.6](https://backstage.io/docs/releases/v1.32.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.21
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.0` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/core-app-api` | `1.15.1` |
+| `@backstage/core-components` | `0.15.1` |
+| `@backstage/core-plugin-api` | `1.10.0` |
+| `@backstage/integration-react` | `1.2.0` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.4/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.4/packages/app) package 
+in the `release-1.4` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.4).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.0.1` |
+| `@backstage/backend-defaults` | `0.5.2` |
+| `@backstage/backend-dynamic-feature-service` | `0.4.4` |
+| `@backstage/backend-plugin-api` | `1.0.1` |
+| `@backstage/catalog-model` | `1.7.0` |
+| `@backstage/cli-node` | `0.2.9` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/config-loader` | `1.9.1` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.4/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.4/packages/backend) package
+in the `release-1.4` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.4).
+
+## RHDH 1.3 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.3/backstage.json
+-->
+
+Based on [Backstage 1.29.2](https://backstage.io/docs/releases/v1.29.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.17
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.5.0` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/core-app-api` | `1.14.1` |
+| `@backstage/core-components` | `0.14.9` |
+| `@backstage/core-plugin-api` | `1.9.3` |
+| `@backstage/integration-react` | `1.1.29` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/app) package 
+in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `0.8.0` |
+| `@backstage/backend-defaults` | `0.4.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.2.15` |
+| `@backstage/backend-plugin-api` | `0.7.0` |
+| `@backstage/catalog-model` | `1.5.0` |
+| `@backstage/cli-node` | `0.2.7` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/config-loader` | `1.8.1` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/backend) package
+in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
diff --git a/scripts/update-versions-doc.mjs b/scripts/update-versions-doc.mjs
new file mode 100644
index 0000000000..fbba89b767
--- /dev/null
+++ b/scripts/update-versions-doc.mjs
@@ -0,0 +1,260 @@
+// Assisted by watsonx Code Assistant 
+
+import { writeFile } from 'fs/promises';
+
+// Check for output file argument
+const outputFilePath = process.argv[2];
+if (!outputFilePath) {
+  console.error('Please provide an output file path as an argument.');
+  console.error(`Usage: node ${process.argv[1]} <output-file-path>`);
+  process.exit(1);
+}
+
+const repository = process.env.GITHUB_REPOSITORY || 'redhat-developer/rhdh';
+
+// old branches
+const skipBranches = [
+  "release-0.1",
+  "release-0.2",
+  "release-1.0",
+]
+
+const backstageJsonPath = 'backstage.json';
+const frontendPackageJsonPath = 'packages/app/package.json';
+const backendPackageJsonPath = 'packages/backend/package.json';
+
+// Frontend and Backend packages to be documented
+const frontendPackages = [
+  '@backstage/catalog-model',
+  '@backstage/config',
+  '@backstage/core-app-api',
+  '@backstage/core-components',
+  '@backstage/core-plugin-api',
+  '@backstage/integration-react'
+];
+
+const backendPackages = [
+  '@backstage/backend-app-api',
+  '@backstage/backend-defaults',
+  '@backstage/backend-dynamic-feature-service',
+  '@backstage/backend-plugin-api',
+  '@backstage/catalog-model',
+  '@backstage/cli-node',
+  '@backstage/config',
+  '@backstage/config-loader'
+];
+
+// List all branches in the repository
+// uses fetch and no github library to avoid depencies on extra libraries
+async function listBranchNames(repository, page = 1, collected = []) {
+  const url = `https://api.github.com/repos/${repository}/branches?page=${page}`;
+
+  const headers = {
+    'Accept': 'application/vnd.github.v3+json'
+  }
+  if (process.env.GITHUB_TOKEN) {
+    headers['Authorization'] = `Bearer ${process.env.GITHUB_TOKEN}`;
+  } else {
+    console.info('WARNING: GITHUB_TOKEN is not set. Using unauthenticated requests may result in rate limiting.');
+  }
+  try {
+    const response = await fetch(url, {
+      headers: headers
+    });
+
+    if (!response.ok) {
+      if (response.status === 404) {
+        console.error(`Repository ${repository} not found.`);
+      } else {
+        console.error(`Error listing branches:`, response.statusText);
+      }
+      return [];
+    }
+
+    const data = await response.json();
+    const branchNames = data.map(branch => branch.name);
+    const allNames = [...collected, ...branchNames];
+
+    const links = response.headers.get('Link');
+    const hasNext = links && links.includes('rel="next"');
+
+    if (hasNext) {
+      return listBranchNames(repository, page + 1, allNames);
+    } else {
+      return allNames;
+    }
+
+  } catch (error) {
+    console.error(`Error listing branches:`, error.message);
+    return [];
+  }
+}
+
+// return the content of the file
+async function getFileFromGithub(repository, branch, filePath) {
+  const url = `https://raw.githubusercontent.com/${repository}/${branch}/${filePath}`;
+  try {
+    const response = await fetch(url, {
+      headers: {
+        'Accept': 'application/vnd.github.v3+json'
+      }
+    });
+
+    if (!response.ok) {
+      if (response.status === 404) {
+        console.log(`File ${filePath} not found in branch ${branch}.`);
+      } else {
+        console.error(`Error fetching file:`, response.statusText);
+      }
+      return null;
+    }
+
+    const data = await response.text();
+    return data;
+
+  } catch (error) {
+    console.error(`Error fetching file:`, error.message);
+    return null;
+  }
+
+}
+
+
+// generate the table for the packages and versions based on the provided package.json
+// only packages in the packageNames array will be included
+async function generateTable(packageJson, packageNames) {
+  let table = `
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+`
+  for (const pkg of packageNames) {
+    const version = packageJson.dependencies[pkg]
+    if (!version) {
+      console.warn(`Unable to find ${pkg} in packageNames`)
+    }
+    table += `| \`${pkg}\` | \`${version}\` |\n`
+  }
+
+  return table;
+}
+
+// Function to write content to file
+async function writeToFile(filePath, content) {
+  try {
+    await writeFile(filePath, content);
+    console.log(`Successfully wrote output to ${filePath}`);
+  } catch (error) {
+    console.error(`Error writing to file: ${error.message}`);
+  }
+}
+
+async function main() {
+
+  const allBranches = await listBranchNames(repository);
+
+  // only release branches and not in skipBranches
+  const releaseBranches = allBranches
+    .filter((branch) => branch.startsWith('release-'))
+    .filter((branch) => !skipBranches.includes(branch))
+
+
+  // sort the branches by the number after release- in descending order
+  releaseBranches.sort((a, b) => {
+    const aNum = parseFloat(a.split('-')[1]);
+    const bNum = parseFloat(b.split('-')[1]);
+    return bNum - aNum;
+  });
+
+  // limit to 4 latest branches
+  if (releaseBranches.length > 4) {
+    releaseBranches.length = 4;
+  }
+  
+  // add main branch as first in the list as we want to document version for pre-release
+  releaseBranches.unshift("main")
+
+  console.log(`Release branches found: ${releaseBranches.join(", ")}`);
+
+  // Collect all outputs
+  let allOutputs = '';
+
+  for (const branch of releaseBranches) {
+    console.log(`Processing branch ${branch}`)
+
+    let release = ""
+    if (branch === "main") {
+      release = "next"
+    } else {
+      release = branch.split('-')[1];
+    }
+    console.log(`Release: ${release}`)
+
+    const backstageJson = await getFileFromGithub(repository, branch, backstageJsonPath);
+    const backstageVersion = JSON.parse(backstageJson).version
+
+    if (!backstageVersion) {
+      console.error(`Unable to find backstage version in ${backstageJson}`);
+      process.exit(1);
+    }
+
+    const minorBackstageVersion = backstageVersion.split('.').slice(0, 2).join('.')
+
+    const frontendPackageJson = await getFileFromGithub(repository, branch, frontendPackageJsonPath);
+    const backendPackageJson = await getFileFromGithub(repository, branch, backendPackageJsonPath);
+
+    const frontendTable = await generateTable(JSON.parse(frontendPackageJson), frontendPackages)
+    const backendTable = await generateTable(JSON.parse(backendPackageJson), backendPackages)
+
+    const preRelaseInfo = `(pre-release, versions can change for final release)`
+
+    const createAppPackageJson = await getFileFromGithub("backstage/backstage", `v${backstageVersion}`, 'packages/create-app/package.json');
+    const createAppVersion = JSON.parse(createAppPackageJson).version
+
+    if (!createAppVersion) {
+      console.error(`Unable to find create-app version in ${createAppPackageJson}`)
+      process.exit(1);
+    }
+
+    const out = `
+## RHDH ${release} ${branch === "main" ? preRelaseInfo : ""}
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/${branch}/backstage.json
+-->
+
+Based on [Backstage ${backstageVersion}](https://backstage.io/docs/releases/v${minorBackstageVersion}.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+\`\`\`bash
+npx @backstage/create-app@${createAppVersion}
+\`\`\`
+
+### Frontend packages
+
+${frontendTable}
+
+
+If you want to check versions of other packages, you can check the 
+[\`package.json\`](https://github.com/redhat-developer/rhdh/blob/${branch}/packages/app/package.json) in the
+[\`app\`](https://github.com/redhat-developer/rhdh/tree/${branch}/packages/app) package 
+in the \`${branch}\` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/${branch}).
+
+### Backend packages
+
+${backendTable}
+
+
+If you want to check versions of other packages, you can check the
+[\`package.json\`](https://github.com/redhat-developer/rhdh/blob/${branch}/packages/backend/package.json) in the
+[\`backend\`](https://github.com/redhat-developer/rhdh/tree/${branch}/packages/backend) package
+in the \`${branch}\` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/${branch}).
+`
+
+    allOutputs += out;
+  }
+
+  await writeToFile(outputFilePath, allOutputs);
+}
+
+await main();


Reviews:
user: login: copilot-pull-request-reviewer[bot]
body: ## Pull Request Overview

This PR adds a script to generate a versions.md file for the dynamic plugins documentation along with a GitHub workflow that automates the update process when key files are changed.
- Introduces a new Node.js script (update-versions-doc.mjs) to generate documentation.
- Adds a GitHub Actions workflow (update-versions.yaml) to trigger the version update PR.

### Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

| File                                  | Description                                                  |
| ------------------------------------- | ------------------------------------------------------------ |
| scripts/update-versions-doc.mjs         | New script that collects branch and package version info to generate versions.md |
| .github/workflows/update-versions.yaml | Workflow configuration to run the script and create a PR when key files are updated |


<details>
<summary>Comments suppressed due to low confidence (1)</summary>

**scripts/update-versions-doc.mjs:202**
* The use of 'console.fail' is not a standard method in Node.js. Consider using 'console.error' followed by terminating the process (e.g., process.exit(1)) to handle the error.
```
console.fail(`Unable to find create-app version in ${createAppVersion}`)
```
</details>


state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-25T12:04:08Z
user: login: gashcrumb
body: :+1: 
state: APPROVED
author_association: MEMBER
submitted_at: 2025-05-16T11:09:27Z
user: login: schultzp2020
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-16T20:04:38Z
user: login: nickboldt
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-20T13:57:43Z
user: login: nickboldt
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-20T13:58:47Z
user: login: kadel
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-20T14:46:43Z
user: login: kadel
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-20T14:48:39Z
user: login: nickboldt
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-20T14:51:01Z
user: login: nickboldt
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-20T14:52:01Z
user: login: kadel
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-26T09:41:37Z
user: login: nickboldt
body: LGTM - nice to see the old 1.0-1.2 stuff has been purged. 
state: APPROVED
author_association: MEMBER
submitted_at: 2025-05-26T13:08:24Z

Review comments:
diff_hunk: @@ -0,0 +1,247 @@
+// Assisted by watsonx Code Assistant 
+
+import { writeFile } from 'fs/promises';
+
+// Check for output file argument
+const outputFilePath = process.argv[2];
+if (!outputFilePath) {
+  console.error('Please provide an output file path as an argument.');
+  console.error(`Usage: node ${process.argv[1]} <output-file-path>`);
+  process.exit(1);
+}
+
+const repository = process.env.GITHUB_REPOSITORY || 'redhat-developer/rhdh';
+
+// old branches
+const skipBranches = [
+  "release-0.1",
+  "release-0.2",
+  "release-1.0",
+]
+
+const backstageJsonPath = 'backstage.json';
+const frontendPackageJsonPath = 'packages/app/package.json';
+const backendPackageJsonPath = 'packages/backend/package.json';
+
+// Frontendend and Backend packages to be documented
+const frontendPackages = [
+  '@backstage/catalog-model',
+  '@backstage/config',
+  '@backstage/core-app-api',
+  '@backstage/core-components',
+  '@backstage/core-plugin-api',
+  '@backstage/integration-react'
+];
+
+const backendPackages = [
+  '@backstage/backend-app-api',
+  '@backstage/backend-defaults',
+  '@backstage/backend-dynamic-feature-service',
+  '@backstage/backend-plugin-api',
+  '@backstage/catalog-model',
+  '@backstage/cli-node',
+  '@backstage/config',
+  '@backstage/config-loader'
+];
+
+// List all branches in the repository
+// uses fetch and no github library to avoid depencies on extra libraries
+async function listBranchNames(repository, page = 1, collected = []) {
+  const url = `https://api.github.com/repos/${repository}/branches?page=${page}`;
+
+  try {
+    const response = await fetch(url, {
+      headers: {
+        'Accept': 'application/vnd.github.v3+json'
+      }
+    });
+
+    if (!response.ok) {
+      if (response.status === 404) {
+        console.log(`Repository ${repository} not found.`);
+      } else {
+        console.error(`Error listing branches:`, response.statusText);
+      }
+      return [];
+    }
+
+    const data = await response.json();
+    const branchNames = data.map(branch => branch.name);
+    const allNames = [...collected, ...branchNames];
+
+    const links = response.headers.get('Link');
+    const hasNext = links && links.includes('rel="next"');
+
+    if (hasNext) {
+      return listBranchNames(repository, page + 1, allNames);
+    } else {
+      return allNames;
+    }
+
+  } catch (error) {
+    console.error(`Error listing branches:`, error.message);
+    return [];
+  }
+}
+
+// return the content of the file
+async function getFileFromGithub(repository, branch, filePath) {
+  const url = `https://raw.githubusercontent.com/${repository}/${branch}/${filePath}`;
+  try {
+    const response = await fetch(url, {
+      headers: {
+        'Accept': 'application/vnd.github.v3+json'
+      }
+    });
+
+    if (!response.ok) {
+      if (response.status === 404) {
+        console.log(`File ${filePath} not found in branch ${branch}.`);
+      } else {
+        console.error(`Error fetching file:`, response.statusText);
+      }
+      return null;
+    }
+
+    const data = await response.text();
+    return data;
+
+  } catch (error) {
+    console.error(`Error fetching file:`, error.message);
+    return null;
+  }
+
+}
+
+
+// generate the table for the packages and versions based on the provided package.json
+// only packages in the packageNames array will be included
+async function generateTable(packageJson, packageNames) {
+  let table = `
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+`
+  for (const pkg of packageNames) {
+    const version = packageJson.dependencies[pkg]
+    if (!version) {
+      console.warn(`Unable to find ${pkg} in packageNames`)
+    }
+    table += `| \`${pkg}\` | \`${version}\` |\n`
+  }
+
+  return table;
+}
+
+// Function to write content to file
+async function writeToFile(filePath, content) {
+  try {
+    await writeFile(filePath, content);
+    console.log(`Successfully wrote output to ${filePath}`);
+  } catch (error) {
+    console.error(`Error writing to file: ${error.message}`);
+  }
+}
+
+async function main() {
+
+  const allBranches = await listBranchNames(repository);
+
+  // only release branches and not in skipBranches
+  const relaseBranches = allBranches
+    .filter((branch) => branch.startsWith('release-'))
+    .filter((branch) => !skipBranches.includes(branch))
+
+
+  // sort the branches by the number after release- in descending order
+  relaseBranches.sort((a, b) => {
+    const aNum = parseFloat(a.split('-')[1]);
+    const bNum = parseFloat(b.split('-')[1]);
+    return bNum - aNum;
+  });
+
+  // add main branch as first in the list as we want to document version for pre-release
+  relaseBranches.unshift("main")
+
+  console.log(`Release branches found: ${relaseBranches.join(", ")}`);
+
+  // Collect all outputs
+  let allOutputs = '';
+
+  for (const branch of relaseBranches) {
path: scripts/update-versions-doc.mjs
user: login: Copilot
body: The variable name 'relaseBranches' appears to be misspelled. Consider renaming it to 'releaseBranches' for clarity.
```suggestion
  const releaseBranches = allBranches
    .filter((branch) => branch.startsWith('release-'))
    .filter((branch) => !skipBranches.includes(branch))


  // sort the branches by the number after release- in descending order
  releaseBranches.sort((a, b) => {
    const aNum = parseFloat(a.split('-')[1]);
    const bNum = parseFloat(b.split('-')[1]);
    return bNum - aNum;
  });

  // add main branch as first in the list as we want to document version for pre-release
  releaseBranches.unshift("main")

  console.log(`Release branches found: ${releaseBranches.join(", ")}`);

  // Collect all outputs
  let allOutputs = '';

  for (const branch of releaseBranches) {
```
created_at: 2025-04-25T12:04:07Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,247 @@
+// Assisted by watsonx Code Assistant 
+
+import { writeFile } from 'fs/promises';
+
+// Check for output file argument
+const outputFilePath = process.argv[2];
+if (!outputFilePath) {
+  console.error('Please provide an output file path as an argument.');
+  console.error(`Usage: node ${process.argv[1]} <output-file-path>`);
+  process.exit(1);
+}
+
+const repository = process.env.GITHUB_REPOSITORY || 'redhat-developer/rhdh';
+
+// old branches
+const skipBranches = [
+  "release-0.1",
+  "release-0.2",
+  "release-1.0",
+]
+
+const backstageJsonPath = 'backstage.json';
+const frontendPackageJsonPath = 'packages/app/package.json';
+const backendPackageJsonPath = 'packages/backend/package.json';
+
+// Frontendend and Backend packages to be documented
+const frontendPackages = [
+  '@backstage/catalog-model',
+  '@backstage/config',
+  '@backstage/core-app-api',
+  '@backstage/core-components',
+  '@backstage/core-plugin-api',
+  '@backstage/integration-react'
+];
+
+const backendPackages = [
+  '@backstage/backend-app-api',
+  '@backstage/backend-defaults',
+  '@backstage/backend-dynamic-feature-service',
+  '@backstage/backend-plugin-api',
+  '@backstage/catalog-model',
+  '@backstage/cli-node',
+  '@backstage/config',
+  '@backstage/config-loader'
+];
+
+// List all branches in the repository
+// uses fetch and no github library to avoid depencies on extra libraries
+async function listBranchNames(repository, page = 1, collected = []) {
+  const url = `https://api.github.com/repos/${repository}/branches?page=${page}`;
+
+  try {
+    const response = await fetch(url, {
+      headers: {
+        'Accept': 'application/vnd.github.v3+json'
+      }
+    });
+
+    if (!response.ok) {
+      if (response.status === 404) {
+        console.log(`Repository ${repository} not found.`);
+      } else {
+        console.error(`Error listing branches:`, response.statusText);
+      }
+      return [];
+    }
+
+    const data = await response.json();
+    const branchNames = data.map(branch => branch.name);
+    const allNames = [...collected, ...branchNames];
+
+    const links = response.headers.get('Link');
+    const hasNext = links && links.includes('rel="next"');
+
+    if (hasNext) {
+      return listBranchNames(repository, page + 1, allNames);
+    } else {
+      return allNames;
+    }
+
+  } catch (error) {
+    console.error(`Error listing branches:`, error.message);
+    return [];
+  }
+}
+
+// return the content of the file
+async function getFileFromGithub(repository, branch, filePath) {
+  const url = `https://raw.githubusercontent.com/${repository}/${branch}/${filePath}`;
+  try {
+    const response = await fetch(url, {
+      headers: {
+        'Accept': 'application/vnd.github.v3+json'
+      }
+    });
+
+    if (!response.ok) {
+      if (response.status === 404) {
+        console.log(`File ${filePath} not found in branch ${branch}.`);
+      } else {
+        console.error(`Error fetching file:`, response.statusText);
+      }
+      return null;
+    }
+
+    const data = await response.text();
+    return data;
+
+  } catch (error) {
+    console.error(`Error fetching file:`, error.message);
+    return null;
+  }
+
+}
+
+
+// generate the table for the packages and versions based on the provided package.json
+// only packages in the packageNames array will be included
+async function generateTable(packageJson, packageNames) {
+  let table = `
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+`
+  for (const pkg of packageNames) {
+    const version = packageJson.dependencies[pkg]
+    if (!version) {
+      console.warn(`Unable to find ${pkg} in packageNames`)
+    }
+    table += `| \`${pkg}\` | \`${version}\` |\n`
+  }
+
+  return table;
+}
+
+// Function to write content to file
+async function writeToFile(filePath, content) {
+  try {
+    await writeFile(filePath, content);
+    console.log(`Successfully wrote output to ${filePath}`);
+  } catch (error) {
+    console.error(`Error writing to file: ${error.message}`);
+  }
+}
+
+async function main() {
+
+  const allBranches = await listBranchNames(repository);
+
+  // only release branches and not in skipBranches
+  const relaseBranches = allBranches
+    .filter((branch) => branch.startsWith('release-'))
+    .filter((branch) => !skipBranches.includes(branch))
+
+
+  // sort the branches by the number after release- in descending order
+  relaseBranches.sort((a, b) => {
+    const aNum = parseFloat(a.split('-')[1]);
+    const bNum = parseFloat(b.split('-')[1]);
+    return bNum - aNum;
+  });
+
+  // add main branch as first in the list as we want to document version for pre-release
+  relaseBranches.unshift("main")
+
+  console.log(`Release branches found: ${relaseBranches.join(", ")}`);
+
+  // Collect all outputs
+  let allOutputs = '';
+
+  for (const branch of relaseBranches) {
+    console.log(`Processing branch ${branch}`)
+
+    let release = ""
+    if (branch === "main") {
+      release = "next"
+    } else {
+      release = branch.split('-')[1];
+    }
+    console.log(`Release: ${release}`)
+
+    const backstageJson = await getFileFromGithub(repository, branch, backstageJsonPath);
+    const backstageVersion = JSON.parse(backstageJson).version
+
+    if (!backstageVersion) {
+      console.fail(`Unable to find backstage version in ${backstageJson}`)
path: scripts/update-versions-doc.mjs
user: login: Copilot
body: The use of 'console.fail' is not a standard method in Node.js. Consider using 'console.error' followed by terminating the process (e.g., process.exit(1)) to handle the error.
```suggestion
      console.error(`Unable to find backstage version in ${backstageJson}`);
      process.exit(1);
```
created_at: 2025-04-25T12:04:08Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,249 @@
+// Assisted by watsonx Code Assistant 
+
+import { writeFile } from 'fs/promises';
+
+// Check for output file argument
+const outputFilePath = process.argv[2];
+if (!outputFilePath) {
+  console.error('Please provide an output file path as an argument.');
+  console.error(`Usage: node ${process.argv[1]} <output-file-path>`);
+  process.exit(1);
+}
+
+const repository = process.env.GITHUB_REPOSITORY || 'redhat-developer/rhdh';
+
+// old branches
+const skipBranches = [
+  "release-0.1",
+  "release-0.2",
+  "release-1.0",
+]
+
+const backstageJsonPath = 'backstage.json';
+const frontendPackageJsonPath = 'packages/app/package.json';
+const backendPackageJsonPath = 'packages/backend/package.json';
+
+// Frontendend and Backend packages to be documented
path: scripts/update-versions-doc.mjs
user: login: schultzp2020
body: ```suggestion
// Frontend and Backend packages to be documented
```
created_at: 2025-05-16T20:04:38Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,132 +1,324 @@
-# Version Compatibility Matrix
 
-## RHDH 1.4 (pre-release, versions can change for final release)
+## RHDH next (pre-release, versions can change for final release)
path: docs/dynamic-plugins/versions.md
user: login: nickboldt
body: I trust in the `release-1.y` branches we'll see a real version here, not `next` ? Also given we have https://github.com/redhat-developer/rhdh/blob/main/package.json#L3 could we (should we?) use the versions derived from that file? 
created_at: 2025-05-20T13:57:43Z
author_association: MEMBER
diff_hunk: @@ -1,132 +1,324 @@
-# Version Compatibility Matrix
 
-## RHDH 1.4 (pre-release, versions can change for final release)
+## RHDH next (pre-release, versions can change for final release)
 
 <!-- source
 https://github.com/redhat-developer/rhdh/blob/main/backstage.json
 -->
 
-Based on [Backstage 1.31.3](https://backstage.io/docs/releases/v1.31.0)
+Based on [Backstage 1.36.1](https://backstage.io/docs/releases/v1.36.0)
 
 To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
 
 ```bash
-npx @backstage/create-app@0.5.17
+npx @backstage/create-app@0.5.25
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.5` |
+| `@backstage/core-components` | `0.16.4` |
+| `@backstage/core-plugin-api` | `1.10.4` |
+| `@backstage/integration-react` | `1.2.4` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/main/packages/app) package 
+in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.2.0` |
+| `@backstage/backend-defaults` | `0.8.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.6.0` |
+| `@backstage/backend-plugin-api` | `1.2.0` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.13` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.6` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/main/packages/backend) package
+in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+
+## RHDH 1.6 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.6/backstage.json
+-->
+
+Based on [Backstage 1.36.1](https://backstage.io/docs/releases/v1.36.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.25
 ```
 
 ### Frontend packages
 
+
 | **Package**                    | **Version** |
 | ------------------------------ | ----------- |
-| `@backstage/catalog-model`     | `1.7.0`     |
-| `@backstage/config`            | `1.2.0`     |
-| `@backstage/core-app-api`      | `1.15.0`    |
-| `@backstage/core-components`   | `0.15.0`    |
-| `@backstage/core-plugin-api`   | `1.9.4`     |
-| `@backstage/integration-react` | `1.1.32`    |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.5` |
+| `@backstage/core-components` | `0.16.4` |
+| `@backstage/core-plugin-api` | `1.10.4` |
+| `@backstage/integration-react` | `1.2.4` |
+
+
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/app/package.json) in the [`app`](https://github.com/redhat-developer/rhdh/tree/main/packages/app) package in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.6/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.6/packages/app) package 
+in the `release-1.6` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.6).
 
 ### Backend packages
 
-| **Package**                                  | **Version** |
-| -------------------------------------------- | ----------- |
-| `@backstage/backend-app-api`                 | `1.0.0`     |
-| `@backstage/backend-defaults`                | `0.5.0`     |
-| `@backstage/backend-dynamic-feature-service` | `0.4.1`     |
-| `@backstage/backend-plugin-api`              | `1.0.0`     |
-| `@backstage/catalog-model`                   | `1.7.0`     |
-| `@backstage/cli-node`                        | `0.2.8`     |
-| `@backstage/config`                          | `1.2.0`     |
-| `@backstage/config-loader`                   | `1.9.1`     |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/backend/package.json) in the [`backend`](https://github.com/redhat-developer/rhdh/tree/main/packages/backend) package in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.2.0` |
+| `@backstage/backend-defaults` | `0.8.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.6.0` |
+| `@backstage/backend-plugin-api` | `1.2.0` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.13` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.6` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.6/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.6/packages/backend) package
+in the `release-1.6` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.6).
 
-## RHDH 1.3
+## RHDH 1.5 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.5/backstage.json
+-->
+
+Based on [Backstage 1.35.1](https://backstage.io/docs/releases/v1.35.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.24
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.4` |
+| `@backstage/core-components` | `0.16.3` |
+| `@backstage/core-plugin-api` | `1.10.3` |
+| `@backstage/integration-react` | `1.2.3` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.5/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.5/packages/app) package 
+in the `release-1.5` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.5).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.1.1` |
+| `@backstage/backend-defaults` | `0.7.0` |
+| `@backstage/backend-dynamic-feature-service` | `0.5.3` |
+| `@backstage/backend-plugin-api` | `1.1.1` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.12` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.5` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.5/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.5/packages/backend) package
+in the `release-1.5` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.5).
+
+## RHDH 1.4 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.4/backstage.json
+-->
+
+Based on [Backstage 1.32.6](https://backstage.io/docs/releases/v1.32.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.21
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.0` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/core-app-api` | `1.15.1` |
+| `@backstage/core-components` | `0.15.1` |
+| `@backstage/core-plugin-api` | `1.10.0` |
+| `@backstage/integration-react` | `1.2.0` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.4/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.4/packages/app) package 
+in the `release-1.4` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.4).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.0.1` |
+| `@backstage/backend-defaults` | `0.5.2` |
+| `@backstage/backend-dynamic-feature-service` | `0.4.4` |
+| `@backstage/backend-plugin-api` | `1.0.1` |
+| `@backstage/catalog-model` | `1.7.0` |
+| `@backstage/cli-node` | `0.2.9` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/config-loader` | `1.9.1` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.4/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.4/packages/backend) package
+in the `release-1.4` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.4).
+
+## RHDH 1.3 
 
 <!-- source
 https://github.com/redhat-developer/rhdh/blob/release-1.3/backstage.json
 -->
 
 Based on [Backstage 1.29.2](https://backstage.io/docs/releases/v1.29.0)
 
-To bootstrap Backstage app that is compatible with RHDH 1.3, you can use:
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
 
 ```bash
 npx @backstage/create-app@0.5.17
 ```
 
 ### Frontend packages
 
+
 | **Package**                    | **Version** |
 | ------------------------------ | ----------- |
-| `@backstage/catalog-model`     | `1.5.0`     |
-| `@backstage/config`            | `1.2.0`     |
-| `@backstage/core-app-api`      | `1.14.1`    |
-| `@backstage/core-components`   | `0.14.9`    |
-| `@backstage/core-plugin-api`   | `1.9.3`     |
-| `@backstage/integration-react` | `1.1.29`    |
+| `@backstage/catalog-model` | `1.5.0` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/core-app-api` | `1.14.1` |
+| `@backstage/core-components` | `0.14.9` |
+| `@backstage/core-plugin-api` | `1.9.3` |
+| `@backstage/integration-react` | `1.1.29` |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/app/package.json) in the [`app`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/app) package in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/app) package 
+in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
 
 ### Backend packages
 
-| **Package**                                  | **Version** |
-| -------------------------------------------- | ----------- |
-| `@backstage/backend-app-api`                 | `0.8.0`     |
-| `@backstage/backend-common`                  | `0.23.3`    |
-| `@backstage/backend-defaults`                | `0.4.1`     |
-| `@backstage/backend-dynamic-feature-service` | `0.2.15`    |
-| `@backstage/backend-plugin-api`              | `0.7.0`     |
-| `@backstage/catalog-model`                   | `1.5.0`     |
-| `@backstage/cli-node`                        | `0.2.7`     |
-| `@backstage/config`                          | `1.2.0`     |
-| `@backstage/config-loader`                   | `1.8.1`     |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/backend/package.json) in the [`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/backend) package in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `0.8.0` |
+| `@backstage/backend-defaults` | `0.4.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.2.15` |
+| `@backstage/backend-plugin-api` | `0.7.0` |
+| `@backstage/catalog-model` | `1.5.0` |
+| `@backstage/cli-node` | `0.2.7` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/config-loader` | `1.8.1` |
+
 
-## RHDH 1.2
 
-Based on Backstage 1.26.5
-@backstage/create-app 0.5.14
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/backend) package
+in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+
+## RHDH 1.1 
path: docs/dynamic-plugins/versions.md
user: login: nickboldt
body: should we filter out the long-since-deprecated-and-EOL versions? 

1.4 is EOL so 1.2 and prior are seriously dead. 
created_at: 2025-05-20T13:58:47Z
author_association: MEMBER
diff_hunk: @@ -1,132 +1,324 @@
-# Version Compatibility Matrix
 
-## RHDH 1.4 (pre-release, versions can change for final release)
+## RHDH next (pre-release, versions can change for final release)
path: docs/dynamic-plugins/versions.md
user: login: kadel
body: > I trust in the release-1.y branches we'll see a real version here, not next ?

I intentionally did not want to do that to make it clear that this is not released yet. That is why I choose to show next instead of version.

> Also given we have https://github.com/redhat-developer/rhdh/blob/main/package.json#L3 could we (should we?) use the versions derived from that file?

It has a full version (including z stream). I did not want to go to that level. But I can start parsing this instead of branch name if that is for some reason better. 


created_at: 2025-05-20T14:46:43Z
author_association: MEMBER
diff_hunk: @@ -1,132 +1,324 @@
-# Version Compatibility Matrix
 
-## RHDH 1.4 (pre-release, versions can change for final release)
+## RHDH next (pre-release, versions can change for final release)
 
 <!-- source
 https://github.com/redhat-developer/rhdh/blob/main/backstage.json
 -->
 
-Based on [Backstage 1.31.3](https://backstage.io/docs/releases/v1.31.0)
+Based on [Backstage 1.36.1](https://backstage.io/docs/releases/v1.36.0)
 
 To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
 
 ```bash
-npx @backstage/create-app@0.5.17
+npx @backstage/create-app@0.5.25
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.5` |
+| `@backstage/core-components` | `0.16.4` |
+| `@backstage/core-plugin-api` | `1.10.4` |
+| `@backstage/integration-react` | `1.2.4` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/main/packages/app) package 
+in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.2.0` |
+| `@backstage/backend-defaults` | `0.8.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.6.0` |
+| `@backstage/backend-plugin-api` | `1.2.0` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.13` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.6` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/main/packages/backend) package
+in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+
+## RHDH 1.6 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.6/backstage.json
+-->
+
+Based on [Backstage 1.36.1](https://backstage.io/docs/releases/v1.36.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.25
 ```
 
 ### Frontend packages
 
+
 | **Package**                    | **Version** |
 | ------------------------------ | ----------- |
-| `@backstage/catalog-model`     | `1.7.0`     |
-| `@backstage/config`            | `1.2.0`     |
-| `@backstage/core-app-api`      | `1.15.0`    |
-| `@backstage/core-components`   | `0.15.0`    |
-| `@backstage/core-plugin-api`   | `1.9.4`     |
-| `@backstage/integration-react` | `1.1.32`    |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.5` |
+| `@backstage/core-components` | `0.16.4` |
+| `@backstage/core-plugin-api` | `1.10.4` |
+| `@backstage/integration-react` | `1.2.4` |
+
+
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/app/package.json) in the [`app`](https://github.com/redhat-developer/rhdh/tree/main/packages/app) package in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.6/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.6/packages/app) package 
+in the `release-1.6` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.6).
 
 ### Backend packages
 
-| **Package**                                  | **Version** |
-| -------------------------------------------- | ----------- |
-| `@backstage/backend-app-api`                 | `1.0.0`     |
-| `@backstage/backend-defaults`                | `0.5.0`     |
-| `@backstage/backend-dynamic-feature-service` | `0.4.1`     |
-| `@backstage/backend-plugin-api`              | `1.0.0`     |
-| `@backstage/catalog-model`                   | `1.7.0`     |
-| `@backstage/cli-node`                        | `0.2.8`     |
-| `@backstage/config`                          | `1.2.0`     |
-| `@backstage/config-loader`                   | `1.9.1`     |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/backend/package.json) in the [`backend`](https://github.com/redhat-developer/rhdh/tree/main/packages/backend) package in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.2.0` |
+| `@backstage/backend-defaults` | `0.8.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.6.0` |
+| `@backstage/backend-plugin-api` | `1.2.0` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.13` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.6` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.6/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.6/packages/backend) package
+in the `release-1.6` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.6).
 
-## RHDH 1.3
+## RHDH 1.5 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.5/backstage.json
+-->
+
+Based on [Backstage 1.35.1](https://backstage.io/docs/releases/v1.35.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.24
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.4` |
+| `@backstage/core-components` | `0.16.3` |
+| `@backstage/core-plugin-api` | `1.10.3` |
+| `@backstage/integration-react` | `1.2.3` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.5/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.5/packages/app) package 
+in the `release-1.5` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.5).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.1.1` |
+| `@backstage/backend-defaults` | `0.7.0` |
+| `@backstage/backend-dynamic-feature-service` | `0.5.3` |
+| `@backstage/backend-plugin-api` | `1.1.1` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.12` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.5` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.5/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.5/packages/backend) package
+in the `release-1.5` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.5).
+
+## RHDH 1.4 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.4/backstage.json
+-->
+
+Based on [Backstage 1.32.6](https://backstage.io/docs/releases/v1.32.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.21
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.0` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/core-app-api` | `1.15.1` |
+| `@backstage/core-components` | `0.15.1` |
+| `@backstage/core-plugin-api` | `1.10.0` |
+| `@backstage/integration-react` | `1.2.0` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.4/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.4/packages/app) package 
+in the `release-1.4` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.4).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.0.1` |
+| `@backstage/backend-defaults` | `0.5.2` |
+| `@backstage/backend-dynamic-feature-service` | `0.4.4` |
+| `@backstage/backend-plugin-api` | `1.0.1` |
+| `@backstage/catalog-model` | `1.7.0` |
+| `@backstage/cli-node` | `0.2.9` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/config-loader` | `1.9.1` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.4/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.4/packages/backend) package
+in the `release-1.4` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.4).
+
+## RHDH 1.3 
 
 <!-- source
 https://github.com/redhat-developer/rhdh/blob/release-1.3/backstage.json
 -->
 
 Based on [Backstage 1.29.2](https://backstage.io/docs/releases/v1.29.0)
 
-To bootstrap Backstage app that is compatible with RHDH 1.3, you can use:
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
 
 ```bash
 npx @backstage/create-app@0.5.17
 ```
 
 ### Frontend packages
 
+
 | **Package**                    | **Version** |
 | ------------------------------ | ----------- |
-| `@backstage/catalog-model`     | `1.5.0`     |
-| `@backstage/config`            | `1.2.0`     |
-| `@backstage/core-app-api`      | `1.14.1`    |
-| `@backstage/core-components`   | `0.14.9`    |
-| `@backstage/core-plugin-api`   | `1.9.3`     |
-| `@backstage/integration-react` | `1.1.29`    |
+| `@backstage/catalog-model` | `1.5.0` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/core-app-api` | `1.14.1` |
+| `@backstage/core-components` | `0.14.9` |
+| `@backstage/core-plugin-api` | `1.9.3` |
+| `@backstage/integration-react` | `1.1.29` |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/app/package.json) in the [`app`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/app) package in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/app) package 
+in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
 
 ### Backend packages
 
-| **Package**                                  | **Version** |
-| -------------------------------------------- | ----------- |
-| `@backstage/backend-app-api`                 | `0.8.0`     |
-| `@backstage/backend-common`                  | `0.23.3`    |
-| `@backstage/backend-defaults`                | `0.4.1`     |
-| `@backstage/backend-dynamic-feature-service` | `0.2.15`    |
-| `@backstage/backend-plugin-api`              | `0.7.0`     |
-| `@backstage/catalog-model`                   | `1.5.0`     |
-| `@backstage/cli-node`                        | `0.2.7`     |
-| `@backstage/config`                          | `1.2.0`     |
-| `@backstage/config-loader`                   | `1.8.1`     |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/backend/package.json) in the [`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/backend) package in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `0.8.0` |
+| `@backstage/backend-defaults` | `0.4.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.2.15` |
+| `@backstage/backend-plugin-api` | `0.7.0` |
+| `@backstage/catalog-model` | `1.5.0` |
+| `@backstage/cli-node` | `0.2.7` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/config-loader` | `1.8.1` |
+
 
-## RHDH 1.2
 
-Based on Backstage 1.26.5
-@backstage/create-app 0.5.14
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/backend) package
+in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+
+## RHDH 1.1 
path: docs/dynamic-plugins/versions.md
user: login: kadel
body: Unless we have some source where I can pull programmatically  which versions are EOL than I would prefer to list them all here. I don't want to manually maintain the list of active and EOL releases here. 
created_at: 2025-05-20T14:48:39Z
author_association: MEMBER
diff_hunk: @@ -1,132 +1,324 @@
-# Version Compatibility Matrix
 
-## RHDH 1.4 (pre-release, versions can change for final release)
+## RHDH next (pre-release, versions can change for final release)
 
 <!-- source
 https://github.com/redhat-developer/rhdh/blob/main/backstage.json
 -->
 
-Based on [Backstage 1.31.3](https://backstage.io/docs/releases/v1.31.0)
+Based on [Backstage 1.36.1](https://backstage.io/docs/releases/v1.36.0)
 
 To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
 
 ```bash
-npx @backstage/create-app@0.5.17
+npx @backstage/create-app@0.5.25
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.5` |
+| `@backstage/core-components` | `0.16.4` |
+| `@backstage/core-plugin-api` | `1.10.4` |
+| `@backstage/integration-react` | `1.2.4` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/main/packages/app) package 
+in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.2.0` |
+| `@backstage/backend-defaults` | `0.8.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.6.0` |
+| `@backstage/backend-plugin-api` | `1.2.0` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.13` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.6` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/main/packages/backend) package
+in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+
+## RHDH 1.6 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.6/backstage.json
+-->
+
+Based on [Backstage 1.36.1](https://backstage.io/docs/releases/v1.36.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.25
 ```
 
 ### Frontend packages
 
+
 | **Package**                    | **Version** |
 | ------------------------------ | ----------- |
-| `@backstage/catalog-model`     | `1.7.0`     |
-| `@backstage/config`            | `1.2.0`     |
-| `@backstage/core-app-api`      | `1.15.0`    |
-| `@backstage/core-components`   | `0.15.0`    |
-| `@backstage/core-plugin-api`   | `1.9.4`     |
-| `@backstage/integration-react` | `1.1.32`    |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.5` |
+| `@backstage/core-components` | `0.16.4` |
+| `@backstage/core-plugin-api` | `1.10.4` |
+| `@backstage/integration-react` | `1.2.4` |
+
+
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/app/package.json) in the [`app`](https://github.com/redhat-developer/rhdh/tree/main/packages/app) package in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.6/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.6/packages/app) package 
+in the `release-1.6` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.6).
 
 ### Backend packages
 
-| **Package**                                  | **Version** |
-| -------------------------------------------- | ----------- |
-| `@backstage/backend-app-api`                 | `1.0.0`     |
-| `@backstage/backend-defaults`                | `0.5.0`     |
-| `@backstage/backend-dynamic-feature-service` | `0.4.1`     |
-| `@backstage/backend-plugin-api`              | `1.0.0`     |
-| `@backstage/catalog-model`                   | `1.7.0`     |
-| `@backstage/cli-node`                        | `0.2.8`     |
-| `@backstage/config`                          | `1.2.0`     |
-| `@backstage/config-loader`                   | `1.9.1`     |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/backend/package.json) in the [`backend`](https://github.com/redhat-developer/rhdh/tree/main/packages/backend) package in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.2.0` |
+| `@backstage/backend-defaults` | `0.8.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.6.0` |
+| `@backstage/backend-plugin-api` | `1.2.0` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.13` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.6` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.6/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.6/packages/backend) package
+in the `release-1.6` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.6).
 
-## RHDH 1.3
+## RHDH 1.5 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.5/backstage.json
+-->
+
+Based on [Backstage 1.35.1](https://backstage.io/docs/releases/v1.35.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.24
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.4` |
+| `@backstage/core-components` | `0.16.3` |
+| `@backstage/core-plugin-api` | `1.10.3` |
+| `@backstage/integration-react` | `1.2.3` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.5/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.5/packages/app) package 
+in the `release-1.5` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.5).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.1.1` |
+| `@backstage/backend-defaults` | `0.7.0` |
+| `@backstage/backend-dynamic-feature-service` | `0.5.3` |
+| `@backstage/backend-plugin-api` | `1.1.1` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.12` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.5` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.5/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.5/packages/backend) package
+in the `release-1.5` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.5).
+
+## RHDH 1.4 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.4/backstage.json
+-->
+
+Based on [Backstage 1.32.6](https://backstage.io/docs/releases/v1.32.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.21
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.0` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/core-app-api` | `1.15.1` |
+| `@backstage/core-components` | `0.15.1` |
+| `@backstage/core-plugin-api` | `1.10.0` |
+| `@backstage/integration-react` | `1.2.0` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.4/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.4/packages/app) package 
+in the `release-1.4` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.4).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.0.1` |
+| `@backstage/backend-defaults` | `0.5.2` |
+| `@backstage/backend-dynamic-feature-service` | `0.4.4` |
+| `@backstage/backend-plugin-api` | `1.0.1` |
+| `@backstage/catalog-model` | `1.7.0` |
+| `@backstage/cli-node` | `0.2.9` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/config-loader` | `1.9.1` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.4/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.4/packages/backend) package
+in the `release-1.4` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.4).
+
+## RHDH 1.3 
 
 <!-- source
 https://github.com/redhat-developer/rhdh/blob/release-1.3/backstage.json
 -->
 
 Based on [Backstage 1.29.2](https://backstage.io/docs/releases/v1.29.0)
 
-To bootstrap Backstage app that is compatible with RHDH 1.3, you can use:
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
 
 ```bash
 npx @backstage/create-app@0.5.17
 ```
 
 ### Frontend packages
 
+
 | **Package**                    | **Version** |
 | ------------------------------ | ----------- |
-| `@backstage/catalog-model`     | `1.5.0`     |
-| `@backstage/config`            | `1.2.0`     |
-| `@backstage/core-app-api`      | `1.14.1`    |
-| `@backstage/core-components`   | `0.14.9`    |
-| `@backstage/core-plugin-api`   | `1.9.3`     |
-| `@backstage/integration-react` | `1.1.29`    |
+| `@backstage/catalog-model` | `1.5.0` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/core-app-api` | `1.14.1` |
+| `@backstage/core-components` | `0.14.9` |
+| `@backstage/core-plugin-api` | `1.9.3` |
+| `@backstage/integration-react` | `1.1.29` |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/app/package.json) in the [`app`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/app) package in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/app) package 
+in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
 
 ### Backend packages
 
-| **Package**                                  | **Version** |
-| -------------------------------------------- | ----------- |
-| `@backstage/backend-app-api`                 | `0.8.0`     |
-| `@backstage/backend-common`                  | `0.23.3`    |
-| `@backstage/backend-defaults`                | `0.4.1`     |
-| `@backstage/backend-dynamic-feature-service` | `0.2.15`    |
-| `@backstage/backend-plugin-api`              | `0.7.0`     |
-| `@backstage/catalog-model`                   | `1.5.0`     |
-| `@backstage/cli-node`                        | `0.2.7`     |
-| `@backstage/config`                          | `1.2.0`     |
-| `@backstage/config-loader`                   | `1.8.1`     |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/backend/package.json) in the [`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/backend) package in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `0.8.0` |
+| `@backstage/backend-defaults` | `0.4.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.2.15` |
+| `@backstage/backend-plugin-api` | `0.7.0` |
+| `@backstage/catalog-model` | `1.5.0` |
+| `@backstage/cli-node` | `0.2.7` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/config-loader` | `1.8.1` |
+
 
-## RHDH 1.2
 
-Based on Backstage 1.26.5
-@backstage/create-app 0.5.14
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/backend) package
+in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+
+## RHDH 1.1 
path: docs/dynamic-plugins/versions.md
user: login: nickboldt
body: if next = 1.7 then EOL = 1.4 and earlier. So you could either agressively clean up everything from 1.y-3 (currently 1.4) or more casually delete from 1.y-5 (currently 1.2).


created_at: 2025-05-20T14:51:01Z
author_association: MEMBER
diff_hunk: @@ -1,132 +1,324 @@
-# Version Compatibility Matrix
 
-## RHDH 1.4 (pre-release, versions can change for final release)
+## RHDH next (pre-release, versions can change for final release)
path: docs/dynamic-plugins/versions.md
user: login: nickboldt
body: fair point; what you have is fine. Resolving my comment. :D  
created_at: 2025-05-20T14:52:01Z
author_association: MEMBER
diff_hunk: @@ -1,132 +1,324 @@
-# Version Compatibility Matrix
 
-## RHDH 1.4 (pre-release, versions can change for final release)
+## RHDH next (pre-release, versions can change for final release)
 
 <!-- source
 https://github.com/redhat-developer/rhdh/blob/main/backstage.json
 -->
 
-Based on [Backstage 1.31.3](https://backstage.io/docs/releases/v1.31.0)
+Based on [Backstage 1.36.1](https://backstage.io/docs/releases/v1.36.0)
 
 To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
 
 ```bash
-npx @backstage/create-app@0.5.17
+npx @backstage/create-app@0.5.25
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.5` |
+| `@backstage/core-components` | `0.16.4` |
+| `@backstage/core-plugin-api` | `1.10.4` |
+| `@backstage/integration-react` | `1.2.4` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/main/packages/app) package 
+in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.2.0` |
+| `@backstage/backend-defaults` | `0.8.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.6.0` |
+| `@backstage/backend-plugin-api` | `1.2.0` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.13` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.6` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/main/packages/backend) package
+in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+
+## RHDH 1.6 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.6/backstage.json
+-->
+
+Based on [Backstage 1.36.1](https://backstage.io/docs/releases/v1.36.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.25
 ```
 
 ### Frontend packages
 
+
 | **Package**                    | **Version** |
 | ------------------------------ | ----------- |
-| `@backstage/catalog-model`     | `1.7.0`     |
-| `@backstage/config`            | `1.2.0`     |
-| `@backstage/core-app-api`      | `1.15.0`    |
-| `@backstage/core-components`   | `0.15.0`    |
-| `@backstage/core-plugin-api`   | `1.9.4`     |
-| `@backstage/integration-react` | `1.1.32`    |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.5` |
+| `@backstage/core-components` | `0.16.4` |
+| `@backstage/core-plugin-api` | `1.10.4` |
+| `@backstage/integration-react` | `1.2.4` |
+
+
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/app/package.json) in the [`app`](https://github.com/redhat-developer/rhdh/tree/main/packages/app) package in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.6/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.6/packages/app) package 
+in the `release-1.6` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.6).
 
 ### Backend packages
 
-| **Package**                                  | **Version** |
-| -------------------------------------------- | ----------- |
-| `@backstage/backend-app-api`                 | `1.0.0`     |
-| `@backstage/backend-defaults`                | `0.5.0`     |
-| `@backstage/backend-dynamic-feature-service` | `0.4.1`     |
-| `@backstage/backend-plugin-api`              | `1.0.0`     |
-| `@backstage/catalog-model`                   | `1.7.0`     |
-| `@backstage/cli-node`                        | `0.2.8`     |
-| `@backstage/config`                          | `1.2.0`     |
-| `@backstage/config-loader`                   | `1.9.1`     |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/main/packages/backend/package.json) in the [`backend`](https://github.com/redhat-developer/rhdh/tree/main/packages/backend) package in the `main` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/main).
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.2.0` |
+| `@backstage/backend-defaults` | `0.8.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.6.0` |
+| `@backstage/backend-plugin-api` | `1.2.0` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.13` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.6` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.6/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.6/packages/backend) package
+in the `release-1.6` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.6).
 
-## RHDH 1.3
+## RHDH 1.5 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.5/backstage.json
+-->
+
+Based on [Backstage 1.35.1](https://backstage.io/docs/releases/v1.35.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.24
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/core-app-api` | `1.15.4` |
+| `@backstage/core-components` | `0.16.3` |
+| `@backstage/core-plugin-api` | `1.10.3` |
+| `@backstage/integration-react` | `1.2.3` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.5/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.5/packages/app) package 
+in the `release-1.5` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.5).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.1.1` |
+| `@backstage/backend-defaults` | `0.7.0` |
+| `@backstage/backend-dynamic-feature-service` | `0.5.3` |
+| `@backstage/backend-plugin-api` | `1.1.1` |
+| `@backstage/catalog-model` | `1.7.3` |
+| `@backstage/cli-node` | `0.2.12` |
+| `@backstage/config` | `1.3.2` |
+| `@backstage/config-loader` | `1.9.5` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.5/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.5/packages/backend) package
+in the `release-1.5` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.5).
+
+## RHDH 1.4 
+
+<!-- source
+https://github.com/redhat-developer/rhdh/blob/release-1.4/backstage.json
+-->
+
+Based on [Backstage 1.32.6](https://backstage.io/docs/releases/v1.32.0)
+
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
+
+```bash
+npx @backstage/create-app@0.5.21
+```
+
+### Frontend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/catalog-model` | `1.7.0` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/core-app-api` | `1.15.1` |
+| `@backstage/core-components` | `0.15.1` |
+| `@backstage/core-plugin-api` | `1.10.0` |
+| `@backstage/integration-react` | `1.2.0` |
+
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.4/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.4/packages/app) package 
+in the `release-1.4` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.4).
+
+### Backend packages
+
+
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `1.0.1` |
+| `@backstage/backend-defaults` | `0.5.2` |
+| `@backstage/backend-dynamic-feature-service` | `0.4.4` |
+| `@backstage/backend-plugin-api` | `1.0.1` |
+| `@backstage/catalog-model` | `1.7.0` |
+| `@backstage/cli-node` | `0.2.9` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/config-loader` | `1.9.1` |
+
+
+
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.4/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.4/packages/backend) package
+in the `release-1.4` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.4).
+
+## RHDH 1.3 
 
 <!-- source
 https://github.com/redhat-developer/rhdh/blob/release-1.3/backstage.json
 -->
 
 Based on [Backstage 1.29.2](https://backstage.io/docs/releases/v1.29.0)
 
-To bootstrap Backstage app that is compatible with RHDH 1.3, you can use:
+To bootstrap Backstage app that is compatible with RHDH 1.4, you can use:
 
 ```bash
 npx @backstage/create-app@0.5.17
 ```
 
 ### Frontend packages
 
+
 | **Package**                    | **Version** |
 | ------------------------------ | ----------- |
-| `@backstage/catalog-model`     | `1.5.0`     |
-| `@backstage/config`            | `1.2.0`     |
-| `@backstage/core-app-api`      | `1.14.1`    |
-| `@backstage/core-components`   | `0.14.9`    |
-| `@backstage/core-plugin-api`   | `1.9.3`     |
-| `@backstage/integration-react` | `1.1.29`    |
+| `@backstage/catalog-model` | `1.5.0` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/core-app-api` | `1.14.1` |
+| `@backstage/core-components` | `0.14.9` |
+| `@backstage/core-plugin-api` | `1.9.3` |
+| `@backstage/integration-react` | `1.1.29` |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/app/package.json) in the [`app`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/app) package in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+
+
+If you want to check versions of other packages, you can check the 
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/app/package.json) in the
+[`app`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/app) package 
+in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
 
 ### Backend packages
 
-| **Package**                                  | **Version** |
-| -------------------------------------------- | ----------- |
-| `@backstage/backend-app-api`                 | `0.8.0`     |
-| `@backstage/backend-common`                  | `0.23.3`    |
-| `@backstage/backend-defaults`                | `0.4.1`     |
-| `@backstage/backend-dynamic-feature-service` | `0.2.15`    |
-| `@backstage/backend-plugin-api`              | `0.7.0`     |
-| `@backstage/catalog-model`                   | `1.5.0`     |
-| `@backstage/cli-node`                        | `0.2.7`     |
-| `@backstage/config`                          | `1.2.0`     |
-| `@backstage/config-loader`                   | `1.8.1`     |
 
-If you want to check versions of other packages, you can check the [`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/backend/package.json) in the [`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/backend) package in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+| **Package**                    | **Version** |
+| ------------------------------ | ----------- |
+| `@backstage/backend-app-api` | `0.8.0` |
+| `@backstage/backend-defaults` | `0.4.1` |
+| `@backstage/backend-dynamic-feature-service` | `0.2.15` |
+| `@backstage/backend-plugin-api` | `0.7.0` |
+| `@backstage/catalog-model` | `1.5.0` |
+| `@backstage/cli-node` | `0.2.7` |
+| `@backstage/config` | `1.2.0` |
+| `@backstage/config-loader` | `1.8.1` |
+
 
-## RHDH 1.2
 
-Based on Backstage 1.26.5
-@backstage/create-app 0.5.14
+If you want to check versions of other packages, you can check the
+[`package.json`](https://github.com/redhat-developer/rhdh/blob/release-1.3/packages/backend/package.json) in the
+[`backend`](https://github.com/redhat-developer/rhdh/tree/release-1.3/packages/backend) package
+in the `release-1.3` branch of the [RHDH repository](https://github.com/redhat-developer/rhdh/tree/release-1.3).
+
+## RHDH 1.1 
path: docs/dynamic-plugins/versions.md
user: login: kadel
body: ok, I've added limit to only latest 4 releases 
created_at: 2025-05-26T09:41:37Z
author_association: MEMBER

PR comments:
user: login: github-actions[bot]
created_at: 2025-04-25T12:47:48Z
body: The image is available at:
* [`quay.io/rhdh-community/rhdh:pr-2808`](https://quay.io/rhdh-community/rhdh:pr-2808) or
* [`quay.io/rhdh-community/rhdh:pr-2808-4f063bd7`](https://quay.io/rhdh-community/rhdh:pr-2808-4f063bd7)
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-05-03T02:07:20Z
body: This PR is stale because it has been open 7 days with no activity. Remove stale label or comment or this will be closed in 21 days.
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-05-12T09:26:51Z
body: The image is available at:
* [`quay.io/rhdh-community/rhdh:pr-2808`](https://quay.io/rhdh-community/rhdh:pr-2808) or
* [`quay.io/rhdh-community/rhdh:pr-2808-bac91d66`](https://quay.io/rhdh-community/rhdh:pr-2808-bac91d66)
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-05-16T11:38:43Z
body: The image is available at:
* [`quay.io/rhdh-community/rhdh:pr-2808`](https://quay.io/rhdh-community/rhdh:pr-2808) or
* [`quay.io/rhdh-community/rhdh:pr-2808-a8e5a77b`](https://quay.io/rhdh-community/rhdh:pr-2808-a8e5a77b)
author_association: CONTRIBUTOR
user: login: nickboldt
created_at: 2025-05-16T15:04:36Z
body: Two thoughts (but otherwise +1):
* could this PR include the updated `./docs/dynamic-plugins/versions.md` as well?
* rather than excluding the old 0.x and 1.0 branches, why don't we just delete them entirely? they're long since EOL. 

Also copilot complained:
```
The use of 'console.fail' is not a standard method in Node.js. Consider using 'console.error' followed by terminating the process (e.g., process.exit(1)) to handle the error.
console.fail(`Unable to find create-app version in ${createAppVersion}`)
```
author_association: MEMBER
user: login: kadel
created_at: 2025-05-19T13:15:32Z
body: @nickboldt 

> Two thoughts (but otherwise +1):
> 
> * could this PR include the updated `./docs/dynamic-plugins/versions.md` as well?

good point, will do that. Not sure why I did not do that at from start.

> * rather than excluding the old 0.x and 1.0 branches, why don't we just delete them entirely? they're long since EOL.

I think that it still makes sense to keep the old branches, there is really no harm in it, they might be useful for some historical references 

> 
> Also copilot complained:
> 
> ```
> The use of 'console.fail' is not a standard method in Node.js. Consider using 'console.error' followed by terminating the process (e.g., process.exit(1)) to handle the error.
> console.fail(`Unable to find create-app version in ${createAppVersion}`)
> ```

this has bee already fixed a while back


author_association: MEMBER
user: login: github-actions[bot]
created_at: 2025-05-19T13:58:18Z
body: The image is available at:
* [`quay.io/rhdh-community/rhdh:pr-2808`](https://quay.io/rhdh-community/rhdh:pr-2808) or
* [`quay.io/rhdh-community/rhdh:pr-2808-637163b7`](https://quay.io/rhdh-community/rhdh:pr-2808-637163b7)
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-05-26T10:18:17Z
body: The image is available at:
* [`quay.io/rhdh-community/rhdh:pr-2808`](https://quay.io/rhdh-community/rhdh:pr-2808) or
* [`quay.io/rhdh-community/rhdh:pr-2808-f079097a`](https://quay.io/rhdh-community/rhdh:pr-2808-f079097a)
author_association: CONTRIBUTOR
user: login: openshift-ci[bot]
created_at: 2025-05-26T13:08:30Z
body: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/redhat-developer/rhdh/pull/2808#pullrequestreview-2846309735" title="Approved">gashcrumb</a>*, *<a href="https://github.com/redhat-developer/rhdh/pull/2808#pullrequestreview-2868407433" title="Approved">nickboldt</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=redhat-developer%2Frhdh).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/redhat-developer/rhdh/blob/main/OWNERS)~~ [gashcrumb,nickboldt]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
author_association: NONE