GriffinForms – Contact Form Builder & Multi-Step Forms
Changelog
2.3.7.0 – 2026-03-07
Feature: Added companion device registry endpoints and admin device-management UI (list/remove) with per-user and global active-device guardrails.
Feature: Added notification fan-out/token lifecycle foundation for submission.created webhook delivery across active registered devices.
Hardening: Completed webhook verification gates for signature validation, retry behavior, and receiver idempotency with release evidence artifacts.
Fix: Prevented webhook dispatch-guard transient from being set when job enqueue fails, avoiding silent suppression of later queue attempts.
Improvement: Added explicit webhook queue observability audits for skipped, queued, and enqueue-failed paths.
Fix: Unblocked Gutenberg form picker by removing device-enforcement from editor form-catalog routes while keeping capability/rate-limit checks.
Improvement: Enhanced Authorized Devices admin table UI with platform icons + fallback, state badges, normalized timestamps, fixed column widths, and improved user identity typography.
2.3.6.1 – 2026-03-05
Fix: Restored Gutenberg form-preview theme rendering by re-attaching theme payload fields on the form-structure API response.
Fix: Resolved block sidebar form selector regressions by hardening wrapped REST response parsing and increasing block-only form fetch page size.
Improvement: Updated block metadata to API version 3 for modern editor compatibility.
2.3.6.0 – 2026-03-05
Feature: Added companion-app API contracts for form structure, submission detail enrichment, attachment binaries, and image thumbnails.
Feature: Added signed outbound submission.created webhook delivery contract for companion notification workflows.
Hardening: Added strict API guardrails for attachment token limits, trusted file-source enforcement, and thumbnail dimension validation with typed errors.
Hardening: Expanded API audit coverage for failure branches and idempotency replay visibility.
Improvement: Refined capability matrix behavior and normalized API/webhook audit channel semantics for cleaner triage.