Skip to content

Version Packages (beta)#447

Merged
pranaygp merged 1 commit into
mainfrom
changeset-release/main
Dec 2, 2025
Merged

Version Packages (beta)#447
pranaygp merged 1 commit into
mainfrom
changeset-release/main

Conversation

@vercel-release-bot
Copy link
Copy Markdown
Contributor

@vercel-release-bot vercel-release-bot commented Nov 27, 2025

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

main is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on main.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@workflow/ai@4.0.1-beta.23

Patch Changes

  • 172e015: Add AI provider step wrapper functions
  • Updated dependencies [1ac5592]
    • workflow@4.0.1-beta.23

@workflow/astro@4.0.0-beta.2

Patch Changes

  • 1ac5592: Add @workflow/astro package
  • Updated dependencies [d53bf90]
  • Updated dependencies [3c19e90]
  • Updated dependencies [1ac5592]
  • Updated dependencies [5b91861]
  • Updated dependencies [0cacb99]
    • @workflow/builders@4.0.1-beta.19
    • @workflow/swc-plugin@4.0.1-beta.9
    • @workflow/rollup@4.0.0-beta.3

@workflow/builders@4.0.1-beta.19

Patch Changes

  • d53bf90: Fix StandaloneBuilder to scan all directories for workflows
  • 3c19e90: Fix Nitro and SvelteKit build race conditions and make writing debug file atomic
  • 1ac5592: Add @workflow/astro package
  • Updated dependencies [0f1645b]
  • Updated dependencies [5b91861]
  • Updated dependencies [bdde1bd]
  • Updated dependencies [0cacb99]
  • Updated dependencies [8d4562e]
    • @workflow/core@4.0.1-beta.20
    • @workflow/swc-plugin@4.0.1-beta.9
    • @workflow/errors@4.0.1-beta.7

@workflow/cli@4.0.1-beta.23

Patch Changes

  • 8d4562e: Rename leftover references to "embedded world" to be "local world"
  • Updated dependencies [d53bf90]
  • Updated dependencies [0f1645b]
  • Updated dependencies [3c19e90]
  • Updated dependencies [1ac5592]
  • Updated dependencies [6e8e828]
  • Updated dependencies [5b91861]
  • Updated dependencies [10c5b91]
  • Updated dependencies [bdde1bd]
  • Updated dependencies [109fe59]
  • Updated dependencies [0cacb99]
  • Updated dependencies [2faddf3]
  • Updated dependencies [10c5b91]
  • Updated dependencies [8d4562e]
    • @workflow/builders@4.0.1-beta.19
    • @workflow/core@4.0.1-beta.20
    • @workflow/world-local@4.0.1-beta.14
    • @workflow/swc-plugin@4.0.1-beta.9
    • @workflow/world@4.0.1-beta.8
    • @workflow/web@4.0.1-beta.12
    • @workflow/errors@4.0.1-beta.7
    • @workflow/world-vercel@4.0.1-beta.14

@workflow/core@4.0.1-beta.20

Patch Changes

  • 0f1645b: Ignore rejections in waitedUntil promise
  • bdde1bd: track queue overhead with opentelemetry
  • 8d4562e: Rename leftover references to "embedded world" to be "local world"
  • Updated dependencies [bc9b628]
  • Updated dependencies [34f3f86]
  • Updated dependencies [cd451e0]
  • Updated dependencies [6e8e828]
  • Updated dependencies [10c5b91]
  • Updated dependencies [bdde1bd]
  • Updated dependencies [2faddf3]
  • Updated dependencies [8d4562e]
    • @workflow/utils@4.0.1-beta.5
    • @workflow/world-local@4.0.1-beta.14
    • @workflow/world@4.0.1-beta.8
    • @workflow/errors@4.0.1-beta.7
    • @workflow/world-vercel@4.0.1-beta.14

@workflow/errors@4.0.1-beta.7

Patch Changes

  • Updated dependencies [bc9b628]
  • Updated dependencies [34f3f86]
  • Updated dependencies [cd451e0]
    • @workflow/utils@4.0.1-beta.5

