Skip to content

Hymical Forms v0.2.1

Latest

Choose a tag to compare

@quangshuynh quangshuynh released this 26 Aug 19:07
235f8af

Hymical Forms v0.2.1 is a correctness release that strengthens webhook delivery ownership under lease expiry and worker recovery.

What changed

  • Added explicit claim tokens for webhook delivery ownership
  • Prevented stale workers from overwriting deliveries that have been reclaimed by another worker
  • Preserved accurate attempt history even when a stale worker's HTTP request completes late
  • Prevented lifetime attempt numbers from being reused during concurrent completion
  • Added focused PostgreSQL integration tests covering stale-owner races and competing completion results
  • Added migration 0006 for delivery claim tokens
  • Expanded documentation around lease ownership, late attempts, and deployment safety

Delivery semantics

Webhook delivery remains at least once.

A webhook may still be delivered more than once if a request succeeds but Forms cannot durably record that success before the lease is reclaimed. Receivers should continue to deduplicate using the submission identity when necessary.

The change in v0.2.1 is narrower: once a worker's claim has been superseded, that worker can no longer overwrite the authoritative delivery state owned by the newer claim.

Upgrade note

Stop all existing Forms workers before upgrading.

Apply the database migrations, then start the v0.2.1 workers.

Do not run pre-v0.2.1 workers and v0.2.1 workers concurrently during this migration. Older workers do not understand delivery claim tokens and can bypass the ownership fencing introduced in this release.

Verification

The release is covered by the full test suite plus real PostgreSQL integration tests for delivery claiming, lease expiry, stale-worker completion, attempt numbering, and recovery behavior.

What's Changed

Full Changelog: v0.2.0...v0.2.1