Changelog

What's new

Public history of gadspilot features, fixes and improvements. Auto-updated on each deploy.

July 2026

Fix manual-289

Fixed crash on Insights page for some accounts

Resolved a critical bug that caused the Insights page to crash with a parser error for certain accounts. The issue occurred when displaying large datasets with nested translations. We've updated how data is rendered to prevent this error from happening again.
New manual-288

User location and language now visible in admin

The admin users page now displays each user's country and language preference. This information is automatically detected during signup based on their IP address and browser settings, helping you better understand your user base and support localization efforts.
Fix manual-287

Fixed day count display in monthly reports

Monthly reports now show the correct whole number of days instead of displaying decimal values like "30.999999999988 days". This fix ensures the date range header displays cleanly for any month.
New manual-286

Automated daily and monthly email reports

Receive automatic email reports every morning with a snapshot of your gadspilot activity. Each daily report includes new signups, MCP tool usage, website traffic, and how your metrics compare to the previous week's average. Reports are sent to your configured email address and can be customized via environment settings.

June 2026

New manual-285

Control Performance Max asset group status

Added a new MCP tool to enable or pause asset groups in Performance Max campaigns. Previously, asset groups were always created in a paused state with no way to activate them, causing campaigns to receive zero impressions without any error message. You can now manage asset group status directly after review.
New manual-284

Auto-detect browser language on login page

Login, registration, and password reset pages now automatically display in your browser's preferred language. If you're using French, you'll see the page in French without needing to manually select it first. Your language choice is remembered once you log in.
New manual-283

French language support for login and authentication

Authentication pages now display in French when accessed in French locale. Login, two-factor authentication, and password reset screens now fully support French translations, providing a seamless experience for French-speaking users.
New manual-282

Multi-language support for notifications

Gadspilot now displays all system notifications in your preferred language. Choose between English and French in your account settings, and all confirmations, alerts, and messages will automatically appear in your selected language.
New manual-281

Dashboard now available in English and French

All authenticated dashboard views are now fully translated into English and French. Switch your preferred language anytime from the sidebar—your choice is saved automatically. This includes all pages, buttons, status messages, and data labels across accounts, Google Search Console insights, and performance metrics.
New manual-280

New user menu with profile and language settings

The user menu at the bottom of the sidebar has been redesigned with a modern dropdown interface. Click your avatar to access profile editing, switch between English and French, or sign out. The menu closes automatically when you press Escape or click elsewhere.
New manual-279

Language selector now uses flag icons

The language selector has moved from a text-based menu at the bottom of the sidebar to inline flag icons (English and French) in the user row, next to the logout button. The new design uses embedded SVG flags for consistent rendering across all devices and includes full keyboard and screen reader support.
Fix manual-278

Fixed critical 500 error on all pages

We fixed a bug introduced in v1.0 that caused 500 errors across the entire app. The user locale middleware was running too early in the request cycle, before the session was initialized. We've moved it to run at the right time and added defensive checks to prevent similar issues in the future.
New manual-277

Dashboard now available in English and French

The authenticated dashboard now supports English and French languages. You can switch between languages using the locale switcher in the sidebar. Your language preference is saved to your account and will be remembered on your next login.
Security manual-276

Security patches and SSRF protection

We've patched four medium-severity vulnerabilities in our dependencies, including fixes for cookie domain matching, HTTPS downgrade attacks, and HTTP injection issues. We've also added protection against server-side request forgery (SSRF) attacks when processing user-uploaded images. Your data is safer with us.
Fix manual-275

Fix asset group creation with Claude.ai

Fixed an issue where asset groups failed to create when Claude.ai sent array data as JSON strings. The system now correctly parses serialized arrays, ensuring asset IDs are properly recognized by Google Ads.
Fix manual-274

Fix asset group creation with multiple assets

Fixed an issue where creating asset groups with multiple headline, long headline, or description assets would fail with a NOT_ENOUGH_HEADLINE_ASSET error. The service now correctly receives all assets instead of just the first one.
Fix manual-273

Improved handling of text inputs in asset groups

Fixed an issue where the create asset group tool could fail when receiving text inputs in unexpected formats. The system now automatically recovers and normalizes these inputs, making the tool more resilient to formatting variations.
Fix manual-272

Fix Google Ads headline validation

