All releases

v26.8.0 ·

Out of Beta, Into the Browser

The web studio graduates from beta and becomes a first-class way to run Wurk.Flow, the desktop app learns to survive a crash with your unsaved work intact, and the SQL Workspace opens its door to everyone. Underneath the headlines, this release is about trust.

🌐 The web studio is out of beta

  • app.wurk.haus is now a first-class way to run Wurk.Flow — in your browser, installable as an app, no download required.
  • Bring-your-own-key AI, truly private. AI requests go straight from your browser to your provider — nothing passes through wurk.haus servers.
  • Trusted browser autosave with multi-tab safety and a one-generation restore backup, so a stray refresh doesn't cost you the session.
  • When the browser can't start the WASM SQL sandbox, the studio degrades gracefully instead of breaking — and the Community table-cap notice now offers an Upgrade path right where you hit it.

💾 Crash recovery on the desktop

  • Your work is snapshotted every few seconds — including projects you have never saved. If Wurk.Flow is killed or the machine loses power, the next launch offers that work back.
  • Declining the recovery keeps a copy for a later visit rather than destroying it.

🆓 The SQL Workspace is open to everyone

  • Community now includes one query tab against the built-in DuckDB sandbox, so you can query the schema you're designing without a licence.
  • Unlimited tabs and the live/cloud engines (MotherDuck, saved database connections) remain Pro.
  • Dates in sandbox results now read as dates — not as numbers like 1785196800000 — in the results grid, CSV exports, and chart labels alike.

🗣️ Software that tells you what's happening

  • Database errors now say what to do. connect EHOSTUNREACH 10.0.0.4:5432 became "No response from db.internal:5432. A firewall or VPN is the usual cause — confirm the host is reachable and the port is open." Certificate, authentication, missing-database, and SQLite-file failures all name your connection and a next step.
  • A running query looks like one — a spinner, the engine it's waiting on, and a live elapsed time, instead of "Awaiting query execution" while the query was running.
  • Bulk actions ask first and report after. Enforce Naming, Inject Timestamps, Inject Soft Deletes, and Generate Missing Primary Keys now preview exactly what they'll change, warn when a rename would collapse two names into one, and report what they did — with an Undo button.
  • Failures you need to see now stay on screen. Save, autosave, and recovery failures no longer vanish after a few seconds, and they clear themselves once a save succeeds. A dropped Co-Op session and a mid-session licence change announce themselves instead of failing quietly.
  • Auto-Link reports what it linked (or why it found nothing), slow exports show progress instead of appearing frozen, and undo/redo explain themselves at the ends of the history instead of doing nothing.

🛡️ Your work is safer

  • Quitting with "Save" no longer quits without saving. A watchdog force-closed the window while the save was still in the operating system's hands — lingering in the Save dialog could lose the very work you'd just asked to keep.
  • Git actions no longer overwrite the branch you just checked out. Switching branches, pulling, and reverting used to leave the old project armed in memory, where autosave would write it back over your fresh checkout moments later.
  • Joining a Co-Op session no longer overwrites your own file with the host's project, and a failed join no longer clears your canvas.
  • Two windows can no longer fight over one .dsm file — opening a project another window has open warns before anything is touched.
  • Opening a non-Wurk.Flow .json file no longer adopts it and rewrites it as a project, and Ctrl+Z from a tab the history stack doesn't cover no longer silently rewinds the schema canvas.

⚖️ Tiers that tell the truth

  • One source of truth for tiers. Feature gates, command-palette badges, the licence dialog, and the manual are all driven by a single registry, so they can no longer disagree — Co-Op was badged Team while the code checked Pro, which made a Pro user's click do nothing at all.
  • The licence dialog explains itself. Being refused a feature now tells you which feature and which tier, with a link to the plans.
  • Fairer Community table-cap accounting. Custom types (enums, domains, sequences, UDTs) no longer count toward the cap — they never should have — and dropping a SQLite, DuckDB, or nested-JSON file on the canvas now imports in full. Convert to Data Vault now respects the cap like any other table-creating action.
  • The manual, the onboarding tour, and the pricing reference were corrected against what actually ships.
Get the latest version