Skip to content

Version Packages - #681

Merged
jumski merged 1 commit into
mainfrom
changeset-release/main
Sep 17, 2026
Merged

jumski merged 1 commit into
mainfrom
changeset-release/main

Conversation

@jumski

@jumski jumski commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor

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.

Releases

pgflow@0.17.0

Minor Changes

  • 01147fe: Persist physical queue identity on steps and tasks. A queued task's message identity is now (queue_name, message_id), not message_id alone, preparing pgflow for private per-step queues while keeping one-flow/one-queue behavior.

    pgflow.steps and pgflow.step_tasks gain a canonical lowercase queue_name (snapshot at task creation), (queue_name, message_id) is unique per queue, and two flows can no longer share a normalized default queue. Breaking: pgflow.start_tasks() now requires the queue_name argument - the queue's canonical identity, lower(flow_slug) today - and the released three-argument form and the NULL default are gone, and startTasks() on IPgflowClient/PgflowSqlClient requires the queue argument as well. pgflow's own workers poll and claim through that canonical name; custom callers must pass it explicitly. There is no mixed-version rolling upgrade: stop and drain workers, pause producers and definition/maintenance/recovery writers, apply the transactional migration through Supabase's migration runner against the production database (--linked or --db-url, not the local default), replace the optional prune_data_older_than() helper, then deploy matching packages and workers together, restoring the exact worker enabled states recorded before the window (see the 0.17.0 upgrade guide). Message ids are exact decimal strings at the JavaScript boundary. Existing mixed-case queue names keep working through their original pgmq spelling - PGMQ's public message API normalizes names, so no message or queue migration is needed.

Patch Changes

  • Updated dependencies [01147fe]
  • Updated dependencies [57447fe]
    • @pgflow/core@0.17.0

@pgflow/client@0.17.0

Minor Changes

  • 01147fe: Persist physical queue identity on steps and tasks. A queued task's message identity is now (queue_name, message_id), not message_id alone, preparing pgflow for private per-step queues while keeping one-flow/one-queue behavior.

    pgflow.steps and pgflow.step_tasks gain a canonical lowercase queue_name (snapshot at task creation), (queue_name, message_id) is unique per queue, and two flows can no longer share a normalized default queue. Breaking: pgflow.start_tasks() now requires the queue_name argument - the queue's canonical identity, lower(flow_slug) today - and the released three-argument form and the NULL default are gone, and startTasks() on IPgflowClient/PgflowSqlClient requires the queue argument as well. pgflow's own workers poll and claim through that canonical name; custom callers must pass it explicitly. There is no mixed-version rolling upgrade: stop and drain workers, pause producers and definition/maintenance/recovery writers, apply the transactional migration through Supabase's migration runner against the production database (--linked or --db-url, not the local default), replace the optional prune_data_older_than() helper, then deploy matching packages and workers together, restoring the exact worker enabled states recorded before the window (see the 0.17.0 upgrade guide). Message ids are exact decimal strings at the JavaScript boundary. Existing mixed-case queue names keep working through their original pgmq spelling - PGMQ's public message API normalizes names, so no message or queue migration is needed.

Patch Changes

  • Updated dependencies [01147fe]
  • Updated dependencies [57447fe]
    • @pgflow/core@0.17.0
    • @pgflow/dsl@0.17.0

@pgflow/core@0.17.0

Minor Changes

  • 01147fe: Persist physical queue identity on steps and tasks. A queued task's message identity is now (queue_name, message_id), not message_id alone, preparing pgflow for private per-step queues while keeping one-flow/one-queue behavior.

    pgflow.steps and pgflow.step_tasks gain a canonical lowercase queue_name (snapshot at task creation), (queue_name, message_id) is unique per queue, and two flows can no longer share a normalized default queue. Breaking: pgflow.start_tasks() now requires the queue_name argument - the queue's canonical identity, lower(flow_slug) today - and the released three-argument form and the NULL default are gone, and startTasks() on IPgflowClient/PgflowSqlClient requires the queue argument as well. pgflow's own workers poll and claim through that canonical name; custom callers must pass it explicitly. There is no mixed-version rolling upgrade: stop and drain workers, pause producers and definition/maintenance/recovery writers, apply the transactional migration through Supabase's migration runner against the production database (--linked or --db-url, not the local default), replace the optional prune_data_older_than() helper, then deploy matching packages and workers together, restoring the exact worker enabled states recorded before the window (see the 0.17.0 upgrade guide). Message ids are exact decimal strings at the JavaScript boundary. Existing mixed-case queue names keep working through their original pgmq spelling - PGMQ's public message API normalizes names, so no message or queue migration is needed.

  • 57447fe: Add private per-step queues. Wrap a flow with withStepQueues() and start one EdgeWorker per selected stepSlug; pgflow derives, validates, persists, and verifies each route before dispatching work.

    Flow and step slugs now reject leading or trailing underscores and __. Flow slugs are case-insensitively unique, and step slugs are case-insensitively unique within a flow.

    Breaking: Flow.stepOrder is now readonly and frozen at construction, so mutating it (for example push() or reverse()) can no longer change a flow's shape — startup shape extraction and checked route indices must never diverge.

Patch Changes

  • Updated dependencies [01147fe]
  • Updated dependencies [57447fe]
    • @pgflow/dsl@0.17.0

