v1.5.0Current
Feature release · 2026-07-02Raffle feature wave — prize quantity & packs, unified run-of-show draws, event photo management, auto ticket numbers + consent, capture idempotency, scan resilience
- Prize-item quantity — a single prize item can carry a quantity, so one item covers multiple identical winners instead of duplicating rows.
- Prize packs — group prize items into named packs (e.g. a tiered bundle) and draw the pack as a unit.
- Unified run-of-show — raffle draws are sequenced inline in the event run-of-show, so the host works one ordered list of draws during the event.
- Event photo management — captured photos are organized per event with a review/manage surface (built on the shared photo-upload flow).
- Auto ticket numbers + consent — raffle entries get an auto-generated readable ticket number; the public capture flow now requires an entry acknowledgment and records an optional marketing opt-in (proof-of-consent stored on the submission; opt-in tags the CRM contact).
- Capture idempotency (reserve-first) — the public capture endpoint reserves a submission row before any CRM/raffle write, so double taps and retry storms collapse to one durable entry via the unique fence instead of creating duplicate entrants; a returning guest sees the same ticket number.
- Scan resilience — the public scan page uses ISR caching (60s revalidate) to shed load, and photo uploads have a kill-switch (SCAN_PHOTO_UPLOADS_ENABLED) to pause uploads without a redeploy.
- Event Report — a per-event summary report for post-event review.
v1.1.0
Feature release · 2026-07-01Active-org write-role scoping, CRM V2 Phase B (activities), in-app version label
- Active-org write-role scoping — write authorization now uses the validated active-org roles, not the static home-org roles, closing a switch-org privilege-escalation gap.
- CRM V2 Phase B — contact detail page with an append-only activities timeline and a "log a call/note" form; any member can log an activity.
- In-app version label — the platform product version now renders on the login card and under the app name in the sidebar.
- Build fix — kept server-only headers out of the client bundle, unblocking the stalled hub deploy that had held the active-org tool-data scoping fix.
v1.0.0
Major release · 2026-06-30GA-grade wave: QR system, Event Hub, Admin → Foundation, Forms System v2, host magic-link, active-org tool-data scoping
- QR system — preset-first QR creation, dynamic flow builder (add/remove/reorder steps), edit/archive/restore/delete, PNG/SVG download, digital-signage export (PNG + MP4), scan-to-register, scan counts.
- Event Hub — nested Event Hub overview, per-event module toggles, revenue KPI, in-page child tabs, captured-photo grid.
- Admin → Foundation — tenant reference catalogs (event types + membership tiers) with an event-type picker; org-admin access hardening; auto-onboard tenants on session.
- Forms System v2 — standardized form layout rolled across 9 edit forms; newly enabled deferred fields collected; nested line-item / donated-items editors.
- Active-org tool-data scoping — the org switcher scopes portal tool data to the validated active org; member role editing from the Team page.
- Host magic-link (PR1) — admin generate-link + public run board.
v0.9.0
Foundation · 2026-06-29 and earlierPlatform foundation, identity boundary, core tools, org switcher
- Foundation go-live (2026-06-24) — platform baseline in production on Railway.
- Identity boundary — Keycloak owns authentication; Supabase owns data, RLS, and business authorization.
- Core tools — CRM (contacts + tags), events, and the initial capability surface; wine-walk page-builder editor + branded scan renderer; per-tenant vertical workflow catalogs.
- Gap 2 Slice A — active-org selection + hub tenant switcher (shell / branding).