v0.2.0
·
40 commits
to master
since this release
What's new in 0.2.0
⚠️ Breaking
- Removed the public
SharedPostgresError::NamespaceExistsvariant (dead after the broadcast redesign). Code that matched on it must be updated. Under 0.x semver this warrants the minor bump.
Features
wait_for_completionis now resilient to transient database errors. A failed completion poll is retried with backoff instead of abandoning the whole batch; the stream surfaces an error and ends only after several consecutive failures with no successful poll in between. Any successful poll resets the streak, and completed results stay durable inapalis.jobs, so a surfaced error is always safe to recover from by re-issuingwait_for.
Fixes
- Concurrent
setup()migrations are serialized with a session-level advisory lock, so several replicas booting against a fresh database no longer race on migration-0 DDL / the__diesel_schema_migrationsinsert.
Tests & internals
- Large methodology-driven test pass (exhaustive specification through nested contexts): closed coverage gaps (
queue_by_id,list_tasksdefaults, thelock_taskre-lock and queue-scoping arms, metadata-cap and claimability boundary values), tightened assertions, and de-flaked the suite (shared pool, temp-DB isolation, deterministic worker-integration terminal status). 521 tests, clippy clean.
Docs
- Installation now points at crates.io.
Full diff: v0.1.1...v0.2.0