@pgflow/dsl@0.17.0

Minor Changes

  • 01147fe: Persist physical queue identity on steps and tasks. A queued task's message identity is now (queue_name, message_id), not message_id alone, preparing pgflow for private per-step queues while keeping one-flow/one-queue behavior.

    pgflow.steps and pgflow.step_tasks gain a canonical lowercase queue_name (snapshot at task creation), (queue_name, message_id) is unique per queue, and two flows can no longer share a normalized default queue. Breaking: pgflow.start_tasks() now requires the queue_name argument - the queue's canonical identity, lower(flow_slug) today - and the released three-argument form and the NULL default are gone, and startTasks() on IPgflowClient/PgflowSqlClient requires the queue argument as well. pgflow's own workers poll and claim through that canonical name; custom callers must pass it explicitly. There is no mixed-version rolling upgrade: stop and drain workers, pause producers and definition/maintenance/recovery writers, apply the transactional migration through Supabase's migration runner against the production database (--linked or --db-url, not the local default), replace the optional prune_data_older_than() helper, then deploy matching packages and workers together, restoring the exact worker enabled states recorded before the window (see the 0.17.0 upgrade guide). Message ids are exact decimal strings at the JavaScript boundary. Existing mixed-case queue names keep working through their original pgmq spelling - PGMQ's public message API normalizes names, so no message or queue migration is needed.

  • 57447fe: Add private per-step queues. Wrap a flow with withStepQueues() and start one EdgeWorker per selected stepSlug; pgflow derives, validates, persists, and verifies each route before dispatching work.

    Flow and step slugs now reject leading or trailing underscores and __. Flow slugs are case-insensitively unique, and step slugs are case-insensitively unique within a flow.

    Breaking: Flow.stepOrder is now readonly and frozen at construction, so mutating it (for example push() or reverse()) can no longer change a flow's shape — startup shape extraction and checked route indices must never diverge.

@pgflow/edge-worker@0.17.0

Minor Changes

  • 01147fe: Persist physical queue identity on steps and tasks. A queued task's message identity is now (queue_name, message_id), not message_id alone, preparing pgflow for private per-step queues while keeping one-flow/one-queue behavior.

    pgflow.steps and pgflow.step_tasks gain a canonical lowercase queue_name (snapshot at task creation), (queue_name, message_id) is unique per queue, and two flows can no longer share a normalized default queue. Breaking: pgflow.start_tasks() now requires the queue_name argument - the queue's canonical identity, lower(flow_slug) today - and the released three-argument form and the NULL default are gone, and startTasks() on IPgflowClient/PgflowSqlClient requires the queue argument as well. pgflow's own workers poll and claim through that canonical name; custom callers must pass it explicitly. There is no mixed-version rolling upgrade: stop and drain workers, pause producers and definition/maintenance/recovery writers, apply the transactional migration through Supabase's migration runner against the production database (--linked or --db-url, not the local default), replace the optional prune_data_older_than() helper, then deploy matching packages and workers together, restoring the exact worker enabled states recorded before the window (see the 0.17.0 upgrade guide). Message ids are exact decimal strings at the JavaScript boundary. Existing mixed-case queue names keep working through their original pgmq spelling - PGMQ's public message API normalizes names, so no message or queue migration is needed.

  • 57447fe: Add private per-step queues. Wrap a flow with withStepQueues() and start one EdgeWorker per selected stepSlug; pgflow derives, validates, persists, and verifies each route before dispatching work.

    Flow and step slugs now reject leading or trailing underscores and __. Flow slugs are case-insensitively unique, and step slugs are case-insensitively unique within a flow.

    Breaking: Flow.stepOrder is now readonly and frozen at construction, so mutating it (for example push() or reverse()) can no longer change a flow's shape — startup shape extraction and checked route indices must never diverge.

Patch Changes

  • Updated dependencies [01147fe]
  • Updated dependencies [57447fe]
    • @pgflow/core@0.17.0
    • @pgflow/dsl@0.17.0

@nx-cloud

nx-cloud Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit c0cffe8

Command Status Duration Result
nx run-many -t build --projects=dsl,core,cli ✅ Succeeded 5s View ↗

💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗


☁️ Nx Cloud last updated this comment at 2026-09-17 22:01:37 UTC

@jumski
jumski force-pushed the changeset-release/main branch from ee1da18 to 87e72f7 Compare September 14, 2026 14:22
@jumski
jumski force-pushed the changeset-release/main branch from 87e72f7 to c0cffe8 Compare September 17, 2026 22:00
@jumski
jumski merged commit bc1b81c into main Sep 17, 2026
16 checks passed
@jumski
jumski deleted the changeset-release/main branch September 17, 2026 22:20
@github-actions

Copy link
Copy Markdown
Contributor

🚀 Production Deployment: Website

✅ Successfully deployed to production!

🔗 Production URL: https://pgflow.dev

📝 Details:

  • Commit: bc1b81c2648bda759dbc5be8f01c5696a56c6f9d
  • View Logs

Deployed at: 2026-09-18T00:20:12+02:00

This branch was successfully deployed

1 active deployment
preview — c0cffe8a Deployed Sep 17, 2026 by jumski via deploy-website #3395
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.

1 participant