Formbricks
The Open Source Qualtrics Alternative
Alternative to: typeform, surveymonkey, qualtrics, google forms
About
Versions (145)
6.0.0-rc.1
2026-09-10What’s Changed
- docs: add accessibility and compatibility documentation by @jobenjada in https://github.com/formbricks/formbricks/pull/8819
- docs(agents): tell agents when an e2e test is warranted by @itsjavi in https://github.com/formbricks/formbricks/pull/8938
- fix(sso): write the canonical Account.issuer so Google sign-in stops looping by @xernobyl in https://github.com/formbricks/formbricks/pull/8951
- perf(ci): halve the e2e test step and drop the dead docker build cache by @Dhruwang in https://github.com/formbricks/formbricks/pull/8940
- fix(auth): stop paging on client-caused OAuth state rejections (ENG-2471) by @xernobyl in https://github.com/formbricks/formbricks/pull/8933
- fix(email): show the organization’s custom logo in response notification emails by @jobenjada in https://github.com/formbricks/formbricks/pull/8965
- refactor(workflows): drop the dead duplicate workflows list modules by @jobenjada in https://github.com/formbricks/formbricks/pull/8976
- docs: rewrite multi-language surveys page for the current translation flow by @jobenjada in https://github.com/formbricks/formbricks/pull/8978
- ci: run Schemathesis contract tests for the v3 API on every PR by @xernobyl in https://github.com/formbricks/formbricks/pull/8942
- fix(survey-editor): say “window” instead of “modal” and stop backdrop clicks closing the translations modal by @jobenjada in https://github.com/formbricks/formbricks/pull/8968
- docs(pr-template): clarify what counts as a breaking change [ENG-2525] by @Dhruwang in https://github.com/formbricks/formbricks/pull/8931
- fix(role-management): guard against demoting the last organization owner [ENG-2479] by @Dhruwang in https://github.com/formbricks/formbricks/pull/8943
- chore: enable the eslint/typescript-eslint recommended baseline as warnings in apps/web (ENG-2264) by @pandeymangg in https://github.com/formbricks/formbricks/pull/8956
- fix: use multi-arch Valkey image by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/8986
- fix(surveys): stop announcing the public-API name placeholder on app surveys [ENG-2617] by @Dhruwang in https://github.com/formbricks/formbricks/pull/8982
- fix: correct vertical misalignment of type select in survey variables row by @jobenjada in https://github.com/formbricks/formbricks/pull/8963
- docs(self-hosting): correct the v5.4 migration guide’s database-migration claims by @xernobyl in https://github.com/formbricks/formbricks/pull/8984
- docs: add a guide for migrating surveys between instances by @jobenjada in https://github.com/formbricks/formbricks/pull/8980
- feat: add enrichment status indicator for feedback records by @Dhruwang in https://github.com/formbricks/formbricks/pull/8845
- fix(sso): strip the live local auth factors on SSO recovery by @xernobyl in https://github.com/formbricks/formbricks/pull/8962
- feat(helm): support Hub workload scheduling by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/8992
- fix(contacts): gate contact write paths and attribute-key APIs on the contacts entitlement [ENG-2295] by @pandeymangg in https://github.com/formbricks/formbricks/pull/8955
- feat: group question type by category in the block dropdowns (ENG-1777) by @jobenjada in https://github.com/formbricks/formbricks/pull/8979
- fix(helm): support balanced background embedding requests by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/9001
- feat(helm): configure reliable taxonomy generation by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/8954
- fix: remove non-functional single-response-per-email feature (ENG-2294) by @jobenjada in https://github.com/formbricks/formbricks/pull/8975
- docs(pr-template): give the PR description a length budget by @mattinannt in https://github.com/formbricks/formbricks/pull/8974
- fix(segments): bound the survey-interaction filter IN queries (ENG-2305) by @pandeymangg in https://github.com/formbricks/formbricks/pull/8957
- fix(auth): hand the post-verification session only to the browser that signed up by @xernobyl in https://github.com/formbricks/formbricks/pull/8971
- feat: lower unlicensed self-hosted workspace cap to 1 by @mattinannt in https://github.com/formbricks/formbricks/pull/9008
- fix(contacts): say workspace, not environment, in duplicate-attribute messages by @jobenjada in https://github.com/formbricks/formbricks/pull/9022
- docs: mark Analyze and Act as Beta, and fix their nav paths (ENG-2742) by @jobenjada in https://github.com/formbricks/formbricks/pull/9021
- feat(navigation): rename Unify to Analyze and badge Act as Beta (ENG-2742) by @jobenjada in https://github.com/formbricks/formbricks/pull/9020
- docs(surveys): re-shoot the question type pages from the current editor (ENG-2647) by @jobenjada in https://github.com/formbricks/formbricks/pull/9019
- fix(ci): complete Linear releases independently of the Helm appVersion PR by @mattinannt in https://github.com/formbricks/formbricks/pull/9016
- fix(sso): stop Microsoft SSO failing when AZUREAD_TENANT_ID is a multi-tenant authority by @xernobyl in https://github.com/formbricks/formbricks/pull/9017
- feat(observability): record the outcome of every SSO callback by @xernobyl in https://github.com/formbricks/formbricks/pull/9026
- fix(sso): stop generic OIDC failing when pointed at a Microsoft multi-tenant authority by @xernobyl in https://github.com/formbricks/formbricks/pull/9023
- docs: illustrate four pages that had no screenshots (ENG-2706) by @jobenjada in https://github.com/formbricks/formbricks/pull/9034
- docs(surveys): document the CSAT and CES question types (ENG-2718) by @jobenjada in https://github.com/formbricks/formbricks/pull/9035
- docs(surveys): document scheduling a survey’s publish and close dates (ENG-2722) by @jobenjada in https://github.com/formbricks/formbricks/pull/9037
- docs(surveys): document the survey Summary and Responses views (ENG-2721) by @jobenjada in https://github.com/formbricks/formbricks/pull/9039
- docs: delete images for a removed feature and a re-shot page (ENG-2723) by @jobenjada in https://github.com/formbricks/formbricks/pull/9040
- docs(surveys): re-shoot the percentage-of-users setting (ENG-2688) by @jobenjada in https://github.com/formbricks/formbricks/pull/9041
- docs(surveys): re-shoot conditional logic and recall (ENG-2663, ENG-2666) by @jobenjada in https://github.com/formbricks/formbricks/pull/9044
- docs(link-surveys): re-shoot the share modal (ENG-2682, ENG-2683, ENG-2709, ENG-2710) by @jobenjada in https://github.com/formbricks/formbricks/pull/9047
- docs(surveys): re-shoot validation rules and the media panel (ENG-2667, ENG-2690) by @jobenjada in https://github.com/formbricks/formbricks/pull/9049
- docs(platform): illustrate organization and team roles (ENG-2714, ENG-2715) by @jobenjada in https://github.com/formbricks/formbricks/pull/9051
- docs(surveys): re-shoot response metadata, source tracking and the question ID (ENG-2668, ENG-2676, ENG-2677) by @jobenjada in https://github.com/formbricks/formbricks/pull/9052
- docs(platform): document Contacts, attributes and segments (ENG-2720) by @jobenjada in https://github.com/formbricks/formbricks/pull/9038
- docs(surveys): re-shoot the variables editor section (ENG-2664) by @jobenjada in https://github.com/formbricks/formbricks/pull/9042
- docs(platform): re-shoot the styling theme page (ENG-2675) by @jobenjada in https://github.com/formbricks/formbricks/pull/9043
- docs(surveys): re-shoot actions, targeting and recontact (ENG-2684, ENG-2686, ENG-2707) by @jobenjada in https://github.com/formbricks/formbricks/pull/9045
- docs(link-surveys): re-shoot the PIN and email gates (ENG-2680, ENG-2681) by @jobenjada in https://github.com/formbricks/formbricks/pull/9048
- docs(surveys): re-shoot custom styling and email follow-ups (ENG-2669, ENG-2670) by @jobenjada in https://github.com/formbricks/formbricks/pull/9050
- docs(unify-feedback): add a “Creating your first charts” guide (ENG-2691) by @jobenjada in https://github.com/formbricks/formbricks/pull/9036
- docs(self-hosting): add the missing integrations overview page by @jobenjada in https://github.com/formbricks/formbricks/pull/9033
- docs: fix stale Mintlify CLI references and delete orphaned images (ENG-2751, ENG-2646) by @jobenjada in https://github.com/formbricks/formbricks/pull/9032
- docs(surveys): re-shoot the response option and hidden fields pages (ENG-2671) by @jobenjada in https://github.com/formbricks/formbricks/pull/9030
- docs(self-hosting): document ENTERPRISE_LICENSE_KEY and fix the docs README config file name by @jobenjada in https://github.com/formbricks/formbricks/pull/9013
- docs: stop promising Workflow actions that do not exist by @jobenjada in https://github.com/formbricks/formbricks/pull/9056
- docs: correct workspace scoping and settings paths (ENG-2637) by @jobenjada in https://github.com/formbricks/formbricks/pull/9012
- docs: correct UI references that no longer match the product by @jobenjada in https://github.com/formbricks/formbricks/pull/9014
- docs: move the SAML IdP guide out of Development and into Auth & SSO by @jobenjada in https://github.com/formbricks/formbricks/pull/9054
- docs: fix four internal links that go nowhere (ENG-2757) by @jobenjada in https://github.com/formbricks/formbricks/pull/9060
- docs(best-practices): rewrite the Feedback Box recipe (ENG-2726) by @jobenjada in https://github.com/formbricks/formbricks/pull/9061
- docs(surveys): note that spam protection is unavailable on EU Cloud by @jobenjada in https://github.com/formbricks/formbricks/pull/9068
- chore: add type param to license/pricing request form links by @harshsbhat in https://github.com/formbricks/formbricks/pull/9066
- feat: add Formbricks logo to MCP OAuth consent page by @jobenjada in https://github.com/formbricks/formbricks/pull/8960
- fix: stop force-bolding new question headlines in the editor by @jobenjada in https://github.com/formbricks/formbricks/pull/8966
- fix(api): return the documented pagination meta from GET /management/responses by @jobenjada in https://github.com/formbricks/formbricks/pull/8981
- fix: keep MCP OAuth resource initialization recoverable by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/9065
- chore(a11y): scan the answered-state cards and script the manual screen-reader pass by @itsjavi in https://github.com/formbricks/formbricks/pull/9025
- docs(best-practices): rewrite the quiz recipe and illustrate Google Reviews (ENG-2733, ENG-2736) by @jobenjada in https://github.com/formbricks/formbricks/pull/9079
- docs(best-practices): drop the fake action from the docs feedback recipe (ENG-2731) by @jobenjada in https://github.com/formbricks/formbricks/pull/9080
- docs(best-practices): rewrite five action-triggered recipes (ENG-2725, ENG-2727, ENG-2729, ENG-2730, ENG-2732) by @jobenjada in https://github.com/formbricks/formbricks/pull/9077
- docs(best-practices): rewrite three link-survey recipes (ENG-2728, ENG-2734, ENG-2735) by @jobenjada in https://github.com/formbricks/formbricks/pull/9078
- docs(integrations): desk review of the Zapier, n8n and Make guides (ENG-2737, ENG-2738, ENG-2739, ENG-2740) by @jobenjada in https://github.com/formbricks/formbricks/pull/9076
- fix(js-core): prefetch the surveys bundle instead of preloading it (ENG-2350) by @pandeymangg in https://github.com/formbricks/formbricks/pull/9009
- fix: keep smiley eye border color consistent on hover by @mattinannt in https://github.com/formbricks/formbricks/pull/9004
- docs: document the setEmail and setNonce SDK methods by @jobenjada in https://github.com/formbricks/formbricks/pull/9018
- fix(charts): stop NPS reading 0 on empty days and summing on a big number by @jobenjada in https://github.com/formbricks/formbricks/pull/9069
- fix(test): stop charging the route import to the first test’s timeout by @jobenjada in https://github.com/formbricks/formbricks/pull/9082
- chore(a11y): lint packages/surveys and packages/email with jsx-a11y by @itsjavi in https://github.com/formbricks/formbricks/pull/9073
- fix(summary): align date filter presets with the chart date presets by @jobenjada in https://github.com/formbricks/formbricks/pull/8947
- chore: resolve all eslint warnings across the workspace by @Dhruwang in https://github.com/formbricks/formbricks/pull/8704
- feat: cut authorization over to AuthZed by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/9089
- fix(dashboards): clean up chart-builder confusion from lead gen survey review by @Dhruwang in https://github.com/formbricks/formbricks/pull/8973
- fix(billing): stop advertising spam protection on the Scale plan by @Dhruwang in https://github.com/formbricks/formbricks/pull/9088
- fix(nav): restrict trial upgrade banner to owner/manager roles by @jobenjada in https://github.com/formbricks/formbricks/pull/9099
- fix: align Add Block trigger content to the left edge by @Dhruwang in https://github.com/formbricks/formbricks/pull/9085
- fix(ui): unify the app’s date pickers on one react-day-picker v9 calendar by @Dhruwang in https://github.com/formbricks/formbricks/pull/9093
- fix(api-v3): return 422 instead of 500 for post-schema survey validation failures [ENG-2587] by @Dhruwang in https://github.com/formbricks/formbricks/pull/8991
- feat(unify): add “Re-import historic data” to Formbricks survey sources by @Dhruwang in https://github.com/formbricks/formbricks/pull/8987
- fix(workflows): make the rich-text editor look disabled when read-only by @itsjavi in https://github.com/formbricks/formbricks/pull/9097
- fix: map P2002 with unrecoverable fields to 409 on client response create by @xernobyl in https://github.com/formbricks/formbricks/pull/9095
- fix: match webhook URL denylist ranges as CIDRs (ENG-2554) by @xernobyl in https://github.com/formbricks/formbricks/pull/8946
- fix(settings): title each workspace settings tab with its own heading (ENG-2749) by @jobenjada in https://github.com/formbricks/formbricks/pull/9015
- feat(auth): make the signed-out screens work on a phone by @itsjavi in https://github.com/formbricks/formbricks/pull/9074
- chore: resolve the open SonarQube findings and the remaining super-linear regexes by @xernobyl in https://github.com/formbricks/formbricks/pull/9090
- fix(api): stop 500 on partial response updates that omit data by @pandeymangg in https://github.com/formbricks/formbricks/pull/9108
- feat: let creators name survey blocks by @Dhruwang in https://github.com/formbricks/formbricks/pull/9103
- ci: restore automated PR path labels by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/9115
- fix(docker): generate unique postgresql credentials by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/8900
- chore: add migration safety checks by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/9102
- fix(telemetry): send usage updates independently of survey traffic [ENG-2107] by @Dhruwang in https://github.com/formbricks/formbricks/pull/8929
- fix(notifications): name the workspace of each survey on the email alerts page by @itsjavi in https://github.com/formbricks/formbricks/pull/9114
- docs: document LLM setup on the AI Features page by @jobenjada in https://github.com/formbricks/formbricks/pull/9121
- feat: pipe response and survey context into feedback record metadata by @xernobyl in https://github.com/formbricks/formbricks/pull/9111
- fix: fall back to database for Redis session errors by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/9125
- fix: support Redis 6 verification token consumption by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/9129
- fix: keep Redis connections alive by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/9124
- fix(js-core): keep identified users through the legacy config migration [ENG-2480] by @pandeymangg in https://github.com/formbricks/formbricks/pull/9112
- feat: allow hiding the default checkmark icon on ending cards (ENG-1787) by @Dhruwang in https://github.com/formbricks/formbricks/pull/9083
- feat(ai): add an AI UI kit and stream survey generation (ENG-1248) by @itsjavi in https://github.com/formbricks/formbricks/pull/9027
- fix: block 22 personal and burner email domains on Cloud signup by @jobenjada in https://github.com/formbricks/formbricks/pull/9113
- feat: add Khmer and Nepali survey interface translations by @Dhruwang in https://github.com/formbricks/formbricks/pull/9117
- fix(workflows): resolve recall tokens in the trigger ending-card picker by @Dhruwang in https://github.com/formbricks/formbricks/pull/9119
- fix(survey-editor): hold the no-rules-means-text invariant and reject exponent input [ENG-2419] by @Dhruwang in https://github.com/formbricks/formbricks/pull/8993
- fix: doesNotEqual logic condition is always true for single-selection answers by @pandeymangg in https://github.com/formbricks/formbricks/pull/9000
- fix(survey-editor): stop warning about unsaved changes right after a save by @Dhruwang in https://github.com/formbricks/formbricks/pull/9120
- fix(security): bump mysql2 to 3.23.1 and patch 2 advisories [ENG-2825] by @Dhruwang in https://github.com/formbricks/formbricks/pull/9132
- fix(sso): honour the IdP’s email_verified claim on SSO sign-up by @xernobyl in https://github.com/formbricks/formbricks/pull/9094
- fix: make CSAT and CES scale labels translatable by @jobenjada in https://github.com/formbricks/formbricks/pull/9136
- fix(ui): keep the combobox value centred in short filter chips by @jobenjada in https://github.com/formbricks/formbricks/pull/9143
- refactor: extract a shared response-file URL collector [ENG-2547] by @pandeymangg in https://github.com/formbricks/formbricks/pull/9139
- fix(surveys): persist example-response dataset in one transaction by @Dhruwang in https://github.com/formbricks/formbricks/pull/8995
- feat(charts): chart on the response context stored in record metadata [ENG-1555] by @Dhruwang in https://github.com/formbricks/formbricks/pull/9134
- fix(security): bump fflate to 0.4.9, patch 1 advisory [ENG-2887] by @Dhruwang in https://github.com/formbricks/formbricks/pull/9153
- fix(email): render RTL follow-up emails right-to-left [ENG-2593] by @itsjavi in https://github.com/formbricks/formbricks/pull/9150
- feat(sso): sync the IdP display name on every sign-in, and lock the name field for SSO users by @mattinannt in https://github.com/formbricks/formbricks/pull/9104
- docs: start the web & app quickstart inside the product [ENG-2687] by @jobenjada in https://github.com/formbricks/formbricks/pull/9158
- fix(surveys): treat archived as one more status, like every other by @jobenjada in https://github.com/formbricks/formbricks/pull/8964
- fix(security): bump 6 packages, patch 12 advisories [ENG-2821] +11 more by @Dhruwang in https://github.com/formbricks/formbricks/pull/9148
- fix(analysis): label AI example responses with the survey’s default language [ENG-2838] by @Dhruwang in https://github.com/formbricks/formbricks/pull/9160
- chore: Rename authorized apps -> MCP by @harshsbhat in https://github.com/formbricks/formbricks/pull/9140
- fix(analysis): rename the Dashboards tab to Overview by @jobenjada in https://github.com/formbricks/formbricks/pull/9162
- docs: replace untrusted self-hosting minimum with real v6 sizing by @jobenjada in https://github.com/formbricks/formbricks/pull/9100
- fix(security): pin brace-expansion to close 2 advisories [ENG-2234] by @Dhruwang in https://github.com/formbricks/formbricks/pull/9172
- fix(navigation): stop link prefetches from repointing the active workspace by @jobenjada in https://github.com/formbricks/formbricks/pull/9161
- fix(survey-link): preserve the requested language through the verify-email gate [ENG-2584] by @itsjavi in https://github.com/formbricks/formbricks/pull/9155
- fix(ui): move the last three native date inputs onto the unified picker by @jobenjada in https://github.com/formbricks/formbricks/pull/9170
- chore: fire a churn survey on plan downgrade by @harshsbhat in https://github.com/formbricks/formbricks/pull/9145
- fix(surveys): style the scroll indicator as the primary action [ENG-1783] by @Dhruwang in https://github.com/formbricks/formbricks/pull/9163
- feat(charts): split chart creation into AI and manual entry points (ENG-2782) by @itsjavi in https://github.com/formbricks/formbricks/pull/9071
- chore(app-connection): rename to Web & Mobile SDK, rebuild page with install method cards, add API keys banner by @harshsbhat in https://github.com/formbricks/formbricks/pull/9135
- fix(editor): seed the note when an ending card switches back to “Ending card” [ENG-2595] by @Dhruwang in https://github.com/formbricks/formbricks/pull/9164
- fix(email): center the logo in Outlook by @xernobyl in https://github.com/formbricks/formbricks/pull/9128
- feat(surveys): stop new follow-ups where Workflows can replace them by @jobenjada in https://github.com/formbricks/formbricks/pull/8983
- fix(contacts): order attribute upserts and retry on deadlock in the identify path by @xernobyl in https://github.com/formbricks/formbricks/pull/9110
- refactor(i18n-utils): collapse dual entry points onto one built artifact [ENG-2306] by @Dhruwang in https://github.com/formbricks/formbricks/pull/9092
- feat(ai): unify the disabled AI smart tools prompt by @jobenjada in https://github.com/formbricks/formbricks/pull/9031
- fix(security): rate-limit token-consuming auth actions by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/9169
- fix(dashboards): place a duplicated chart in the next free slot and add an E shortcut for edit mode by @Dhruwang in https://github.com/formbricks/formbricks/pull/9141
- fix(lint): enable the react compiler-era react-hooks rules [ENG-2366] by @Dhruwang in https://github.com/formbricks/formbricks/pull/9176
- feat: download all response attachments as a ZIP by @Dhruwang in https://github.com/formbricks/formbricks/pull/9109
- feat: relative date range validation for date questions by @Dhruwang in https://github.com/formbricks/formbricks/pull/9107
- docs(pr-template): stop folding screenshots into a collapsible by @jobenjada in https://github.com/formbricks/formbricks/pull/9180
- fix: keep licensed entitlements during the license-server grace period by @mattinannt in https://github.com/formbricks/formbricks/pull/9029
- feat(surveys): mirror widget placement for right-to-left languages by @jobenjada in https://github.com/formbricks/formbricks/pull/8977
- fix(auth): honor DEFAULT_ORGANIZATION_ID again on SSO sign-up [ENG-2089] by @Dhruwang in https://github.com/formbricks/formbricks/pull/9157
- refactor(charts): name the chart filter fields the way the Records table does by @jobenjada in https://github.com/formbricks/formbricks/pull/9187
- fix(survey-list): hold a survey out of the list until its removal settles [ENG-2583] by @itsjavi in https://github.com/formbricks/formbricks/pull/9165
- feat(workflows): report workflow usage to PostHog on cloud and to usage telemetry when self-hosted by @itsjavi in https://github.com/formbricks/formbricks/pull/9146
- fix(survey-editor): explain why save is blocked without a trigger [ENG-2581] by @claude[bot] in https://github.com/formbricks/formbricks/pull/9173
- feat: set the language new surveys are created in per workspace by @Dhruwang in https://github.com/formbricks/formbricks/pull/9122
- docs(api-v3): publish an unlisted v3 reference with the feedbackRecords gateway contract by @xernobyl in https://github.com/formbricks/formbricks/pull/9159
- feat(surveys): add Rename to the survey list context menu by @Dhruwang in https://github.com/formbricks/formbricks/pull/9177
- feat(embedded-data): Embedded Data V1 — reserved fields, setEmbeddedData(), lifecycle events, typed exports by @pandeymangg in https://github.com/formbricks/formbricks/pull/9219
- feat: limit organization invite recipients per day by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/9182
- feat(ai): apply the AI UI kit to example responses and taxonomy generation [ENG-3112] by @itsjavi in https://github.com/formbricks/formbricks/pull/9220
- feat(ci): add Apollo and Artemis branch deployments by @BhagyaAmarasinghe in https://github.com/formbricks/formbricks/pull/9185
- fix(security): bump 9 packages, patch 24 advisories [ENG-3091] +23 more by @Dhruwang in https://github.com/formbricks/formbricks/pull/9225
New Contributors
- @claude[bot] made their first contribution in https://github.com/formbricks/formbricks/pull/9173
Full Changelog: https://github.com/formbricks/formbricks/compare/5.4.2…6.0.0-rc.1