v0.2.0 of durable_workflow

2026-04-04T14:37:23.262375Z

0.2.0 was published on Apr 4, 2026.

Changelog excerpt:
### Breaking Changes

- **Removed `idempotencyKey`**from `WorkflowContext.step()`, `StepCheckpoint`, and `StepExecutor.executeStep()`. The field was stored but never used for deduplication. DB column preserved as null for schema compatibility.
- **`CheckpointStore`now requires 3 new methods**: `saveCheckpoints()`, `deleteOldTimers()`, `deleteOldSignals()`. All implementations must be updated.
- **Exception types changed**: `StateError`for missing executions is now `WorkflowExecutionNotFoundException`. Signal timeout throws `WorkflowTimeoutException`instead of `TimeoutException`.

### Migration Guide

```
`// Before (0.1.x) try { await engine.cancel('nonexistent'); } on StateError catch (e) { ... } // After (0.2.0) try { await engine.cancel('nonexistent'); } on WorkflowExecutionNotFoundException catch (e) { ... }````
```
`// Before (0.1.x) await ctx.step('pay', () async => result, idempotencyKey: 'key'); // After (0.2.0) — idempotencyKey parameter removed await ctx.step('pay', () async …