Releases: osolmaz/pi-workflows
Release list
Pi Workflows 0.16.5
Pi Workflows now removes safe completed workflow state automatically after 30 days.
Active, resumable, pending, unsettled, cross-linked, and undelivered work remains protected. Automatic and manual cleanup use the same run-tree safety rules, and automatic cleanup does not create backups.
This release also adds measured regression tests for the earlier repeated-history bug that could make a small workload produce a multi-gigabyte state database.
The SQLite schema remains version 1. Install matching pi-workflows and piw 0.16.5 versions.
v0.16.4
Changes
- Allow Pi versions from 0.84.2 onward without an upper peer-version limit.
- Test and validate Pi Workflows with Pi 0.85.0.
- Add the official
@earendil-works/pi-serverruntime dependency required by the Pi 0.85.0 public SDK root import.
Validation
- Full TypeScript, Rust, installed-package, and end-to-end checks passed.
- Real-model end-to-end test passed with
openai/gpt-5.6-luna.
Pi Workflows 0.16.3
Fixes
- Kept workflow runner resume replies small by returning only the current run state.
- Kept session history in the workflow server instead of sending it to workflow runners.
- Stored required large replies as referenced content that runners read in verified chunks.
- Prevented state pruning from deleting response content while an active runner still needs it.
- Completed the public naming cutover to Workflow Server, Workflow Runner, Resource Manager, Resource Runner, and Managed Resource across the npm package and
piw.
Validation
- Passed 1,161 TypeScript tests with coverage thresholds.
- Passed all mock-provider Pi, installed-package, and Rust tests.
- Passed Slophammer and dependency-boundary checks.
- Passed the real-model
openai/gpt-5.6-lunaE2E with package version 0.16.3.
Pi Workflows 0.16.2
Fixes
- Made the workflow host the only authority for assigning Pi model turns to workflow messages.
- Prevented provider failures, terminal races, reconnects, and late reports from leaving stale workflow-turn ownership.
- Made matching repeated reports return the saved result while keeping conflicting reports as errors.
- Prevented ordinary chat turns from inheriting old workflow ownership.
- Made terminal state commit before presentation and added durable terminal-message retries.
- Gave composed managed effects exact execution identities so separate workflow branches cannot reuse one save key.
- Added explicit worker start, resume, continuation, and restart commands.
- Stopped workers that make no progress from restarting forever and exposed the recovery reason in the widget and viewer.
- Kept paused workflows outside model-running timeout accounting.
Validation
- Passed 1,150 TypeScript tests with coverage thresholds.
- Passed all mock-provider Pi, installed-package, and Rust tests.
- Passed Slophammer and dependency-boundary checks.
- Passed the real-model
openai/gpt-5.6-lunasmoke test before the release-only version change.
Pi Workflows 0.16.1
Fixes
- Made the Pi widget and
piwuse the same host-owned running and waiting state. - Made interactive workflow timeouts count only active origin-session model turns.
- Excluded paused time, delivery waits, disconnected Pi sessions, and host downtime from those timeouts.
- Preserved suspended timeout time across reconnects and repeated host recovery.
- Prevented session shutdown cleanup from writing through a closed workflow database.
Validation
- Passed the full TypeScript, Rust, mock-provider Pi, installed-package, and real-model checks.
- Verified the installed package with
openai/gpt-5.6-lunathrough theopenai-responsesAPI.
Pi Workflows 0.16.0
Highlights
- Unified the extension, CLI, and
piwbehind one versioned host client. - Replaced the production
piwSQLite reader with bounded host-owned views and content loading. - Added robust cold-start, reconnect, retry, run-watch, and durable interaction recovery.
- Added
piw <runId> --oncefor one complete plain-text workflow view. - Added a packed-package end-to-end release gate that checks base Pi isolation, the workflow widget, pause and resume, worker parking, completion, and
piw.
Reliability
- Bounded and materialized large live views through the host protocol.
- Kept complete views during retries and preserved explicit run selection.
- Improved missing-run, diagnostics, replay-state, and maintenance recovery.
- Added a real-model release check with exact provider and model validation and fallback rejection.
Packaging
- Added
tsxas a production dependency because packaged TypeScript host and worker sources require it at runtime. - Kept npm, crates.io, and Herdr plugin versions aligned at
0.16.0.
Pi Workflows 0.15.3
Pi Workflows 0.15.3 restores reliable workflow controls in Pi sessions.
- Keep active delivery claims valid while Pi is busy and revalidate each claim before sending.
- Prevent duplicate prompts and blind retries after uncertain delivery outcomes.
- Restore the workflow status widget and its scrolling controls.
- Restore Escape-to-pause during model and tool execution.
- Resume paused origin-session interactions in place.
- Reject stale, paused, or expired workflow writes before they can change durable state.
Pi Workflows 0.15.2
Pi Workflows 0.15.2 prevents origin-session workflow deliveries from creating duplicate messages and model turns.
- Route step prompts, protected decisions, notifications, and final results through one session-delivery coordinator.
- Wait for Pi to be idle with no pending message, then check again immediately before sending.
- Record each delivery before
sendMessage()and confirm it from the public Pi session branch. - Adopt existing session entries after restart and stop uncertain deliveries instead of retrying them.
- Reject repeated live presentation claims, including renewal by the current presenter.
Pi Workflows 0.15.1
Pi Workflows 0.15.1 stops package-discovery test hosts before it removes their temporary state.
- Prevent the real-Pi end-to-end package tests from leaving detached workflow host processes behind.
- Wait for each temporary host socket to close and fail the test if shutdown does not finish.
- Keep the production workflow host design and state contract from 0.15.0 unchanged.
Pi Workflows 0.15.0
Pi Workflows 0.15.0 moves production workflow execution into one package-owned, on-demand host process.
- Run workflow and controller code in supervised child processes instead of the origin Pi process.
- Add a versioned local client, host, and worker protocol with strict validation and bounded messages.
- Keep one global workflow host as the normal durable-state writer, with atomic host lifecycle, stale-run cancellation, typed claim loss, and exact-token lease renewal.
- Persist origin-session interaction requests so workflow prompts and visible steps survive Pi restarts and resume in the correct session.
- Recover external effects through durable intent and receipt records. Effects with uncertain outcomes become ambiguous and require explicit operator recovery; this release does not claim exactly-once delivery.
- Remove embedded production workflow execution. There is one selectable production runtime after this alpha hard cut.
- Expand real-Pi end-to-end coverage for host execution, durable restart interaction, controller reconciliation, package discovery, status privacy, and Herdr integration.
This alpha release changes SQLite schema version 1 in place. Existing incompatible state is not migrated or changed. Back up and move state.sqlite together with its -wal and -shm files, then start Pi Workflows to create new state.