@workflow/next@4.0.1-beta.23

Patch Changes

  • 8d4562e: Rename leftover references to "embedded world" to be "local world"
  • Updated dependencies [d53bf90]
  • Updated dependencies [0f1645b]
  • Updated dependencies [3c19e90]
  • Updated dependencies [1ac5592]
  • Updated dependencies [5b91861]
  • Updated dependencies [bdde1bd]
  • Updated dependencies [0cacb99]
  • Updated dependencies [8d4562e]
    • @workflow/builders@4.0.1-beta.19
    • @workflow/core@4.0.1-beta.20
    • @workflow/swc-plugin@4.0.1-beta.9

@workflow/nitro@4.0.1-beta.23

Patch Changes

  • 3c19e90: Fix Nitro and SvelteKit build race conditions and make writing debug file atomic
  • Updated dependencies [d53bf90]
  • Updated dependencies [0f1645b]
  • Updated dependencies [3c19e90]
  • Updated dependencies [1ac5592]
  • Updated dependencies [5b91861]
  • Updated dependencies [bdde1bd]
  • Updated dependencies [0cacb99]
  • Updated dependencies [8d4562e]
    • @workflow/builders@4.0.1-beta.19
    • @workflow/core@4.0.1-beta.20
    • @workflow/swc-plugin@4.0.1-beta.9
    • @workflow/rollup@4.0.0-beta.3

@workflow/nuxt@4.0.1-beta.12

Patch Changes

  • Updated dependencies [3c19e90]
    • @workflow/nitro@4.0.1-beta.23

@workflow/rollup@4.0.0-beta.3

Patch Changes

  • Updated dependencies [5b91861]
  • Updated dependencies [0cacb99]
    • @workflow/swc-plugin@4.0.1-beta.9

@workflow/sveltekit@4.0.0-beta.17

Patch Changes

  • 3c19e90: Fix Nitro and SvelteKit build race conditions and make writing debug file atomic
  • Updated dependencies [d53bf90]
  • Updated dependencies [3c19e90]
  • Updated dependencies [1ac5592]
  • Updated dependencies [5b91861]
  • Updated dependencies [0cacb99]
    • @workflow/builders@4.0.1-beta.19
    • @workflow/swc-plugin@4.0.1-beta.9
    • @workflow/rollup@4.0.0-beta.3

@workflow/swc-plugin@4.0.1-beta.9

Patch Changes

  • 5b91861: Apply workflow function transformation in "step" mode
  • 0cacb99: Support nested "use step" declarations in non-workflow functions

@workflow/utils@4.0.1-beta.5

Patch Changes

  • bc9b628: Prevent @vercel/nft from tracing /proc paths during build
  • 34f3f86: fix(utils): detect linux ports via /proc
  • cd451e0: Replace execa dependency with built-in node execFile

@workflow/web@4.0.1-beta.12

Patch Changes

  • 109fe59: Add PostgreSQL backend support in web UI settings
  • 10c5b91: Update Next.js version to 16
  • 8d4562e: Rename leftover references to "embedded world" to be "local world"

@workflow/web-shared@4.0.1-beta.21

Patch Changes

  • Updated dependencies [0f1645b]
  • Updated dependencies [10c5b91]
  • Updated dependencies [bdde1bd]
  • Updated dependencies [8d4562e]
    • @workflow/core@4.0.1-beta.20
    • @workflow/world@4.0.1-beta.8

workflow@4.0.1-beta.23

Patch Changes

  • 1ac5592: Add @workflow/astro package
  • Updated dependencies [0f1645b]
  • Updated dependencies [3c19e90]
  • Updated dependencies [1ac5592]
  • Updated dependencies [bdde1bd]
  • Updated dependencies [8d4562e]
    • @workflow/core@4.0.1-beta.20
    • @workflow/sveltekit@4.0.0-beta.17
    • @workflow/nitro@4.0.1-beta.23
    • @workflow/astro@4.0.0-beta.2
    • @workflow/next@4.0.1-beta.23
    • @workflow/cli@4.0.1-beta.23
    • @workflow/errors@4.0.1-beta.7
    • @workflow/typescript-plugin@4.0.1-beta.4
    • @workflow/nuxt@4.0.1-beta.12
    • @workflow/rollup@4.0.0-beta.3

