diff --git a/.github/workflows/triage-unallowed-contributions.yml b/.github/workflows/triage-unallowed-contributions.yml
index 2c7b354a31e2..a11d3277e2e0 100644
--- a/.github/workflows/triage-unallowed-contributions.yml
+++ b/.github/workflows/triage-unallowed-contributions.yml
@@ -40,13 +40,13 @@ jobs:
filters: 'src/workflows/unallowed-contribution-filters.yml'
- name: Set up Node and dependencies
- if: ${{ steps.filter.outputs.notAllowed || steps.filter.outputs.contentTypes}}
+ if: ${{ steps.filter.outputs.notAllowed == 'true' || steps.filter.outputs.contentTypes == 'true' }}
uses: ./.github/actions/node-npm-setup
# When there are changes to files we can't accept, leave a comment
- # explaining this to the PR author
+ # explaining this to the PR author, and why their PR will close
- name: "Comment about changes we can't accept"
- if: ${{ steps.filter.outputs.notAllowed || steps.filter.outputs.contentTypes}}
+ if: ${{ steps.filter.outputs.notAllowed == 'true' || steps.filter.outputs.contentTypes == 'true' }}
run: npm run unallowed-contributions
env:
REPO_OWNER_AND_NAME: ${{ github.repository }}
diff --git a/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md b/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md
index 1a4ba4360f32..4832d447cd68 100644
--- a/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md
+++ b/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md
@@ -12,7 +12,9 @@ category:
- Block users and report abuse
---
-You can block non-members from within your organization's settings or from a specific comment made by a user. When you block a user in a comment, you can choose to send the user a notification explaining that they were blocked and why. Otherwise, the user is not directly notified that you've blocked them. Blocked users can still delete their existing content.
+You can block non-members from within your organization's settings or from content in the organization's repositories.
+
+When you block a user from a comment, you can choose to send the user a notification explaining that they were blocked and why. Otherwise, the user is not directly notified that you've blocked them. Blocked users can still delete their existing content.
{% data reusables.organizations.blocking-a-user %}
@@ -26,6 +28,7 @@ At the time that you block a user from your organization:
* The user is removed as a collaborator on your organization's repositories
* The user's contributions to your organization's repositories are no longer counted as contributions for them
* Any pending repository or organization invitations to the blocked user are canceled
+* The user's comments on repository security advisories are hidden
After you've blocked a user from your organization, they cannot:
* Cross-reference your organization's repositories in comments
@@ -35,12 +38,17 @@ In your organization's repositories, blocked users also cannot:
* Open issues
* Send, close, or merge pull requests
* Comment on issues, pull requests, or commits
+* Comment on repository security advisories
* Add or edit wiki pages
-## Blocking a user in a comment
+Blocking a user from a comment doesn't delete the original issue, pull request, or security advisory.
-1. Navigate to the comment whose author you would like to block.
-1. In the upper-right corner of the comment, click {% octicon "kebab-horizontal" aria-label="Show options" %}, then click **Block user**.
+## Blocking a user from repository content
+
+You must be an organization owner or moderator to block a user from a repository security advisory.
+
+1. Navigate to the issue, pull request, or repository security advisory that contains the description or comment whose author you would like to block.
+1. In the upper-right corner of the description or comment, click {% octicon "kebab-horizontal" aria-label="Show options" %}, then click **Block user**.

