Skip to content

vercel-v0.9.0

Choose a tag to compare

@github-actions github-actions released this 08 Aug 00:35
· 1 commit to main since this release
c786460

0.9.0 - 2026-08-07

Breaking Changes

  • The local workflow world now stores its .workflow-data files as JSON in the same format the TypeScript @workflow/world-local package uses, instead of CBOR. Runs, steps, hooks and events written by either SDK are now readable by the other. Existing .workflow-data directories are not readable in the new format and should be deleted. (#226)
  • Workflow payloads now use the devalue wire format of the TypeScript @workflow/core package. (#243)
  • Workflow steps now ride the __wkf_workflow_* queue as a stepId on the workflow invoke payload, matching the TypeScript SDK; the separate __wkf_step_* queue is gone. (#251)

Features

  • Workflow payloads can now carry native Decimal, UUID, date, time, timedelta and Path, and @serializable (or register_serializable()) is offered for custom classes. (#224)
  • Add sync and async clients with typed models for managing project-level routing rules and versions. (#219)

Bug Fixes

  • Allow workflows on Python 3.12 and earlier to import uuid by safely exposing platform.system() while continuing to block host-specific platform inspection. (#242)
  • Prevent errors when tasks waiting on steps or hooks are cancelled. (#250)
  • The Vercel world now honours VERCEL_WORKFLOW_SERVER_URL and WORKFLOW_VERCEL_BACKEND_URL, which previously had no effect in Python, so a preview deployment reaches the same workflow-server as its TypeScript peers. (#248)

Internal

  • Use a consistent isolated event-loop lifecycle for workflow execution on Python 3.10. (#242)
  • Run workflows on a dedicated event loop that advances execution when the loop becomes idle. (#242)
  • Avoid invoking the workflow event loop's idle hook after the loop begins stopping. (#242)