@workflow/world@4.0.1-beta.8

Patch Changes

  • 10c5b91: Export QueueOptions type
  • bdde1bd: track queue overhead with opentelemetry

@workflow/world-local@4.0.1-beta.14

Patch Changes

  • 6e8e828: Silently ignore stream already closed errors
  • 2faddf3: Move @workflow/errors package to "dependencies" instead of "devDependencies"
  • 8d4562e: Rename leftover references to "embedded world" to be "local world"
  • Updated dependencies [bc9b628]
  • Updated dependencies [34f3f86]
  • Updated dependencies [cd451e0]
  • Updated dependencies [10c5b91]
  • Updated dependencies [bdde1bd]
    • @workflow/utils@4.0.1-beta.5
    • @workflow/world@4.0.1-beta.8
    • @workflow/errors@4.0.1-beta.7

@workflow/world-postgres@4.1.0-beta.16

Patch Changes

  • ef8e0e5: Increase polling interval for pg-boss to reduce interval between steps
  • 8d4562e: Rename leftover references to "embedded world" to be "local world"
  • Updated dependencies [6e8e828]
  • Updated dependencies [10c5b91]
  • Updated dependencies [bdde1bd]
  • Updated dependencies [2faddf3]
  • Updated dependencies [8d4562e]
    • @workflow/world-local@4.0.1-beta.14
    • @workflow/world@4.0.1-beta.8
    • @workflow/errors@4.0.1-beta.7

@workflow/world-testing@4.0.1-beta.24

Patch Changes

  • 8d4562e: Rename leftover references to "embedded world" to be "local world"
  • Updated dependencies [1ac5592]
  • Updated dependencies [10c5b91]
  • Updated dependencies [bdde1bd]
  • Updated dependencies [8d4562e]
    • workflow@4.0.1-beta.23
    • @workflow/world@4.0.1-beta.8
    • @workflow/cli@4.0.1-beta.23

@workflow/world-vercel@4.0.1-beta.14

Patch Changes

  • Updated dependencies [10c5b91]
  • Updated dependencies [bdde1bd]
    • @workflow/world@4.0.1-beta.8
    • @workflow/errors@4.0.1-beta.7

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Nov 27, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
example-nextjs-workflow-turbopack Ready Ready Preview Comment Dec 2, 2025 5:41pm
example-nextjs-workflow-webpack Ready Ready Preview Comment Dec 2, 2025 5:41pm
example-workflow Ready Ready Preview Comment Dec 2, 2025 5:41pm
workbench-express-workflow Ready Ready Preview Comment Dec 2, 2025 5:41pm
workbench-hono-workflow Ready Ready Preview Comment Dec 2, 2025 5:41pm
workbench-nitro-workflow Ready Ready Preview Comment Dec 2, 2025 5:41pm
workbench-nuxt-workflow Ready Ready Preview Comment Dec 2, 2025 5:41pm
workbench-sveltekit-workflow Ready Ready Preview Comment Dec 2, 2025 5:41pm
workbench-vite-workflow Ready Ready Preview Comment Dec 2, 2025 5:41pm
workflow-docs Ready Ready Preview Comment Dec 2, 2025 5:41pm

@github-actions github-actions Bot force-pushed the changeset-release/main branch from 67e99ef to e817383 Compare November 27, 2025 07:36
@github-actions github-actions Bot force-pushed the changeset-release/main branch from e817383 to 6c9ee03 Compare November 27, 2025 07:52
@github-actions github-actions Bot force-pushed the changeset-release/main branch from aeeb61c to ca0005c Compare November 29, 2025 05:44
@github-actions github-actions Bot force-pushed the changeset-release/main branch from ca0005c to bfaf8d8 Compare November 30, 2025 05:22
@github-actions github-actions Bot force-pushed the changeset-release/main branch from bfaf8d8 to 30b73ab Compare November 30, 2025 18:15
Copy link
Copy Markdown
Contributor

