2026-09-24 19:43:47 -07:00
..
2026-01-30 08:47:26 +01:00
2026-06-10 11:37:15 +02:00
2026-06-06 07:51:18 +02:00
2026-02-11 17:27:19 +01:00
2026-02-11 17:27:19 +01:00
2026-01-30 08:47:26 +01:00
2026-04-03 06:08:52 +00:00
2026-04-03 06:08:52 +00:00
2026-07-21 17:35:11 +02:00
2026-09-19 09:38:59 -07:00
2026-09-24 05:28:51 -07:00
2026-01-30 08:47:26 +01:00
feat: forms v2, a full redesign of the hosted form and its builder: eight one-click themes, card/wide/split layouts with a brand cover panel, classic paged and Typeform-style focus modes split on a new page_break block, logo/cover/background uploads with size, fit and veil controls, an optional header bar that can span the page or sit with the form, a real HSV colour picker and font preview, per-contact personalized links that prefill and attribute without email verification, a render-token gate so the form JSON cannot be scraped without loading the page, funnel analytics with per-page drop-off and identified visitors, a leads-style forms list and responses table, and an organization custom forms domain verified by CNAME with hourly re-checks
2026-09-01 09:27:28 -07:00
2026-06-10 11:37:15 +02:00
2026-06-14 09:52:49 +02:00
2026-06-14 09:52:49 +02:00
2026-06-10 11:37:15 +02:00
2026-07-21 17:35:11 +02:00
2026-02-11 17:27:19 +01:00
feat: validate every person, workspace and company name through internal/pkg/displayname on each write path (profile, onboarding, setup, IdP sign-in, org create and rename, org import, enterprise inquiry, admin testers, warmblyctl) with a 400 invalid_name code, render stored names in platform email through the same rules, mirror them in the web forms, check the org slug format, and document the rules in error-codes, security and AGENTS.md
2026-09-21 03:34:03 -07:00
2026-05-29 16:42:05 +00:00
feat: complete the ADA CASA v2.1.1 AL1 control set across authentication, sessions, access control, cryptography, input validation and configuration, adding a breached-password denylist and per-account login throttling, enforced multi-factor authentication on the admin panel, step-up confirmation before an action that mints a lasting credential, purpose-scoped session tokens, single-use TOTP steps, tenant verification on every cross-referenced identifier, security headers on every surface, encrypted webhook signing secrets, per-organization idempotency, PKCE and a minimal two-scope Gmail consent on the mailbox OAuth flow, bounded spreadsheet and archive decoding, a patched Go toolchain with govulncheck in CI, and the evidence pack under compliance/casa
2026-09-19 08:18:35 +02:00
2026-02-11 17:27:19 +01:00
2026-01-30 08:47:26 +01:00
2026-06-11 19:00:09 +02:00
2026-09-19 08:23:10 -07:00
2026-06-10 11:37:15 +02:00
2026-01-30 08:47:26 +01:00
fix: address the review of the notifications work — bound detached alert delivery to a fixed pool that drops and logs rather than spawning a goroutine per event, never echo a transport error that embeds the webhook URL, treat an emptied channel target as cleared so switching transport cannot post Slack payloads to a Discord URL, emit user.registered for invited signups and the worker alert after a successful reassignment, format Stripe amounts by currency exponent, refuse an upgrade while the plan list is still loading instead of silently opening the portal, apply a fixed discount to the annual invoice rather than to each month, convert proration from minor units, contain focus in the nested enterprise dialog, hide the odometer wheels from assistive tech, and drop the last dedicated-IP row from the pricing matrix
2026-09-04 06:33:20 -07:00
2026-01-30 08:47:26 +01:00
2026-09-24 05:48:26 -07:00
2026-06-09 10:57:11 +02:00
2026-02-11 17:27:19 +01:00
2026-01-30 08:47:26 +01:00
2026-06-10 11:37:15 +02:00
2026-07-18 16:40:07 +02:00
2026-01-30 08:47:26 +01:00
2026-02-12 17:25:46 +01:00
2026-01-30 08:47:26 +01:00
2026-01-30 08:47:26 +01:00
2026-06-10 11:37:15 +02:00
2026-09-17 05:02:58 -07:00
2026-02-11 17:27:19 +01:00
2026-06-14 09:52:49 +02:00
2026-06-04 08:54:42 +02:00
2026-09-20 13:16:52 +02:00
2026-01-30 08:47:26 +01:00
2026-01-30 08:47:26 +01:00
2026-07-19 14:17:11 +02:00
2026-09-24 19:43:47 -07:00