Commit 32c151319b for woocommerce

commit 32c151319b233f6f2e69590b71bc044feb4af766
Author: Jorge A. Torres <jorge.torres@automattic.com>
Date:   Thu Nov 27 09:57:07 2025 +0000

    Rename "Code Freeze" to "Feature Freeze" (#62112)

diff --git a/.github/workflows/release-assignment.yml b/.github/workflows/release-assignment.yml
index 3955390efe..511fe9f380 100644
--- a/.github/workflows/release-assignment.yml
+++ b/.github/workflows/release-assignment.yml
@@ -22,7 +22,7 @@ jobs:
     steps:
       - name: Install node-ical
         run: npm install node-ical
-      - name: Check for code freeze events
+      - name: Check for feature freeze events
         id: check-code-freeze-8-weeks
         uses: actions/github-script@v7
         with:
@@ -63,14 +63,14 @@ jobs:
               if (eventsInRange.length > 0) {
                 const date = eventsInRange[0].start.toISOString();
                 const version = eventsInRange[0].summary.match(/\d+\.\d+/)[0];
-                console.log(`Found Code Freeze event: ${eventsInRange[0].summary}`);
+                console.log(`Found Feature Freeze event: ${eventsInRange[0].summary}`);
                 console.log(`Date: ${date}`);
                 console.log(`Version: ${version}`);
                 core.setOutput('should-trigger-webhook', 'true');
                 core.setOutput('version', version);
                 core.setOutput('feature-freeze-date', date);
               } else {
-                console.log(`No Code Freeze events found in the specified range.`);
+                console.log(`No Feature Freeze events found in the specified range.`);
                 core.setOutput('should-trigger-webhook', 'false');
               }
             } catch (error) {
diff --git a/.github/workflows/release-cfe-prr-issue-validation.yml b/.github/workflows/release-cfe-prr-issue-validation.yml
index 45c148451e..4da7b0161f 100644
--- a/.github/workflows/release-cfe-prr-issue-validation.yml
+++ b/.github/workflows/release-cfe-prr-issue-validation.yml
@@ -87,7 +87,7 @@ jobs:

               core.setOutput(
                   'SLACK_MESSAGE',
-                  `:x: *${labelName === 'code freeze exception' ? 'Code Freeze Exception' : 'Point Release Request'} was not processed:* target branch (\`${baseRefName}\`) is not a release branch. Source request: _<${issueUrl}|${issueTitle}>_.`
+                  `:x: *${labelName === 'code freeze exception' ? 'Feature Freeze Exception' : 'Point Release Request'} was not processed:* target branch (\`${baseRefName}\`) is not a release branch. Source request: _<${issueUrl}|${issueTitle}>_.`
               );

               core.setOutput(
@@ -108,7 +108,7 @@ jobs:

                 core.setOutput(
                   'SLACK_MESSAGE',
-                  `:x: *${labelName === 'code freeze exception' ? 'Code Freeze Exception' : 'Point Release Request'} was not processed:* target branch (\`${baseRefName}\`) does not exist. Source request: _<${issueUrl}|${issueTitle}>_.`
+                  `:x: *${labelName === 'code freeze exception' ? 'Feature Freeze Exception' : 'Point Release Request'} was not processed:* target branch (\`${baseRefName}\`) does not exist. Source request: _<${issueUrl}|${issueTitle}>_.`
                 );

                 core.setOutput(
@@ -150,7 +150,7 @@ jobs:

               core.setOutput(
                 'SLACK_MESSAGE',
-                `:x: *${labelName === 'code freeze exception' ? 'Code Freeze Exception' : 'Point Release Request'} was not processed:* PR base (\`${baseRef}\`) is not a valid release branch. Source request: _<${issueUrl}|${issueTitle}>_.`
+                `:x: *${labelName === 'code freeze exception' ? 'Feature Freeze Exception' : 'Point Release Request'} was not processed:* PR base (\`${baseRef}\`) is not a valid release branch. Source request: _<${issueUrl}|${issueTitle}>_.`
               );

               core.setOutput(
@@ -225,9 +225,9 @@ jobs:
             const issueUrl = event.issue.html_url;
             const releaseNumber = process.env.RELEASE_NUMBER;

-            const slackMessage = `*${labelName === 'code freeze exception' ? ':ice_cube: Code Freeze Exception request' : ':release: Point Release Request'} (${releaseNumber})*: _<${issueUrl}|${issueTitle}>_`;
+            const slackMessage = `*${labelName === 'code freeze exception' ? ':ice_cube: Feature Freeze Exception request' : ':release: Point Release Request'} (${releaseNumber})*: _<${issueUrl}|${issueTitle}>_`;

-            const githubComment = `Your request for a ${labelName === 'code freeze exception' ? 'Code Freeze Exception' : 'Point Release'} targeting WC version **${releaseNumber}** has been successfully created and is pending approval from @woocommerce/flux.`;
+            const githubComment = `Your request for a ${labelName === 'code freeze exception' ? 'Feature Freeze Exception' : 'Point Release'} targeting WC version **${releaseNumber}** has been successfully created and is pending approval from @woocommerce/flux.`;

             // Set the message as a core output
             core.setOutput('SLACK_MESSAGE', slackMessage);
diff --git a/.github/workflows/release-code-freeze.yml b/.github/workflows/release-code-freeze.yml
index 76b03fbcaa..a169514c81 100644
--- a/.github/workflows/release-code-freeze.yml
+++ b/.github/workflows/release-code-freeze.yml
@@ -1,4 +1,4 @@
-name: 'Release: Enforce Code Freeze'
+name: 'Release: Enforce Feature Freeze'
 on:
   schedule:
     - cron: '0 18 * * *' # Every day at 18h UTC
@@ -10,7 +10,7 @@ permissions:
   issues: write

 concurrency:
-  group: release-code-freeze
+  group: release-feature-freeze

 env:
   GIT_COMMITTER_NAME: 'WooCommerce Bot'
@@ -61,14 +61,14 @@ jobs:
                 console.log(`Found Feature Freeze event: ${ffEvent.summary}`);
                 core.setOutput('should-run', 'true');
               } else {
-                console.log('No Feature Freeze events found for today. Code freeze will not proceed.');
+                console.log('No Feature Freeze events found for today. Feature freeze will not proceed.');
                 core.setOutput('should-run', 'false');
               }
             } catch (error) {
               core.setFailed(`Failed to fetch calendar events: ${error.message}`);
             }

-  prepare-for-code-freeze:
+  prepare-for-feature-freeze:
     name: Calculate versions and confirm repo is in a good state
     needs: check-feature-freeze-event
     if: ${{ needs.check-feature-freeze-event.outputs.should-run == 'true' }}
@@ -123,10 +123,10 @@ jobs:
             core.setOutput( 'nextReleaseBranch', nextReleaseBranch );
             core.setOutput( 'nextTrunkVersion', nextTrunkVersion );

-  run-code-freeze:
-    name: Perform code freeze
+  run-feature-freeze:
+    name: Perform feature freeze
     runs-on: ${{ ( github.repository == 'woocommerce/woocommerce' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
-    needs: prepare-for-code-freeze
+    needs: prepare-for-feature-freeze
     steps:
       - name: Checkout trunk
         uses: actions/checkout@v4
@@ -135,19 +135,19 @@ jobs:
       - name: Push frozen branch to the repo
         run: |
           # Last opportunity to bail if branch already exists.
-          if [[ -n $(git ls-remote --heads origin ${{ needs.prepare-for-code-freeze.outputs.nextReleaseBranch }}) ]]; then
-            echo "::error::Release branch '${{ needs.prepare-for-code-freeze.outputs.nextReleaseBranch }}' already exists."
+          if [[ -n $(git ls-remote --heads origin ${{ needs.prepare-for-feature-freeze.outputs.nextReleaseBranch }}) ]]; then
+            echo "::error::Release branch '${{ needs.prepare-for-feature-freeze.outputs.nextReleaseBranch }}' already exists."
             exit 1
           fi

           git checkout trunk
-          git checkout -b ${{ needs.prepare-for-code-freeze.outputs.nextReleaseBranch }}
-          git push origin ${{ needs.prepare-for-code-freeze.outputs.nextReleaseBranch }}
+          git checkout -b ${{ needs.prepare-for-feature-freeze.outputs.nextReleaseBranch }}
+          git push origin ${{ needs.prepare-for-feature-freeze.outputs.nextReleaseBranch }}

   bump-version-in-trunk:
     name: Bump version in trunk for next development cycle
     uses: ./.github/workflows/release-bump-version.yml
-    needs: [run-code-freeze]
+    needs: [run-feature-freeze]
     secrets: inherit
     with:
       branch: trunk
@@ -156,16 +156,16 @@ jobs:
   build-dev-release:
     name: 'Build WooCommerce -dev release'
     uses: ./.github/workflows/release-build-zip-file.yml
-    needs: [prepare-for-code-freeze, run-code-freeze]
+    needs: [prepare-for-feature-freeze, run-feature-freeze]
     with:
       skip_verify: true
       create_github_release: true
-      branch: ${{ needs.prepare-for-code-freeze.outputs.nextReleaseBranch }}
+      branch: ${{ needs.prepare-for-feature-freeze.outputs.nextReleaseBranch }}

   publish-dev-release:
     name: 'Publish -dev release'
     runs-on: ${{ ( github.repository == 'woocommerce/woocommerce' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
-    needs: [prepare-for-code-freeze, build-dev-release]
+    needs: [prepare-for-feature-freeze, build-dev-release]
     outputs:
       release-zip: ${{ steps.publish-release.outputs.release-zip }}
     steps:
@@ -174,17 +174,17 @@ jobs:
           GH_TOKEN: ${{ github.token }}
           GH_REPO: ${{ github.repository }}
         run: |
-          gh release edit '${{ needs.prepare-for-code-freeze.outputs.nextReleaseVersion }}-dev' \
+          gh release edit '${{ needs.prepare-for-feature-freeze.outputs.nextReleaseVersion }}-dev' \
             --prerelease \
             --latest=false \
             --draft=false

-          echo "release-zip=https://github.com/${{ github.repository }}/releases/download/${{ needs.prepare-for-code-freeze.outputs.nextReleaseVersion }}-dev/woocommerce.zip" >> $GITHUB_OUTPUT
+          echo "release-zip=https://github.com/${{ github.repository }}/releases/download/${{ needs.prepare-for-feature-freeze.outputs.nextReleaseVersion }}-dev/woocommerce.zip" >> $GITHUB_OUTPUT

   notify-slack:
     name: Notify Slack
     runs-on: ${{ ( github.repository == 'woocommerce/woocommerce' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
-    needs: [publish-dev-release, prepare-for-code-freeze]
+    needs: [publish-dev-release, prepare-for-feature-freeze]
     steps:
       - name: Notify Slack on success
         uses: archive/github-actions-slack@f530f3aa696b2eef0e5aba82450e387bd7723903 #v2.0.0
@@ -192,7 +192,7 @@ jobs:
           slack-bot-user-oauth-access-token: ${{ secrets.CODE_FREEZE_BOT_TOKEN }}
           slack-channel: ${{ secrets.WOO_RELEASE_SLACK_CHANNEL }}
           slack-text: |
-            :ice_cube: Code Freeze completed for `${{ needs.prepare-for-code-freeze.outputs.nextReleaseBranch }}` :checking:
+            :ice_cube: Feature Freeze completed for `${{ needs.prepare-for-feature-freeze.outputs.nextReleaseBranch }}` :checking:
             If you need a fix or change to be included in this release, please request a backport following the <https://developer.woocommerce.com/docs/contribution/releases/backporting|Backporting Guide>.
             <${{ needs.publish-dev-release.outputs.release-zip }}|Download zip>
           slack-optional-unfurl_links: false
@@ -201,9 +201,9 @@ jobs:
   trigger-webhook:
     name: Trigger Release Webhook
     runs-on: ${{ ( github.repository == 'woocommerce/woocommerce' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
-    needs: [publish-dev-release, prepare-for-code-freeze]
+    needs: [publish-dev-release, prepare-for-feature-freeze]
     steps:
-      - name: Trigger Code Freeze Webhook
+      - name: Trigger Feature Freeze Webhook
         uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea #v7.0.1
         with:
           script: |
@@ -211,7 +211,7 @@ jobs:

             const payload = {
               action: 'feature-freeze',
-              version: '${{ needs.prepare-for-code-freeze.outputs.nextReleaseVersion }}',
+              version: '${{ needs.prepare-for-feature-freeze.outputs.nextReleaseVersion }}',
               build_zip: '${{ needs.publish-dev-release.outputs.release-zip }}',
               status: process.env.ENVIRONMENT === 'production' ? 'publish' : 'draft'
             };
@@ -260,7 +260,7 @@ jobs:
   notify-slack-on-failure:
     name: Notify Slack on Failure
     runs-on: ${{ ( github.repository == 'woocommerce/woocommerce' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
-    needs: [ check-feature-freeze-event, prepare-for-code-freeze, run-code-freeze, bump-version-in-trunk, build-dev-release, publish-dev-release, notify-slack, trigger-webhook ]
+    needs: [ check-feature-freeze-event, prepare-for-feature-freeze, run-feature-freeze, bump-version-in-trunk, build-dev-release, publish-dev-release, notify-slack, trigger-webhook ]
     if: always() && ((contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')))
     steps:
       - name: Notify Slack on failure
@@ -269,7 +269,7 @@ jobs:
           slack-bot-user-oauth-access-token: ${{ secrets.CODE_FREEZE_BOT_TOKEN }}
           slack-channel: ${{ secrets.WOO_RELEASE_SLACK_CHANNEL }}
           slack-text: |
-            :x: Some steps in the Code Freeze workflow failed. Please check the logs for details and re-run if needed.
+            :x: Some steps in the Feature Freeze workflow failed. Please check the logs for details and re-run if needed.
             <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View workflow run>
           slack-optional-unfurl_links: false
           slack-optional-unfurl_media: false
diff --git a/.github/workflows/release-open-issue-warning.yml b/.github/workflows/release-open-issue-warning.yml
index 1eb3d3e1fb..4137f66327 100644
--- a/.github/workflows/release-open-issue-warning.yml
+++ b/.github/workflows/release-open-issue-warning.yml
@@ -57,7 +57,7 @@ jobs:
                 core.setOutput('release-event-date', date);
                 core.setOutput('release-event-title', upcomingReleaseEvents[0].summary);
               } else {
-                console.log(`No Code Freeze events found in the specified range.`);
+                console.log(`No Feature Freeze events found in the specified range.`);
                 core.setOutput('release-event-found', 'false');
               }
             } catch (error) {
diff --git a/docs/contribution/releases/backporting.md b/docs/contribution/releases/backporting.md
index 61cc5d8ad7..fd739c1d07 100644
--- a/docs/contribution/releases/backporting.md
+++ b/docs/contribution/releases/backporting.md
@@ -10,7 +10,7 @@ Backporting is the process of applying changes from `trunk` to a release branch.

 ## Release Branch Lifecycle

-When a release branch is created, it's copied from `trunk` at the time of code freeze. After creation:
+When a release branch is created, it's copied from `trunk` at the time of feature freeze. After creation:

 - The release branch no longer receives new feature updates
 - Only critical changes are allowed
diff --git a/docs/contribution/releases/schedule.md b/docs/contribution/releases/schedule.md
index e3f1112ebb..20f61496d7 100644
--- a/docs/contribution/releases/schedule.md
+++ b/docs/contribution/releases/schedule.md
@@ -23,7 +23,7 @@ To view the actual schedule for current and upcoming releases, see our [release

 ### Feature Freeze & `-dev` release (day 1)

-As a result of the code freeze automation, a few things happen:
+As a result of the feature freeze automation, a few things happen:

 - A dedicated release branch is created (`release/x.y`), where the future release undergoes testing and stabilization. No new features are included on this branch, only bug fixes.
 - A `-dev` release is built and made available on GitHub.