@vercel vercel Bot left a comment

Choose a reason for hiding this comment

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

🔧 Build Fix:

Literal /proc filesystem paths in the Linux port detection code are being discovered by Vercel's NFT static analysis during SvelteKit build, causing it to fail when trying to access ephemeral file descriptors that no longer exist. The paths are encoded using Buffer.from(...).reverse().toString() to prevent static detection while maintaining runtime functionality.

View Details
📝 Patch Details
diff --git a/packages/utils/src/get-port.ts b/packages/utils/src/get-port.ts
index 1f59baf..207e6c8 100644
--- a/packages/utils/src/get-port.ts
+++ b/packages/utils/src/get-port.ts
@@ -18,14 +18,26 @@ function parsePort(value: string, radix = 10): number | undefined {
  */
 async function getLinuxPort(pid: number): Promise<number | undefined> {
   const listenState = '0A'; // TCP LISTEN state in /proc/net/tcp
-  const tcpFiles = ['/proc/net/tcp', '/proc/net/tcp6'] as const;
+  // Use Buffer/reverse to encode paths so static analysis tools (like NFT) can't detect them
+  // This prevents NFT from trying to follow /proc paths as dependencies
+  const tcpFiles = [
+    Buffer.from('pct/ten/corp/').reverse().toString(),
+    Buffer.from('6pct/ten/corp/').reverse().toString(),
+  ] as const;
 
   // Step 1: Get socket inodes from /proc/<pid>/fd/ in order
   // We preserve order to maintain deterministic behavior (return first port)
   // Use both array (for order) and Set (for O(1) lookup)
   const socketInodes: string[] = [];
   const socketInodesSet = new Set<string>();
-  const fdPath = `/proc/${pid}/fd`;
+  // Encode path to prevent static analysis tools from discovering /proc paths
+  const fdPath =
+    '/' +
+    Buffer.from('corp').reverse().toString() +
+    '/' +
+    pid.toString() +
+    '/' +
+    Buffer.from('df').reverse().toString();
 
   try {
     const fds = await readdir(fdPath);

Analysis

NFT fails to trace /proc paths during Vercel adapter build

What fails: During SvelteKit build with @sveltejs/adapter-vercel, the Vercel deployment adapter's file tracing (using @vercel/nft) crashes when it encounters /proc filesystem paths that are created dynamically by the get-port.ts module.

How to reproduce:

cd packages/utils
git diff src/get-port.ts  # Verify the original code has literal /proc paths
cd ../../workbench/sveltekit
VERCEL_DEPLOYMENT_ID=1 npm run build

Result (before fix):

error during build:
Error: File /proc/3487/fd/33 does not exist.
    at Job.emitDependency (/vercel/path0/node_modules/.pnpm/@vercel+nft@0.30.3_rollup@4.53.2/node_modules/@vercel/nft/out/node-file-trace.js:336:23)

Why it happens: Commit 34f3f86 added code to read /proc/<pid>/fd/ for port detection on Linux. During the SvelteKit build with the Vercel adapter, NFT performs static analysis and detects the literal /proc path strings in the code. When NFT tries to follow these paths as file system dependencies, it fails because:

  1. The file descriptors (e.g., /proc/3487/fd/33) are ephemeral OS-level references
  2. They may no longer exist when NFT tries to stat them
  3. NFT has no way to exclude dynamic /proc entries from tracing

Root cause: Literal /proc string paths in the source code are visible to static analysis tools, causing them to attempt file system operations on ephemeral OS resources.

Solution: Encode the /proc paths using Buffer.from(...).reverse().toString() so they are not statically detectable by NFT while still being valid at runtime.

Fix on Vercel

Sign up for free to 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.

2 participants