diff --git a/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account.md b/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account.md
index 3d650d629e1c..911bf8b6c9dd 100644
--- a/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account.md
+++ b/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account.md
@@ -14,7 +14,9 @@ category:
## About blocking users
-You can block a user in your account settings, from the user's profile, or from an issue or pull request in a repository you own. {% data variables.product.prodname_dotcom %} will not notify the user when you block them. If you want to avoid contributing to the same project as someone you've blocked, you can choose to display a warning on any repositories with prior contributions from a blocked user. For more information, see [Blocking a user in your account settings](#blocking-a-user-in-your-account-settings). You may still see the activity of blocked users in shared spaces and blocked users can delete their existing content.
+You can block a user in your account settings, from the user's profile, or from content in a repository you own.
+
+{% data variables.product.github %} will not notify the user when you block them. If you want to avoid contributing to the same project as someone you've blocked, you can choose to display a warning on any repositories with prior contributions from a blocked user. For more information, see [Blocking a user in your account settings](#blocking-a-user-in-your-account-settings). You may still see the activity of blocked users in shared spaces and blocked users can delete their existing content.
> [!TIP]
> If you're blocking a user because of a heated conversation, consider locking the conversation so only collaborators can comment. For more information, see [AUTOTITLE](/communities/moderating-comments-and-conversations/locking-conversations).
@@ -32,6 +34,7 @@ When you block a user:
* Any pending repository or account successor invitations to or from the blocked user are canceled
* The user is removed as a collaborator from all the projects owned by you
* You are removed as a collaborator from all the projects owned by the user
+* The user's comments on repository security advisories are hidden
After you've blocked a user, they cannot:
* Send you any notifications, including by [@mentioning](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#mentioning-people-and-teams) your username
@@ -51,11 +54,16 @@ In repositories you own, blocked users also cannot:
* Open issues
* Send, close, or merge pull requests
* Comment on issues, pull requests, or commits
+* Comment on repository security advisories
* Add or edit wiki pages
-## Blocking a user in an issue or pull request
+Blocking a user from a comment doesn't delete the original issue, pull request, or security advisory.
+
+## Blocking a user in an issue, pull request, or repository security advisory
+
+You must own the repository to block a user from its content.
-1. Navigate to an issue or pull request in a repository you own.
+1. Navigate to the issue, pull request, or repository security advisory that contains the description or comment whose author you would like to block.
1. In the upper-right corner of the description or comment whose author you would like to block, click {% octicon "kebab-horizontal" aria-label="Show options" %}, then click **Block user**.
1. Optionally, add a note to describe why you blocked the user. The note will only be visible to you.
1. To confirm, click **Block user**.
diff --git a/content/copilot/concepts/billing/organizations-and-enterprises.md b/content/copilot/concepts/billing/organizations-and-enterprises.md
index 8c4830e351f0..3a4e9d9c1e05 100644
--- a/content/copilot/concepts/billing/organizations-and-enterprises.md
+++ b/content/copilot/concepts/billing/organizations-and-enterprises.md
@@ -57,7 +57,13 @@ If a user receives a seat from multiple organizations in the same enterprise, th
## Billing cycles
-Billed users are calculated at the end of each billing cycle, based on the number of {% data variables.product.prodname_copilot %} seats that are assigned. Although you can add or remove seats at any time during the billing cycle, billing for removed seats continues until the end of the current billing cycle. See [AUTOTITLE](/copilot/reference/copilot-billing/license-changes).
+Billed users are calculated at the end of each billing cycle, based on the number of {% data variables.product.prodname_copilot %} seats that are assigned. You can add or remove seats at any time during the billing cycle.
+
+When you add seats, you will be billed pro rata for those seats for the rest of the billing cycle. Included {% data variables.product.prodname_ai_credits_short %} for the seats may also be prorated.
+
+When you remove seats, billing for those seats continues until the end of the current billing cycle.
+
+For more information, see [AUTOTITLE](/copilot/reference/copilot-billing/license-changes).
## Managing costs
diff --git a/content/copilot/reference/copilot-billing/license-changes.md b/content/copilot/reference/copilot-billing/license-changes.md
index c13ed31cd1d8..707d735c2398 100644
--- a/content/copilot/reference/copilot-billing/license-changes.md
+++ b/content/copilot/reference/copilot-billing/license-changes.md
@@ -67,7 +67,7 @@ What you need to know about the following actions:
### Adding seats
-* **Billing:** Additional seats are billed on a prorated basis for the remainder of the current billing cycle.
+* **Billing:** Additional seats are billed on a prorated basis for the remainder of the current billing cycle. Included {% data variables.product.prodname_ai_credits_short %} may also be prorated.
* **Access:** Assigned users gain **immediate access** to {% data variables.product.prodname_copilot_short %}.
### Removing seats
@@ -88,7 +88,7 @@ Additionally:
## In summary
-* **Proration:** Applies when adding seats/licenses or upgrading plans. You pay only for the portion of the billing cycle remaining.
+* **Proration:** Applies when adding seats/licenses or upgrading plans. You pay only for the portion of the billing cycle remaining. Included {% data variables.product.prodname_ai_credits_short %} may also be prorated.
* **Access:** Assignments and upgrades are effective immediately for affected users. Downgrades take effect at the end of the billing cycle.
* **Removing or canceling:** No refunds are issued for unused time; access continues until the end of the cycle paid for, unless a seat/license is revoked.
diff --git a/data/release-notes/enterprise-server/3-20/6.yml b/data/release-notes/enterprise-server/3-20/6.yml
index f07be28d9f93..20028f48311f 100644
--- a/data/release-notes/enterprise-server/3-20/6.yml
+++ b/data/release-notes/enterprise-server/3-20/6.yml
@@ -93,3 +93,5 @@ sections:
When applying an enterprise security configuration to all repositories (for example, enabling secret scanning or code scanning across all repositories), the system immediately enqueues enablement jobs for every organization in the enterprise simultaneously. For enterprises with a large number of repositories, this can result in significant system load and potential performance degradation. If you manage a large enterprise with many organizations and repositories, we recommend applying security configurations at the organization level rather than at the enterprise level in the UI. This allows you to enable security features incrementally and monitor system performance as you roll out changes.
- |
On instances with multiple Git storage nodes in a voting configuration, including cluster and geo-replication high availability topologies, upgrading may fail to correctly install Actions that ship with the new version. In some cases, previous versions of these Actions remain on the instance. To resolve this issue, run the following commands on the primary node: `ghe-config --unset 'app.actions.actions-repos-sha1sum'`, `ghe-config-apply`, and `/usr/local/share/enterprise/ghe-run-init-actions-graph`.
+ - |
+ When restoring an instance with `ghe-restore` while the replication controller is enabled, the storage directory is not restored. [Updated: 2026-08-27]
diff --git a/data/release-notes/enterprise-server/3-21/4.yml b/data/release-notes/enterprise-server/3-21/4.yml
index d0e19d25f7a7..e60b20010230 100644
--- a/data/release-notes/enterprise-server/3-21/4.yml
+++ b/data/release-notes/enterprise-server/3-21/4.yml
@@ -92,3 +92,5 @@ sections:
When applying an enterprise security configuration to all repositories (for example, enabling secret scanning or code scanning across all repositories), the system immediately enqueues enablement jobs for every organization in the enterprise simultaneously. For enterprises with a large number of repositories, this can result in significant system load and potential performance degradation. If you manage a large enterprise with many organizations and repositories, we recommend applying security configurations at the organization level rather than at the enterprise level in the UI. This allows you to enable security features incrementally and monitor system performance as you roll out changes.
- |
On instances with multiple Git storage nodes in a voting configuration, including cluster and geo-replication high availability topologies, upgrading may fail to correctly install Actions that ship with the new version. In some cases, previous versions of these Actions remain on the instance. To resolve this issue, run the following commands on the primary node: `ghe-config --unset 'app.actions.actions-repos-sha1sum'`, `ghe-config-apply`, and `/usr/local/share/enterprise/ghe-run-init-actions-graph`.
+ - |
+ When restoring an instance with `ghe-restore` while the replication controller is enabled, the storage directory is not restored. [Updated: 2026-08-27]
diff --git a/data/reusables/copilot/differences-cfi-cfb-table.md b/data/reusables/copilot/differences-cfi-cfb-table.md
deleted file mode 100644
index 2711e7151c74..000000000000
--- a/data/reusables/copilot/differences-cfi-cfb-table.md
+++ /dev/null
@@ -1,92 +0,0 @@
-### Pricing
-
-{% rowheaders %}
-
-| | {% data variables.copilot.copilot_free_short %} | {% data variables.copilot.copilot_student_short %} | {% data variables.copilot.copilot_pro_short %} | {% data variables.copilot.copilot_pro_plus_short %} | {% data variables.copilot.copilot_max_short %} | {% data variables.copilot.copilot_business_short %} | {% data variables.copilot.copilot_enterprise_short %} |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Pricing | Not applicable | Free | {% data variables.copilot.cfi_price_per_month %} per month
(free for some users) | {% data variables.copilot.cpp_price_per_month %} per month
| {% data variables.copilot.cm_price_per_month %} per month | {% data variables.copilot.cfb_price_per_month %} per granted seat per month | {% data variables.copilot.ce_price_per_month %} per granted seat per month |
-
-{% endrowheaders %}
-
-Each plan comes with an allowance of {% data variables.product.prodname_ai_credits %}. For more information, including how {% data variables.product.prodname_ai_credits %} work, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-individuals) and [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises).
-
-### Agents
-
-{% rowheaders %}
-
-| Agents | {% data variables.copilot.copilot_free_short %} | {% data variables.copilot.copilot_student_short %} | {% data variables.copilot.copilot_pro_short %} | {% data variables.copilot.copilot_pro_plus_short %} | {% data variables.copilot.copilot_max_short %} | {% data variables.copilot.copilot_business_short %} | {% data variables.copilot.copilot_enterprise_short %} |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| {% data variables.copilot.copilot_cloud_agent %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Agent mode | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| {% data variables.product.prodname_copilot_short %} code review | Only "Review selection" in {% data variables.product.prodname_vscode_shortname %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Model Context Protocol (MCP) | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Third-party Agents ({% data variables.release-phases.public_preview %}) | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-
-{% endrowheaders %}
-
-### Chat
-
-{% rowheaders %}
-
-| Chat | {% data variables.copilot.copilot_free_short %} | {% data variables.copilot.copilot_student_short %} | {% data variables.copilot.copilot_pro_short %} | {% data variables.copilot.copilot_pro_plus_short %} | {% data variables.copilot.copilot_max_short %} | {% data variables.copilot.copilot_business_short %} | {% data variables.copilot.copilot_enterprise_short %} |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| {% data variables.copilot.copilot_chat_short %} in IDEs[^2] [^3] | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Inline chat | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Slash commands | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| {% data variables.copilot.copilot_mobile_short %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| {% data variables.copilot.copilot_chat_dotcom_short %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_windows_terminal %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |{% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| {% data variables.copilot.copilot_chat_short %} skills in IDEs[^5] | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-
-{% endrowheaders %}
-
-### Models
-
-{% data reusables.copilot.available-models-per-plan %}
-
-### Inline suggestions
-
-{% rowheaders %}
-
-| Inline suggestions | {% data variables.copilot.copilot_free_short %} | {% data variables.copilot.copilot_student_short %} | {% data variables.copilot.copilot_pro_short %} | {% data variables.copilot.copilot_pro_plus_short %} | {% data variables.copilot.copilot_max_short %} | {% data variables.copilot.copilot_business_short %} | {% data variables.copilot.copilot_enterprise_short %} |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Real-time code suggestions with included models[^6] | 2000 completions per month | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| {% data variables.copilot.next_edit_suggestions_caps %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-
-{% endrowheaders %}
-
-### Customization
-
-{% rowheaders %}
-
-| Customization | {% data variables.copilot.copilot_free_short %} | {% data variables.copilot.copilot_student_short %} | {% data variables.copilot.copilot_pro_short %} | {% data variables.copilot.copilot_pro_plus_short %} | {% data variables.copilot.copilot_max_short %} | {% data variables.copilot.copilot_business_short %} | {% data variables.copilot.copilot_enterprise_short %} |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Repository and personal custom instructions | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Organization custom instructions | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Prompt files | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Model Context Protocol (MCP) | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Block suggestions matching public code | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Exclude specified files from {% data variables.product.prodname_copilot_short %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Organization-wide policy management | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-
-{% endrowheaders %}
-
-### Other features
-
-{% rowheaders %}
-
-| | {% data variables.copilot.copilot_free_short %} | {% data variables.copilot.copilot_student_short %} | {% data variables.copilot.copilot_pro_short %} | {% data variables.copilot.copilot_pro_plus_short %} | {% data variables.copilot.copilot_max_short %} | {% data variables.copilot.copilot_business_short %} | {% data variables.copilot.copilot_enterprise_short %} |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| {% data variables.copilot.copilot_for_prs %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Audit logs | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} |{% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| Content exclusion | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| {% data variables.copilot.copilot_cli_short %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
-| {% data variables.product.prodname_spark %} ({% data variables.release-phases.public_preview %}) | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} |
-
-{% endrowheaders %}
-
-[^1]: Includes base credits and flex allotment. See [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-individuals#how-do-ai-credits-work).
-[^2]: {% data variables.copilot.copilot_chat_short %} in IDEs is available in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, JetBrains IDEs, Eclipse, and Xcode.
-[^3]: Response times may vary during periods of high usage.
-[^5]: {% data variables.copilot.copilot_chat_short %} skills in IDEs is available in {% data variables.product.prodname_vscode %} and {% data variables.product.prodname_vs %}.
-[^6]: Inline suggestions in IDEs is available in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, JetBrains IDEs, Azure Data Studio, Xcode, Vim/Neovim, and Eclipse.
diff --git a/data/reusables/copilot/plans/organization-plans-paused.md b/data/reusables/copilot/plans/organization-plans-paused.md
index b9481e46be0c..1561e3f17ddc 100644
--- a/data/reusables/copilot/plans/organization-plans-paused.md
+++ b/data/reusables/copilot/plans/organization-plans-paused.md
@@ -1 +1,7 @@
-**Starting April 22, 2026**, new self-serve sign-ups for {% data variables.copilot.copilot_business_short %} for organizations on {% data variables.product.prodname_free_team %} and {% data variables.product.prodname_team %} plans are temporarily paused.
\ No newline at end of file
+
+
+On April 22, 2026, new self-serve purchases of {% data variables.copilot.copilot_business_short %} and {% data variables.copilot.copilot_enterprise_short %} were temporarily paused.
+
+Self-serve sign-ups **are reopening soon** for customers paying by credit card or PayPal. You might be charged prorated seat costs at sign-up. Additional usage beyond your included amount requires payment as you go. Self-serve trials remain paused.
+
+
diff --git a/src/workflows/unallowed-contribution-filters.yml b/src/workflows/unallowed-contribution-filters.yml
index f39c53a0c13e..55c0ba50b393 100644
--- a/src/workflows/unallowed-contribution-filters.yml
+++ b/src/workflows/unallowed-contribution-filters.yml
@@ -1,11 +1,10 @@
notAllowed:
+ - '*'
- '.devcontainer/**'
- '.github/**'
- 'data/reusables/rai/**'
- - 'Dockerfile*'
- 'src/**'
- - 'package*.json'
- - 'content/actions/how-tos/security-for-github-actions/security-hardening-your-deployments/**'
+ - 'content/actions/how-tos/secure-your-work/security-harden-deployments/**'
contentTypes:
- 'content/**'
# allows getting a list of just added files from the dorny/paths-filter action
diff --git a/src/workflows/unallowed-contributions.ts b/src/workflows/unallowed-contributions.ts
index 0419d6a2af1a..cc21e2bfdcc7 100755
--- a/src/workflows/unallowed-contributions.ts
+++ b/src/workflows/unallowed-contributions.ts
@@ -46,12 +46,24 @@ async function main() {
const listUnallowedChangedFiles = unallowedChangedFiles.map((file) => `\n - ${file}`).join('')
const listUnallowedFiles = filters.notAllowed.map((file: string) => `\n - ${file}`).join('')
- const reviewMessage = `👋 Hey there spelunker. It looks like you've modified some files that we can't accept as contributions:${listUnallowedChangedFiles}\n\nYou'll need to revert all of the files you changed that match that list using [GitHub Desktop](https://docs.github.com/en/free-pro-team@latest/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reverting-a-commit-in-github-desktop) or \`git checkout origin/main \`. Once you get those files reverted, we can continue with the review process. :octocat:\n\nThe complete list of files we can't accept are:${listUnallowedFiles}\n\nWe also can't accept contributions to files in the content directory with frontmatter \`contentType: rai\`.`
+ const reviewMessage = `👋 Hi there! It looks like you've modified some files that we can't accept as contributions:${listUnallowedChangedFiles}\n\nYou'll need to raise a new PR that doesn't include those files, before we can review.\n\nThe complete list of files we can't accept are:${listUnallowedFiles}\n\nWe also can't accept contributions to files in the content directory with frontmatter \`contentType: rai\`. You can always check out our full [contribution guidelines](https://docs.github.com/en/contributing).`
let workflowFailMessage =
"It looks like you've modified some files that we can't accept as contributions."
let createdComment
+ // Add the `invalid` label so the PR gets closed
+ try {
+ await octokit.rest.issues.addLabels({
+ owner,
+ repo,
+ issue_number: Number(PR_NUMBER || ''),
+ labels: ['invalid'],
+ })
+ } catch (err) {
+ console.log('Error adding the `invalid` label.', err)
+ }
+
try {
createdComment = await octokit.rest.issues.createComment({
owner,