docs: document multi-region support in the Vercel World - #2895

Merged
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world
Jul 13, 2026
Merged

docs: document multi-region support in the Vercel World#2895
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world

Conversation

@TooTallNate

@TooTallNateTooTallNate commented Jul 13, 2026

Copy link
Copy Markdown
Member

What

Updates the docs for Vercel World multi-region support (#1981):

/worlds/vercel (primary content):

  • Removes the stale Limitations entries claiming the backend is iad1-only with iad1 data residency — no longer true; the backend runs in every Vercel Function region
  • New Multi-region section covering:
    • the model: each run pinned to one region at creation; state, execution, and streams all served region-locally
    • automatic pinning from the creating function's region — single-region pins everything, multi-region deployments pin each run where its user was served
    • explicit selection via start(workflow, args, { region: "sfo1" })
    • routing semantics (reads/hook-resumes/stream consumers work from anywhere) and 4.x / pre-existing-run behavior (iad1, unaffected, no migration)
  • Limitations keeps the one that remains: run region is fixed at creation

/docs/deploying: adds a Multi-region bullet to the Vercel World feature list, deferring details to /worlds/vercel.

Version

#1981 has merged 🎉 — all pages now state the exact requirement: workflow 5.0.0-beta.33 or later for multi-region support (4.x will not gain it).

Notes:

The Vercel World Limitations section still described the backend as
iad1-only, which is no longer true — it now runs in every Vercel
Function region, with each run pinned to a single region at creation.
- Replace the single-region / iad1 data-residency limitations with a
Multi-region section: automatic pinning from the creating function's
region (single- and multi-region deployments), explicit per-run
selection via start(..., { region }), routing semantics for readers,
and 4.x/pre-existing-run behavior (iad1, no migration).
- Version requirement called out as workflow 5.x beta with a TODO to
pin the exact minimum version once released; 4.x will not support
region pinning.
- Limitations now lists the one that remains: a run's region is fixed
at creation (no migration).
- /docs/deploying: add a Multi-region bullet to the Vercel World
feature list, deferring details to /worlds/vercel.
@changeset-bot

changeset-botBot commented Jul 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 6b00e7b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercelBot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx
…lacement
The start({ region }) option pins where the run's data is stored and
where its queue messages dispatch from; it does not deploy code.
Execution happens in the regions the application is deployed to, so
region-local execution requires deploying the app to the desired
region (vercel.json regions or the project's Function Regions
setting). Adds a warning callout to the explicit-selection section and
tightens the intro to only claim region-local execution for the
automatic case.
Same fix as v5: the v4 Deploying sidebar only listed 'Building a
World', leaving the world pages reachable only via the /worlds/:id
routes with no sidebar path. Adds the Worlds group (Vercel World,
Postgres World, Local World) between the section index and Building a
World, and pluralizes the group title.
Verified via dev server: the group renders, and the sidebar items land
on /worlds/:id through the existing permanent redirects (same v4
content).
#1981 merged; the first release carrying multi-region
support is 5.0.0-beta.33. Replace the '5.x (currently in beta)'
placeholders (and the TODO marker) with the exact minimum version on
all four touched pages (v5 world page + deploying bullet, v4
breadcrumb callouts).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the documentation to reflect multi-region support in the Vercel World, aligning v4/v5 docs with the new region-pinned run model introduced in workflow 5.0.0-beta.33+.

Changes:

  • Adds a new “Multi-region” section to the v5 Vercel World page and removes stale iad1-only limitations.
  • Updates v4 docs to clarify multi-region is a 5.x feature and that 4.x remains iad1-only.
  • Adjusts Deploying section navigation and adds a multi-region bullet/link from the Deploying landing pages.

Reviewed changes

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

Show a summary per file
FileDescription
docs/content/docs/v5/deploying/world/vercel-world.mdxAdds multi-region model, automatic/explicit pinning guidance, and updated limitations.
docs/content/docs/v5/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v5/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v5/deploying/index.mdxAdds multi-region feature bullet and links to the new v5 Vercel World section.
docs/content/docs/v4/deploying/world/vercel-world.mdxAdds callout pointing to v5 multi-region docs; scopes limitations explicitly to 4.x.
docs/content/docs/v4/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v4/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v4/deploying/index.mdxAdds informational callout pointing to v5 multi-region docs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threaddocs/content/docs/v5/deploying/index.mdx Outdated
Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx Outdated
Hook tokens carry no region information, so the token-to-run mapping
behind getHookByToken()/resumeHook() is currently stored in iad1 for
every run regardless of its region. Hook payloads are unaffected —
a received payload lands on the run's event log in the run's region
like all other run data. Noted as potentially becoming a
project-level setting in the future.
- /docs/deploying multi-region bullet: 'execution' -> 'queuing'; the
region option pins data/queue/streams, while execution follows the
app's deployed regions (matching the v4 callout and the world page's
own warning callout)
- v5 world page: drop 'region is fixed for its entire lifetime' from
the Good to know bullet — the Limitations section already owns that
statement; the bullet now covers only routing semantics
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for 2b55220 (AI decision).

