Changelog
Looking for detailed walkthroughs, screenshots, and live demos? Check out our dedicated Releases section.
1.9.1 - 2026-10-22
Added
- Copy a form: Use "Make a copy" in the form menu (grid and list views) to duplicate a form with its design, fields, addons, settings and integrations. Responses, files and Stripe payment mapping are not copied. Also available to AI agents as the
duplicate_formtool.
Changed
- Save menu: "Save as Template" now lives in a dropdown next to "Save changes" in the customizer.
1.9.0 - 2026-10-17
Changed
- Groundwork for an upcoming feature. No visible changes yet.
1.8.11 - 2026-10-16
Fixed
- No more submitting while files upload: Visitors can no longer submit a form while a file or signature is still uploading. They see "Please wait until the upload finishes." and can submit once it completes. Before, the response could be sent without the file.
- One failed file no longer drops the rest: When several files are dropped at once and one fails, the files that uploaded are kept, and the error names the file that failed.
- Signature redraw and clear: Clearing or redrawing a signature while an earlier version was still uploading could save the old signature. Only the latest signature is kept now.
- Upload size limit fallback: If the server size limit isn't configured, uploads up to 100 MB are allowed (it was 10 MB), matching the largest size a field can be set to.
1.8.10 - 2026-10-16
Fixed
- Large file uploads: Files over 10 MB were rejected with "Failed to initialize upload", even when the form allows up to 100 MB. Uploads now work up to the limit set on the field (100 MB maximum).
- Uploads of files with no browser type: Some browsers, especially Chrome and Edge on Windows, give no file type for formats like
.heic,.dcm,.stl, or.rar. These uploads always failed; the type is now worked out from the file extension. - Answer validation on optional questions: Google Forms response validation (for example "must be an email" or "must be a number") now also applies to optional questions when they are answered. Email, URL, and "is a number" rules now work on all questions, and values like
12abcno longer pass number checks. Before, Google could silently reject these responses. - Re-fetch keeps addons: Re-fetch in the dashboard no longer removes file upload, location, scanner, and other addons from your fields. It keeps them the same way the MCP
sync_google_formtool does. - Re-fetch for forms without a description: Re-fetch no longer fails for Google Forms without a description. If the Google Form can't be read (for example it is restricted), you now see the reason instead of a generic error.
1.8.9 - 2026-10-15
Fixed
- Embedded forms show saved changes immediately: After Save changes, visitors who loaded your page before could still see old styles because their browser reused a cached copy of the form. Embedded forms now check for a newer version on every load, and the CDN tells browsers not to reuse form settings without checking. If nothing changed, the browser still uses its cached copy, so loading stays fast.
1.8.8 - 2026-10-15
Fixed
- Google Form header image: The banner image at the top of a Google Form is now imported and shown above the form title. It is saved to our CDN when you create, re-fetch, or sync a form. Existing forms pick it up after Re-fetch (or the MCP
sync_google_formtool, which now also returnsheaderImageUrl).
1.8.7 - 2026-10-13
Changed
- Dark theme inherits shared styles: A form's dark theme now only overrides colors. Fonts, sizes, radii, spacing, width, columns, and RTL come from the light theme, so both modes always match. In Custom Theme → Theme preview → Dark, only color settings are shown. Ask AI, MCP
customize_google_form, andsave_theme_to_templatefollow the same rule: non-color dark values are applied to the shared light theme.
Web app update - 2026-10-13
Added
- Dark theme: The website, docs, and dashboard now support dark mode. Pick Light, System, or Dark from the theme switcher in the footer or under Dashboard → Settings → Theme; it follows your OS setting by default and remembers your choice in this browser only. Public form pages (
/form/...) stay light, and embedded forms keep their own theme.
Changed
- Pricing page redesign: /pricing now has plan overview cards and a grouped, side-by-side plan comparison with a "Show differences only" filter, plus an updated billing FAQ.
- Usage & plans dashboard: Upgrade or switch billing period from plan cards at the top, with the same comparison table below and your current plan highlighted.
- Webhooks now require Starter or higher: Creating new webhook integrations (UI, API, Ask AI and MCP) requires a Starter or Pro plan. Existing webhooks on the Hobby plan keep working.
1.8.6 - 2026-10-12
Added
- Vue Integration: New official
@customgform-lib/vue-customgformVue 3 component with standard, popup, and popover support. See the Vue Quickstart. - Vue embed snippets: Share → Embed → Vue now generates a ready-to-paste Vue single-file component (replacing the "coming soon" placeholder), including prefilled and hidden fields.
- AI & MCP Tool Parity:
get_form_share_instructionsreturns avueSnippetand acceptsformat: 'vue'; the Ask AI share card shows a Vue tab.
See full overview: Release notes
1.8.5 - 2026-10-10
Added
- Quiz Progress Bar Colors: Configure the countdown progress track, normal fill, warning fill, and expired fill colors from Custom Theme → Form settings. AI and MCP customization supports the same theme keys.
Fixed
- Timer auto-submit rejected by Google (HTTP 400): Unanswered questions were sent as the text
null, which Google Forms rejects as an invalid option. Unanswered fields are now omitted, so auto-submitted forms with skipped questions are recorded. - Timer re-submitting after completion: Timer, anti-cheat, and draft state are now cleared after a successful submission, so revisiting an expired quiz no longer auto-submits an empty response.
- Auto-submit on multi-page forms: Timer auto-submit now sends only the visited sections and
pageHistoryfor branching forms, and finalizes uploaded files so they are not purged. - Timer clock accuracy: Timers started before server time sync are rebased onto server time, and
/api/timenow supports cross-origin embeds (CORS).
Security
- Consent rules rendering: Timer rules and instructions are rendered through a strict allowlist sanitizer (safe tags,
http/https/mailtolinks only).
See full overview: Release notes
1.8.1 - 2026-10-10
Added
- Form Countdown Timers & Proctoring Suite: Add tamper-resistant countdown timers to any Google Form with auto-submission, warning pulse states, and mobile pinned displays.
- Dynamic On-Demand Asset Loading: Forms without timers incur 0 KB extra JavaScript overhead. The timer module (
/addons/timer.js) is loaded asynchronously on-demand only when enabled. - Anti-Cheating Suite: Block question text selection (
user-select: none), disable right-click context menus and clipboard copy (Ctrl+C,Cmd+C), prevent text pasting into answers, and track tab switching with strike limits and auto-submission enforcement. - Tamper-Proof Time Synchronization: Server clock synchronization (
/api/time) protects against client operating system clock tampering; monotonic delta and scoped storage prevent page refresh exploits and inactive tab throttling. - Hidden Audit Trail: Injects server-verifiable audit timestamps and metrics (
timeStarted,timeSubmitted,durationSeconds,tabSwitchesCount,timeAwaySeconds,isAutoSubmitted) into form submission metadata. - AI & MCP Tool Parity: Full configuration support in
customize_google_formtool (timerEnabled,timerDurationMinutes,timerWarningThresholdMinutes,timerAutoSubmit,timerDisableCopyPaste,timerTrackTabSwitches,timerMaxTabSwitches,timerPreventPaste,timerRecordAuditFields). Available on Starter and Pro plans. - Docs & SEO Guides: New How to Add a Timer to Google Forms guide and Timers & Proctoring feature documentation.
1.8.0 - 2026-10-10
Added
- Barcode Scanner Addon: Turn any Short Answer question into a camera barcode scanner (Code 128, Code 39, EAN-13, EAN-8, UPC-A, UPC-E, ITF). The decoded value is written straight into the Google Form answer and your connected Google Sheet.
- QR Code Scanner Addon: Scan QR codes with the respondent's phone camera, with no third-party app and no iframe.
- Fallbacks & Feedback: Manual typing when the camera is denied, blocked, or the code is unreadable, optional "Scan from a photo", beep and vibration feedback, and an optional auto-submit on successful scan for rapid check-ins.
- On-Demand Addon Asset Loading: Heavy addon assets (Barcode/QR scanner engine and E-Signature Pad) are dynamically loaded only when a respondent opens a form containing those fields. Forms without these addons download zero extra JavaScript, and browsers with a native
BarcodeDetectorneed no scanner download at all. - AI & MCP Tool Parity: Attach, configure, or remove both scanners through
configure_field_addon(addonType: 'barcode' | 'qr-code',scannerConfig). Available on Starter and Pro plans. - Docs: New QR code scanner and Barcode scanner feature pages and two how-to guides.
See full overview: Release notes
1.7.3 - 2026-10-06
Added
- Interactive Notion OAuth 2.0 Flow: Connect your Notion workspace with a single click (
/api/integrations/notion/authorize). Authorize access directly in Notion's native consent dialog with zero manual secret copying. - Automatic Database Discovery: Automatically retrieves approved Notion databases via
/api/integrations/notion/databasesso users can pick target databases directly from a searchable dropdown selector. - Tamper-Proof OAuth State Verification: Cryptographically signed HMAC-SHA256 state tokens with 15-minute expiration and user session binding to prevent CSRF and session fixation attacks.
- Hybrid Connection Support: Seamlessly supports both 1-click OAuth authorization and manual Internal Integration Secrets (
secret_...) with full backward compatibility. - Notion Database Connector: Automatically create structured pages in your Notion databases on Google Form submissions.
- Smart Page & Block Engine: Generates clean Notion pages with formatted header callouts, submission timestamp, and structured bulleted list items for each form field. Supports optional custom templates with dynamic field interpolation (
{{form_title}},{{Email}},{{all_fields}},{{date}}). - Encrypted Token Security: All Notion tokens (
accessToken,notionToken,secret) are encrypted at rest with AES-256-GCM and masked in UI/API responses. - AI & MCP Tool Parity: Connect, configure, and test Notion database integrations via AI chat and external MCP clients using
add_form_integrationandtest_form_integration. - Modular Frontend Architecture: Dedicated
NotionFormcomponent with workspace badge, database selector, live test event verification, and template customization picker.
1.7.2 - 2026-10-06
Added
- Discord Connector: Post real-time form submission alerts directly into Discord channels via Discord Webhooks and Rich Embed cards.
- Rich Embed Engine & Markdown Formatting: Formats submissions into structured Discord Rich Embeds with color coding (Blurple for live submissions, Emerald for test events), author attribution, timestamps, and inline field grids (up to 25 fields). Supports custom templates with dynamic field mentions (
{{form_title}},{{Email}},{{all_fields}},{{date}}). - Encrypted Webhook Credentials: Discord Webhook URLs are encrypted at rest with AES-256-GCM and masked in UI/API responses.
- AI & MCP Tool Parity: Connect and test Discord webhook notifications directly from AI chat and external MCP clients via
add_form_integrationandtest_form_integration. - Modular Frontend Architecture: Dedicated
DiscordFormcomponent adhering to the modular connector framework, with live test event trigger and template variable picker.
1.7.1 - 2026-10-06
Added
- Slack Connector: Stream real-time form submission alerts directly into your team's Slack channels via Slack Incoming Webhooks and rich Block Kit cards.
- Block Kit Engine & Custom Templates: Formats submissions into structured Block Kit messages with headers, fields, and context timestamps. Supports optional custom templates with dynamic field mentions (
{{form_title}},{{Email}},{{all_fields}},{{date}}). - Encrypted Webhook Credentials: Slack Incoming Webhook URLs are encrypted at rest with AES-256-GCM and masked in UI/API responses.
- AI & MCP Tool Parity: Connect and test Slack notifications directly from AI chat and external MCP clients via
add_form_integrationandtest_form_integration. - Modular Connector Architecture: Granular sub-module organization (
components/,hooks/,utils/,constants/) and partitioned unit test suites across all connectors.
1.7.0 - 2026-10-05
See full overview: Release notes
Added
- Telegram Bot Connector: Stream real-time form submission alerts to your personal chats, group chats, or supergroup channels using Telegram Bot API. Supports custom topics (
message_thread_id) and HTML message formatting. - Zapier Catch Hook: Forward form submissions instantly to Zapier to trigger multi-step workflows across 5,000+ business applications.
- AES-256-GCM Encryption at Rest: Authenticated encryption for all connector secrets, masked in client API responses.
- Message Shape & Template Customization: Shape alerts with dynamic form field tokens (
{{Full Name}},{{form_title}},{{all_fields}},{{date}}), interactive mention pills, and live preview. - Test Connector Engine: Dispatch live test events directly from connector modals to verify setup and measure latency.
- AI & MCP Tool Parity: Expose connector configuration and testing via
add_form_integrationandtest_form_integration.
1.6.1 - 2026-10-05
See full overview: Release notes
- Attention tooltips: Add optional dismissible text beside popover launchers, with matching HTML, React and AI/MCP options.
- Share mode links: Standard, Popup and Popover selections are preserved in the dashboard URL for refreshes and shared links.
1.6.0 - 2026-10-05
See full overview: Release notes
Added
- Popover Embed Mode: New third display option in Share → Embed. A floating (bottom-right / bottom-left) or inline icon button opens your form in a scrollable panel anchored to the icon (no full-screen overlay). Pick a built-in Tabler icon (Chat, Feedback, Help, Mail, Form, Star) or upload/paste your own SVG, which is sanitized and embedded directly in the code. Configure background, icon color, size and rounding, plus an optional dismissible attention tooltip (
data-tooltip) shown next to the icon. Works with HTML (data-mode="popover") and React snippets. - AI/MCP parity:
get_form_share_instructionsnow supportsmode: "popover"withpopoverIcon,popoverIconSvg,popoverPosition,popoverBackground,popoverIconColor,popoverSize,popoverRoundedandpopoverTooltip.
1.5.1 - 2026-10-05
Added
- Form QR Code Generator: Generate and download high-resolution QR codes directly from the Share page or via the AI/MCP assistant. Includes instant live preview and crisp PNG download for print flyers, signage, presentations, and events.
Improved
- Grid Responses Table Headers: Responses table headers now feature a clean two-tier stacked layout displaying the question title above the row label, eliminating repetitive text and keeping columns compact.
- CSV & Export Compatibility: Form response exports and CSV downloads now format grid questions using the industry-standard
Question Title [Row Label]convention matching Google Forms and Google Sheets. - Retroactive Grid Label Resolution: Automatically maps existing and legacy submissions containing raw internal grid identifiers (e.g.
274203642_radioGrid_527176188) to human-readable question and row labels in both the dashboard UI and AI/CSV tools.
1.5.0 - 2026-10-05
See full overview: Release notes
Added
- Rating Field (Scale 1–N): Interactive rating component supporting Star, Heart, and Thumbs icons with hover preview, keyboard navigation, and click-to-clear for optional fields.
- Rating Customization & Center Alignment: Rating items are centered by default, and rating icon color (
rating-icon-color) is fully customizable from the Dashboard Custom Theme editor and via AI/MCP toolcustomize_google_form. - Checkbox Grid Component: Standalone matrix component allowing multiple column selections per row.
- Limit to 1 Response per Column: Full validation support for Multiple Choice Grid and Checkbox Grid with real-time column uniqueness checks and Google Forms parity.
- Shuffle Row Order: Front-end row randomization stable per session to eliminate re-rendering loops while providing unbiased question ordering.
- AI & MCP Diagnostics Update: Updated
troubleshoot_form_connectionto fully recognize and diagnose forms containing Rating fields as healthy.
1.4.0 - 2026-10-03
See full overview: Release notes
Added
- E-Signature Capture Addon: Interactive touch-friendly signature drawing pad powered by
signature_pad - High-DPI / Retina Canvas Scaling: Automatic pixel-ratio scaling preventing pixelation on mobile screens
- In-Cell Google Sheets Sync: Formula
=IMAGE("...")injected directly into connected Google Sheet rows - Mobile Touch Gesture Lock: CSS
touch-action: noneto prevent viewport scroll while drawing signatures - Showcase Demo: Interactive Non-Disclosure Agreement (NDA) live preview (
/showcase/signature-form) - Fumadocs LLMs Integration: Full support for
/llms.txtindex,/llms-full.txtdocs bundle,*.mdroutes, intelligentAccept: text/markdowncontent negotiation, and documentation page actions
1.3.0 - 2026-08-20
See full overview: Release notes
Added
- Dark Theme Palette & Switcher: Independent second dark color palette, auto-detection from respondent OS, and in-form toggle
- Built-in Form Analytics: Lightweight view tracking, start counts, drop-off step identification, and conversion rates
- Partial Responses Capture: Real-time answer saving before form submission to recover abandoned leads
- Ask AI & Model Context Protocol (MCP): Dashboard conversational assistant and official MCP server for AI IDE agents
1.2.0 - 2026-04-15
See full overview: Release notes
Added
- Right-to-Left (RTL) Layout: Complete layout inversion for Arabic, Hebrew, Persian (Farsi), and Urdu
- Location Detection Addon: IP-based auto-fill for respondent country, region, city, and timezone
- Dynamic URL Prefill & Hidden Fields: Extended query parameters
?prefill=and?hidden=for seamless personalization
1.1.0 - 2026-02-09
See full overview: Release notes
Added
- File Upload Addon (No Login Required): Allow public respondents to upload documents and photos without Google login
- BalancedGrid Layout: Responsive grid arrangement for short form inputs
- Form Closed State: Graceful messaging when underlying Google Form submissions are closed
- Customizable Error Text: Custom inline error notices per question
1.0.16 - 2025-11-22
See full overview: Release notes
Added
- Migrated core lib from preact to react
- New options:
- data-hidden_fields - here you can pass fields which should be hidden, separated by semicolon. Example:
<!-- Format: id=value; where id is field id, value any text value --> data-hidden_fields="261034186;1841579133;501104403"
- data-hidden_fields - here you can pass fields which should be hidden, separated by semicolon. Example:
1.0.3 - 2024-06-22
Added
- Global callback function to show, hide, toggle modal dialog with form, example:
var formId = 'clhqpufuy0001wnf3dnltnz801';
// toggle modal: if shown, it'll be hidden, if hidden, it would be shown
window.CustomGForm.toggleModal(formId);
// show modal
window.CustomGForm.showModal(formId);
// close modal
window.CustomGForm.closeModal(formId);- New options:
- data-button_class prop, which allows to add custom Button class name
- data-prefill_fields - here you can pass fields which should be prefilled, separated by semicolon. Example:
<!-- Format: id=value; where id is field id, value any text value --> data-prefill_fields="261034186=test;1841579133=comments,fd;[email protected]"
- Typescript support for our react library https://www.npmjs.com/package/@customgform-lib/react-customgform
Changed
- popup mode: hide button if there is no label
Fixed
- popup mode: conflicted styles with button, which trigger modal dialog show/hide
- fix google form title
1.0.2 - 2024-03-27
Added
- Custom theme font support (based on Google fonts)
- Support for multistep forms
1.0.1 - 2024-03-06
Added
- Short answer, Paragraph validators:
- Number:
- greater than
- greater than or equal to
- less than
- less than or equal to
- equal to
- not equal to
- between
- not between
- is number
- Text
- contains
- doesn't contain
- url
- Length
- maximum character count
- mininmum character count
- Regular expression
- contains
- doesn't contain
- matches
- doesn't match
- Number:
- Tags support for questions title and description
1.0.0 - 2024-03-02
Added
- Time input
- Date with time
- Support for HTML tags in form description
- Changelog page
Fixed
- Reduce input width for Date and Time fields
Last updated on
Ask AI for Google Forms – Customize Themes & Manage Forms via MCP
Style forms with plain English prompts, configure addons, and manage Google Forms with real-time Ask AI and Model Context Protocol (MCP) agent support.
Product Releases & Major Milestones
Detailed walkthroughs, demos, and feature guides for major CustomGForm platform releases.