Changelogs
Stay up to date with the latest changes and enhancements.
Stay up to date with the latest changes and enhancements.
Stay up to date with the latest changes and enhancements.
31. Aug 2026
Share
Adding a widget over MCP used one generic tool. There is now one add and one update tool per widget type, each with only the fields that type has: title, text, image, button, embed, data, calculated metric, custom data, goal, and static value.
You can also read numbers back with get_widget_data. It waits up to 15 seconds for a fetch and returns up to 200 rows per widget. Writes still save first and fetch after.
Every tool now carries a title and a read-only or destructive annotation, so a client can show what a tool will do before running it.
31. Aug 2026
Share
If a teammate never got their invite, or the link went stale, you can resend it from the users list. The new link replaces the old one.
You cannot resend for someone who already accepted. Pending invites are marked on the list. Also available as POST /v1/users/{id}/resend-invite.
31. Aug 2026
Share
Airtable and Omnisend can be connected per client, like any other data source, and reported on with the usual widgets.
31. Aug 2026
Share
BrightLocal now fetches every page of accounts, not only the first. Pinterest Ads dimension values format correctly in tables and charts. Mailchimp and Ahrefs metric formatting is corrected. Klaviyo retries on a rate limit instead of failing the widget, and duplicate flow names are combined. BrightLocal, Advanced Web Ranking, and SERP Watch logos were refreshed.
In the editor: goal display settings render correctly, and filters are no longer required to save a goal. Table columns can go down to 50px. Dropping a widget on an empty dashboard lands it at the top of the page. Currency pickers share one searchable list, and the widget override clears back to the client's currency.
Report, client, and template thumbnails are captured smaller. They look the same at display size. PDF rendering is unchanged.
31. Aug 2026
Share
Email subjects and bodies used to accept both {{project_name}} and {{report_name}} while the rename was in progress. The {{project_*}} tags no longer resolve.
Use {{report_name}}, {{report_type}}, {{report_date_range}}, and {{report_url}}. Client and account tags are unchanged. Automations and templates saved in the app already use the current names.
If you typed a subject by hand over the API, rename the tag or the email will send the literal text.
31. Aug 2026
Share
The thing you build inside a client is a report everywhere: the UI, app URLs, REST API, and MCP.
/v1/projects is gone and returns 404. Use /v1/reports and report_id. App URLs moved from /project/β¦ to /report/β¦. MCP tools were renamed to match (create_report, list_reports, and the rest).
Two things did not change: database column names, and the stored resource type project on widgets and activity-log rows. The report type is still Multi-Page Report or Dashboard.
31. Aug 2026
Share
Google Ads and Google Local Services now use API v23, which Google is retiring v21 for. Ad-level fields were updated so widgets keep returning the same columns.
Keyword widgets also combine matching keywords into one row. A keyword no longer appears once per match type, which was splitting the numbers and throwing comparison periods off.
31. Aug 2026
Share
The report header now has a menu with the same actions as the list: duplicate, save as template, and archive.
You can act on the report you are viewing without going back to the list. Both menus share one definition, so they stay in sync.
31. Aug 2026
Share
Each client now has its own Data sources page. Connect GA4, Ads, and the rest before you build a report.
The page lists the catalog as cards, connected platforms first. Each card reads Connect or Connected for that client. Search matches a platform name or category. Use Request a data source for platforms we do not support yet.
Open a card and the same connect flow from the report editor runs in a slide-over: Connect, Disconnect, edit, or refresh a profile. A client with nothing connected lands here instead of an empty Reports list. Anyone who can see the client can see the page. Connecting still needs edit access.
31. Aug 2026
Share
Goals, calculated metrics, custom data, and static values used to sit inside the data-source picker, next to platforms like GA4 and Ads. Each is now its own card in Add Content.
Add one of those cards and the widget is already bound to it, so you are not asked to pick a platform you would never use. A new widget shows sample data until a real source is connected: a calculated metric trends over the report date range, a goal draws as a gauge, custom data looks like an imported sheet, and a static value shows the number you typed.
The sample data disappears as soon as the widget has a real source.