Skip to content

Commit 33b9515

Browse files
committed
docs: add a 0.8.0 release post and update README.md
1 parent 20fcd48 commit 33b9515

12 files changed

+156
-24
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
'@pgflow/core': minor
3+
'@pgflow/client': minor
4+
'@pgflow/edge-worker': minor
5+
'@pgflow/website': minor
6+
---
7+
8+
BREAKING CHANGE: pgflow 0.8.0 requires pgmq 1.5.0+, PostgreSQL 17, and Supabase CLI 2.34.3+
9+
10+
This version modernizes infrastructure dependencies and will NOT work with pgmq 1.4.x or earlier. The migration includes a compatibility check that aborts with a clear error message if requirements are not met.
11+
12+
**Requirements:**
13+
- pgmq 1.5.0 or higher (previously supported 1.4.x)
14+
- PostgreSQL 17 (from 15)
15+
- Supabase CLI 2.34.3 or higher (includes pgmq 1.5.0+)
16+
17+
**For Supabase users:** Upgrade your Supabase CLI to 2.34.3+ which includes pgmq 1.5.0 by default.
18+
19+
**For self-hosted users:** Upgrade pgmq to 1.5.0+ and PostgreSQL to 17 before upgrading pgflow.
20+
21+
**If you cannot upgrade immediately:** Stay on pgflow 0.7.x until your infrastructure is ready. The migration safety check ensures you cannot accidentally upgrade to an incompatible version.

.changeset/pgmq-version-bump.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

.changeset/upgrade-postgres-seventeen-supabase.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

pkgs/cli/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ This package provides essential tools for setting up, managing, and deploying pg
1515

1616
## Prerequisites
1717

18-
- Supabase CLI v2.0.2 or higher
18+
- Supabase CLI v2.34.3 or higher
1919
- Deno v1.45.x or higher (for flow compilation)
2020
- Local Supabase project initialized
2121

pkgs/core/README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,17 @@ This package focuses on:
4747

4848
The actual execution of workflow tasks is handled by the [Edge Worker](../edge-worker/README.md), which calls back to the SQL Core to acknowledge task completion or failure.
4949

50+
## Requirements
51+
52+
> [!IMPORTANT]
53+
> **pgmq Version Requirement** (since v0.8.0)
54+
>
55+
> pgflow v0.8.0 and later requires **pgmq 1.5.0 or higher**. This version of pgflow will NOT work with pgmq 1.4.x or earlier.
56+
>
57+
> - **Supabase Cloud**: Recent versions include pgmq 1.5.0+ by default
58+
> - **Self-hosted**: You must upgrade pgmq to version 1.5.0+ before upgrading pgflow
59+
> - **Version Check**: Run `SELECT extversion FROM pg_extension WHERE extname = 'pgmq';` to verify your pgmq version
60+
5061
## Key Features
5162

5263
- **Declarative Workflows**: Define flows and steps via SQL tables

pkgs/core/supabase/migrations/20251104080523_pgflow_upgrade_pgmq_1_5_1.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
-- Migration tested 2025-11-02:
2-
-- Successfully verified that this migration fails on pgmq 1.4.4 (Supabase CLI 2.0.2)
2+
-- Successfully verified that this migration fails on pgmq 1.4.4 (Supabase CLI < 2.34.3)
33
-- with clear error message guiding users to upgrade pgmq to 1.5.0+
44
--
55
-- Compatibility check: Ensure pgmq.message_record has headers column (pgmq 1.5.0+)

pkgs/core/supabase/migrations/atlas.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
h1:SeEHqz8uDIqu6Px6f1IajB3NfXOYmetcSxFbp9PiYXY=
1+
h1:GRevz5BG7qrdQxFbQ0XO9f21I5qaYocLc08bN3gVG50=
22
20250429164909_pgflow_initial.sql h1:I3n/tQIg5Q5nLg7RDoU3BzqHvFVjmumQxVNbXTPG15s=
33
20250517072017_pgflow_fix_poll_for_tasks_to_use_separate_statement_for_polling.sql h1:wTuXuwMxVniCr3ONCpodpVWJcHktoQZIbqMZ3sUHKMY=
44
20250609105135_pgflow_add_start_tasks_and_started_status.sql h1:ggGanW4Wyt8Kv6TWjnZ00/qVb3sm+/eFVDjGfT8qyPg=
@@ -10,4 +10,4 @@ h1:SeEHqz8uDIqu6Px6f1IajB3NfXOYmetcSxFbp9PiYXY=
1010
20250719205006_pgflow_worker_deprecation.sql h1:pL5cR1/Oag993yWN6sUpE/U3LmVSzAlnoRXJRBtErU8=
1111
20251006073122_pgflow_add_map_step_type.sql h1:D/skgKpaVg5TM8bPovo9FUutQfg35/AzkxEcasYwytY=
1212
20251103222045_pgflow_fix_broadcast_order_and_timestamp_handling.sql h1:K/XnZpOmxfelsaNoJbR5HxhBrs/oW4aYja222h5cps4=
13-
20251104080523_pgflow_upgrade_pgmq_1_5_1.sql h1:xnbHNJkMGWoaIL5RH617CCjM9nX1Yde8TimHpHhk7fM=
13+
20251104080523_pgflow_upgrade_pgmq_1_5_1.sql h1:t+Hu/rqP8b23S+JAjJ86Y8UlOTCfA+085/8RxD7gydA=
1.7 MB
Loading

pkgs/website/src/content/docs/get-started/installation.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { FileTree } from '@astrojs/starlight/components';
1313
Let's set up pgflow in your Supabase project. This setup needs to be done only once per project.
1414