Fixed an issue where Google Ads headlines were being sent as a single concatenated string instead of separate items, causing validation errors. The MCP tool now properly enforces that each headline, long headline, and description is submitted as a distinct item with correct length limits, preventing oversized text from being rejected by Google.
New manual-271

Asset groups now create with required assets

Fixed a critical issue where asset group creation would fail when Google Ads API v21 validation required minimum assets to be present at creation time. Asset groups now create atomically with their required headline, description, image, logo, and business name assets in a single operation, eliminating failed partial creations.
New manual-270

Streamlined brand asset setup for Performance Max

Creating Performance Max campaigns with brand guidelines is now simpler. You can now provide brand assets directly during campaign creation—either by uploading a logo image and business name, or by reusing existing assets. This eliminates the need for manual follow-up API calls and prevents confusing Google Ads errors.
New manual-269

Brand Guidelines support for Performance Max campaigns

When creating a Performance Max campaign with Brand Guidelines enabled, you can now link business name and logo assets at the campaign level. This prevents Google Ads API errors that previously blocked campaign creation. The create_pmax_campaign tool now includes a brand_guidelines_enabled parameter that, when activated, provides clear guidance on required assets.
New manual-268

Create Performance Max campaigns and asset groups

You can now create Performance Max campaigns and asset groups directly through gadspilot. Campaigns are created with unshared budgets and start in paused status for safety. Asset groups are automatically attached to their parent campaigns. This completes the Performance Max setup workflow, eliminating the need to manually create the campaign structure in Google Ads.
New manual-265

Toggle between Google Ads and Search Console in Insights

The Insights preview now lets you switch between Google Search Console and Google Ads data with a single toggle. Each view shows product-specific metrics: Search Console displays audit scores and URL insights, while Google Ads shows performance data, Quality Scores, and budget pacing. Visual indicators help you distinguish between the two products at a glance.
New manual-264

New Insights preview section on homepage

We've added a dedicated Insights section to the homepage that shows you exactly what your AI audit report will look like. You'll see a live preview of the dashboard with your SEO score, performance verdict, and detailed results across content, technical, Core Web Vitals, and schema categories—so you know what to expect before connecting your Google Search Console.
Fix manual-263

Stepper dots now visible in demo scenarios

Fixed visibility of scenario navigation dots in the demo. Previously, inactive dots were too small and lacked sufficient contrast against the background, making them nearly invisible. Now all four scenario dots are clearly visible with improved styling, proper color contrast, and full click functionality to jump between scenarios.
Fix manual-262

Fixed multi-language registration page routing

Registration and login pages now correctly respect your language preference. If you visit the French version of the site and click 'Sign Up,' you'll stay on the French registration page instead of being redirected to English. This fix applies to all supported languages.
New manual-261

New demo experience with Anthropic branding

We've redesigned the interactive demo on your home page to showcase gadspilot's capabilities more clearly. The demo now features Anthropic branding with a distinctive logo and updated visual identity, and includes four diverse scenarios covering Google Ads, Search Console, and AI Insights—all localized to your language.
New manual-260

Streamlined signup form

We've simplified the registration process to get you started faster. The signup form now asks for just three essentials: name, email, and password. You'll see real-time password strength feedback with a color-coded meter, and can toggle password visibility. Google OAuth is now the primary option. This streamlined experience reduces friction and gets you to your dashboard quicker.
New manual-259

Interactive Claude.ai demo on homepage

We replaced the placeholder video message with an animated interactive demo showing how gadspilot works inside Claude. The demo cycles through three real scenarios—finding wasted search terms, auditing Quality Scores, and alerting on budget limits—with smooth typing animations and live tool results. It's lightweight, requires no external dependencies, and works in English and French with fallbacks for other languages.
New manual-258

Top languages dashboard with conversion metrics

New dashboard section shows which language versions of your site perform best. See page views, sessions, signups, and conversion rates by language to guide your SEO and translation efforts. Languages are ranked by traffic, with conversion rates color-coded for quick insights.
New manual-257

Top Pages now shows marketing pages only

The Top Pages report now filters out internal client area pages like dashboard, settings, and account management, so you see only your public marketing and SEO pages. This gives you a clearer view of which pages drive real visitor engagement. Your overall traffic metrics remain unchanged—the filter only affects the Top Pages ranking.
New manual-256

New signup metrics and tracking

