From 45bd82144ff49caffd8da286e03a2211b281d649 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Oct 2025 20:25:07 +0000 Subject: [PATCH 1/2] chore(deps): update softprops/action-gh-release action to v2.3.4 --- .github/workflows/deploy.yml | 2 +- .github/workflows/nightly.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a74fc5f51..ec6131a3a 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -211,7 +211,7 @@ jobs: - name: Create Release if: env.LATEST_TAG != env.NEXT_TAG id: create_release - uses: softprops/action-gh-release@v2.3.3 + uses: softprops/action-gh-release@v2.3.4 with: token: ${{ secrets.GITHUB_TOKEN }} tag_name: "${{ env.GRID_VERSION }}-${{ env.BUILD_DATE }}" diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index fb4b41755..415f77c22 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -148,7 +148,7 @@ jobs: command: make chart_release - name: Create Nightly Release id: create_release - uses: softprops/action-gh-release@v2.3.3 + uses: softprops/action-gh-release@v2.3.4 with: token: ${{ secrets.GITHUB_TOKEN }} tag_name: ${{ env.BASE_RELEASE }} From 80943d1505db60ed058230fd62c97a7450fa609b Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Sat, 4 Oct 2025 14:36:06 +0700 Subject: [PATCH 2/2] [ci] Generate list images matrix in backward browser versions Signed-off-by: Viet Nguyen Duc --- CHANGELOG/README.md | 49 +++++++++++++++++++ CHANGELOG/generate-matrix-readme.py | 76 +++++++++++++++++++++++++++++ Makefile | 3 +- 3 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG/README.md create mode 100644 CHANGELOG/generate-matrix-readme.py diff --git a/CHANGELOG/README.md b/CHANGELOG/README.md new file mode 100644 index 000000000..7fa5e466b --- /dev/null +++ b/CHANGELOG/README.md @@ -0,0 +1,49 @@ +# Selenium Grid x Browser Version Matrix + +This matrix shows available Docker images with packaged Selenium Grid and browser versions. It helps users quickly identify which image tags to pull for their testing needs. + +**Motivation**: To supply the latest Selenium Grid core version with new functionality while keeping users able to use it for testing purposes like cross-browser testing or pinning a browser version due to limited support or issues at specific browser versions. We deliver Docker images for Node and Standalone with packaging both Grid and specific driver/browser versions. Users just find the image tag, pull the image they need and start their tests. + +**How to read**: Each ✓ links to detailed changelog information for that specific browser version in the corresponding Grid release. Latest versions appear first (descending order). + +**Note**: We don't have full testing to ensure every combination of Grid and browser version will function fully as expected. Users need to evaluate and make their own decisions based on their testing requirements. + +## Chrome + +| Grid Version | 138 | 137 | 136 | 134 | 133 | 132 | 131 | 130 | 129 | 128 | 127 | 126 | 125 | 124 | 123 | 122 | 121 | 120 | 119 | 118 | 117 | 116 | 115 | 114 | 113 | 112 | 111 | 110 | 109 | 108 | 107 | 106 | 105 | 104 | 103 | 102 | 101 | 100 | 99 | 98 | 97 | 96 | 95 | +|--------------|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----| +| 4.35.0 | [✓](4.35.0/chrome_138.md) | [✓](4.35.0/chrome_137.md) | [✓](4.35.0/chrome_136.md) | [✓](4.35.0/chrome_134.md) | [✓](4.35.0/chrome_133.md) | [✓](4.35.0/chrome_132.md) | [✓](4.35.0/chrome_131.md) | [✓](4.35.0/chrome_130.md) | [✓](4.35.0/chrome_129.md) | [✓](4.35.0/chrome_128.md) | [✓](4.35.0/chrome_127.md) | [✓](4.35.0/chrome_126.md) | [✓](4.35.0/chrome_125.md) | [✓](4.35.0/chrome_124.md) | [✓](4.35.0/chrome_123.md) | [✓](4.35.0/chrome_122.md) | [✓](4.35.0/chrome_121.md) | [✓](4.35.0/chrome_120.md) | [✓](4.35.0/chrome_119.md) | [✓](4.35.0/chrome_118.md) | [✓](4.35.0/chrome_117.md) | [✓](4.35.0/chrome_116.md) | [✓](4.35.0/chrome_115.md) | [✓](4.35.0/chrome_114.md) | [✓](4.35.0/chrome_113.md) | [✓](4.35.0/chrome_112.md) | [✓](4.35.0/chrome_111.md) | [✓](4.35.0/chrome_110.md) | [✓](4.35.0/chrome_109.md) | [✓](4.35.0/chrome_108.md) | [✓](4.35.0/chrome_107.md) | [✓](4.35.0/chrome_106.md) | [✓](4.35.0/chrome_105.md) | [✓](4.35.0/chrome_104.md) | [✓](4.35.0/chrome_103.md) | [✓](4.35.0/chrome_102.md) | [✓](4.35.0/chrome_101.md) | [✓](4.35.0/chrome_100.md) | [✓](4.35.0/chrome_99.md) | [✓](4.35.0/chrome_98.md) | [✓](4.35.0/chrome_97.md) | [✓](4.35.0/chrome_96.md) | [✓](4.35.0/chrome_95.md) | +| 4.34.0 | | [✓](4.34.0/chrome_137.md) | [✓](4.34.0/chrome_136.md) | [✓](4.34.0/chrome_134.md) | [✓](4.34.0/chrome_133.md) | [✓](4.34.0/chrome_132.md) | [✓](4.34.0/chrome_131.md) | [✓](4.34.0/chrome_130.md) | [✓](4.34.0/chrome_129.md) | [✓](4.34.0/chrome_128.md) | [✓](4.34.0/chrome_127.md) | [✓](4.34.0/chrome_126.md) | [✓](4.34.0/chrome_125.md) | [✓](4.34.0/chrome_124.md) | [✓](4.34.0/chrome_123.md) | [✓](4.34.0/chrome_122.md) | [✓](4.34.0/chrome_121.md) | [✓](4.34.0/chrome_120.md) | [✓](4.34.0/chrome_119.md) | [✓](4.34.0/chrome_118.md) | [✓](4.34.0/chrome_117.md) | [✓](4.34.0/chrome_116.md) | [✓](4.34.0/chrome_115.md) | [✓](4.34.0/chrome_114.md) | [✓](4.34.0/chrome_113.md) | [✓](4.34.0/chrome_112.md) | [✓](4.34.0/chrome_111.md) | [✓](4.34.0/chrome_110.md) | [✓](4.34.0/chrome_109.md) | [✓](4.34.0/chrome_108.md) | [✓](4.34.0/chrome_107.md) | [✓](4.34.0/chrome_106.md) | [✓](4.34.0/chrome_105.md) | [✓](4.34.0/chrome_104.md) | [✓](4.34.0/chrome_103.md) | [✓](4.34.0/chrome_102.md) | [✓](4.34.0/chrome_101.md) | [✓](4.34.0/chrome_100.md) | [✓](4.34.0/chrome_99.md) | [✓](4.34.0/chrome_98.md) | [✓](4.34.0/chrome_97.md) | [✓](4.34.0/chrome_96.md) | [✓](4.34.0/chrome_95.md) | +| 4.33.0 | | | [✓](4.33.0/chrome_136.md) | [✓](4.33.0/chrome_134.md) | [✓](4.33.0/chrome_133.md) | [✓](4.33.0/chrome_132.md) | [✓](4.33.0/chrome_131.md) | [✓](4.33.0/chrome_130.md) | [✓](4.33.0/chrome_129.md) | [✓](4.33.0/chrome_128.md) | [✓](4.33.0/chrome_127.md) | [✓](4.33.0/chrome_126.md) | [✓](4.33.0/chrome_125.md) | [✓](4.33.0/chrome_124.md) | [✓](4.33.0/chrome_123.md) | [✓](4.33.0/chrome_122.md) | [✓](4.33.0/chrome_121.md) | [✓](4.33.0/chrome_120.md) | [✓](4.33.0/chrome_119.md) | [✓](4.33.0/chrome_118.md) | [✓](4.33.0/chrome_117.md) | [✓](4.33.0/chrome_116.md) | [✓](4.33.0/chrome_115.md) | [✓](4.33.0/chrome_114.md) | [✓](4.33.0/chrome_113.md) | [✓](4.33.0/chrome_112.md) | [✓](4.33.0/chrome_111.md) | [✓](4.33.0/chrome_110.md) | [✓](4.33.0/chrome_109.md) | [✓](4.33.0/chrome_108.md) | [✓](4.33.0/chrome_107.md) | [✓](4.33.0/chrome_106.md) | [✓](4.33.0/chrome_105.md) | [✓](4.33.0/chrome_104.md) | [✓](4.33.0/chrome_103.md) | [✓](4.33.0/chrome_102.md) | [✓](4.33.0/chrome_101.md) | [✓](4.33.0/chrome_100.md) | [✓](4.33.0/chrome_99.md) | [✓](4.33.0/chrome_98.md) | [✓](4.33.0/chrome_97.md) | [✓](4.33.0/chrome_96.md) | [✓](4.33.0/chrome_95.md) | +| 4.32.0 | | | | [✓](4.32.0/chrome_134.md) | [✓](4.32.0/chrome_133.md) | [✓](4.32.0/chrome_132.md) | [✓](4.32.0/chrome_131.md) | [✓](4.32.0/chrome_130.md) | [✓](4.32.0/chrome_129.md) | [✓](4.32.0/chrome_128.md) | [✓](4.32.0/chrome_127.md) | [✓](4.32.0/chrome_126.md) | [✓](4.32.0/chrome_125.md) | [✓](4.32.0/chrome_124.md) | [✓](4.32.0/chrome_123.md) | [✓](4.32.0/chrome_122.md) | [✓](4.32.0/chrome_121.md) | [✓](4.32.0/chrome_120.md) | [✓](4.32.0/chrome_119.md) | [✓](4.32.0/chrome_118.md) | [✓](4.32.0/chrome_117.md) | [✓](4.32.0/chrome_116.md) | [✓](4.32.0/chrome_115.md) | [✓](4.32.0/chrome_114.md) | [✓](4.32.0/chrome_113.md) | [✓](4.32.0/chrome_112.md) | [✓](4.32.0/chrome_111.md) | [✓](4.32.0/chrome_110.md) | [✓](4.32.0/chrome_109.md) | [✓](4.32.0/chrome_108.md) | [✓](4.32.0/chrome_107.md) | [✓](4.32.0/chrome_106.md) | [✓](4.32.0/chrome_105.md) | [✓](4.32.0/chrome_104.md) | [✓](4.32.0/chrome_103.md) | [✓](4.32.0/chrome_102.md) | [✓](4.32.0/chrome_101.md) | [✓](4.32.0/chrome_100.md) | [✓](4.32.0/chrome_99.md) | [✓](4.32.0/chrome_98.md) | [✓](4.32.0/chrome_97.md) | [✓](4.32.0/chrome_96.md) | [✓](4.32.0/chrome_95.md) | +| 4.31.0 | | | | [✓](4.31.0/chrome_134.md) | [✓](4.31.0/chrome_133.md) | [✓](4.31.0/chrome_132.md) | [✓](4.31.0/chrome_131.md) | [✓](4.31.0/chrome_130.md) | [✓](4.31.0/chrome_129.md) | [✓](4.31.0/chrome_128.md) | [✓](4.31.0/chrome_127.md) | [✓](4.31.0/chrome_126.md) | [✓](4.31.0/chrome_125.md) | [✓](4.31.0/chrome_124.md) | [✓](4.31.0/chrome_123.md) | [✓](4.31.0/chrome_122.md) | [✓](4.31.0/chrome_121.md) | [✓](4.31.0/chrome_120.md) | [✓](4.31.0/chrome_119.md) | [✓](4.31.0/chrome_118.md) | [✓](4.31.0/chrome_117.md) | [✓](4.31.0/chrome_116.md) | [✓](4.31.0/chrome_115.md) | [✓](4.31.0/chrome_114.md) | [✓](4.31.0/chrome_113.md) | [✓](4.31.0/chrome_112.md) | [✓](4.31.0/chrome_111.md) | [✓](4.31.0/chrome_110.md) | [✓](4.31.0/chrome_109.md) | [✓](4.31.0/chrome_108.md) | [✓](4.31.0/chrome_107.md) | [✓](4.31.0/chrome_106.md) | [✓](4.31.0/chrome_105.md) | [✓](4.31.0/chrome_104.md) | [✓](4.31.0/chrome_103.md) | [✓](4.31.0/chrome_102.md) | [✓](4.31.0/chrome_101.md) | [✓](4.31.0/chrome_100.md) | [✓](4.31.0/chrome_99.md) | [✓](4.31.0/chrome_98.md) | [✓](4.31.0/chrome_97.md) | [✓](4.31.0/chrome_96.md) | [✓](4.31.0/chrome_95.md) | +| 4.30.0 | | | | [✓](4.30.0/chrome_134.md) | [✓](4.30.0/chrome_133.md) | [✓](4.30.0/chrome_132.md) | [✓](4.30.0/chrome_131.md) | [✓](4.30.0/chrome_130.md) | [✓](4.30.0/chrome_129.md) | [✓](4.30.0/chrome_128.md) | [✓](4.30.0/chrome_127.md) | [✓](4.30.0/chrome_126.md) | [✓](4.30.0/chrome_125.md) | [✓](4.30.0/chrome_124.md) | [✓](4.30.0/chrome_123.md) | [✓](4.30.0/chrome_122.md) | [✓](4.30.0/chrome_121.md) | [✓](4.30.0/chrome_120.md) | [✓](4.30.0/chrome_119.md) | [✓](4.30.0/chrome_118.md) | [✓](4.30.0/chrome_117.md) | [✓](4.30.0/chrome_116.md) | [✓](4.30.0/chrome_115.md) | [✓](4.30.0/chrome_114.md) | [✓](4.30.0/chrome_113.md) | [✓](4.30.0/chrome_112.md) | [✓](4.30.0/chrome_111.md) | [✓](4.30.0/chrome_110.md) | [✓](4.30.0/chrome_109.md) | [✓](4.30.0/chrome_108.md) | [✓](4.30.0/chrome_107.md) | [✓](4.30.0/chrome_106.md) | [✓](4.30.0/chrome_105.md) | [✓](4.30.0/chrome_104.md) | [✓](4.30.0/chrome_103.md) | [✓](4.30.0/chrome_102.md) | [✓](4.30.0/chrome_101.md) | [✓](4.30.0/chrome_100.md) | | [✓](4.30.0/chrome_98.md) | [✓](4.30.0/chrome_97.md) | [✓](4.30.0/chrome_96.md) | [✓](4.30.0/chrome_95.md) | +| 4.29.0 | | | | [✓](4.29.0/chrome_134.md) | [✓](4.29.0/chrome_133.md) | [✓](4.29.0/chrome_132.md) | [✓](4.29.0/chrome_131.md) | [✓](4.29.0/chrome_130.md) | [✓](4.29.0/chrome_129.md) | [✓](4.29.0/chrome_128.md) | [✓](4.29.0/chrome_127.md) | [✓](4.29.0/chrome_126.md) | [✓](4.29.0/chrome_125.md) | [✓](4.29.0/chrome_124.md) | [✓](4.29.0/chrome_123.md) | [✓](4.29.0/chrome_122.md) | [✓](4.29.0/chrome_121.md) | [✓](4.29.0/chrome_120.md) | [✓](4.29.0/chrome_119.md) | [✓](4.29.0/chrome_118.md) | [✓](4.29.0/chrome_117.md) | [✓](4.29.0/chrome_116.md) | [✓](4.29.0/chrome_115.md) | [✓](4.29.0/chrome_114.md) | [✓](4.29.0/chrome_113.md) | [✓](4.29.0/chrome_112.md) | [✓](4.29.0/chrome_111.md) | [✓](4.29.0/chrome_110.md) | [✓](4.29.0/chrome_109.md) | [✓](4.29.0/chrome_108.md) | [✓](4.29.0/chrome_107.md) | [✓](4.29.0/chrome_106.md) | [✓](4.29.0/chrome_105.md) | [✓](4.29.0/chrome_104.md) | [✓](4.29.0/chrome_103.md) | [✓](4.29.0/chrome_102.md) | [✓](4.29.0/chrome_101.md) | [✓](4.29.0/chrome_100.md) | [✓](4.29.0/chrome_99.md) | [✓](4.29.0/chrome_98.md) | [✓](4.29.0/chrome_97.md) | [✓](4.29.0/chrome_96.md) | [✓](4.29.0/chrome_95.md) | +| 4.28.1 | | | | | | [✓](4.28.1/chrome_132.md) | [✓](4.28.1/chrome_131.md) | [✓](4.28.1/chrome_130.md) | [✓](4.28.1/chrome_129.md) | [✓](4.28.1/chrome_128.md) | [✓](4.28.1/chrome_127.md) | [✓](4.28.1/chrome_126.md) | [✓](4.28.1/chrome_125.md) | [✓](4.28.1/chrome_124.md) | [✓](4.28.1/chrome_123.md) | [✓](4.28.1/chrome_122.md) | [✓](4.28.1/chrome_121.md) | [✓](4.28.1/chrome_120.md) | [✓](4.28.1/chrome_119.md) | [✓](4.28.1/chrome_118.md) | [✓](4.28.1/chrome_117.md) | [✓](4.28.1/chrome_116.md) | [✓](4.28.1/chrome_115.md) | [✓](4.28.1/chrome_114.md) | [✓](4.28.1/chrome_113.md) | [✓](4.28.1/chrome_112.md) | [✓](4.28.1/chrome_111.md) | [✓](4.28.1/chrome_110.md) | [✓](4.28.1/chrome_109.md) | [✓](4.28.1/chrome_108.md) | [✓](4.28.1/chrome_107.md) | [✓](4.28.1/chrome_106.md) | [✓](4.28.1/chrome_105.md) | [✓](4.28.1/chrome_104.md) | [✓](4.28.1/chrome_103.md) | [✓](4.28.1/chrome_102.md) | [✓](4.28.1/chrome_101.md) | [✓](4.28.1/chrome_100.md) | [✓](4.28.1/chrome_99.md) | [✓](4.28.1/chrome_98.md) | [✓](4.28.1/chrome_97.md) | | | + +## Edge + +| Grid Version | 139 | 138 | 137 | 136 | 135 | 134 | 133 | 132 | 131 | 130 | 129 | 128 | 127 | 126 | 125 | 124 | 123 | 122 | 121 | 120 | 119 | 118 | 117 | 116 | 115 | 114 | +|--------------|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----| +| 4.35.0 | [✓](4.35.0/edge_139.md) | [✓](4.35.0/edge_138.md) | [✓](4.35.0/edge_137.md) | [✓](4.35.0/edge_136.md) | [✓](4.35.0/edge_135.md) | [✓](4.35.0/edge_134.md) | [✓](4.35.0/edge_133.md) | [✓](4.35.0/edge_132.md) | [✓](4.35.0/edge_131.md) | [✓](4.35.0/edge_130.md) | [✓](4.35.0/edge_129.md) | [✓](4.35.0/edge_128.md) | [✓](4.35.0/edge_127.md) | [✓](4.35.0/edge_126.md) | [✓](4.35.0/edge_125.md) | [✓](4.35.0/edge_124.md) | [✓](4.35.0/edge_123.md) | [✓](4.35.0/edge_122.md) | [✓](4.35.0/edge_121.md) | [✓](4.35.0/edge_120.md) | [✓](4.35.0/edge_119.md) | [✓](4.35.0/edge_118.md) | [✓](4.35.0/edge_117.md) | [✓](4.35.0/edge_116.md) | [✓](4.35.0/edge_115.md) | [✓](4.35.0/edge_114.md) | +| 4.34.0 | | | [✓](4.34.0/edge_137.md) | [✓](4.34.0/edge_136.md) | [✓](4.34.0/edge_135.md) | [✓](4.34.0/edge_134.md) | [✓](4.34.0/edge_133.md) | [✓](4.34.0/edge_132.md) | [✓](4.34.0/edge_131.md) | [✓](4.34.0/edge_130.md) | [✓](4.34.0/edge_129.md) | [✓](4.34.0/edge_128.md) | [✓](4.34.0/edge_127.md) | [✓](4.34.0/edge_126.md) | [✓](4.34.0/edge_125.md) | [✓](4.34.0/edge_124.md) | [✓](4.34.0/edge_123.md) | [✓](4.34.0/edge_122.md) | [✓](4.34.0/edge_121.md) | [✓](4.34.0/edge_120.md) | [✓](4.34.0/edge_119.md) | [✓](4.34.0/edge_118.md) | [✓](4.34.0/edge_117.md) | [✓](4.34.0/edge_116.md) | [✓](4.34.0/edge_115.md) | [✓](4.34.0/edge_114.md) | +| 4.33.0 | | | | [✓](4.33.0/edge_136.md) | [✓](4.33.0/edge_135.md) | [✓](4.33.0/edge_134.md) | [✓](4.33.0/edge_133.md) | [✓](4.33.0/edge_132.md) | [✓](4.33.0/edge_131.md) | [✓](4.33.0/edge_130.md) | [✓](4.33.0/edge_129.md) | [✓](4.33.0/edge_128.md) | [✓](4.33.0/edge_127.md) | [✓](4.33.0/edge_126.md) | [✓](4.33.0/edge_125.md) | [✓](4.33.0/edge_124.md) | [✓](4.33.0/edge_123.md) | [✓](4.33.0/edge_122.md) | [✓](4.33.0/edge_121.md) | [✓](4.33.0/edge_120.md) | [✓](4.33.0/edge_119.md) | [✓](4.33.0/edge_118.md) | [✓](4.33.0/edge_117.md) | [✓](4.33.0/edge_116.md) | [✓](4.33.0/edge_115.md) | [✓](4.33.0/edge_114.md) | +| 4.32.0 | | | | | [✓](4.32.0/edge_135.md) | [✓](4.32.0/edge_134.md) | [✓](4.32.0/edge_133.md) | [✓](4.32.0/edge_132.md) | [✓](4.32.0/edge_131.md) | [✓](4.32.0/edge_130.md) | [✓](4.32.0/edge_129.md) | [✓](4.32.0/edge_128.md) | [✓](4.32.0/edge_127.md) | [✓](4.32.0/edge_126.md) | [✓](4.32.0/edge_125.md) | [✓](4.32.0/edge_124.md) | [✓](4.32.0/edge_123.md) | [✓](4.32.0/edge_122.md) | [✓](4.32.0/edge_121.md) | [✓](4.32.0/edge_120.md) | [✓](4.32.0/edge_119.md) | [✓](4.32.0/edge_118.md) | [✓](4.32.0/edge_117.md) | [✓](4.32.0/edge_116.md) | [✓](4.32.0/edge_115.md) | [✓](4.32.0/edge_114.md) | +| 4.31.0 | | | | | | [✓](4.31.0/edge_134.md) | [✓](4.31.0/edge_133.md) | [✓](4.31.0/edge_132.md) | [✓](4.31.0/edge_131.md) | [✓](4.31.0/edge_130.md) | [✓](4.31.0/edge_129.md) | [✓](4.31.0/edge_128.md) | [✓](4.31.0/edge_127.md) | [✓](4.31.0/edge_126.md) | [✓](4.31.0/edge_125.md) | [✓](4.31.0/edge_124.md) | [✓](4.31.0/edge_123.md) | [✓](4.31.0/edge_122.md) | [✓](4.31.0/edge_121.md) | [✓](4.31.0/edge_120.md) | [✓](4.31.0/edge_119.md) | [✓](4.31.0/edge_118.md) | [✓](4.31.0/edge_117.md) | [✓](4.31.0/edge_116.md) | [✓](4.31.0/edge_115.md) | [✓](4.31.0/edge_114.md) | +| 4.30.0 | | | | | | [✓](4.30.0/edge_134.md) | [✓](4.30.0/edge_133.md) | [✓](4.30.0/edge_132.md) | [✓](4.30.0/edge_131.md) | [✓](4.30.0/edge_130.md) | [✓](4.30.0/edge_129.md) | [✓](4.30.0/edge_128.md) | [✓](4.30.0/edge_127.md) | [✓](4.30.0/edge_126.md) | [✓](4.30.0/edge_125.md) | [✓](4.30.0/edge_124.md) | [✓](4.30.0/edge_123.md) | [✓](4.30.0/edge_122.md) | [✓](4.30.0/edge_121.md) | [✓](4.30.0/edge_120.md) | [✓](4.30.0/edge_119.md) | [✓](4.30.0/edge_118.md) | [✓](4.30.0/edge_117.md) | [✓](4.30.0/edge_116.md) | [✓](4.30.0/edge_115.md) | [✓](4.30.0/edge_114.md) | +| 4.29.0 | | | | | | | [✓](4.29.0/edge_133.md) | [✓](4.29.0/edge_132.md) | [✓](4.29.0/edge_131.md) | [✓](4.29.0/edge_130.md) | [✓](4.29.0/edge_129.md) | [✓](4.29.0/edge_128.md) | [✓](4.29.0/edge_127.md) | [✓](4.29.0/edge_126.md) | [✓](4.29.0/edge_125.md) | [✓](4.29.0/edge_124.md) | [✓](4.29.0/edge_123.md) | [✓](4.29.0/edge_122.md) | [✓](4.29.0/edge_121.md) | [✓](4.29.0/edge_120.md) | [✓](4.29.0/edge_119.md) | [✓](4.29.0/edge_118.md) | [✓](4.29.0/edge_117.md) | [✓](4.29.0/edge_116.md) | [✓](4.29.0/edge_115.md) | [✓](4.29.0/edge_114.md) | +| 4.28.1 | | | | | | | | [✓](4.28.1/edge_132.md) | [✓](4.28.1/edge_131.md) | [✓](4.28.1/edge_130.md) | [✓](4.28.1/edge_129.md) | [✓](4.28.1/edge_128.md) | [✓](4.28.1/edge_127.md) | [✓](4.28.1/edge_126.md) | [✓](4.28.1/edge_125.md) | [✓](4.28.1/edge_124.md) | [✓](4.28.1/edge_123.md) | [✓](4.28.1/edge_122.md) | [✓](4.28.1/edge_121.md) | [✓](4.28.1/edge_120.md) | [✓](4.28.1/edge_119.md) | [✓](4.28.1/edge_118.md) | [✓](4.28.1/edge_117.md) | [✓](4.28.1/edge_116.md) | [✓](4.28.1/edge_115.md) | [✓](4.28.1/edge_114.md) | + +## Firefox + +| Grid Version | 142 | 141 | 140 | 139 | 138 | 137 | 136 | 135 | 134 | 133 | 132 | 131 | 130 | 129 | 128 | 127 | 126 | 125 | 124 | 123 | 122 | 121 | 120 | 119 | 118 | 117 | 116 | 115 | 114 | 113 | 112 | 111 | 110 | 109 | 108 | 107 | 106 | 105 | 104 | 103 | 102 | 101 | 100 | 99 | 98 | +|--------------|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----| +| 4.35.0 | [✓](4.35.0/firefox_142.md) | [✓](4.35.0/firefox_141.md) | [✓](4.35.0/firefox_140.md) | [✓](4.35.0/firefox_139.md) | [✓](4.35.0/firefox_138.md) | [✓](4.35.0/firefox_137.md) | [✓](4.35.0/firefox_136.md) | [✓](4.35.0/firefox_135.md) | [✓](4.35.0/firefox_134.md) | [✓](4.35.0/firefox_133.md) | [✓](4.35.0/firefox_132.md) | [✓](4.35.0/firefox_131.md) | [✓](4.35.0/firefox_130.md) | [✓](4.35.0/firefox_129.md) | [✓](4.35.0/firefox_128.md) | [✓](4.35.0/firefox_127.md) | [✓](4.35.0/firefox_126.md) | [✓](4.35.0/firefox_125.md) | [✓](4.35.0/firefox_124.md) | [✓](4.35.0/firefox_123.md) | [✓](4.35.0/firefox_122.md) | [✓](4.35.0/firefox_121.md) | [✓](4.35.0/firefox_120.md) | [✓](4.35.0/firefox_119.md) | [✓](4.35.0/firefox_118.md) | [✓](4.35.0/firefox_117.md) | [✓](4.35.0/firefox_116.md) | [✓](4.35.0/firefox_115.md) | [✓](4.35.0/firefox_114.md) | [✓](4.35.0/firefox_113.md) | [✓](4.35.0/firefox_112.md) | [✓](4.35.0/firefox_111.md) | [✓](4.35.0/firefox_110.md) | [✓](4.35.0/firefox_109.md) | [✓](4.35.0/firefox_108.md) | [✓](4.35.0/firefox_107.md) | [✓](4.35.0/firefox_106.md) | [✓](4.35.0/firefox_105.md) | [✓](4.35.0/firefox_104.md) | [✓](4.35.0/firefox_103.md) | [✓](4.35.0/firefox_102.md) | [✓](4.35.0/firefox_101.md) | [✓](4.35.0/firefox_100.md) | [✓](4.35.0/firefox_99.md) | [✓](4.35.0/firefox_98.md) | +| 4.34.0 | | | | [✓](4.34.0/firefox_139.md) | [✓](4.34.0/firefox_138.md) | [✓](4.34.0/firefox_137.md) | [✓](4.34.0/firefox_136.md) | [✓](4.34.0/firefox_135.md) | [✓](4.34.0/firefox_134.md) | [✓](4.34.0/firefox_133.md) | [✓](4.34.0/firefox_132.md) | [✓](4.34.0/firefox_131.md) | [✓](4.34.0/firefox_130.md) | [✓](4.34.0/firefox_129.md) | [✓](4.34.0/firefox_128.md) | [✓](4.34.0/firefox_127.md) | [✓](4.34.0/firefox_126.md) | [✓](4.34.0/firefox_125.md) | [✓](4.34.0/firefox_124.md) | [✓](4.34.0/firefox_123.md) | [✓](4.34.0/firefox_122.md) | [✓](4.34.0/firefox_121.md) | [✓](4.34.0/firefox_120.md) | [✓](4.34.0/firefox_119.md) | [✓](4.34.0/firefox_118.md) | [✓](4.34.0/firefox_117.md) | [✓](4.34.0/firefox_116.md) | [✓](4.34.0/firefox_115.md) | [✓](4.34.0/firefox_114.md) | [✓](4.34.0/firefox_113.md) | [✓](4.34.0/firefox_112.md) | [✓](4.34.0/firefox_111.md) | [✓](4.34.0/firefox_110.md) | [✓](4.34.0/firefox_109.md) | [✓](4.34.0/firefox_108.md) | [✓](4.34.0/firefox_107.md) | [✓](4.34.0/firefox_106.md) | [✓](4.34.0/firefox_105.md) | [✓](4.34.0/firefox_104.md) | [✓](4.34.0/firefox_103.md) | [✓](4.34.0/firefox_102.md) | [✓](4.34.0/firefox_101.md) | [✓](4.34.0/firefox_100.md) | [✓](4.34.0/firefox_99.md) | [✓](4.34.0/firefox_98.md) | +| 4.33.0 | | | | | [✓](4.33.0/firefox_138.md) | [✓](4.33.0/firefox_137.md) | [✓](4.33.0/firefox_136.md) | [✓](4.33.0/firefox_135.md) | [✓](4.33.0/firefox_134.md) | [✓](4.33.0/firefox_133.md) | [✓](4.33.0/firefox_132.md) | [✓](4.33.0/firefox_131.md) | [✓](4.33.0/firefox_130.md) | [✓](4.33.0/firefox_129.md) | [✓](4.33.0/firefox_128.md) | [✓](4.33.0/firefox_127.md) | [✓](4.33.0/firefox_126.md) | [✓](4.33.0/firefox_125.md) | [✓](4.33.0/firefox_124.md) | [✓](4.33.0/firefox_123.md) | [✓](4.33.0/firefox_122.md) | [✓](4.33.0/firefox_121.md) | [✓](4.33.0/firefox_120.md) | [✓](4.33.0/firefox_119.md) | [✓](4.33.0/firefox_118.md) | [✓](4.33.0/firefox_117.md) | [✓](4.33.0/firefox_116.md) | [✓](4.33.0/firefox_115.md) | [✓](4.33.0/firefox_114.md) | [✓](4.33.0/firefox_113.md) | [✓](4.33.0/firefox_112.md) | [✓](4.33.0/firefox_111.md) | [✓](4.33.0/firefox_110.md) | [✓](4.33.0/firefox_109.md) | [✓](4.33.0/firefox_108.md) | [✓](4.33.0/firefox_107.md) | [✓](4.33.0/firefox_106.md) | [✓](4.33.0/firefox_105.md) | [✓](4.33.0/firefox_104.md) | [✓](4.33.0/firefox_103.md) | [✓](4.33.0/firefox_102.md) | [✓](4.33.0/firefox_101.md) | [✓](4.33.0/firefox_100.md) | [✓](4.33.0/firefox_99.md) | [✓](4.33.0/firefox_98.md) | +| 4.32.0 | | | | | | [✓](4.32.0/firefox_137.md) | [✓](4.32.0/firefox_136.md) | [✓](4.32.0/firefox_135.md) | [✓](4.32.0/firefox_134.md) | [✓](4.32.0/firefox_133.md) | [✓](4.32.0/firefox_132.md) | [✓](4.32.0/firefox_131.md) | [✓](4.32.0/firefox_130.md) | [✓](4.32.0/firefox_129.md) | [✓](4.32.0/firefox_128.md) | [✓](4.32.0/firefox_127.md) | [✓](4.32.0/firefox_126.md) | [✓](4.32.0/firefox_125.md) | [✓](4.32.0/firefox_124.md) | [✓](4.32.0/firefox_123.md) | [✓](4.32.0/firefox_122.md) | [✓](4.32.0/firefox_121.md) | [✓](4.32.0/firefox_120.md) | [✓](4.32.0/firefox_119.md) | [✓](4.32.0/firefox_118.md) | [✓](4.32.0/firefox_117.md) | [✓](4.32.0/firefox_116.md) | [✓](4.32.0/firefox_115.md) | [✓](4.32.0/firefox_114.md) | [✓](4.32.0/firefox_113.md) | [✓](4.32.0/firefox_112.md) | [✓](4.32.0/firefox_111.md) | [✓](4.32.0/firefox_110.md) | [✓](4.32.0/firefox_109.md) | [✓](4.32.0/firefox_108.md) | [✓](4.32.0/firefox_107.md) | [✓](4.32.0/firefox_106.md) | [✓](4.32.0/firefox_105.md) | [✓](4.32.0/firefox_104.md) | [✓](4.32.0/firefox_103.md) | [✓](4.32.0/firefox_102.md) | [✓](4.32.0/firefox_101.md) | [✓](4.32.0/firefox_100.md) | [✓](4.32.0/firefox_99.md) | [✓](4.32.0/firefox_98.md) | +| 4.31.0 | | | | | | | [✓](4.31.0/firefox_136.md) | [✓](4.31.0/firefox_135.md) | [✓](4.31.0/firefox_134.md) | [✓](4.31.0/firefox_133.md) | [✓](4.31.0/firefox_132.md) | [✓](4.31.0/firefox_131.md) | [✓](4.31.0/firefox_130.md) | [✓](4.31.0/firefox_129.md) | [✓](4.31.0/firefox_128.md) | [✓](4.31.0/firefox_127.md) | [✓](4.31.0/firefox_126.md) | [✓](4.31.0/firefox_125.md) | [✓](4.31.0/firefox_124.md) | [✓](4.31.0/firefox_123.md) | [✓](4.31.0/firefox_122.md) | [✓](4.31.0/firefox_121.md) | [✓](4.31.0/firefox_120.md) | [✓](4.31.0/firefox_119.md) | [✓](4.31.0/firefox_118.md) | [✓](4.31.0/firefox_117.md) | [✓](4.31.0/firefox_116.md) | [✓](4.31.0/firefox_115.md) | [✓](4.31.0/firefox_114.md) | [✓](4.31.0/firefox_113.md) | [✓](4.31.0/firefox_112.md) | [✓](4.31.0/firefox_111.md) | [✓](4.31.0/firefox_110.md) | [✓](4.31.0/firefox_109.md) | [✓](4.31.0/firefox_108.md) | [✓](4.31.0/firefox_107.md) | [✓](4.31.0/firefox_106.md) | [✓](4.31.0/firefox_105.md) | [✓](4.31.0/firefox_104.md) | [✓](4.31.0/firefox_103.md) | [✓](4.31.0/firefox_102.md) | [✓](4.31.0/firefox_101.md) | [✓](4.31.0/firefox_100.md) | [✓](4.31.0/firefox_99.md) | [✓](4.31.0/firefox_98.md) | +| 4.30.0 | | | | | | | [✓](4.30.0/firefox_136.md) | [✓](4.30.0/firefox_135.md) | [✓](4.30.0/firefox_134.md) | [✓](4.30.0/firefox_133.md) | [✓](4.30.0/firefox_132.md) | [✓](4.30.0/firefox_131.md) | [✓](4.30.0/firefox_130.md) | [✓](4.30.0/firefox_129.md) | [✓](4.30.0/firefox_128.md) | [✓](4.30.0/firefox_127.md) | [✓](4.30.0/firefox_126.md) | [✓](4.30.0/firefox_125.md) | [✓](4.30.0/firefox_124.md) | [✓](4.30.0/firefox_123.md) | [✓](4.30.0/firefox_122.md) | [✓](4.30.0/firefox_121.md) | [✓](4.30.0/firefox_120.md) | [✓](4.30.0/firefox_119.md) | [✓](4.30.0/firefox_118.md) | [✓](4.30.0/firefox_117.md) | [✓](4.30.0/firefox_116.md) | [✓](4.30.0/firefox_115.md) | [✓](4.30.0/firefox_114.md) | [✓](4.30.0/firefox_113.md) | [✓](4.30.0/firefox_112.md) | [✓](4.30.0/firefox_111.md) | [✓](4.30.0/firefox_110.md) | [✓](4.30.0/firefox_109.md) | [✓](4.30.0/firefox_108.md) | [✓](4.30.0/firefox_107.md) | [✓](4.30.0/firefox_106.md) | [✓](4.30.0/firefox_105.md) | [✓](4.30.0/firefox_104.md) | [✓](4.30.0/firefox_103.md) | [✓](4.30.0/firefox_102.md) | [✓](4.30.0/firefox_101.md) | [✓](4.30.0/firefox_100.md) | [✓](4.30.0/firefox_99.md) | [✓](4.30.0/firefox_98.md) | +| 4.29.0 | | | | | | | [✓](4.29.0/firefox_136.md) | [✓](4.29.0/firefox_135.md) | [✓](4.29.0/firefox_134.md) | [✓](4.29.0/firefox_133.md) | [✓](4.29.0/firefox_132.md) | [✓](4.29.0/firefox_131.md) | [✓](4.29.0/firefox_130.md) | [✓](4.29.0/firefox_129.md) | [✓](4.29.0/firefox_128.md) | [✓](4.29.0/firefox_127.md) | [✓](4.29.0/firefox_126.md) | [✓](4.29.0/firefox_125.md) | [✓](4.29.0/firefox_124.md) | [✓](4.29.0/firefox_123.md) | [✓](4.29.0/firefox_122.md) | [✓](4.29.0/firefox_121.md) | [✓](4.29.0/firefox_120.md) | [✓](4.29.0/firefox_119.md) | [✓](4.29.0/firefox_118.md) | [✓](4.29.0/firefox_117.md) | [✓](4.29.0/firefox_116.md) | [✓](4.29.0/firefox_115.md) | [✓](4.29.0/firefox_114.md) | [✓](4.29.0/firefox_113.md) | [✓](4.29.0/firefox_112.md) | [✓](4.29.0/firefox_111.md) | [✓](4.29.0/firefox_110.md) | [✓](4.29.0/firefox_109.md) | [✓](4.29.0/firefox_108.md) | [✓](4.29.0/firefox_107.md) | [✓](4.29.0/firefox_106.md) | [✓](4.29.0/firefox_105.md) | [✓](4.29.0/firefox_104.md) | [✓](4.29.0/firefox_103.md) | [✓](4.29.0/firefox_102.md) | [✓](4.29.0/firefox_101.md) | [✓](4.29.0/firefox_100.md) | [✓](4.29.0/firefox_99.md) | [✓](4.29.0/firefox_98.md) | +| 4.28.1 | | | | | | | | | [✓](4.28.1/firefox_134.md) | [✓](4.28.1/firefox_133.md) | [✓](4.28.1/firefox_132.md) | [✓](4.28.1/firefox_131.md) | [✓](4.28.1/firefox_130.md) | [✓](4.28.1/firefox_129.md) | [✓](4.28.1/firefox_128.md) | [✓](4.28.1/firefox_127.md) | [✓](4.28.1/firefox_126.md) | [✓](4.28.1/firefox_125.md) | [✓](4.28.1/firefox_124.md) | [✓](4.28.1/firefox_123.md) | [✓](4.28.1/firefox_122.md) | [✓](4.28.1/firefox_121.md) | [✓](4.28.1/firefox_120.md) | [✓](4.28.1/firefox_119.md) | [✓](4.28.1/firefox_118.md) | [✓](4.28.1/firefox_117.md) | [✓](4.28.1/firefox_116.md) | [✓](4.28.1/firefox_115.md) | [✓](4.28.1/firefox_114.md) | [✓](4.28.1/firefox_113.md) | [✓](4.28.1/firefox_112.md) | [✓](4.28.1/firefox_111.md) | [✓](4.28.1/firefox_110.md) | [✓](4.28.1/firefox_109.md) | [✓](4.28.1/firefox_108.md) | [✓](4.28.1/firefox_107.md) | [✓](4.28.1/firefox_106.md) | [✓](4.28.1/firefox_105.md) | [✓](4.28.1/firefox_104.md) | [✓](4.28.1/firefox_103.md) | [✓](4.28.1/firefox_102.md) | [✓](4.28.1/firefox_101.md) | [✓](4.28.1/firefox_100.md) | [✓](4.28.1/firefox_99.md) | [✓](4.28.1/firefox_98.md) | + diff --git a/CHANGELOG/generate-matrix-readme.py b/CHANGELOG/generate-matrix-readme.py new file mode 100644 index 000000000..6fdc30b74 --- /dev/null +++ b/CHANGELOG/generate-matrix-readme.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python3 +import os +import re +from collections import defaultdict + + +def scan_changelog(): + matrix = defaultdict(lambda: defaultdict(set)) + + for grid_version in os.listdir('.'): + if not os.path.isdir(grid_version) or not re.match(r'\d+\.\d+\.\d+', grid_version): + continue + + for file in os.listdir(grid_version): + if file.endswith('.md'): + match = re.match(r'(\w+)_(\d+)\.md', file) + if match: + browser, version = match.groups() + matrix[grid_version][browser].add(int(version)) + + return matrix + + +def generate_readme(matrix): + all_browsers = set() + all_versions = defaultdict(set) + + for grid_versions in matrix.values(): + for browser, versions in grid_versions.items(): + all_browsers.add(browser) + all_versions[browser].update(versions) + + browsers = sorted(all_browsers) + grid_versions = sorted(matrix.keys(), key=lambda x: [int(i) for i in x.split('.')], reverse=True) + + readme = """# Selenium Grid x Browser Version Matrix + +This matrix shows available Docker images with packaged Selenium Grid and browser versions. It helps users quickly identify which image tags to pull for their testing needs. + +**Motivation**: To supply the latest Selenium Grid core version with new functionality while keeping users able to use it for testing purposes like cross-browser testing or pinning a browser version due to limited support or issues at specific browser versions. We deliver Docker images for Node and Standalone with packaging both Grid and specific driver/browser versions. Users just find the image tag, pull the image they need and start their tests. + +**How to read**: Each ✓ links to detailed changelog information for that specific browser version in the corresponding Grid release. Latest versions appear first (descending order). + +**Note**: We don't have full testing to ensure every combination of Grid and browser version will function fully as expected. Users need to evaluate and make their own decisions based on their testing requirements. + +""" + + for browser in browsers: + versions = sorted(all_versions[browser], reverse=True) + readme += f"## {browser.title()}\n\n" + readme += "| Grid Version | " + " | ".join(map(str, versions)) + " |\n" + readme += "|" + "-" * 14 + "|" + "|".join(["-" * 4 for _ in versions]) + "|\n" + + for grid_version in grid_versions: + row = f"| {grid_version} |" + for version in versions: + if version in matrix[grid_version][browser]: + mark = f" [✓]({grid_version}/{browser}_{version}.md) " + else: + mark = " " + row += f"{mark}|" + readme += row + "\n" + readme += "\n" + + return readme + + +if __name__ == "__main__": + os.chdir('./CHANGELOG') + matrix = scan_changelog() + readme_content = generate_readme(matrix) + + with open('README.md', 'w') as f: + f.write(readme_content) + + print("README.md generated successfully!") diff --git a/Makefile b/Makefile index 1c8ae6bc1..e0390dbca 100644 --- a/Makefile +++ b/Makefile @@ -106,7 +106,8 @@ update_selenium_version_matrix: install_python_deps update_browser_versions_matrix: update_selenium_version_matrix python3 tests/build-backward-compatible/fetch_firefox_version.py ; \ python3 tests/build-backward-compatible/fetch_version.py ; \ - python3 tests/build-backward-compatible/update_workflow_versions.py + python3 tests/build-backward-compatible/update_workflow_versions.py ; \ + python3 CHANGELOG/generate-matrix-readme.py lint_format_scripts: format_makefile format_shell_scripts format_python_scripts generate_readme_charts git diff --stat --exit-code ; \