Files
vercel__workflow/packages/utils/CHANGELOG.md
github-actions[bot] b12f248b66 Version Packages (beta) (#3185)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-30 08:40:06 -07:00

10 KiB

@workflow/utils

5.0.0-beta.8

Patch Changes

  • #3142 a09d001 Thanks @VaguelySerious! - Revert the static workflow world target injection: the world package is again resolved at runtime from WORKFLOW_TARGET_WORLD instead of being aliased into host bundles at build time.

5.0.0-beta.7

Major Changes

  • #3061 62d570e Thanks @NathanColosimo! - Remove the standalone step URL API and stale generated route artifacts while keeping step registrations inside the combined flow output.

Patch Changes

  • #3144 49276f2 Thanks @VaguelySerious! - Select the Vercel World for builds that target Vercel without a deployment ID, such as vercel build followed by vercel deploy --prebuilt, and apply workflows.local.port whenever the Local World is the target.

5.0.0-beta.6

Patch Changes

  • #2732 239031a Thanks @NathanColosimo! - Respect framework base paths when routing workflow traffic and expose health checks on generated Next.js workflow routes.

  • #2752 0f557d5 Thanks @ijjk! - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.

5.0.0-beta.5

Patch Changes

  • #2678 f6772d9 Thanks @ijjk! - Filter Windows netstat output by PID column when detecting local workflow ports.

5.0.0-beta.4

Minor Changes

  • #2363 926a5e7 Thanks @karthikscale3! - Add WORKFLOW_TRACE_MODE with a new linked default: each workflow/step invocation span is now its own trace root with span links to the delivery and run-origin contexts, instead of one trace spanning the entire run. world-vercel now explicitly injects W3C traceparent/tracestate/baggage headers on outgoing workflow-server requests.

    Span names are also friendlier: workflow and step spans now use the short function name (e.g. workflow.execute processOrder, step.execute chargeCard, workflow.start processOrder) instead of the uppercase prefixes and full machine names (WORKFLOW_V2 workflow//./src/jobs/order//processOrder). The full name remains available in the workflow.name / step.name span attributes, and new workflowDisplayName / stepDisplayName helpers are exported from @workflow/utils.

    Behavioral changes to telemetry under the new default (set WORKFLOW_TRACE_MODE=continuous to restore the previous trace shape exactly; the span-name change applies in both modes):

    • A run no longer shares one trace ID: the trace of the request that called start() no longer contains the workflow's execution spans — navigate via span links or the workflow.run.id attribute instead.
    • Sampling decisions are made independently per invocation root (previously one parent-based decision covered the whole run), and the number of root spans/traces increases to one per invocation.
    • workflow.execute/step.execute invocation spans (formerly WORKFLOW_V2/STEP) become parentless roots, which changes parent/child-based queries and service-map edges.
    • Re-enqueued queue messages forward the original run-origin trace carrier unchanged, rather than each invocation's current context.
    • Queries or dashboards matching the old WORKFLOW_V2 .../STEP ... span names must switch to the new names.
    • The queue-delivered workflow.execute span kind changed from internal to consumer, matching the queue-delivered step.execute span (this applies in both modes).

    Existing attributes and baggage keys are unchanged, and everything remains a no-op when no OpenTelemetry SDK is registered.

5.0.0-beta.3

Patch Changes

  • #1799 503a929 Thanks @TooTallNate! - Use inline sourcemaps for all workspace packages; published packages no longer ship external .js.map files.

5.0.0-beta.2

Patch Changes

  • #1849 1203dae Thanks @pranaygp! - Friendlier workflow error messages. New SerializationError, WorkflowBuildError, and structured context-violation classes (e.g. NotInWorkflowContextError) with actionable hints and docs links applied to user-facing throw sites; FatalError.is() recognizes any error with fatal: true so context violations and serialization failures now fail fast instead of burning retry attempts. Runtime logs are namespaced under [workflow-sdk] and gain errorAttribution (user vs sdk) plus class-aware hints

5.0.0-beta.1

Patch Changes

5.0.0-beta.0

Major Changes

4.1.0-beta.13

Patch Changes

4.1.0-beta.12

Patch Changes

  • #998 3d770d5 Thanks @ijjk! - Expose workflows manifest under diagnostics folder

4.1.0-beta.11

Minor Changes

  • #621 4966b72 Thanks @pranaygp! - BREAKING: Storage interface is now read-only; all mutations go through events.create()
    • Remove cancel, pause, resume from runs
    • Remove create, update from runs, steps, hooks
    • Add run lifecycle events: run_created, run_started, run_completed, run_failed, run_cancelled
    • Add step_created event type
    • Remove fatal field from step_failed (terminal failure is now implicit)
    • Add step_retrying event with error info for retriable failures

Patch Changes

4.0.1-beta.10

Patch Changes

4.0.1-beta.9

Patch Changes

  • #455 e3f0390 Thanks @karthikscale3! - Added Control Flow Graph extraction from Workflows and extended manifest.json's schema to incorporate the graph structure into it. Refactored manifest generation to pass manifest as a parameter instead of using instance state. Add e2e tests for manifest validation across all builders.

4.0.1-beta.8

Patch Changes

4.0.1-beta.7

Patch Changes

4.0.1-beta.6

Patch Changes

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

4.0.1-beta.4

Patch Changes

  • edb69c3: Fix port detection and base URL resolution for dev servers

4.0.1-beta.3

Patch Changes

  • b97b6bf: Lock all dependencies in our packages

4.0.1-beta.2

Patch Changes

  • bf170ad: Add initial @workflow/utils package
  • adf0cfe: Add automatic port discovery