We've expanded your dashboard with signup insights. The KPI section now shows new signups and conversion rate alongside your traffic metrics. The timeline chart displays signup trends in green, so you can correlate traffic spikes with registration activity. A new Recent Signups table at the bottom lists your latest 10 users with their signup dates, making it easy to monitor growth.
New manual-254

Analytics Phase 3: Geo-targeting, trends & CSV export

We've upgraded analytics with three powerful features. First, GeoLite2 geolocation now shows visitor locations by IP address with automatic monthly updates—no license key needed. Second, you can now see how your key metrics (visitors, page views, sessions, engagement) compare to the previous period, with visual indicators showing improvement or decline. Third, export your analytics data to CSV for deeper analysis in your favorite tools.
New manual-253

Self-hosted visitor analytics dashboard

We've added a new analytics dashboard in your admin panel to track visitor activity on your self-hosted instance. The system captures page views, referrer information, device types, and bot detection in real time, with all data stored separately so it won't impact your main database performance or backups.
Fix manual-252

Fixed OAuth authorization blocking issue

A critical security policy update was preventing the OAuth authorization button from working. Users attempting to connect their MCP clients were unable to complete the authorization flow. This has been resolved, and OAuth connections now work as expected.
New manual-251

Show reconnection banner for revoked Google accounts

When your Google account connection expires or is revoked, you'll now see a clear orange banner at the top of your Google Search Console card with a Reconnect button. Previously, the connection would fail silently with no indication in the UI. Once you reconnect, the status automatically returns to normal.
New manual-250

Search your Google Search Console and Ads accounts

Find your connected Google Search Console properties and Google Ads accounts faster with a new search field. Type to filter by property name, site URL, account label, customer ID, or other details. The search runs instantly in your browser without any server delay, and only appears when you have 3 or more accounts connected.
Fix manual-249

Fixed charts not displaying on dashboards

Charts on your GSC insights, Google Ads insights, Meta insights, and admin dashboards are now displaying correctly. We've updated our security policy to allow the charting library to load properly.
Security manual-246

Security patches for Laravel, Symfony, and phpseclib

We've updated core dependencies to patch 10 security vulnerabilities, including fixes for email header injection, SSRF attacks, argument injection in mail handling, and denial-of-service issues. All known security advisories have been resolved.
New manual-245

Adjust Google Ads bids by device type

You can now set bid modifiers for specific devices (mobile, desktop, tablet, connected TV, or other) on your Google Ads campaigns. Use the new tools to boost or reduce bids for any device type, with adjustments ranging from 10% to 1000% of your base bid.

May 2026

Fix manual-244

SEO audits now respect your language preference

SEO audit reports now generate in your preferred language (English, French, or Spanish) instead of always in French. We also improved the error message when Google requires two-step verification during account connection, making it clearer what you need to do to reconnect.
New manual-243

Support inbox management and improved contact page

We've added a complete support inbox admin system that syncs your IMAP mailbox with our database, letting you manage support emails directly in gadspilot. The contact page is now streamlined with a cleaner design. Your support inbox automatically detects folders, deduplicates messages, and keeps everything in sync with your email server.
Security manual-242

Removed insecure legacy token authentication

We've removed the legacy token-in-URL authentication method that exposed your API credentials in logs and browser history. All MCP connections now use secure OAuth and Personal Access Tokens via the Authorization header instead. If you were using the old method, please switch to Personal Access Tokens in your account settings.
New manual-241

What's new page and unread changelog badge

We've added a new What's new page that shows you recent product updates in a clear, organized way grouped by date. A red badge now appears in your sidebar when there are unread updates since your last visit, so you never miss important changes.
New manual-240

Modern toast notifications for instant feedback

Notifications now appear as sleek toasts in the top-right corner and automatically dismiss after a few seconds. You can still close them manually if needed. Status messages appear in green, errors in red, with smooth animations for a polished feel.
Fix manual-239

Modern tabs, unified copy buttons, better token visibility

We've redesigned the dashboard tabs with a cleaner segmented control style and modernized client selection pills. Copy buttons are now consistent across all token, URL, and code snippet fields with clear visual feedback. When you generate a new token, the page stays on the Headless tab and displays a prominent green banner reminding you to copy it—the token is also pre-filled in code snippets for faster setup.
New manual-238

Connected accounts tab in connection hub

The connection hub now displays a dedicated Connected tab showing all your linked accounts and properties with a count. This makes it easier to see at a glance what's already connected alongside options to add new apps or agents.
New manual-237

Improved connection setup and fixed accounts page crash

We've reorganized the connection setup flow into two clear tabs: one for connecting apps via OAuth, and another for headless integrations like scripts and agents. We also fixed a crash on the accounts page that occurred when personal access tokens were present. The page now correctly handles all token types.
New manual-236

Tabbed OAuth and headless connection setup

We've reorganized the connection setup experience with tabbed cards for OAuth apps (Claude.ai, ChatGPT, Claude Desktop, Cursor, Claude Code) and headless agents (n8n, Make, Hermes, OpenClaw, curl). Each tab now includes copyable code snippets and a full setup guide. We've also added helpful tooltips throughout the app to explain each setting, and made it easier to connect additional accounts with a new button at the top of your accounts page.
New manual-235

Personal Access Tokens for headless agents

You can now create Personal Access Tokens to connect headless tools like Hermes, n8n, and cron scripts that can't complete interactive OAuth flows. Each token grants access to a specific data source (Google Ads, Search Console, or Meta Ads) and never expires unless you revoke it. Tokens are displayed once when created, then securely hashed. A new quick-connect interface on your accounts pages makes it easy to generate and manage tokens.
New manual-234

Two-factor authentication now available

Protect your account with optional two-factor authentication. Enable TOTP via authenticator app or receive one-time codes by email during login. Manage your 2FA settings in your profile, and use recovery email codes if needed. Admins can view and reset 2FA status for users.
New manual-233

Sort campaigns by CPA

You can now sort campaigns by cost per acquisition (CPA) in addition to spend, ROAS, and name. Choose between lowest CPA (best efficiency) or highest CPA (worst efficiency). Campaigns with no conversions are automatically placed at the bottom to avoid confusion.
Fix manual-232

Prevent incompatible campaign operations

Fixed a bug where Claude could attempt operations on incompatible campaign types (like adding keywords to video campaigns), which would fail silently or with cryptic errors. The system now validates campaign compatibility before sending requests to Google Ads and warns Claude about these restrictions in real time.
Fix manual-231

Fixed tooltip display in data tables

Tooltips in data tables were appearing as empty black bars due to CSS overflow clipping. We've fixed this by rendering tooltips at the page level with smart positioning that automatically places them above or below content as needed, ensuring they're always visible and properly positioned.
Fix manual-230

Improved tooltips with styled popovers

Tooltips throughout the app now display in a sleek dark popover with an arrow, replacing the browser's default tooltip. The new design matches our modern interface and provides better readability with smooth fade-in animations.
Fix manual-229

Improved campaign metrics with helpful tooltips

We've streamlined the campaign performance table to show the metrics that matter most: Spend, CPA, CPAC (Cost Per All Conversions), ROAS, and Score. Each column header now includes a tooltip that explains what the metric means and how to interpret it, making it easier to understand your campaign performance at a glance.
New manual-228

Sort campaigns by budget, conversions, and CPA

The campaigns table is now sortable by budget, conversions, all conversions, cost per acquisition, and cost per all conversions. You can click any column header to reorder your campaigns and find optimization opportunities faster.
New manual-227

New landing page for Claude + Google Ads integration

We've launched a dedicated landing page highlighting gadspilot's Claude MCP integration for Google Ads. It showcases our unique advantages: 46 writing tools (compared to Google's read-only MCP), complete Performance Max campaign management with 16 exclusive tools, and dry-run safety features for risk-free testing.
Fix manual-226

Fixed skill card collapsing when viewing data

Fixed a bug where clicking 'See data' or 'Apply' buttons would unexpectedly close the skill card panel. Users can now view and apply data without the panel collapsing and requiring them to reopen it.
New manual-225

See action details before applying recommendations

Recommendations now show exactly what will change before you apply them. Click 'See data' on any recommendation to preview the full list of keywords, match types, bids, and other details inline. You'll also see the audit period that generated each recommendation, so you know exactly when the analysis ran.
Didn't find what you were looking for? Reach out to ceo@lws.fr or check the product documentation.
Need help? Ask Léa 💬
gadspilot assistant
Léa
AI assistant · gadspilot
Need a human? Contact support