1515
<Aside type="caution" title="Prerequisites">
16-
- Supabase CLI version **2.0.2** or higher (check with `supabase -v`)
16+
- Supabase CLI version **2.34.3** or higher (check with `supabase -v`)
1717
- A local Supabase project set up
1818
- [Deno version **1.45.2 or higher**](https://github.com/denoland/deno/releases/tag/v1.45.2) (2.x also supported) - required for flow compilation
1919

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
---
2+
draft: false
3+
title: 'pgflow 0.8.0: Modernizing Dependencies - pgmq 1.5.0 and PostgreSQL 17'
4+
description: 'Breaking changes requiring pgmq 1.5.0 or higher and PostgreSQL 17, with built-in migration safety checks'
5+
date: 2025-11-18
6+
authors:
7+
- jumski
8+
tags:
9+
- release
10+
- breaking-change
11+
- migration
12+
featured: true
13+
cover:
14+
alt: 'Cyberpunk hacker upgrading database dependencies on a glitchy terminal screen'
15+
image: '../../../assets/cover-images/pgflow-0-8-0-modernizing-dependencies-pgmq-1-5-0-and-postgresql-17.png'
16+
---
17+
18+
import { Aside } from "@astrojs/starlight/components";
19+
20+
pgflow 0.8.0 requires pgmq 1.5.0 or higher and PostgreSQL 17. This release removes the pgmq compatibility layer and prepares the foundation for upcoming flow auto-compilation features.
21+
22+
<Aside type="caution" title="Breaking Change">
23+
This version will NOT work with pgmq 1.4.x or earlier. The migration includes a compatibility check that will abort with a clear error message if pgmq 1.5.0 is not detected.
24+
</Aside>
25+
26+
## What's Changing
27+
28+
pgflow 0.8.0 introduces breaking dependency changes:
29+
30+
1. **pgmq version**: Now requires 1.5.0 or higher (previously supported 1.4.x)
31+
2. **PostgreSQL version**: Upgrades to PostgreSQL 17 (from 15)
32+
3. **Supabase CLI**: Requires version 2.34.3 or higher (includes pgmq 1.5.0+)
33+
34+
The migration will fail safely if these requirements are not met - no partial upgrades or corrupted state.
35+
36+
## Background
37+
38+
This release skips backward compatibility entirely - pgflow 0.8.0 requires pgmq 1.5.0 from the start. Maintaining compatibility layers for older versions would accumulate technical debt that becomes harder to remove as the project matures.
39+
40+
Additionally, upcoming features like flow auto-compilation depend on infrastructure available only in newer Supabase versions (automatic edge function respawning in local development). Moving to pgmq 1.5.0 and PostgreSQL 17 unblocks these improvements.
41+
42+
## Before You Upgrade
43+
44+
### Check Your pgmq Version
45+
46+
Run this query to verify your current pgmq version:
47+
48+
```sql
49+
SELECT extversion FROM pg_extension WHERE extname = 'pgmq';
50+
```
51+
52+
You need version 1.5.0 or higher to upgrade to pgflow 0.8.0.
53+
54+
### Compatibility Check Built-In
55+
56+
The migration includes a pre-check that inspects the pgmq schema before making any changes. If pgmq 1.5.0 is not detected, the migration aborts with this error:
57+
58+
```
59+
ERROR: INCOMPATIBLE PGMQ VERSION DETECTED
60+
61+
This migration requires pgmq 1.5.0 or higher.
62+
The pgmq.message_record type is missing the "headers" column,
63+
which indicates you are running pgmq < 1.5.0.
64+
65+
Action required:
66+
- Supabase: Ensure you are running a recent version that includes pgmq 1.5.0+
67+
- Self-hosted: Upgrade pgmq to version 1.5.0 or higher before running this migration
68+
69+
Migration aborted to prevent runtime failures.
70+
```
71+
72+
This safety check prevents partial migrations and data corruption.
73+
74+
## Migration Guide
75+
76+
### Supabase Cloud Users
77+
78+
Supabase CLI version 2.34.3 or higher includes pgmq 1.5.0 by default. To upgrade:
79+
80+
1. Update your Supabase CLI if needed:
81+
```bash
82+
supabase -v # Check current version
83+
npm install -g supabase # Update if below 2.34.3
84+
```
85+
2. Verify your pgmq version using the SQL query above
86+
3. If you have pgmq 1.5.0+, run your migrations normally:
87+
```bash
88+
supabase db push
89+
```
90+
4. If you have pgmq 1.4.x, wait for your Supabase instance to upgrade before updating pgflow
91+
92+
### Self-Hosted Users
93+
94+
You must upgrade pgmq to 1.5.0+ before upgrading pgflow:
95+
96+
1. Check your current pgmq version
97+
2. Upgrade pgmq to 1.5.0 or higher following the [pgmq upgrade guide](https://github.com/tembo-io/pgmq)
98+
3. Upgrade PostgreSQL to version 17 if not already running it
99+
4. Run your pgflow migrations:
100+
```bash
101+
supabase db push
102+
```
103+
104+
## What If I Can't Upgrade?
105+
106+
If you cannot upgrade to pgmq 1.5.0 immediately, stay on pgflow 0.7.x. The migration safety check ensures you cannot accidentally upgrade to an incompatible version.
107+
108+
Your existing pgflow 0.7.x installation will continue working until you are ready to upgrade your infrastructure.
109+
110+
---
111+
112+
For questions or issues with the upgrade, visit the [pgflow Discord](https://www.pgflow.dev/discord/) or [open a GitHub issue](https://github.com/pgflow-dev/pgflow/issues).

0 commit comments

Comments
 (0)