This commit documents a 5.x-only feature (Vercel World multi-region, requiring workflow 5.0.0-beta.33+) and edits versioned docs under docs/content/docs/v4/deploying/ and v5/deploying/, which do not exist on stable (verified via git ls-tree origin/stable — stable's deploying docs are unversioned at docs/content/docs/deploying/). The v4 edits merely add callouts pointing to the nonexistent-on-stable v5 multi-region docs, so the content is not meaningfully applicable to the 4.x-shipping stable branch.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

2b5522020c96db916600499909037015f06a2c77

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@TooTallNate@VaguelySerious
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

docs: document multi-region support in the Vercel World - #2895

Merged
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world
Jul 13, 2026
Merged

docs: document multi-region support in the Vercel World#2895
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world

Conversation

@TooTallNate

@TooTallNateTooTallNate commented Jul 13, 2026

Copy link
Copy Markdown
Member

What

Updates the docs for Vercel World multi-region support (#1981):

/worlds/vercel (primary content):

  • Removes the stale Limitations entries claiming the backend is iad1-only with iad1 data residency — no longer true; the backend runs in every Vercel Function region
  • New Multi-region section covering:
    • the model: each run pinned to one region at creation; state, execution, and streams all served region-locally
    • automatic pinning from the creating function's region — single-region pins everything, multi-region deployments pin each run where its user was served
    • explicit selection via start(workflow, args, { region: "sfo1" })
    • routing semantics (reads/hook-resumes/stream consumers work from anywhere) and 4.x / pre-existing-run behavior (iad1, unaffected, no migration)
  • Limitations keeps the one that remains: run region is fixed at creation

/docs/deploying: adds a Multi-region bullet to the Vercel World feature list, deferring details to /worlds/vercel.

Version

#1981 has merged 🎉 — all pages now state the exact requirement: workflow 5.0.0-beta.33 or later for multi-region support (4.x will not gain it).

Notes:

The Vercel World Limitations section still described the backend as
iad1-only, which is no longer true — it now runs in every Vercel
Function region, with each run pinned to a single region at creation.
- Replace the single-region / iad1 data-residency limitations with a
Multi-region section: automatic pinning from the creating function's
region (single- and multi-region deployments), explicit per-run
selection via start(..., { region }), routing semantics for readers,
and 4.x/pre-existing-run behavior (iad1, no migration).
- Version requirement called out as workflow 5.x beta with a TODO to
pin the exact minimum version once released; 4.x will not support
region pinning.
- Limitations now lists the one that remains: a run's region is fixed
at creation (no migration).
- /docs/deploying: add a Multi-region bullet to the Vercel World
feature list, deferring details to /worlds/vercel.
@changeset-bot

changeset-botBot commented Jul 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 6b00e7b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercelBot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx
…lacement
The start({ region }) option pins where the run's data is stored and
where its queue messages dispatch from; it does not deploy code.
Execution happens in the regions the application is deployed to, so
region-local execution requires deploying the app to the desired
region (vercel.json regions or the project's Function Regions
setting). Adds a warning callout to the explicit-selection section and
tightens the intro to only claim region-local execution for the
automatic case.
Same fix as v5: the v4 Deploying sidebar only listed 'Building a
World', leaving the world pages reachable only via the /worlds/:id
routes with no sidebar path. Adds the Worlds group (Vercel World,
Postgres World, Local World) between the section index and Building a
World, and pluralizes the group title.
Verified via dev server: the group renders, and the sidebar items land
on /worlds/:id through the existing permanent redirects (same v4
content).
#1981 merged; the first release carrying multi-region
support is 5.0.0-beta.33. Replace the '5.x (currently in beta)'
placeholders (and the TODO marker) with the exact minimum version on
all four touched pages (v5 world page + deploying bullet, v4
breadcrumb callouts).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the documentation to reflect multi-region support in the Vercel World, aligning v4/v5 docs with the new region-pinned run model introduced in workflow 5.0.0-beta.33+.

Changes:

  • Adds a new “Multi-region” section to the v5 Vercel World page and removes stale iad1-only limitations.
  • Updates v4 docs to clarify multi-region is a 5.x feature and that 4.x remains iad1-only.
  • Adjusts Deploying section navigation and adds a multi-region bullet/link from the Deploying landing pages.

Reviewed changes

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

Show a summary per file
FileDescription
docs/content/docs/v5/deploying/world/vercel-world.mdxAdds multi-region model, automatic/explicit pinning guidance, and updated limitations.
docs/content/docs/v5/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v5/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v5/deploying/index.mdxAdds multi-region feature bullet and links to the new v5 Vercel World section.
docs/content/docs/v4/deploying/world/vercel-world.mdxAdds callout pointing to v5 multi-region docs; scopes limitations explicitly to 4.x.
docs/content/docs/v4/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v4/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v4/deploying/index.mdxAdds informational callout pointing to v5 multi-region docs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threaddocs/content/docs/v5/deploying/index.mdx Outdated
Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx Outdated
Hook tokens carry no region information, so the token-to-run mapping
behind getHookByToken()/resumeHook() is currently stored in iad1 for
every run regardless of its region. Hook payloads are unaffected —
a received payload lands on the run's event log in the run's region
like all other run data. Noted as potentially becoming a
project-level setting in the future.
- /docs/deploying multi-region bullet: 'execution' -> 'queuing'; the
region option pins data/queue/streams, while execution follows the
app's deployed regions (matching the v4 callout and the world page's
own warning callout)
- v5 world page: drop 'region is fixed for its entire lifetime' from
the Good to know bullet — the Limitations section already owns that
statement; the bullet now covers only routing semantics
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for 2b55220 (AI decision).

This commit documents a 5.x-only feature (Vercel World multi-region, requiring workflow 5.0.0-beta.33+) and edits versioned docs under docs/content/docs/v4/deploying/ and v5/deploying/, which do not exist on stable (verified via git ls-tree origin/stable — stable's deploying docs are unversioned at docs/content/docs/deploying/). The v4 edits merely add callouts pointing to the nonexistent-on-stable v5 multi-region docs, so the content is not meaningfully applicable to the 4.x-shipping stable branch.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

2b5522020c96db916600499909037015f06a2c77

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@TooTallNate@VaguelySerious
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs: document multi-region support in the Vercel World - #2895

Merged
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world
Jul 13, 2026
Merged

docs: document multi-region support in the Vercel World#2895
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world

Conversation

@TooTallNate

@TooTallNateTooTallNate commented Jul 13, 2026

Copy link
Copy Markdown
Member

What

Updates the docs for Vercel World multi-region support (#1981):

/worlds/vercel (primary content):

  • Removes the stale Limitations entries claiming the backend is iad1-only with iad1 data residency — no longer true; the backend runs in every Vercel Function region
  • New Multi-region section covering:
    • the model: each run pinned to one region at creation; state, execution, and streams all served region-locally
    • automatic pinning from the creating function's region — single-region pins everything, multi-region deployments pin each run where its user was served
    • explicit selection via start(workflow, args, { region: "sfo1" })
    • routing semantics (reads/hook-resumes/stream consumers work from anywhere) and 4.x / pre-existing-run behavior (iad1, unaffected, no migration)
  • Limitations keeps the one that remains: run region is fixed at creation

/docs/deploying: adds a Multi-region bullet to the Vercel World feature list, deferring details to /worlds/vercel.

Version

#1981 has merged 🎉 — all pages now state the exact requirement: workflow 5.0.0-beta.33 or later for multi-region support (4.x will not gain it).

Notes:

The Vercel World Limitations section still described the backend as
iad1-only, which is no longer true — it now runs in every Vercel
Function region, with each run pinned to a single region at creation.
- Replace the single-region / iad1 data-residency limitations with a
Multi-region section: automatic pinning from the creating function's
region (single- and multi-region deployments), explicit per-run
selection via start(..., { region }), routing semantics for readers,
and 4.x/pre-existing-run behavior (iad1, no migration).
- Version requirement called out as workflow 5.x beta with a TODO to
pin the exact minimum version once released; 4.x will not support
region pinning.
- Limitations now lists the one that remains: a run's region is fixed
at creation (no migration).
- /docs/deploying: add a Multi-region bullet to the Vercel World
feature list, deferring details to /worlds/vercel.
@changeset-bot

changeset-botBot commented Jul 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 6b00e7b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercelBot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx
…lacement
The start({ region }) option pins where the run's data is stored and
where its queue messages dispatch from; it does not deploy code.
Execution happens in the regions the application is deployed to, so
region-local execution requires deploying the app to the desired
region (vercel.json regions or the project's Function Regions
setting). Adds a warning callout to the explicit-selection section and
tightens the intro to only claim region-local execution for the
automatic case.
Same fix as v5: the v4 Deploying sidebar only listed 'Building a
World', leaving the world pages reachable only via the /worlds/:id
routes with no sidebar path. Adds the Worlds group (Vercel World,
Postgres World, Local World) between the section index and Building a
World, and pluralizes the group title.
Verified via dev server: the group renders, and the sidebar items land
on /worlds/:id through the existing permanent redirects (same v4
content).
#1981 merged; the first release carrying multi-region
support is 5.0.0-beta.33. Replace the '5.x (currently in beta)'
placeholders (and the TODO marker) with the exact minimum version on
all four touched pages (v5 world page + deploying bullet, v4
breadcrumb callouts).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the documentation to reflect multi-region support in the Vercel World, aligning v4/v5 docs with the new region-pinned run model introduced in workflow 5.0.0-beta.33+.

Changes:

  • Adds a new “Multi-region” section to the v5 Vercel World page and removes stale iad1-only limitations.
  • Updates v4 docs to clarify multi-region is a 5.x feature and that 4.x remains iad1-only.
  • Adjusts Deploying section navigation and adds a multi-region bullet/link from the Deploying landing pages.

Reviewed changes

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

Show a summary per file
FileDescription
docs/content/docs/v5/deploying/world/vercel-world.mdxAdds multi-region model, automatic/explicit pinning guidance, and updated limitations.
docs/content/docs/v5/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v5/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v5/deploying/index.mdxAdds multi-region feature bullet and links to the new v5 Vercel World section.
docs/content/docs/v4/deploying/world/vercel-world.mdxAdds callout pointing to v5 multi-region docs; scopes limitations explicitly to 4.x.
docs/content/docs/v4/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v4/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v4/deploying/index.mdxAdds informational callout pointing to v5 multi-region docs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threaddocs/content/docs/v5/deploying/index.mdx Outdated
Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx Outdated
Hook tokens carry no region information, so the token-to-run mapping
behind getHookByToken()/resumeHook() is currently stored in iad1 for
every run regardless of its region. Hook payloads are unaffected —
a received payload lands on the run's event log in the run's region
like all other run data. Noted as potentially becoming a
project-level setting in the future.
- /docs/deploying multi-region bullet: 'execution' -> 'queuing'; the
region option pins data/queue/streams, while execution follows the
app's deployed regions (matching the v4 callout and the world page's
own warning callout)
- v5 world page: drop 'region is fixed for its entire lifetime' from
the Good to know bullet — the Limitations section already owns that
statement; the bullet now covers only routing semantics
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for 2b55220 (AI decision).

This commit documents a 5.x-only feature (Vercel World multi-region, requiring workflow 5.0.0-beta.33+) and edits versioned docs under docs/content/docs/v4/deploying/ and v5/deploying/, which do not exist on stable (verified via git ls-tree origin/stable — stable's deploying docs are unversioned at docs/content/docs/deploying/). The v4 edits merely add callouts pointing to the nonexistent-on-stable v5 multi-region docs, so the content is not meaningfully applicable to the 4.x-shipping stable branch.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

2b5522020c96db916600499909037015f06a2c77

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@TooTallNate@VaguelySerious
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs: document multi-region support in the Vercel World - #2895

Merged
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world
Jul 13, 2026
Merged

docs: document multi-region support in the Vercel World#2895
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world

Conversation

@TooTallNate

@TooTallNateTooTallNate commented Jul 13, 2026

Copy link
Copy Markdown
Member

What

Updates the docs for Vercel World multi-region support (#1981):

/worlds/vercel (primary content):

  • Removes the stale Limitations entries claiming the backend is iad1-only with iad1 data residency — no longer true; the backend runs in every Vercel Function region
  • New Multi-region section covering:
    • the model: each run pinned to one region at creation; state, execution, and streams all served region-locally
    • automatic pinning from the creating function's region — single-region pins everything, multi-region deployments pin each run where its user was served
    • explicit selection via start(workflow, args, { region: "sfo1" })
    • routing semantics (reads/hook-resumes/stream consumers work from anywhere) and 4.x / pre-existing-run behavior (iad1, unaffected, no migration)
  • Limitations keeps the one that remains: run region is fixed at creation

/docs/deploying: adds a Multi-region bullet to the Vercel World feature list, deferring details to /worlds/vercel.

Version

#1981 has merged 🎉 — all pages now state the exact requirement: workflow 5.0.0-beta.33 or later for multi-region support (4.x will not gain it).

Notes:

The Vercel World Limitations section still described the backend as
iad1-only, which is no longer true — it now runs in every Vercel
Function region, with each run pinned to a single region at creation.
- Replace the single-region / iad1 data-residency limitations with a
Multi-region section: automatic pinning from the creating function's
region (single- and multi-region deployments), explicit per-run
selection via start(..., { region }), routing semantics for readers,
and 4.x/pre-existing-run behavior (iad1, no migration).
- Version requirement called out as workflow 5.x beta with a TODO to
pin the exact minimum version once released; 4.x will not support
region pinning.
- Limitations now lists the one that remains: a run's region is fixed
at creation (no migration).
- /docs/deploying: add a Multi-region bullet to the Vercel World
feature list, deferring details to /worlds/vercel.
@changeset-bot

changeset-botBot commented Jul 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 6b00e7b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercelBot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx
…lacement
The start({ region }) option pins where the run's data is stored and
where its queue messages dispatch from; it does not deploy code.
Execution happens in the regions the application is deployed to, so
region-local execution requires deploying the app to the desired
region (vercel.json regions or the project's Function Regions
setting). Adds a warning callout to the explicit-selection section and
tightens the intro to only claim region-local execution for the
automatic case.
Same fix as v5: the v4 Deploying sidebar only listed 'Building a
World', leaving the world pages reachable only via the /worlds/:id
routes with no sidebar path. Adds the Worlds group (Vercel World,
Postgres World, Local World) between the section index and Building a
World, and pluralizes the group title.
Verified via dev server: the group renders, and the sidebar items land
on /worlds/:id through the existing permanent redirects (same v4
content).
#1981 merged; the first release carrying multi-region
support is 5.0.0-beta.33. Replace the '5.x (currently in beta)'
placeholders (and the TODO marker) with the exact minimum version on
all four touched pages (v5 world page + deploying bullet, v4
breadcrumb callouts).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the documentation to reflect multi-region support in the Vercel World, aligning v4/v5 docs with the new region-pinned run model introduced in workflow 5.0.0-beta.33+.

Changes:

  • Adds a new “Multi-region” section to the v5 Vercel World page and removes stale iad1-only limitations.
  • Updates v4 docs to clarify multi-region is a 5.x feature and that 4.x remains iad1-only.
  • Adjusts Deploying section navigation and adds a multi-region bullet/link from the Deploying landing pages.

Reviewed changes

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

Show a summary per file
FileDescription
docs/content/docs/v5/deploying/world/vercel-world.mdxAdds multi-region model, automatic/explicit pinning guidance, and updated limitations.
docs/content/docs/v5/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v5/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v5/deploying/index.mdxAdds multi-region feature bullet and links to the new v5 Vercel World section.
docs/content/docs/v4/deploying/world/vercel-world.mdxAdds callout pointing to v5 multi-region docs; scopes limitations explicitly to 4.x.
docs/content/docs/v4/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v4/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v4/deploying/index.mdxAdds informational callout pointing to v5 multi-region docs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threaddocs/content/docs/v5/deploying/index.mdx Outdated
Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx Outdated
Hook tokens carry no region information, so the token-to-run mapping
behind getHookByToken()/resumeHook() is currently stored in iad1 for
every run regardless of its region. Hook payloads are unaffected —
a received payload lands on the run's event log in the run's region
like all other run data. Noted as potentially becoming a
project-level setting in the future.
- /docs/deploying multi-region bullet: 'execution' -> 'queuing'; the
region option pins data/queue/streams, while execution follows the
app's deployed regions (matching the v4 callout and the world page's
own warning callout)
- v5 world page: drop 'region is fixed for its entire lifetime' from
the Good to know bullet — the Limitations section already owns that
statement; the bullet now covers only routing semantics
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for 2b55220 (AI decision).

This commit documents a 5.x-only feature (Vercel World multi-region, requiring workflow 5.0.0-beta.33+) and edits versioned docs under docs/content/docs/v4/deploying/ and v5/deploying/, which do not exist on stable (verified via git ls-tree origin/stable — stable's deploying docs are unversioned at docs/content/docs/deploying/). The v4 edits merely add callouts pointing to the nonexistent-on-stable v5 multi-region docs, so the content is not meaningfully applicable to the 4.x-shipping stable branch.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

2b5522020c96db916600499909037015f06a2c77

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@TooTallNate@VaguelySerious
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

docs: document multi-region support in the Vercel World - #2895

Merged
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world
Jul 13, 2026
Merged

docs: document multi-region support in the Vercel World#2895
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world

Conversation

@TooTallNate

@TooTallNateTooTallNate commented Jul 13, 2026

Copy link
Copy Markdown
Member

What

Updates the docs for Vercel World multi-region support (#1981):

/worlds/vercel (primary content):

  • Removes the stale Limitations entries claiming the backend is iad1-only with iad1 data residency — no longer true; the backend runs in every Vercel Function region
  • New Multi-region section covering:
    • the model: each run pinned to one region at creation; state, execution, and streams all served region-locally
    • automatic pinning from the creating function's region — single-region pins everything, multi-region deployments pin each run where its user was served
    • explicit selection via start(workflow, args, { region: "sfo1" })
    • routing semantics (reads/hook-resumes/stream consumers work from anywhere) and 4.x / pre-existing-run behavior (iad1, unaffected, no migration)
  • Limitations keeps the one that remains: run region is fixed at creation

/docs/deploying: adds a Multi-region bullet to the Vercel World feature list, deferring details to /worlds/vercel.

Version

#1981 has merged 🎉 — all pages now state the exact requirement: workflow 5.0.0-beta.33 or later for multi-region support (4.x will not gain it).

Notes:

The Vercel World Limitations section still described the backend as
iad1-only, which is no longer true — it now runs in every Vercel
Function region, with each run pinned to a single region at creation.
- Replace the single-region / iad1 data-residency limitations with a
Multi-region section: automatic pinning from the creating function's
region (single- and multi-region deployments), explicit per-run
selection via start(..., { region }), routing semantics for readers,
and 4.x/pre-existing-run behavior (iad1, no migration).
- Version requirement called out as workflow 5.x beta with a TODO to
pin the exact minimum version once released; 4.x will not support
region pinning.
- Limitations now lists the one that remains: a run's region is fixed
at creation (no migration).
- /docs/deploying: add a Multi-region bullet to the Vercel World
feature list, deferring details to /worlds/vercel.
@changeset-bot

changeset-botBot commented Jul 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 6b00e7b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercelBot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx
…lacement
The start({ region }) option pins where the run's data is stored and
where its queue messages dispatch from; it does not deploy code.
Execution happens in the regions the application is deployed to, so
region-local execution requires deploying the app to the desired
region (vercel.json regions or the project's Function Regions
setting). Adds a warning callout to the explicit-selection section and
tightens the intro to only claim region-local execution for the
automatic case.
Same fix as v5: the v4 Deploying sidebar only listed 'Building a
World', leaving the world pages reachable only via the /worlds/:id
routes with no sidebar path. Adds the Worlds group (Vercel World,
Postgres World, Local World) between the section index and Building a
World, and pluralizes the group title.
Verified via dev server: the group renders, and the sidebar items land
on /worlds/:id through the existing permanent redirects (same v4
content).
#1981 merged; the first release carrying multi-region
support is 5.0.0-beta.33. Replace the '5.x (currently in beta)'
placeholders (and the TODO marker) with the exact minimum version on
all four touched pages (v5 world page + deploying bullet, v4
breadcrumb callouts).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the documentation to reflect multi-region support in the Vercel World, aligning v4/v5 docs with the new region-pinned run model introduced in workflow 5.0.0-beta.33+.

Changes:

  • Adds a new “Multi-region” section to the v5 Vercel World page and removes stale iad1-only limitations.
  • Updates v4 docs to clarify multi-region is a 5.x feature and that 4.x remains iad1-only.
  • Adjusts Deploying section navigation and adds a multi-region bullet/link from the Deploying landing pages.

Reviewed changes

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

Show a summary per file
FileDescription
docs/content/docs/v5/deploying/world/vercel-world.mdxAdds multi-region model, automatic/explicit pinning guidance, and updated limitations.
docs/content/docs/v5/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v5/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v5/deploying/index.mdxAdds multi-region feature bullet and links to the new v5 Vercel World section.
docs/content/docs/v4/deploying/world/vercel-world.mdxAdds callout pointing to v5 multi-region docs; scopes limitations explicitly to 4.x.
docs/content/docs/v4/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v4/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v4/deploying/index.mdxAdds informational callout pointing to v5 multi-region docs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threaddocs/content/docs/v5/deploying/index.mdx Outdated
Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx Outdated
Hook tokens carry no region information, so the token-to-run mapping
behind getHookByToken()/resumeHook() is currently stored in iad1 for
every run regardless of its region. Hook payloads are unaffected —
a received payload lands on the run's event log in the run's region
like all other run data. Noted as potentially becoming a
project-level setting in the future.
- /docs/deploying multi-region bullet: 'execution' -> 'queuing'; the
region option pins data/queue/streams, while execution follows the
app's deployed regions (matching the v4 callout and the world page's
own warning callout)
- v5 world page: drop 'region is fixed for its entire lifetime' from
the Good to know bullet — the Limitations section already owns that
statement; the bullet now covers only routing semantics
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for 2b55220 (AI decision).

This commit documents a 5.x-only feature (Vercel World multi-region, requiring workflow 5.0.0-beta.33+) and edits versioned docs under docs/content/docs/v4/deploying/ and v5/deploying/, which do not exist on stable (verified via git ls-tree origin/stable — stable's deploying docs are unversioned at docs/content/docs/deploying/). The v4 edits merely add callouts pointing to the nonexistent-on-stable v5 multi-region docs, so the content is not meaningfully applicable to the 4.x-shipping stable branch.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

2b5522020c96db916600499909037015f06a2c77

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@TooTallNate@VaguelySerious
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs: document multi-region support in the Vercel World - #2895

Merged
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world
Jul 13, 2026
Merged

docs: document multi-region support in the Vercel World#2895
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world

Conversation

@TooTallNate

@TooTallNateTooTallNate commented Jul 13, 2026

Copy link
Copy Markdown
Member

What

Updates the docs for Vercel World multi-region support (#1981):

/worlds/vercel (primary content):

  • Removes the stale Limitations entries claiming the backend is iad1-only with iad1 data residency — no longer true; the backend runs in every Vercel Function region
  • New Multi-region section covering:
    • the model: each run pinned to one region at creation; state, execution, and streams all served region-locally
    • automatic pinning from the creating function's region — single-region pins everything, multi-region deployments pin each run where its user was served
    • explicit selection via start(workflow, args, { region: "sfo1" })
    • routing semantics (reads/hook-resumes/stream consumers work from anywhere) and 4.x / pre-existing-run behavior (iad1, unaffected, no migration)
  • Limitations keeps the one that remains: run region is fixed at creation

/docs/deploying: adds a Multi-region bullet to the Vercel World feature list, deferring details to /worlds/vercel.

Version

#1981 has merged 🎉 — all pages now state the exact requirement: workflow 5.0.0-beta.33 or later for multi-region support (4.x will not gain it).

Notes:

The Vercel World Limitations section still described the backend as
iad1-only, which is no longer true — it now runs in every Vercel
Function region, with each run pinned to a single region at creation.
- Replace the single-region / iad1 data-residency limitations with a
Multi-region section: automatic pinning from the creating function's
region (single- and multi-region deployments), explicit per-run
selection via start(..., { region }), routing semantics for readers,
and 4.x/pre-existing-run behavior (iad1, no migration).
- Version requirement called out as workflow 5.x beta with a TODO to
pin the exact minimum version once released; 4.x will not support
region pinning.
- Limitations now lists the one that remains: a run's region is fixed
at creation (no migration).
- /docs/deploying: add a Multi-region bullet to the Vercel World
feature list, deferring details to /worlds/vercel.
@changeset-bot

changeset-botBot commented Jul 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 6b00e7b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercelBot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx
…lacement
The start({ region }) option pins where the run's data is stored and
where its queue messages dispatch from; it does not deploy code.
Execution happens in the regions the application is deployed to, so
region-local execution requires deploying the app to the desired
region (vercel.json regions or the project's Function Regions
setting). Adds a warning callout to the explicit-selection section and
tightens the intro to only claim region-local execution for the
automatic case.
Same fix as v5: the v4 Deploying sidebar only listed 'Building a
World', leaving the world pages reachable only via the /worlds/:id
routes with no sidebar path. Adds the Worlds group (Vercel World,
Postgres World, Local World) between the section index and Building a
World, and pluralizes the group title.
Verified via dev server: the group renders, and the sidebar items land
on /worlds/:id through the existing permanent redirects (same v4
content).
#1981 merged; the first release carrying multi-region
support is 5.0.0-beta.33. Replace the '5.x (currently in beta)'
placeholders (and the TODO marker) with the exact minimum version on
all four touched pages (v5 world page + deploying bullet, v4
breadcrumb callouts).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the documentation to reflect multi-region support in the Vercel World, aligning v4/v5 docs with the new region-pinned run model introduced in workflow 5.0.0-beta.33+.

Changes:

  • Adds a new “Multi-region” section to the v5 Vercel World page and removes stale iad1-only limitations.
  • Updates v4 docs to clarify multi-region is a 5.x feature and that 4.x remains iad1-only.
  • Adjusts Deploying section navigation and adds a multi-region bullet/link from the Deploying landing pages.

Reviewed changes

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

Show a summary per file
FileDescription
docs/content/docs/v5/deploying/world/vercel-world.mdxAdds multi-region model, automatic/explicit pinning guidance, and updated limitations.
docs/content/docs/v5/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v5/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v5/deploying/index.mdxAdds multi-region feature bullet and links to the new v5 Vercel World section.
docs/content/docs/v4/deploying/world/vercel-world.mdxAdds callout pointing to v5 multi-region docs; scopes limitations explicitly to 4.x.
docs/content/docs/v4/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v4/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v4/deploying/index.mdxAdds informational callout pointing to v5 multi-region docs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threaddocs/content/docs/v5/deploying/index.mdx Outdated
Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx Outdated
Hook tokens carry no region information, so the token-to-run mapping
behind getHookByToken()/resumeHook() is currently stored in iad1 for
every run regardless of its region. Hook payloads are unaffected —
a received payload lands on the run's event log in the run's region
like all other run data. Noted as potentially becoming a
project-level setting in the future.
- /docs/deploying multi-region bullet: 'execution' -> 'queuing'; the
region option pins data/queue/streams, while execution follows the
app's deployed regions (matching the v4 callout and the world page's
own warning callout)
- v5 world page: drop 'region is fixed for its entire lifetime' from
the Good to know bullet — the Limitations section already owns that
statement; the bullet now covers only routing semantics
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for 2b55220 (AI decision).

This commit documents a 5.x-only feature (Vercel World multi-region, requiring workflow 5.0.0-beta.33+) and edits versioned docs under docs/content/docs/v4/deploying/ and v5/deploying/, which do not exist on stable (verified via git ls-tree origin/stable — stable's deploying docs are unversioned at docs/content/docs/deploying/). The v4 edits merely add callouts pointing to the nonexistent-on-stable v5 multi-region docs, so the content is not meaningfully applicable to the 4.x-shipping stable branch.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

2b5522020c96db916600499909037015f06a2c77

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@TooTallNate@VaguelySerious
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs: document multi-region support in the Vercel World - #2895

Merged
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world
Jul 13, 2026
Merged

docs: document multi-region support in the Vercel World#2895
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world

Conversation

@TooTallNate

@TooTallNateTooTallNate commented Jul 13, 2026

Copy link
Copy Markdown
Member

What

Updates the docs for Vercel World multi-region support (#1981):

/worlds/vercel (primary content):

  • Removes the stale Limitations entries claiming the backend is iad1-only with iad1 data residency — no longer true; the backend runs in every Vercel Function region
  • New Multi-region section covering:
    • the model: each run pinned to one region at creation; state, execution, and streams all served region-locally
    • automatic pinning from the creating function's region — single-region pins everything, multi-region deployments pin each run where its user was served
    • explicit selection via start(workflow, args, { region: "sfo1" })
    • routing semantics (reads/hook-resumes/stream consumers work from anywhere) and 4.x / pre-existing-run behavior (iad1, unaffected, no migration)
  • Limitations keeps the one that remains: run region is fixed at creation

/docs/deploying: adds a Multi-region bullet to the Vercel World feature list, deferring details to /worlds/vercel.

Version

#1981 has merged 🎉 — all pages now state the exact requirement: workflow 5.0.0-beta.33 or later for multi-region support (4.x will not gain it).

Notes:

The Vercel World Limitations section still described the backend as
iad1-only, which is no longer true — it now runs in every Vercel
Function region, with each run pinned to a single region at creation.
- Replace the single-region / iad1 data-residency limitations with a
Multi-region section: automatic pinning from the creating function's
region (single- and multi-region deployments), explicit per-run
selection via start(..., { region }), routing semantics for readers,
and 4.x/pre-existing-run behavior (iad1, no migration).
- Version requirement called out as workflow 5.x beta with a TODO to
pin the exact minimum version once released; 4.x will not support
region pinning.
- Limitations now lists the one that remains: a run's region is fixed
at creation (no migration).
- /docs/deploying: add a Multi-region bullet to the Vercel World
feature list, deferring details to /worlds/vercel.
@changeset-bot

changeset-botBot commented Jul 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 6b00e7b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercelBot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx
…lacement
The start({ region }) option pins where the run's data is stored and
where its queue messages dispatch from; it does not deploy code.
Execution happens in the regions the application is deployed to, so
region-local execution requires deploying the app to the desired
region (vercel.json regions or the project's Function Regions
setting). Adds a warning callout to the explicit-selection section and
tightens the intro to only claim region-local execution for the
automatic case.
Same fix as v5: the v4 Deploying sidebar only listed 'Building a
World', leaving the world pages reachable only via the /worlds/:id
routes with no sidebar path. Adds the Worlds group (Vercel World,
Postgres World, Local World) between the section index and Building a
World, and pluralizes the group title.
Verified via dev server: the group renders, and the sidebar items land
on /worlds/:id through the existing permanent redirects (same v4
content).
#1981 merged; the first release carrying multi-region
support is 5.0.0-beta.33. Replace the '5.x (currently in beta)'
placeholders (and the TODO marker) with the exact minimum version on
all four touched pages (v5 world page + deploying bullet, v4
breadcrumb callouts).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the documentation to reflect multi-region support in the Vercel World, aligning v4/v5 docs with the new region-pinned run model introduced in workflow 5.0.0-beta.33+.

Changes:

  • Adds a new “Multi-region” section to the v5 Vercel World page and removes stale iad1-only limitations.
  • Updates v4 docs to clarify multi-region is a 5.x feature and that 4.x remains iad1-only.
  • Adjusts Deploying section navigation and adds a multi-region bullet/link from the Deploying landing pages.

Reviewed changes

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

Show a summary per file
FileDescription
docs/content/docs/v5/deploying/world/vercel-world.mdxAdds multi-region model, automatic/explicit pinning guidance, and updated limitations.
docs/content/docs/v5/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v5/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v5/deploying/index.mdxAdds multi-region feature bullet and links to the new v5 Vercel World section.
docs/content/docs/v4/deploying/world/vercel-world.mdxAdds callout pointing to v5 multi-region docs; scopes limitations explicitly to 4.x.
docs/content/docs/v4/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v4/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v4/deploying/index.mdxAdds informational callout pointing to v5 multi-region docs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threaddocs/content/docs/v5/deploying/index.mdx Outdated
Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx Outdated
Hook tokens carry no region information, so the token-to-run mapping
behind getHookByToken()/resumeHook() is currently stored in iad1 for
every run regardless of its region. Hook payloads are unaffected —
a received payload lands on the run's event log in the run's region
like all other run data. Noted as potentially becoming a
project-level setting in the future.
- /docs/deploying multi-region bullet: 'execution' -> 'queuing'; the
region option pins data/queue/streams, while execution follows the
app's deployed regions (matching the v4 callout and the world page's
own warning callout)
- v5 world page: drop 'region is fixed for its entire lifetime' from
the Good to know bullet — the Limitations section already owns that
statement; the bullet now covers only routing semantics
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for 2b55220 (AI decision).

This commit documents a 5.x-only feature (Vercel World multi-region, requiring workflow 5.0.0-beta.33+) and edits versioned docs under docs/content/docs/v4/deploying/ and v5/deploying/, which do not exist on stable (verified via git ls-tree origin/stable — stable's deploying docs are unversioned at docs/content/docs/deploying/). The v4 edits merely add callouts pointing to the nonexistent-on-stable v5 multi-region docs, so the content is not meaningfully applicable to the 4.x-shipping stable branch.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

2b5522020c96db916600499909037015f06a2c77

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@TooTallNate@VaguelySerious
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

docs: document multi-region support in the Vercel World - #2895

Merged
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world
Jul 13, 2026
Merged

docs: document multi-region support in the Vercel World#2895
TooTallNate merged 9 commits into
mainfrom
docs/multi-region-vercel-world

Conversation

@TooTallNate

@TooTallNateTooTallNate commented Jul 13, 2026

Copy link
Copy Markdown
Member

What

Updates the docs for Vercel World multi-region support (#1981):

/worlds/vercel (primary content):

  • Removes the stale Limitations entries claiming the backend is iad1-only with iad1 data residency — no longer true; the backend runs in every Vercel Function region
  • New Multi-region section covering:
    • the model: each run pinned to one region at creation; state, execution, and streams all served region-locally
    • automatic pinning from the creating function's region — single-region pins everything, multi-region deployments pin each run where its user was served
    • explicit selection via start(workflow, args, { region: "sfo1" })
    • routing semantics (reads/hook-resumes/stream consumers work from anywhere) and 4.x / pre-existing-run behavior (iad1, unaffected, no migration)
  • Limitations keeps the one that remains: run region is fixed at creation

/docs/deploying: adds a Multi-region bullet to the Vercel World feature list, deferring details to /worlds/vercel.

Version

#1981 has merged 🎉 — all pages now state the exact requirement: workflow 5.0.0-beta.33 or later for multi-region support (4.x will not gain it).

Notes:

The Vercel World Limitations section still described the backend as
iad1-only, which is no longer true — it now runs in every Vercel
Function region, with each run pinned to a single region at creation.
- Replace the single-region / iad1 data-residency limitations with a
Multi-region section: automatic pinning from the creating function's
region (single- and multi-region deployments), explicit per-run
selection via start(..., { region }), routing semantics for readers,
and 4.x/pre-existing-run behavior (iad1, no migration).
- Version requirement called out as workflow 5.x beta with a TODO to
pin the exact minimum version once released; 4.x will not support
region pinning.
- Limitations now lists the one that remains: a run's region is fixed
at creation (no migration).
- /docs/deploying: add a Multi-region bullet to the Vercel World
feature list, deferring details to /worlds/vercel.
@changeset-bot

changeset-botBot commented Jul 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 6b00e7b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercelBot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx
…lacement
The start({ region }) option pins where the run's data is stored and
where its queue messages dispatch from; it does not deploy code.
Execution happens in the regions the application is deployed to, so
region-local execution requires deploying the app to the desired
region (vercel.json regions or the project's Function Regions
setting). Adds a warning callout to the explicit-selection section and
tightens the intro to only claim region-local execution for the
automatic case.
Same fix as v5: the v4 Deploying sidebar only listed 'Building a
World', leaving the world pages reachable only via the /worlds/:id
routes with no sidebar path. Adds the Worlds group (Vercel World,
Postgres World, Local World) between the section index and Building a
World, and pluralizes the group title.
Verified via dev server: the group renders, and the sidebar items land
on /worlds/:id through the existing permanent redirects (same v4
content).
#1981 merged; the first release carrying multi-region
support is 5.0.0-beta.33. Replace the '5.x (currently in beta)'
placeholders (and the TODO marker) with the exact minimum version on
all four touched pages (v5 world page + deploying bullet, v4
breadcrumb callouts).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the documentation to reflect multi-region support in the Vercel World, aligning v4/v5 docs with the new region-pinned run model introduced in workflow 5.0.0-beta.33+.

Changes:

  • Adds a new “Multi-region” section to the v5 Vercel World page and removes stale iad1-only limitations.
  • Updates v4 docs to clarify multi-region is a 5.x feature and that 4.x remains iad1-only.
  • Adjusts Deploying section navigation and adds a multi-region bullet/link from the Deploying landing pages.

Reviewed changes

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

Show a summary per file
FileDescription
docs/content/docs/v5/deploying/world/vercel-world.mdxAdds multi-region model, automatic/explicit pinning guidance, and updated limitations.
docs/content/docs/v5/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v5/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v5/deploying/index.mdxAdds multi-region feature bullet and links to the new v5 Vercel World section.
docs/content/docs/v4/deploying/world/vercel-world.mdxAdds callout pointing to v5 multi-region docs; scopes limitations explicitly to 4.x.
docs/content/docs/v4/deploying/world/meta.jsonRenames section title from “World” → “Worlds”.
docs/content/docs/v4/deploying/meta.jsonAdds the world subsection to Deploying nav.
docs/content/docs/v4/deploying/index.mdxAdds informational callout pointing to v5 multi-region docs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threaddocs/content/docs/v5/deploying/index.mdx Outdated
Comment threaddocs/content/docs/v5/deploying/world/vercel-world.mdx Outdated
Hook tokens carry no region information, so the token-to-run mapping
behind getHookByToken()/resumeHook() is currently stored in iad1 for
every run regardless of its region. Hook payloads are unaffected —
a received payload lands on the run's event log in the run's region
like all other run data. Noted as potentially becoming a
project-level setting in the future.
- /docs/deploying multi-region bullet: 'execution' -> 'queuing'; the
region option pins data/queue/streams, while execution follows the
app's deployed regions (matching the v4 callout and the world page's
own warning callout)
- v5 world page: drop 'region is fixed for its entire lifetime' from
the Good to know bullet — the Limitations section already owns that
statement; the bullet now covers only routing semantics
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for 2b55220 (AI decision).

This commit documents a 5.x-only feature (Vercel World multi-region, requiring workflow 5.0.0-beta.33+) and edits versioned docs under docs/content/docs/v4/deploying/ and v5/deploying/, which do not exist on stable (verified via git ls-tree origin/stable — stable's deploying docs are unversioned at docs/content/docs/deploying/). The v4 edits merely add callouts pointing to the nonexistent-on-stable v5 multi-region docs, so the content is not meaningfully applicable to the 4.x-shipping stable branch.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

2b5522020c96db916600499909037015f06a2c77

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@TooTallNate@VaguelySerious