diff --git a/.github/scripts/common/lib.sh b/.github/scripts/common/lib.sh
index f844e962c41def7625fa3d45ae3cbf81ecb57147..33ef2d3e7eda4d6b4b5b7eacc2e3ed2b1a24c29f 100755
--- a/.github/scripts/common/lib.sh
+++ b/.github/scripts/common/lib.sh
@@ -444,3 +444,16 @@ get_latest_release_tag() {
     latest_release_tag=$(curl -s -H "$TOKEN" $api_base/paritytech/polkadot-sdk/releases/latest | jq -r '.tag_name')
     printf $latest_release_tag
 }
+
+function get_polkadot_node_version_from_code() {
+   # list all the files with node version
+  git grep -e "\(NODE_VERSION[^=]*= \)\".*\"" |
+  # fetch only the one we need
+  grep  "primitives/src/lib.rs:" |
+  # Print only the version
+  awk '{ print $7 }' |
+  # Remove the quotes
+  sed 's/"//g' |
+  # Remove the semicolon
+  sed 's/;//g'
+}
diff --git a/.github/workflows/release-10_rc-automation.yml b/.github/workflows/release-10_rc-automation.yml
index 7231a8b75886d04ce18bb89fcef99029e3ab14c6..f5c5de8d0da97546d2adfbcdfabd4805d96e8a70 100644
--- a/.github/workflows/release-10_rc-automation.yml
+++ b/.github/workflows/release-10_rc-automation.yml
@@ -1,13 +1,18 @@
 name: Release - RC automation
 on:
-  push:
-    branches:
-      # Catches release-polkadot-v1.2.3, release-v1.2.3-rc1, etc
-      - release-v[0-9]+.[0-9]+.[0-9]+*
-      - release-cumulus-v[0-9]+*
-      - release-polkadot-v[0-9]+*
+  # TODO: Activate it and delete old branches patterns, when the release process from stable is setteled
+  #push:
+    # branches:
+    #   # Catches release-polkadot-v1.2.3, release-v1.2.3-rc1, etc
+    #   - release-v[0-9]+.[0-9]+.[0-9]+*
+    #   - release-cumulus-v[0-9]+*
+    #   - release-polkadot-v[0-9]+*
+    #   - stable
 
   workflow_dispatch:
+    inputs:
+      version:
+        description: Current release/rc version in format vX.X.X
 
 jobs:
   tag_rc:
@@ -25,28 +30,19 @@ jobs:
         with:
           fetch-depth: 0
 
-      - name: Get release product
-        id: get_rel_product
-        shell: bash
-        run: |
-          current_branch=$(git branch --show-current)
-          echo "Current branch: $current_branch"
-          if [[ "$current_branch" =~ "release-polkadot" ]]; then
-            echo "product=polkadot" >> $GITHUB_OUTPUT
-          elif [[ "$current_branch" =~ "release-cumulus" ]]; then
-            echo "product=polkadot-parachain" >> $GITHUB_OUTPUT
-          fi
-
-
-      - name: Compute next rc tag for polkadot
-        if: ${{ steps.get_rel_product.outputs.product == 'polkadot' }}
-        id: compute_tag_polkadot
+      - name: Compute next rc tag
+        # if: ${{ steps.get_rel_product.outputs.product == 'polkadot' }}
+        id: compute_tag
         shell: bash
         run: |
           . ./.github/scripts/common/lib.sh
 
           # Get last rc tag if exists, else set it to {version}-rc1
-          version=$(get_version_from_ghref ${GITHUB_REF})
+          if [[ -z "${{ inputs.version }}" ]]; then
+            version=v$(get_polkadot_node_version_from_code)
+          else
+            version=$(filter_version_from_input ${{ inputs.version }})
+          fi
           echo "$version"
           echo "version=$version" >> $GITHUB_OUTPUT
 
@@ -61,28 +57,6 @@ jobs:
             echo "first_rc=true" >> $GITHUB_OUTPUT
           fi
 
