Changelog

Quoi de neuf

Historique public des fonctionnalités, corrections et améliorations de Gadspilot. Mis à jour automatiquement à chaque déploiement.

août 2026

Fix manual-342

Improved spam detection for contact form

We've strengthened our contact form protection to catch spam bots that use random gibberish text and disposable email addresses. The system now requires multiple spam signals to trigger a block, reducing the chance of accidentally filtering out legitimate messages.
Fix manual-341

Fix silent Composer audit failures

Composer dependency audits can now fail silently if the audit tool crashes or times out, incorrectly reporting zero vulnerabilities. We've added proper exit code checking to detect when audits fail and alert you to the problem, ensuring security issues aren't missed.
Fix manual-338

Cleaner notification emails with better formatting

Notification emails now have a cleaner, more professional layout. Subject lines no longer stack multiple prefixes, email previews no longer leak internal page titles, and the overall design is more compact with improved readability.
Fix manual-336

Fixed outdated MCP tool counters across the site

We corrected the tool availability counters displayed throughout gadspilot to match the actual number of MCP tools available. Google Ads now shows 91 tools (previously 76–81), Google Search Console shows 24 (previously 16), and the total reflects 112 tools. These numbers now accurately represent what you can access in your integrations.
Fix manual-335

Fixed reconnection prompts for long-term integrations

Resolved an issue where users would see a "Reconnect required" message every 30 days when using integrations with Claude.ai or ChatGPT. The problem occurred when multiple requests tried to refresh the authentication token simultaneously. We now allow a brief grace period for concurrent refresh attempts, preventing unnecessary disconnections.
Fix manual-334

Improved security for API access tokens

We've reduced the lifetime of API access tokens from 5 years to 30 days to strengthen security. Access tokens are transmitted with every request and cannot be revoked once issued, so a shorter expiration window significantly reduces risk if a token is ever compromised. Refresh tokens remain secure on your device and can be revoked server-side if needed.
New manual-333

3 new SEO tools for Google Search Console

We've added three powerful new tools to help you monitor and improve your SEO performance. Content Decay detects pages losing clicks over time, helping you identify which content needs refreshing. Bulk URL Inspect lets you check up to 100 individual URLs for indexing status, coverage, and crawl details without needing a sitemap. Ranking Diff tracks how your rankings change between periods. These tools are now available in your MCP dashboard.
New manual-332

4 new SEO tools for Google Search Console

We've added four powerful new MCP tools to help you audit and optimize your site's search performance. Index Coverage Report lets you bulk-audit indexation status across your sitemap, surfacing orphaned URLs and accidental noindex tags. Query Cannibalization detects when multiple pages compete for the same search queries. We've also extended OAuth token lifetime from 30 days to 5 years, reducing reconnection friction.
New manual-331

Request URL indexing from Google Search Console

You can now request Google to re-index or remove URLs directly from gadspilot using the Google Indexing API. This new tool lets you notify Google when you've updated or deleted pages, speeding up discovery of your changes. The tool validates that URLs belong to your property and provides clear guidance if you need to reconnect your Google Search Console account with the required permissions.
New manual-330

Check invoice eligibility before syncing

We now check whether each connected Google Ads account can retrieve invoices via API before attempting to sync them. This preflight check shows you upfront if an account uses automatic payments instead of monthly invoicing, preventing sync failures and letting you know exactly which accounts need manual invoice retrieval.
Fix manual-328

Fixed cache warming process pile-up

Resolved an issue where repeated deployments could spawn multiple cache-warming processes simultaneously, causing server load spikes. Added safeguards to prevent overlapping cache operations during deployment.
Fix manual-326

Fix translated content not displaying in French and Spanish

Fixed a bug where French and Spanish pages were incorrectly displaying English content even though translations were available. The localization middleware is now properly applied to all language routes, ensuring the correct language is used to fetch translated strings.
New manual-322

Public contact form now available in 7 languages

We've launched a public contact form at /contact that replaces simple mailto links. The form includes spam protection with rate limiting, honeypot validation, and heuristic filtering to keep your inbox clean. It's now available in English, French, Spanish, German, Italian, Portuguese, and Dutch.
Fix manual-320

Clearer error messages for billing setup issues

When your Google Ads account shows no monthly invoicing setup, you'll now see a more helpful error message that explains the two most common causes: your account may have been on card payment that month, or your invoices might be managed through a parent MCC (manager account). This helps you quickly understand why data appears missing and take the right next step.
New manual-319

Consolidated backfill invoices into single email

Backfill invoice emails are now consolidated into one message per request, regardless of period length. Previously, a 12-month backfill would generate 12 separate emails. Now all invoices for a backfill are grouped by account in a single email with subtotals, reducing inbox clutter and making it easier to review historical billing data.
Fix manual-318

Fixed Google Ads API deprecation blocking invoices

Google has deprecated the Google Ads API version we were using, causing invoice retrieval to fail for some accounts. We've upgraded to the latest stable API version to restore full functionality. You may also notice improved form controls when managing invoice exports.
New manual-317

Quick select all accounts in manual backfill

When manually backfilling data, you can now select or clear all connected accounts with a single click. This saves time when you want to reprocess data across multiple accounts at once.
Fix manual-316

Manual backfill now always accessible

The Manual backfill card now appears whenever you have at least one connected account, even if you haven't saved backfill settings yet. When initiating a backfill, you can specify custom recipient email addresses without affecting your recurring monthly backfill configuration, making it easier to send one-time reports to different team members.
New manual-315

Invoice delivery by date range

You can now retrieve and email invoices for a specific year or custom month range from the Invoices settings page. Select one or more accounts, choose your date range, and send invoices in PDF or CSV format using your existing email recipients and delivery preferences. This is useful for accessing historical invoices or resending statements for specific periods.
New manual-313

Claude.ai stays connected—no more forced re-auth

Fixed an issue where the gadspilot MCP connector in Claude.ai would ask you to reconnect every 30 days. We now issue refresh tokens alongside access tokens, so your connection stays active without interruption. You'll only need to re-authenticate if you manually disconnect.
New manual-311

System health monitoring and socket leak alerts

Added a new system health dashboard at /admin/system/health that monitors VPS performance in real time. The system tracks TCP socket states, CPU usage, memory, disk space, and load average, with automatic alerts when socket leaks are detected (over 500 CLOSE_WAIT connections). A background job checks health every 5 minutes to catch issues before they impact service stability.
New manual-310

Stats dashboard for chatbot conversations

Added a new Stats tab to the chatbot admin page showing key metrics across different time periods: today, last 7 days, last 30 days, and all-time. Track conversation volume, flagged injections, retrieval quality, and authenticated vs. anonymous usage. The tab includes helpful guidance when no conversations exist yet.
New manual-308

Support inbox email notifications

You now receive an email notification whenever a new support message arrives in your inbox. Notifications are sent automatically every few minutes, so you won't miss any customer requests.
Fix manual-307

Security fix: prevent token leakage in invoice downloads

Fixed a security vulnerability in the invoice download feature that could allow attackers to steal your Google OAuth credentials through malicious campaign names or other injected content. The feature now only connects to official Google servers and never sends your credentials to unauthorized hosts.

juillet 2026

New manual-306

Legal pages now available in 7 languages

Terms of Service, Privacy Policy, and Data Deletion pages are now fully translated into Italian, German, Dutch, and Brazilian Portuguese, joining existing English, French, and Spanish versions. All core legal documentation is now accessible to users worldwide in their preferred language.
New manual-305

Pricing page now available in 5 new languages

The pricing page is now fully translated into Spanish, Italian, German, Dutch, and Portuguese (Brazil). All pricing tiers, billing toggles, FAQ, and call-to-action buttons are localized. Prices remain consistent across all currencies for clarity.
New manual-304

Single-page legal tabs with deep linking

Legal pages now load all sections in one view with tabbed navigation powered by Alpine.js. Tabs stay visible while scrolling, switch instantly without page reloads, and are deep-linkable via URL hash—so you can share a direct link to Privacy or Data Deletion and others land on the right section. Also fixed capitalization of Gadspilot throughout the app.
New manual-303

Legal pages now have navigation tabs

We've added consistent tab navigation across all legal pages (Terms, Privacy, Data Deletion, Legal Notice, and AI Act) so you can easily jump between them. Italian translations are now complete, with German, Dutch, and Portuguese fallbacks where needed.
New manual-301

Fixed cross-locale routing and updated compliance pages

We fixed a routing issue where translated page slugs would return 404 errors when accessed with the wrong language prefix (for example, /en/tarifs instead of /en/pricing). The site now automatically redirects these mismatched URLs to the correct slug in your current language. We also updated our Terms of Service pages across all supported languages to reflect current EU AI Act requirements.
New manual-300

Pricing page now available in English, French, and Spanish

The pricing page is now fully localized for English, French, and Spanish visitors, with currency automatically adjusted to USD, EUR, or local rates. Feature descriptions have been updated to accurately reflect gadspilot's capabilities across Google Ads, Google Search Console, and Meta Ads integrations.
Fix manual-298

Removed beta badge from footer

We've removed the beta badge from the public footer now that gadspilot has launched its pricing tiers. The product is no longer in beta.
New manual-297

Launch offer: first month free on paid plans

We're offering a limited-time launch promotion: get your first month free on any paid plan (Plus, Pro, or Max). To claim your offer, click the updated call-to-action button on our pricing page, which will let you email us directly to activate your free trial. No credit card required.
New manual-296

Public pricing page now live

We've launched our public pricing page with four tiers: Free (15 MCP calls per month, no card required), Plus ($36/month), Pro ($74/month), and Max ($149/month with team seats). Annual billing offers 25% savings on paid plans. The page includes a monthly/annual toggle, detailed feature comparisons, and answers to common questions about our pricing.
Improvement manual-295

Invoice Gads now nested under Google Ads

Invoice Gads has been reorganized as a sub-item under the MCP Google Ads section in the sidebar, making the navigation structure clearer and more logical. The feature remains fully accessible and visible.
New manual-294

Invoices feature now visible in dashboard

The Invoices feature is now discoverable directly from your dashboard sidebar, making it easier to manage your Google Ads invoice delivery settings. We've added a new Invoices menu item and an overview card that shows your current configuration or lets you set it up in one click.
New manual-293

Monthly Google Ads invoice emails

You can now set up automatic monthly email delivery of your Google Ads invoices. Configure the feature in Settings > Invoices by choosing a send date, adding recipient email addresses, selecting which Google Ads accounts to include, and toggling options to attach PDFs, skip empty months, or include a CSV summary. Invoices are sent automatically each month on your chosen date.
New manual-292

Download Google Ads invoices as PDFs

You can now retrieve and download your Google Ads invoices directly from gadspilot. Three new tools let you list your billing accounts, fetch invoices by month and year, and download PDF copies for your records or to share with your team.
Fix manual-291

Fixed recurring production errors

We've resolved three recurring issues that were causing warnings in production. Google Search Console token refresh errors now log better details to help identify affected accounts. Google Ads brand exclusions now use the correct API fields. And changelog processing no longer crashes when commits contain non-UTF-8 characters. These fixes eliminate approximately 50 daily warnings.
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.

juin 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.
Vous n'avez pas trouvé ce que vous cherchiez ? Contactez contact@gadspilot.com ou consultez la documentation produit.
Besoin d'aide ? Demandez à Léa 💬
gadspilot assistant
Léa
Assistante IA · Gadspilot
Besoin d'un humain ? Contacter le support