-      - name: Compute next rc tag for polkadot-parachain
-        if: ${{ steps.get_rel_product.outputs.product == 'polkadot-parachain' }}
-        id: compute_tag_cumulus
-        shell: bash
-        run: |
-          . ./.github/scripts/common/lib.sh
-
-          # Get last rc tag if exists, else set it to polkadot-parachains-{version}-rc1
-          version=$(get_version_from_ghref ${GITHUB_REF})
-          echo "$version"
-          echo "version=$version" >> $GITHUB_OUTPUT
-
-          last_rc=$(get_latest_rc_tag $version polkadot-parachain)
-          if [ -n "$last_rc" ]; then
-            suffix=$(increment_rc_tag $last_rc)
-            echo "new_tag=polkadot-parachains-$version-rc$suffix" >> $GITHUB_OUTPUT
-            echo "first_rc=false" >> $GITHUB_OUTPUT
-          else
-            echo "new_tag=polkadot-parachain-$version-rc1" >> $GITHUB_OUTPUT
-            echo "first_rc=true" >> $GITHUB_OUTPUT
-          fi
-
       - name: Apply new tag
         uses: tvdias/github-tagger@ed7350546e3e503b5e942dffd65bc8751a95e49d # v0.0.2
         with:
@@ -90,17 +64,7 @@ jobs:
           # https://docs.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token
           # RELEASE_BRANCH_TOKEN requires public_repo OAuth scope
           repo-token: "${{ secrets.RELEASE_BRANCH_TOKEN }}"
-          tag: ${{ steps.compute_tag_polkadot.outputs.new_tag || steps.compute_tag_cumulus.outputs.new_tag }}
-
-      # - id: create-issue
-      #   uses: JasonEtco/create-an-issue@e27dddc79c92bc6e4562f268fffa5ed752639abd # v2.9.1
-      #   # Only create the issue if it's the first release candidate
-      #   if: steps.compute_tag.outputs.first_rc == 'true'
-      #   env:
-      #     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      #     VERSION: ${{ steps.compute_tag.outputs.version }}
-      #   with:
-      #     filename: .github/ISSUE_TEMPLATE/release.md
+          tag: ${{ steps.compute_tag.outputs.new_tag }}
 
       - name: Send Matrix message to ${{ matrix.channel.name }}
         uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3
@@ -110,4 +74,4 @@ jobs:
           access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
           server: m.parity.io
           message: |
-            Release process for polkadot ${{ steps.compute_tag_polkadot.outputs.new_tag || steps.compute_tag_cumulus.outputs.new_tag }} has been started.<br/>
+            Release process for polkadot ${{ steps.compute_tag.outputs.new_tag }} has been started.<br/>
diff --git a/.github/workflows/release-50_publish-docker.yml b/.github/workflows/release-50_publish-docker.yml
index 4679f58578f7906b75e4a3d6d623ebc1d55df40d..723883eaf64cc4bc620ea306b8205aff4f1dc28b 100644
--- a/.github/workflows/release-50_publish-docker.yml
+++ b/.github/workflows/release-50_publish-docker.yml
@@ -179,6 +179,7 @@ jobs:
           release=$( echo $VERSION | cut -f1 -d- )
           echo "tag=latest" >> $GITHUB_OUTPUT
           echo "release=${release}" >> $GITHUB_OUTPUT
+          echo "stable=stable" >> $GITHUB_OUTPUT
 
       - name: Build Injected Container image for polkadot rc or chain-spec-builder
         if: ${{ env.BINARY == 'polkadot' || env.BINARY == 'chain-spec-builder' }}
@@ -294,6 +295,7 @@ jobs:
           # TODO: The owner should be used below but buildx does not resolve the VARs
           # TODO: It would be good to get rid of this GHA that we don't really need.
           tags: |
+            parity/polkadot:stable
             parity/polkadot:latest
             parity/polkadot:${{ needs.fetch-latest-debian-package-version.outputs.polkadot_container_tag }}
           build-args: |
diff --git a/.github/workflows/release-srtool.yml b/.github/workflows/release-srtool.yml
index 69a4bdbdda9ae87a188a23bceb9185d813424a98..e98269fecab0085f1fd6f32acb3aea9b98a5f235 100644
--- a/.github/workflows/release-srtool.yml
+++ b/.github/workflows/release-srtool.yml
@@ -5,11 +5,6 @@ env:
   TOML_CLI_VERSION: 0.2.4
 
 on:
-  push:
-    branches:
-      - release-v[0-9]+.[0-9]+.[0-9]+*
-      - release-cumulus-v[0-9]+*
-      - release-polkadot-v[0-9]+*
   workflow_call:
     inputs:
       excluded_runtimes: